Outils pour utilisateurs

Outils du site


td_histoire_numerique:exercice_4

Revenir à la page d'accueil.

Licence Creative Commons Le cours "Outils numériques pour les historiens" de Francesco Beretta, avec tous les documents, fichiers et scripts associés, est mis à disposition selon les termes de la licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.

Annotation de notices biographiques courtes issues de la BNF

Dans cet exercice, nous allons annoter les notices biographiques courtes concernant une population de 790 mathématiciens et astronomes extraites des notices d'autorité de la Bibliothèque nationale de France.

Cette approche correspond à un constat: souvent, les étudiants sont amenés à étudier une population d'objets (acteurs, institutions, images, concepts, édifices, …) afin de mettre en évidence leur caractéristiques, ou les relations entre leurs propriétés, ou leur évolution dans le temps.

On peut traiter ce type de questionnement grâce à une collection de textes courts, tirés directement des sources ou rédigés par les étudians selon les cas, qui contiennent un descriptif des caractéristiques de chaque objet. Il s'agira ensuite d'encoder dans chaque texte les concepts essentiels, en lien avec leur définition dans la base de donnée, afin de pouvoir classer les objets, étudier l'évolution de leur caractéristiques dans le temps ou étudier les relations entre les objets encodés.

Les 790 notices biographiques issues des notices d'autorité de la BNF permettent d'illustrer cette méthode.

Exploration du lexique des notices

Sur cette page on trouvera les indications concernant le processus d'extraction des notices du site data.bnf.fr ainsi que la production du document à explorer. Grâce à un codage qui applique la méthode qui sera présentée ci-dessous, les notices ont été découpées et importées dans la base de données. On les trouvera dans la version la plus récente de la base de données qui peut être installée selon les instructions qui se trouvent sur cette page.

A partir de la base de données, les notices ont été recodées en ajoutant l'année et le siècle de naissance en tant que métadonnées de chaque notice, tout en les recomposant en un seul document. Nous disposons ainsi d'un nouveau document qui contient le même texte des 790 notices à encoder mais recomposé selon le format d'importation du logiciel Iramuteq, un logiciel d'analyse de textes qui utilise les fonctions du logiciel statistique R. Les instruction d'installation se trouvent sur cette page.
N.B. Lors de l'importation des notices dans Iramuteq, l'option “construire des segments de texte” a été décochée. Les segments de texte analysés par la suite correspondent donc au 790 notices.

Une première analyse de statistique textuelle permet de déceler quelles sont les formes actives dans les notices, au niveau des lemmes. On peut explorer les notices en lien avec les formes les plus fréquentes grâce au concordancier. On peut enfin analyser les similitudes des notices en analysant les cooccurrences des lemmes dans les notices (étant donné que les segments de texte correspondent aux notices, il s'agira de cooccurences à l'intérieur des notices):

Voici une autre représentation graphique plus complète qu'on peut télécharger, dézipper et ouvrir dans un navigateur web.

Grâce à cette exploration du vocabulaire des notices on voit apparaître des 'profils' ou des 'domaines d'activité' dont les effectifs sont proportionnels à la fréquence des lemmes et des cooccurrences dans les notices (ce qui est mis en évidence dans le graphique par la taille des caractères): les mathématiciens avec toutes les autres professions qui leur sont associées; les enseignants (professeurs) avec les disciplines et institutions associées; le 'monde' des libraires et des imprimeurs dont on dévine grâce à la représentation visuelle de la fréquence des lemmes la proportion inférieure dans la population; le profil des astronomes en lien avec les observatoires et les géographes; le monde des académies.

Encodage des notices

Cette première exploration permet de décider, en fonction de la problématique de recherche, les propriétés qu'on souhaitera encoder à fin d'établir un profil plus précis de la population et de ses caractéristiques. A titre d'exemple, ont été encodées les mentions des professions les plus fréquentes (supérieures à 20 mentions) ainsi que toutes les dates. Comme en règle générale la notice contient la date de naissance, du moins approximative, en première position, on peut dater la génération d'appartenance des acteurs qui composent la population.

{ud0}
Johann Bernoulli ({en0li}Bâle, Suisse{/en}, {dat1667}1667{/dat}) {en16}Mathématicien{/en} et {en1630}physicien{/en}, maître d'Euler, professeur à l'Université de Groningue puis à l'Université de Bâle. - A travaillé sur le calcul différentiel, intégral et exponentiel. - Également auteur de traités de {en28}médecin{/en}e, fondateur de la théorie mécanico-physique de la fermentation [http://data.bnf.fr/ark:/12148/cb122991692#foaf:Person]
{/ud}
{ud0}
William Whiston (Norton-juxta-Twycross (G. B.), {dat1667}1667{/dat}) {en1629}Théologien{/en} et {en24}astronome{/en}. - Professeur de mathématiques à Cambridge, d'où il fut exclu pour ses écrits théologiques. - Traducteur de Flavius Josèphe [http://data.bnf.fr/ark:/12148/cb11997914k#foaf:Person]
{/ud}

