Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

public:analyse_de_corpus_evs_avec_txm [2017/05/20 21:24]
slh@ens-lyon.fr
public:analyse_de_corpus_evs_avec_txm [2018/10/03 16:24] (version actuelle)
slh@ens-lyon.fr
Ligne 7: Ligne 7:
Dans la mesure où cette page est pour l'instant publique, il est intéressant de veiller à ne pas trop désigner de personnes et de projets concrets. Dans la mesure où cette page est pour l'instant publique, il est intéressant de veiller à ne pas trop désigner de personnes et de projets concrets.
-===== Toponymes de Paris =====+====== Toponymes de Paris ======
-==== macro NIndex ====+===== Import du corpus =====
-La macro NIndex assiste le décompte de séquences de mots dans des corpus ou sous-corpus. Elle généralise la commande Index de TXM 0.7.8 à N requêtes CQL. Les séquences sont fournies dans un fichier d'entrée (paramètre <html><code>inputFile</code></html>), au format général d'une séquence par ligne. Trois formats de séquences sont proposés : +Pour pouvoir utiliser l'outil d'annotation par concordances, il est nécessaire d'importer le corpus avec le module d'import XTZ+CSV qui prend des sources au format XML (le module d'import XTZ+CSV et l'annotation sont disponibles à partir de TXM 0.7.8) :
-  * séquences de formes de mots (ou de forme de lemme ou de forme de pos, etc.) comme par exemple des séquences déjà repérées par TXM ou par un autre logiciel, exemple :<code>Cathédrale Notre-Dame +
-rue de la Chanvrerie +
-...</code> +
-  * séquences d'expressions régulières sur les formes de mots, exemple :<code>Tour.* +
-rue|avenue|boulevard de la [A-Z].* +
-</code> +
-  * requêtes CQL, exemple :<code>"Cathédrale"%cd "Notre-Dame"%cd +
-"rue|avenue|boulevard"%c "de"%c "la"%c [word="[A-Z].*"] +
-...</code>+
-Dans les séquences de formes de mots et d'expressions régulières sur les formes de mots, les formes et les expressions régulières sont séparées par un caractère espace (pour chercher une forme contenant un espace il faut utiliser une expression régulière exprimant ce caractère Unicode).+  * lancer 'Fichier > Importer > XML-XTZ+CSV' 
 +    * pointer le répertoire des sources XML 'Paris_corrige' 
 +    * lancer l'import en cliquant sur la flèche verte 
 + 
 +===== Annotation du corpus ===== 
 + 
 +  * faire une concordance, par exemple de %%"rue|avenue|boulevard"%c ("d[ue]|des|aux"%c|"de"%c "la"%c)? [word="[A-Z].*"]%% :\\ {{:public:conc-rues.jpg?800}} 
 +  * cliquer sur le bouton 'Annoter' (bouton crayon situé en haut à gauche de la concordance) 
 +    * saisir l'identifiant de l'annotation, par exemple 'id_rue_neuve' 
 +    * garder l'option 'lignes sélectionnées' 
 +    * sélectionner les deux lignes correspondant à "rue Neuve" :\\ {{:public:conc-rues-annotation.jpg?800}} 
 +  * cliquer sur 'OK' pour poser l'annotation 
 +    * on voit que les pivots ont bien reçu l'annotation : \\ {{:public:conc-rues-annotation-neuve.jpg?800}} 
 + 
 +===== Enregistrement de l'annotation ===== 
 + 
 +Une fois qu'on a cliqué dans une concordance sur le bouton "Annoter", qui a une icone de crayon, pour lancer une session d'annotation, il bascule en bouton "Enregistrer les annotations" avec l'icone crayon+disquette. Cliquer sur le bouton crayon+disquette sauvegarde les annotations de la session courante, ce qui permet ensuite d'exploiter les annotations par requêtes CQL. 
 + 
 +<note>La sauvegarde des annotations est un calcul encore assez long parce que TXM ré-importe en partie le corpus.</note> 
 + 
 +===== Exploitation de l'annotation du corpus ===== 
 + 
 +Après la sauvegarde, on voit que des structures 'span' sont disponibles avec le contenu des annotations dans leur propriété 'ref' : 
 + 
 +==== Extrait de la Description du corpus ==== 
 + 
 +<code>... 
 +Propriétés des structures (max 20 valeurs) 
 + 
 +doc 
 +  n (1) = 0. 
 +
 +  n (18972) = 0, 1, 10990, 10991, 10992, 10993, 10994, 10995, 10996, 10997, 10998, 10999, 2, 3, 4, 5, 6, 7, 8, 9. 
 +span 
 +  author (1) = sheiden. 
 +  date (1) = 2017-06-01. 
 +  end (2) = 3778, 5576. 
 +  n (1) = "". 
 +  ref (1) = id_rue_neuve. 
 +  start (2) = 3777, 5575. 
 +... 
 +</code>
