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:39]
Francesco Beretta [Exploration du lexique des notices]
td_histoire_numerique:exercice_4 [2016/01/05 19:46]
Francesco Beretta [Exploration avec le logiciel R]
Ligne 25: Ligne 25:
 |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é =====
  
 +==== Transformation vers un texte en format XML ====
 +
 +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é 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:​
 +<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 les scripts du logiciel R grâce à la librairie "​RPostgreSQL"​. Dans le {{:​td_histoire_numerique:​r_td2015_distribue.zip|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.
 +{{ :​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. 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.
 +{{ :​td_histoire_numerique:​r_boxplot_soch.jpg?​300 |}}
 +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.
 +{{ :​td_histoire_numerique:​r_reseau_cooccurrences.jpg?​300 |}}
 +Ce graphique représente une analyse équivalente à l'​analyse des similitudes des notices fondée sur les cooccurrences des lemmes effectuée avec le logiciel Iramuteq. Toutefois, elle est beaucoup plus précise dans la mesure où elle resulte de l'​encodage concepts dans les textes, identifiant les entités nommées, et elle dispose donc d'une dimension sémantique résultant de l'​analyse du chercheur.
  
td_histoire_numerique/exercice_4.txt · Dernière modification: 2016/03/03 10:26 par Francesco Beretta