La méthode d'encodage appliquée est celle présentée dans le deuxième exercice. Le document encodé est accessible ici. Le codage a été effectué de manière semiautomatique, en partant des formes associées à chaque lemme. De cette manière les variantes ortographiques ont été prises en compte en les associant au même identifiant de la base de données. Afin de compléter le codage, on a également commencé à baliser les enseignements des différentes disciplines, car un peut admettre que “Professeur de mathématiques” est équivalent à “mathématicien”. Mais cette demarche demande du temps car les formulations sont très variées et un codage manuel s'avère indispensable. Les mêmes considérations s'appliquent aux lieux de naissance. Ce codage expériemental, présent dans le texte téléchargéable, n'a pas été terminé.

Exploration du contenu encodé

Transformation vers un texte en format XML

En appliquant la méthode présentée dans le troisième exercice, nous avons copié le texte encodé qui se trouve dans le document “liste_notices_BNF_annote_lieux_professions.odt” et nous l'avons collé dans l'objet 36 de la base de données, un objet de type “objet digital” intitulé “Notices BNF avec annotation sémantique”. Nous avons ensuite exécuté cette transformation:

SELECT vues.transformation_xml(36)

qui produit le texte XML inséré dans le champs “texte_xml” du même objet.

En combinant les requêtes XPath et SQL, on peut désormais explorer les textes encodés. Avec cette requête, par exemple, on peut chercher tous les concepts encodés, un par personne et année:

WITH tw1 AS
(
  SELECT UNNEST(xpath ('/root/ud',t1.texte_xml)) ud,
         UNNEST(xpath ('/root/ud/dat[1]/@when',t1.texte_xml)) annee
  FROM objets.objet t1
  WHERE t1.pk_objet = 36
),
tw2 AS
(
  SELECT ROW_NUMBER() OVER (ORDER BY 1)::INTEGER AS id_ud,
         (UNNEST(xpath ('//en/@ref',tw1.ud))::text) en,
         annee
  FROM tw1
)
SELECT DISTINCT id_ud,
       (en::text)::INTEGER cle_objet,
       (annee::text)::INTEGER annee,
       t1.nom
FROM tw2
  JOIN vues.vm_objet_vue_de_base t1
    ON t1.pk_objet = tw2.en::INTEGER
   AND t1.fk_type_objet_param = 4
ORDER BY annee,
         id_ud

Les requêtes SQL peuvent être intégrées directement dans les scripts du logiciel R grâce à la librairie “RPostgreSQL”. Dans le projet R ci-joint, on trouvera quelques exemples d'exploration et de visualisation des données. Il faut d'abord ajouter ses propres paramètres de connexion (adresse de la base de données, login et mot de passe) dans le document “connexion_postgresql.R”, puis exécuter ce script afin d'ouvrir une connexion avec la base de données qui pourra ensuite être appelée depuis les autres scripts. Il faut aussi installer préalablement toutes les librairies R appelées par les différents scripts du projet.

Exploration avec le logiciel R

Le script “exploration_notices.R” permet d'afficher un histogramme qui représente les générations de mathématiciens et astronomes avec un pas de 25 ans. On constate ainsi que la portion des individus nés avant 1450 est très faible par rapport à l'ensemble de la population. Ceci invite à restreindre l'analyse suivante, qui représente les effectifs de professions encodées sous forme de “boîte à moustaches” (boxplot), aux individus nés après 1400. Cette visualisation permet de prendre rapidement la mesure de la distribution dans le temps des professions et de leurs effectifs. Cette exploration est effectuée dans le script “exploration_caracteres_sociaux.R” du projet R.

Enfin, on peut explorer les relations entre professions dans les notices, sous forme de fréquences de cooccurrences, en utilisant une requête SQL/XPath et une visualisation qui utilise des techniques d'analyse de réseaux.


Ce graphique représente une analyse équivalente à l'analyse des similitudes des notices fondée sur les cooccurrences des lemmes effectuée ci-dessus avec le logiciel Iramuteq. Toutefois, elle est beaucoup plus précise dans la mesure où elle resulte de l'encodage des concepts dans les textes. Ce travail d'identification des entités nommées, en lien avec la base de données, ajoute une dimension sémantique résultant de l'analyse du texte, et de son encodage, par le chercheur. De cette analyse des propriétés structurales et représentation graphique des relations entre concepts apparaît entre autres que les professions plus 'marginales', par ex. les cartographes, les architectes et les libraires, moins représentées en termes d'effectifs dans la population que les mathématiciens et les astronomes (comme le montre le boxplot précédent) sont plus connectés avec l'ensemble des autres professions, ce qui apparaît de leur degré de centralité représenté par le diamètre des sommets.

td_histoire_numerique/exercice_4.txt · Dernière modification: 2016/03/03 10:26 par Francesco Beretta