-=== Types de séquences ===+==== Concordance basée sur l'annotation ====
-Le type de séquences interprété par NIndex est déterminé par le paramètre <html&gt;&lt;code>inputIsCQL</code></html>. Si ce paramètre est sélectionné (vrai), les séquences sont interprétées comme des requêtes CQL ; sinon elles sont interprétées soit comme des formes soit comme des expressions régulières de formes en fonction du contenu de chaque ligne.+Pour faire une concordance basée sur l'annotation, on peut utiliser une requête de la forme suivante :\\ %%<span_ref=&quot;id_rue_neuve&quot;> []+ expand to span%% :\\ {{:public:conc-annotation-neuve.jpg?800}}
-Le paramètre <html><code>inputWordProperty</code></html> permet de choisir la propriété de mot qui sera utilisée pour les recherches de séquences de formes ou de séquences d'expression régulière de forme. Par exemple : +On peut utiliser 3 variantes de ce type de requêtes :
-  * avec la valeur 'word' (par défaut) ce seront les séquences de forme graphiques qui seront recherchées +
-  * avec la valeur 'frlemma' ce seront les séquences de formes de lemmes qui seront recherchées +
-  * avec la valeur 'frpos' ce seront les séquences d'étiquettes morphosyntaxiques qui seront recherchées +
-  * etc. en fonction de l'étiquetage des mots du corpus+
-=== Propriété de mot dénombrée ===+=== A) ===
-Le paramètre <html&gt;&lt;code>outputWordProperty</code></html> permet de choisir quelle propriété de mot sera utilisée pour réaliser le dénombrement des séquences trouvées. Par exemple : +%%<span_ref=&quot;id_rue_neuve&quot;> []%% 
-  * avec la valeur 'frlemma' ce seront les séquences de formes de lemmes qui seront dénombrées +  * glose : pour ne chercher que le premier mot de la séquence annotée
-  * avec la valeur 'word' (par défaut) ce seront les séquences de formes graphiques qui seront dénombrées +
-  * avec la valeur 'frpos' ce seront les séquences d'étiquettes morphosyntaxiques qui seront dénombrées +
-  * etc. en fonction de l'étiquetage des mots du corpus+
 +=== B) ===
-=== Regroupement des décomptes par séquence ===+%%<span_ref="id_rue_neuve"> []+ expand to span%% 
 +  * glose : pour chercher tous les mots de la séquence annotée
-Quand les séquences sont des requêtes CQL ou des expressions régulières, il est possible de regrouper les décomptes de leurs réalisations en sélectionnant le paramètre <html><code>groupByQuery</code></html>. Dans ce cas il y a une fréquence par séquence dans le tableau de sortie.+=== C) ===
-=== Liste des corpus à interroger ===+%%[_.span_ref="id_rue_neuve"]%% 
 +  * glose : pour chercher chaque mot de la séquence annotée
