samedi 21 mars 2015

Visualisation de données généalogiques avec Gephi 2/2


Pour cette deuxième présentation, je vais axer sur la préparation des données dans le tableur.


 Quels objectifs ?

Je m'amuse avec une généalogie globale.
Est-il possible, à partir des archives d'une petite commune, en intégrant la totalité des individus (j'en suis à 1500 environ), de rendre compte d'une communauté et des liens qui existent ?
Existe-t-il des clans ? des familles isolées ? Qui sont les personnages incontournables de la communauté ?

 Quelles données ?

Maintenant, la plupart des archives départementales sont accessibles gratuitement en ligne. Il ne tient qu'à chacun de s'en saisir.
Cela passera par un apprentissage intéressant et peu difficile de la graphie ancienne du français. Il s'agit d'être systématique et exhaustif.
Il y a tout de même un "biais de saisie" qu'il faut mentionner. Peut-être que la visualisation permettra d'ailleurs d'en restreindre les effets.
Une part des individus saisis sont des témoins. Témoins des naissances (parrains et marraines), et témoins des mariages (j'ai exclu les officiants qui n'ont pas de caractère personnel puisqu'ils officient pour tous).
Or, sans plus de précisions et en raison d’homonymies possibles, nous ne pouvons pas identifier avec certitude ces témoins avec des personnes présentes ou à venir dans la base.
Aussi ai-je choisi de toujours relier ces témoignages au même individu qui peut s'en trouver artificiellement "hypertrophié" dans son importance dans le réseau social (c'est l'hypothèse la plus "économique" qui doit prévaloir).
J'ai parfois dû créer un nouvel individu quand "il" réapparaissait bien plus tard avec un gros doute sur la possibilité que le même vive encore.
On se retrouve donc avec un ensemble d'individus dont on connait parfois les dates de baptême, de décès,le mariages et les témoins à ces différents évènements.

 La sélection et le traitement des données.

Les logiciels de généalogie ne permettent malheureusement pas d'exporter en une fois les données utiles pour les mettre au format spécifique exploitable par gephi.
Le fichier gedcom ne contient pas la qualité de témoin. Le logiciel ELIE permet toutefois de les exporter directement en "xls", mais en plusieurs fois ; témoins de baptêmes, témoins de mariages.
De plus, les témoins de mariage sont rattachés au couple selon un numéro de famille qui leur est attribué lorsque l'on enregistre l'union. Ce numéro de famille n'est pas non plus exporté dans le gecom. Il est par contre exportable seul.
Je conseille de garder l'information "sexe" qui sera utile pour la mise en forme des données par tri.
Donc on devra successivement :
1. exporter le gedcom et le transformer en xls (pour les tableurs)
2. exporter les n° de familles et les inclure dans le xls
3. exporter les témoins de mariages et les y inclure
4. exporter les témoins de baptêmes et faire de même.
Pour des raisons pratiques, avant chaque étape il faudra remettre en forme les données.
1b. simplifier le tableau et supprimer les accents. simplifier les noms composés en supprimant les espaces.
2b. On aura pris le soin de créer une colonne "n° de famille" dans sa base pour pouvoir y coller l'information.
on ajoute les lignes de n° de famille. le mari apparaît en premier. modifier leur sexe en "A", ce qui permettra de les re-trier facilement pour les supprimer après le recopiage de l'info.
par un copie/coller on refait des lignes pour les épouses avec les mêmes informations (n° de famille, sexe). On colore le fond de toutes ces lignes pour les retrouver plus facilement.
 Par un tri selon le n° d'ordre on se retrouve avec des doubles pour tous les individus mariés. Il n'y a plus qu'à recopier l'info du n° de famille pour chacun d'eux. Une fois fini on trie à nouveau par le sexe. Toutes les lignes à supprimer se retrouvent ensemble et on les enlève. Sauvegarder !
3b. On procède de la même manière pour les témoins de mariage. On classera par le numéro de famille grâce à l'info que l'on ajoutée précédemment.
On créé une colonne témoin_mariage. Dans la mesure où un individu peut l'être plusieurs fois, on indiquera les numéros de deux époux pour chaque mariage, séparés par des "tirets du 6". On supprime les lignes en trop comme précédemment.
4b. C'est à peu de choses près pareil pour les témoins de baptêmes. Attention, ces lignes importées contenant l'info des témoignages prennent la forme d'une ligne par témoignage. Or, chaque individu a pu être témoin plusieurs fois et ils sont déjà présents dans la base. Il faut prendre les même précautions de repérage que pour les autres. On portera les informations dans une nouvelle colonne "temoin_bapteme".

 Finaliser le tableau.

Gephi n'utilise que deux colonnes de référence. Une pour les nœuds, une pour les liens qui les relient.
Les noeuds seront représentés par le numéro d'ordre. vérifiez bien (avec la base originale du logiciel de généalogie) qu'il n'y a pas eu de décalage.
Les liens seront représentés par une seule colonne, appelons là "citations" où apparaitront les numéros de tous les individus auxquels celui de la ligne est connecté, quelle qu'en soit la raison.
Il s'agit donc de "concatener" les infos des précédentes colonnes avec un séparateur.
Il faut ajouter des colonnes intermédiares qui contiennent ce séparateur entre chaque colonne qui contient ces informations. Le séparateur est le "tiret du 6".
Ensuite seulement on peut utiliser la fonction "concatener" pour remplir la dernière colonne.
Attention, la fonction doit s'écrire à la main. Je vous conseille d'intégrer en premier le propre n° de l'individu à des fins ultérieures de vérification dans Gephi.
CONCATENER () ; entre les parenthèses, il faut indiquer les cases les unes à la suite des autres en les séparant d'un "point-virgule".
Après on peut recopier la formule sur toute la colonne, il fera la manipulation tout seul.
Il faut terminer par ouvrir le fichier dans un traitement de textes et transformer tous les "point-virgules" en "virgules" pour que Table2net puisse traiter le fichier.

 Les données utilisées.

Table2net prépare les données pour Gephi.
Après une vérification rapide des premières lignes de données on indique que l'on va utiliser la fonction "citation".
On indique la colonne du n° comme déterminant les nœuds (il n'y a qu'une "expression" par cellule).
On peut donner les noms et prénoms comme attributs. Cela permettra de les afficher à la place du numéro. Attention, le numéro est essentiel car c'est à lui que se réfère la colonne citations.
On désigne la colonne "citations" comme citation (d'où le nom...).
Il faut indiquer que le séparateur des données est le "dash", c'est le "tiret du 6" (sinon on obtient n'importe quoi).
Aucun attribut à préciser.
A ce stade, vous comprenez que Gephi ne fera pas de différence entre les liens : ils auront tous la même valeur sans distinction de s'il s'agit d'un parrain, d'un témoin ou d'un père.
Je pense essayer d'en pondérer certains dès le tableur.
On pourra toutefois repérer les parents dans la visualisation. En effet, les parents auront des liens réciproques contrairement aux enfants avec leurs parents. Des cas particuliers pourront apparaître mais rarement : deux frère et sœur témoins mutuels à leurs mariages ou un parent témoin du mariage de son enfant.
Dans les "options additionnelles" il est intéressant d'ajouter la "time series" et de désigner le numéro d'ordre.
En effet, les données saisies dans le logiciel de généalogie le sont généralement par ordre chronologique (dans un cas comme le mien, qui n'est pas familial). Aussi, le numéro d'ordre des individus rend compte d'une certaine temporalité.
Gephi pourra proposer une visualisation selon ce critère qui peut être intéressante pour voir une évolution dans le temps.

 Dans cette exemple on voit plusieurs choses (on est au XVIIème siècle) :

C'est Jan Hattes qui est sélectionné, seuls ses liens directs apparaissent.
1- Jan Hattes est l'époux de Françoise de Montalembert (flèches réciproques)
2. ils ont eu au moins quatre enfants : Isaur, X et deux marguerittes (l'une est décédée en bas âge), flèches unidirectionnelles vers Jan. La couleur des nœuds représente le même nom de famille.
3. Jullian Marot et Charles Hallet sont surement des témoins du mariage de Jan Hattes.
4. La taille des nœuds est fonction du paramètre "betweeness centrality" qui met en évidence les nœuds importants, qui ont un grand nombre de connexions singulières. Jullian Marot est un personnage central de la communauté. Magistrat de la ville, il est souvent sollicité pour être parrain des enfants et témoin de mariage.
On voit par sa taille que Jan Hattes est lui-même pas mal sollicité. Il a au moins été témoin de deux personnes visibles ici, Marie Ruaulx et Jan Delamare (surement parrain, on prend souvent le prénom du parrain pour un garçon).
On distingue "l'auto-lien" de Jan Hattes. Il est dû au fait qu'on ai rappelé le numéro de l'individu dans la case "citations". C'est un bon moyen de vérification des nœuds dans le tableau. Un nœud sans lien a forcément été généré par la machine.
à vos généalogies !

Références :

 logiciel Elie
 application table2net
 logiciel gephi
Site des archives départementales de l'Ille-et-Vilaine (par exemple)

Aucun commentaire:

Enregistrer un commentaire