Revenir à la page d'accueil.

<table><tr><td style="vertical-align: middle;"><a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="Licence Creative Commons" style="border-width:0; font-size:smaller" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /></a> </td> <td> <span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">Le cours "Informatique pour les historiens"</span> de <span xmlns:cc="http://creativecommons.org/ns#" property="cc:attributionName">Francesco Beretta</span>, avec tous les documents, fichiers et scripts associés, est mis à disposition selon les termes de la <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International</a>.</td></tr></table>

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é

En appliquant la méthode présentée dans le troisième exercice, nous avons copié le texte encodé 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 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 dans le champs “texte_xml”.

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 des scripts du logiciel R grâce à la bibliothèque “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.

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.