BottinBot1
Résumé des fonctionnalités
En 2019, l’équipe du DHLAB a effectué une extraction de 4 Million d’adresses dans les anciens annuaires de la ville de Paris.
Di Lenardo, I., Barman, R., Descombes, A., Kaplan F. (2019). Repopulating Paris: massive extraction of 4 Million addresses from city directories between 1839 and 1922, Digital Humanities conference DH2019, Utrecht, Pays-Bas, [1]
Ce bot va extraire les données de ces annuaires et créer les pages dans wikipast. Le BottinBot1 que nous avons développé traite les données des années 1839 à 1848 [2]. Il peut bien entendu être utilisé pour traiter d'autres données.
Description technique
Lecture du bottin
On utilise la librairie Pandas pour lire les données dans le fichier CSV qui nous a été accordé et les organiser dans un objet DataFrame.
A première vu, nous avons 390223 entrées dans notre fichier CSV. Celles-ci sont des entrées entre l'année 1839 et 1848.
Nous avons choisi de ne pas prendre les lignes contenant des valeurs NaN, ceci nous a amené à ne traiter que 389599 entrées. Soit une perte de 0.15%
Vérification d'existence
Avant de créer une page nous nous assurons toujours si elle n'existe pas auparavant. Si elle n'existe pas, la page est créee sinon elle simplement modifiée en rajoutant la donnée à la fin de la page.
Tri automatique croissant par date
Les données sont triées par ordre croissant de date, un algorithme (sort_year) s'occupe de réordonner les entrées. L'algorithme consiste à séparer le text de la page par ligne et de détecter les int correspondants aux évenements déja éxistants. Ensuite on parcours la liste d'années pour détecter où l'insertion se fait (ligne précedent l'endroit où l'on veut insérer la donnée). Enfin on ne modifie l'ancien de texte de la page qu'en ajoutant à la ligne précedente détectée la donnée que l'on veut ajouter.
Desambiguation
Lors de la création d'une nouvelle page, une en-tête redirigeant vers une page d'homonymie de nom est crée/modifiée. La page d'homonymie permet de désambiguer quant aux entrées présentant le même nom mais pas la même adresse ou le même travail par exemple.