Outils pour utilisateurs

Outils du site


td_histoire_numerique:exercice_4

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
td_histoire_numerique:exercice_4 [2016/01/05 17:37]
Francesco Beretta [Annotation de notices biographiques courtes issues de la BNF]
td_histoire_numerique:exercice_4 [2016/01/05 19:03]
Francesco Beretta [Exploration du contenu encodé]
Ligne 22: Ligne 22:
  
  
-Sur [[td_histoire_numerique:​exercice_2&#​creation_du_deuxieme_document_a_annoter|cette page]] on trouvera les indications concernant le processus d'​extraction des notices du site data.bnf.fr ainsi que la production du {{:​td_histoire_numerique:​liste_notices_bnf.odt|document à explorer}}. Grâce à un codage qui applique la méthode présentée ​si 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 [[installation_de_la_base_de_donnees&#​mise_a_jour_de_la_base_de_donnees+Sur [[td_histoire_numerique:​exercice_2&#​creation_du_deuxieme_document_a_annoter|cette page]] on trouvera les indications concernant le processus d'​extraction des notices du site data.bnf.fr ainsi que la production du {{:​td_histoire_numerique:​liste_notices_bnf.odt|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 [[installation_de_la_base_de_donnees&#​mise_a_jour_de_la_base_de_donnees
 |instructions qui se trouvent sur cette page]]. |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 ​dans un seul document. Nous disposons ​donc d'un {{:​td_histoire_numerique:​liste_notices_bnf_sans_url_iramuteq.txt.zip|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 fonction ​du logiciel statistique R. Les instruction d'​installation se trouvent sur [[td_histoire_numerique:​installation_r|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 {{:​td_histoire_numerique:​liste_notices_bnf_sans_url_iramuteq.txt.zip|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 [[td_histoire_numerique:​installation_r|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. \\ 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.
  
Ligne 33: Ligne 33:
 {{ :​td_histoire_numerique:​graph_simi_9.png?​200 |}} {{ :​td_histoire_numerique:​graph_simi_9.png?​200 |}}
  
-Une autre {{:​td_histoire_numerique:​liste_notices_bnf_cooccurrences_iramuteq.svg.zip|représentation graphique}} plus complète qu'on peut télécharger,​ dézipper et ouvrir dans un navigateur web.+Voici une autre {{:​td_histoire_numerique:​liste_notices_bnf_cooccurrences_iramuteq.svg.zip|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 noticesce qui est mis en évidence dans le graphique: 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.+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 ===== ===== Encodage des notices =====
  
-Cette première exploration permet de décider, en fonction de la problématique de recherche, les caractéristiques et propriété ​qu'on souhaitera encoder à fin d'​établir un profil plus précis de la population. 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,​ on peut dater la génération d'​appartenance des acteurs qui composent la population. ​+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. ​
  
 <​code>​ <​code>​
Ligne 49: Ligne 49:
 {/ud} {/ud}
 </​code>​ </​code>​
 +
 +La méthode d'​encodage appliquée est celle présentée dans le [[td_histoire_numerique:​exercice_2#​principes_d_annotation|deuxième exercice]]. Le document encodé est {{:​td_histoire_numerique:​liste_notices_bnf_annote_lieux_professions.odt|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é ===== ===== Exploration du contenu encodé =====
  
 +En appliquant la méthode présentée dans le [[td_histoire_numerique:​exercice_3#​transformation_des_textes_encodes_en_xml|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:​
 +<code html>​SELECT vues.transformation_xml(36)</​code>​
 +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:
 +<code sql>
 +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
 +</​code>​
 +
 +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.
 +{{ :​td_histoire_numerique:​r_generations.jpg?​300 |}}
 +On constate ainsi que la portion des individus nés avant 1450 est très faible par rapport à l'​ensemble de la population.
td_histoire_numerique/exercice_4.txt · Dernière modification: 2016/03/03 10:26 par Francesco Beretta