User Tools

Site Tools


boutoille_dufau:boutoille_paul-emile_dufau_bastien

Citation network analysis

Bordeaux roadmap 2013- 2014 / Boutoille Paul-Emile & Dufau Bastien's corner

SOURCES
TRAVAIL

Le travail se présente sous la forme :

  • Deux projet tlpx :
    1. graph_articles.tlpx : Graphe de tous les articles avec un sous graphe par article.
    2. graph_articles_auteurs.tlpx : Même graphe que le précédent avec en plus le graphe des auteurs.
  • Les fichiers transcrits en csv
  • Le graphe des auteurs seul ( auteurs.tlp ).
  • Deux fichier python :
    1. projet.py : Correction des ids, opérations sur le graphe principal, création du graphe auteurs.
    2. setAuthorsGraph.py : Module pour la récupération des auteurs, ce fichiers doit être placé dans le même dossier que le dossier qui comprend les abstract des articles.

Introduction

Données


Pour ce projet, nous disposons d'un jeu de données sur des articles traitant de la physique écrit entre 1993 et 2003. Ces données sont disposées sous la forme suivant :

  • Des dossier daté de 1993 à 2003 contenant un fichiers .abs par article, celui-ci le décrivant .
  • Un fichier CiT-HepTh-dates contenant la date d'écriture de chaque article.
  • Un fichier CiT-HepTh qui donne les arêtes entre les noeuds ainsi que les noeuds.

Le but de ce projet est d'analyser ces données pour trouver des relations entre les articles, faire ressortir des communautées

Traitemens


Pour traiter ces données nous allons utiliser les logiciels suivant :

  • Tulip : affichage des données sous forme de graphe.
  • Openoffice : réorganiser les données
  • Script python : appliquer des traitements au graphe

Premiers pas

Conversion fichier


Afin de pouvoir importer le fichier contenant les relations, nous l'avons ouvert sous openoffice puis sauvegarde en un .csv pour pouvoir utiliser l'option “import csv” de Tulip.

Importation Tulip


Afin de visualiser ces données, nous avons importer le fichier contenant la relations entre les articles sous Tulip. On obtient ainsi un graphe nœuds/arêtes . Chaque nœuds représentant un article et une arête si il y'a une relation entre celui-ci et celui qu'il rejoins.

On voit ici que ces données sont pour le moment inexploitable, il va donc falloir appliquer des traitements sur ce graphe. Pour cela, nous allons appliquer un script python pour faire ressortir les relations inter-articles.

Traitement Tulip

Création sous-graphe

Nous avons commencé par changer le graphe à l'aide d'un script python. Nous avons crée un sous graphe pour chaque article et inseré chaque article auquels il est relié dans ce même sous graphe:

	
 for iart in graph.getNodes():
	rooney = graph.addSubGraph(None,"Rooney"); #creation du sous graphe
	rooney.addNode(iart);
	    for ivois in graph.getInOutNodes(iart):
		e = graph.existEdge(iart,ivois,True);
			if("L'arrète existe"):
			   rooney.addNode(ivois); #ajout des voisins
			   rooney.addEdge(e); #ajout de l'arête si elle existe
		
	

Grâce à cette manipulation, nous avons pu réperé les informations suivantes :

  • L'article ayant l'id 9905111 est le celui ayant le plus de relations (562)
  • Les id des noeuds ne sont pas toujours bon

Correction des données

Afin de corriger le problème des id des noeuds (manque de 0 au début de certains ) nous les avons parcouru la liste des noeuds et corriger leur id si elle était fausse.

	for iart in graph.getNodes():
		if (len(viewLabel[iart]) < 7): #vérification de l'id
			a = viewLabel[iart]
			while (len(a) < 7):
				a = "0" + a #ajout des 0
			print(a)
			viewLabel[iart] = a #on affecte le nouvel id

Création graphe des auteurs


Pour crée le graphe des auteurs des articles, nous avons écris un scripte python qui récupere les auteurs pour chaque article dans les “.abs”, il parse ces fichier et lorsqu'il arrive sur la ligne “Authors” il les récupère.
Par la suite on crée un graphe ou chaque noeud est un auteur et les arêtes entre les auteurs signifient qu'ils ont écrit un article ensemble.
On applique en suite un algorithme de dessin sur cette article, le FM3 qui va nous permettre de mieux voir les relations entre auteurs.
On obtient le graphe suivant:

On repère des groupements de points, si on zoom :

Grâce a cela on remarque:

  • Nous sommes en présence de 21167 auteurs.
  • Des groupements d'auteurs facilement identifiable .
  • Un groupe d'auteurs plus important que les autres.

Problèmes et Extension

Problèmes rencontrés

Lors de ce projet nous nous sommes heurté à plusieurs problèmes :

  • Taille des données rendant tout traitement long
  • Les données ne sont pas dans le même format

Extensions

Afin de retirer plus d'informations sur ces données ou aurait pu :

  • Faire la même opération sur les sujets que nous avons fais sur les auteurs
  • Faire des opérations sur les dates afin de voir les courants en fonctions des années.
/net/html/perso/melancon/Visual_Analytics_Course/data/pages/boutoille_dufau/boutoille_paul-emile_dufau_bastien.txt · Last modified: 2014/01/20 17:35 by bdufau