-Les corpus dans lesquels chercher sont soit sélectionnés dans la vue corpus (avant de lancer la macro), soit fournis sous la forme d'une liste de noms de corpus à l'appel de la macro par une autre macro.+Chacune des variantes aura son utilité selon l'outil mobilisé, Concordance ou Index par exemple, et l'objectif visé.
-=== Format de sortie ===+==== Exportation de l'annotation ====
-La macro NIndex écrit son résultat dans un fichier de sortie (paramètre <html><code>outputFile</code></html>), deux formats sont proposés : +Après la sauvegarde des annotations, le corpus contient en lui-même les annotations indépendamment de l'outil d'annotation. On peut donc exporter ce corpus au format binaire (avec la commande 'Fichier > Exporter > Corpus au format binaire) dans un fichier .txm que l'on peut transmettre à un correspondant. Le correspondant charge alors le corpus binaire (avec la commande 'Fichier > Charger) puis exploite le corpus et ses annotations comme pour n'importe quel corpus binaire.
-  * ODS : format tableur Calc de Libre Office (extension .ods) +
-  * TSV : format texte tabulé TSV (caractère tabulation pour séparer les colonnes)+
-Remarque : dans TXM 0.7.8 ou inférieur, pour pouvoir écrire au format ODS il faut installer au préalable des bibliothèques Java complémentaires : +==== Annotation d'un corpus annoté chargé ====
-  - télécharger l'archive [[https://sharedocs.huma-num.fr/wl/?id=uL8Qdg5dwjbE9rY9SBnvnZmf4ileqDbH|office.zip]] +
-  - copier dans <html><code>&lt;répertoire utilisateur&gt;/TXM/scripts/lib</code></html> les 7 fichiers qu'elle contient : +
-    * commons-validator-1.4.0.jar +
-    * java-rdfa-0.4.2.jar +
-    * jena-core-2.7.4.jar +
-    * jena-iri-0.9.4.jar +
-    * odfdom-java-0.8.10-incubating.jar +
-    * org.apache.xerces_2.9.0.v201101211617.jar +
-    * simple-odf-0.8.1-incubating.jar +
-  - quitter puis relancer TXM +
-  - la macro peut alors utiliser ces librairies+
-Quand le paramètre <html><code>odsOutputFormat</code></html> est sélectionné la sortie se fait au format ODS, sinon TSV.+Ceci n'a pas encore été beaucoup testé mais le correspondant peut à son tour annoter le corpus lui-même avec la contrainte actuelle qui est qu'il n'a pas le référentiel des annotations déjà réalisées sur le TXM d'origine. Donc :
-== Sortie au format ODS ==+  * a) il doit pouvoir ajouter des annotations, qui doivent se conformer au système d'étiquettes d'origine (mêmes noms) si on veut pouvoir faire une exploitation conjointe des annotations d'origines et des nouvelles annotations 
 +  * b) il peut peut-être corriger des annotations d'origine, en se conformant au système d'étiquettes d'origine pour les mêmes raisons que précédemment
-La sortie au format tableur est composée de deux feuilles : +Comme nous n'avons pas encore fait de tests dans ce domaine, nous serions intéressés d'avoir des retours d'expérience. 
-  * feuille principale (Sheet1) : contient le tableau des décomptes avec les colonnes suivantes : +Il faudra qu'on prévoit d'exporter les référentiels (jeux d'étiquettes) dans les corpus binaires.
-    * **corpus** : nom du corpus, au format chaine +
-    * **word query** ou **CQL** : la requête de séquence, au format chaine +
-    * **word values** : les réalisations de la séquence, au format chaine (cette colonne n'est pas présente si le paramètre <html><code>groupByQuery</code></html> est sélectionné) +
-    * **f** : la fréquence des réalisations ou de la requête si <html><code>groupByQuery</code></html> est sélectionné, au format nombre entier +
-  * feuille de renseignement des résultats (properties), contient le tableau des paramètres du calcul avec les informations suivantes : +
-    * date : date de lancement de la macro +
-    * time : heure de lancement de la macro +
-    * machine : nom de la machine utilisée +
-    * user : identifiant de l'utilisateur ayant lancé le calcul +
-    * macro : nom de la macro +
-    * valeurs des paramètres : corpora, inputFile, inputIsCQL, inputWordProperty, outputFile, odsOutputFormat, outputWordProperty, groupByQuery+
 +===== Notes 03/10/2018 =====
 +  * format de sortie PERDIDO
 +    * tests
 +  * exploitabilité des annotations PERDIDO
 +  * travailler sur des textes structurés et annotés avec PERDIDO
 +    * structurer en aval : annoter les structures dans TXM
 +    * structurer en amont : est-ce que TXM peut piloter les demandes à PERDIDO ?
 +  * nouveaux textes
===== Autres projets ===== ===== Autres projets =====
public/analyse_de_corpus_evs_avec_txm.1495308298.txt.gz · Dernière modification: 2017/05/20 21:24 par slh@ens-lyon.fr