BottinBot4
Introduction
TODO
Résumé des fonctionnalités
Le bot prend comme entrée des données dans le format .csv. Chaque ligne du fichier d'entrée contient le nom, le métier et l'adresse d'une personne, ainsi que l'année à laquelle l'information a été collectée. D'autres méta-données de moindre importance sont aussi présentes. Le nom des colonnes du fichier sont les suivants:
directory,page,row,year,name,job,street,number,street_clean,street_only
L'idée principale du fonctionnement du bot est d'identifier toutes les lignes correspondant à une personne distincte, extraire celles-ci et créer ou modifier une page wikipast à partir de ces données. Une fois les données extraite, chaque ligne du fichier d'entrée devrait en théorie correspondre à une entrée dans la section Biographie de la page correspondante. Les données fournies s'étalant sur un intervalle de 10 ans, le bot devrait donc avoir la capacité de générer jusqu'à 10 entrées par personne. Pour qu'un tel regroupement soit possible, il faut cependant avoir la certitude que les entrées regroupées dans un même article correspondent à la même personne. Plusieurs astuces permettent d'arriver à un résultat relativement fiable.
La stratégie utilisée pour regrouper les lignes du fichier d'entrée faisant référence à la même personne est une des principales difficultés. La technique utilisée dans la version finale du bot est simplement de regrouper les lignes dont le nom, l'adresse et le métier sont identiques. Il aurait été également possible d'utiliser un critère moins conservateur et de regrouper uniquement par nom et adresse. Il semble en effet peu probable que deux personnes avec le même nom et la même adresse soient en réalité une personne différente.
Cependant, il a été décidé de garder un critère plus strict pour plusieurs raisons. Premièrement, il est difficile de distinguer deux personnes d'une même famille sans utiliser le critère du métier. Comme les membres d'une même famille partagent le même nom de famille et souvent la même adresse, le critère du métier est dans beaucoup de cas le seul critère permettant de départager ces personnes. Deuxièmement, il paraît probable que deux personnes avec le même nom de famille habitent dans le même immeuble, même si ces personnes n'ont pas de lien de parenté. Si des données complètes sur les prénoms étaient disponibles dans tous les cas, il serait probablement possible d'exploiter cette information pour obtenir plus de précision.
L'exemple suivant, tiré des données de l'annuaire, illustre la problématique du critère du métier.
* 1874.01.01 / Paris, Rivoli, 68. Mention de Mazzucchi avec la catégorie diamants pour vitriers. * 1874.01.01 / Paris, Rivoli, 68. Mention de Mazzucchi avec la catégorie marrons en gros.
Les deux lignes datant de la même années, on peut conclure avec certitude que ces deux lignes correspondent à des personnes différentes, même si l'adresse et le nom de famille sont identiques. On peut faire l'hypothèse qu'un lien de parenté unit ces deux individus.
Analyse critique et améliorations envisagées
Le bot est malheureusement peu efficace pour combattre les erreurs d'OCR ou les variations dans le format des données. Une stratégie initialement envisagée était de constituer des ensembles de métiers voisins afin d'être capable de regrouper les entrées selon des critères moins stricts. Pour créer ces ensembles, une approche possible aurait été d'identifier les entrées pouvant être regroupées avec certitude en utilisant uniquement les autres critères (nom, adresse). Pour chacune de ces personnes, on obtiendrait un ensemble des différents métiers listés sur les entrées successives. Cet ensemble pourrait ainsi être réutilisé pour identifier d'autres personnes avec ce critère. Ainsi, si une personne passe de notaire à notaire honoraire, on peut en déduire que d'autres personnes pourraient connaître une évolution similaire. Cependant, comme expliqué plus haut, il est difficile d'identifier les entrées qui se rapportent à une même personne sans utiliser le critère du métier. Pour cette raison, il est difficile d'appliquer cette stratégie en pratique.
Une autre solution envisagée était de faire recours à une source externe (par exemple Wikipédia) pour identifier les métiers similaires. Cependant, le format du métier dans les données d'entrée n'est pas toujours très cohérent. Par exemple, l'activité "vins" est souvent mentionnée dans le fichier d'entrée. Comme il ne s'agit pas d'un métier à proprement parler mais plutôt d'un secteur d'activité, il devient vite difficile d'exploiter cette information.