Outils pour utilisateurs

Outils du site


public:annotation:specs_annotation_analec:exploitation

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
public:annotation:specs_annotation_analec:exploitation [2019/06/18 13:21]
matthieu.decorde@ens-lyon.fr [Spécifications]
public:annotation:specs_annotation_analec:exploitation [2021/11/03 15:35] (Version actuelle)
matthieu.decorde@ens-lyon.fr [Solution]
Ligne 291: Ligne 291:
  
 Bref, sur les quatre premiers cas on est mis en difficulté,​ et du coup on voit très vite qu'une projection qui travaillerait non pas au niveau du mot mais de la mention (en en faisant une structure) serait beaucoup plus approprié par rapport aux interrogations (même si évidemment on rencontrera davantage de limites en cas de chevauchements avec les autres structures du corpus). On teste alors ce nouveau cas de figure ci-après (§ macro URSUnits2CQPStruct). Bref, sur les quatre premiers cas on est mis en difficulté,​ et du coup on voit très vite qu'une projection qui travaillerait non pas au niveau du mot mais de la mention (en en faisant une structure) serait beaucoup plus approprié par rapport aux interrogations (même si évidemment on rencontrera davantage de limites en cas de chevauchements avec les autres structures du corpus). On teste alors ce nouveau cas de figure ci-après (§ macro URSUnits2CQPStruct).
 +
  
 ===== Exploitation par le biais de CQP 2 ===== ===== Exploitation par le biais de CQP 2 =====
  
-==== Projection URS vers XML-TXM / CQP générique ​==== +== Test des outils "Projection URS vers XML-TXM / CQP générique"​ dans le contexte de Democrat ==
- +
-Plusieurs résultats peuvent être obtenus par des transferts ​"génériques"​ : +
-  * profiter des structures d'​annotation et de leurs interfaces pour organiser des annotations de type XML/CQP +
-  * profiter de l'​interface plein texte URS pour annoter du XML/CQP +
-    * dans ce cas on se rapproche d'une interface d' "​encodage"​ XML/CQP en mode auteur (à la Oxygen XML editor) +
-      * dans ce cas on peut se spécialiser dans les types d'​annotations les plus utilisées et pas forcément gérer du 'tout TEI' +
-      * par exemple : +
-        * annotation d'​**entités nommées** (eg <​persName>​) = span de quelques mots +
-        * annotation de **notes**/​**commentaires** (eg <note type="​commentaire du lecteur">​ ou <note type="​commentaire de l'​auteur du texte">​) = span de quelques mots à un peu plus + interface de saisie des valeurs de propriétés multilignes et large +
-        * annotation de **paragraphes** ou **sections** (eg <p> ou <​div>​) = grand span de mots voire très grand +
-          * dans ce cas une stratégie de saisie d'​unité de début et d'​unité de fin peut être plus appropriée que celle d'une seule unité (avec construction d'une structure unique lors du transfert) +
-        * annotation de **milestones** (eg <​pb/>​) = span d'un seul mot avec choix de la position du milestone '​avant'​ ou '​après'​ le mot +
-        * annotation de **mots** = span d'un seul mot (avec projection sur des propriétés de mots plutôt que création de structure) +
-          * dans ce cas on peut aussi aider à annoter la forme du mot (par exemple '​lean'​ devient '​[J]ean'​ -> on crée les sous-éléments TEI au <w> nécessaires pour que l'​édition présente correctement la régularisation du mot, tout en gérant la forme correcte '​Jean'​ dans les index +
-      * Remarque : le rendu des éditions de texte a des traitements spécifiques pour chacune de ces grandes catégories d'​annotations. Il serait intéressant que l'​infrastructure de saisie ou de transfert tienne compte de ces relations. Par exemple, il serait intéressant d'​aider à visualiser, à la demande, dans l'​édition d'un texte n'​importe quelle structure de section (div) et ses propriétés pour faciliter le travail d'​annotation de ces structures ou de sous-structures. +
-  * si on se met à utiliser l'​interface d'​annotation par Concordances pour annoter des Unités URS, ça peut ressembler à une alternative plus structurée et plus souple à l'​infrastructure '​annotation par KR' +
-  * si on complète les interfaces d'​annotation URS à Index+Concordance+Édition,​ avec le transfert générique on a une solution complète pour "​éditer"​ le modèle CQP en s'​appuyant sur des structures d'​annotation URS dédiées (TEI, sous-éléments TEI fréquents et utiles, etc.). Cette solution permet également de développer différentes solutions pour gérer le chevauchement de structures quand c'est nécessaire. Les annotations primaires sont stand-off donc n'ont pas de contraintes de ce type. Ce n'est qu'au moment du transfert qu'on cherche à gérer la situation. +
- +
-=== macro URSUnits2CQPStruct === +
- +
-(cette macro peut être appelée depuis le menu URS/Analec avec l'​entrée "​Créer des structures à partir des Unités"​ ou "​Convertir Unités en Structures"​) +
- +
-== Usage de la macro == +
- +
-On projette des informations XML encodées dans les unités URS pour construire des structures dans le XML-TXM, puis (potentiellement déformées : minusculisées,​ récursion limitée, pas de milestone) dans CQP. Par exemple, des informations d'​encodage TEI pour obtenir des éléments TEI dans le XML-TXM. +
- +
-Remarque : on peut créer une structure d'​annotation prédéfinie dédiée à la TEI P5, avec ses éléments et leurs attributs (si les noms des éléments TEI sont encodés dans une propriété d'​unité '​type',​ on ne pourra malgré tout pas contraindre les autres propriétés de l'​unité à correspondre aux attributs de cet élément particulier). Les fonctionnalités de navigation dans les valeurs de propriétés aideront à accélérer l'​annotation. +
- +
-== Algorithme == +
- +
-      * pour chaque u = une unité URS où u@type != '​mot'​ +
-        * si u@milestone = yes +
-          * créer un élément milestone dans le XML-TXM +
-            * de nom u@type (exemple '​pb'​) +
-            * située avant le u#start si u@position == '​before'​ +
-            * située après le u#end si u@position == '​after'​ +
-            * prenant pour attributs et valeurs toutes les autres propriétés de l'​unité : +
-              * exemple, propriétéA à la valeur X -> attribut '​propriétéA="​X"'​ (exemple n="​1"​) +
-              * exemple, propriétéB à la valeur Y -> attribut '​propriétéB="​Y"'​ +
-              * ... +
-          * sinon créer une structure dans le XML-TXM +
-            * de nom u@type (exemple '​placeName'​) +
-            * commençant avant le u#start +
-            * terminant après le u#end +
-              * si la structure chevauche une structure pré-existante,​ on rabote sa fin jusqu'​à ce qu'​elle ne chevauche plus, et on explicite le rabotage dans la console +
-              * si d'​autres structures commencent ou terminent aux mêmes mots, on place le début de la structure après ceux des structures et sa fin avant celles des structures +
-            * prenant pour attributs et valeurs toutes les autres propriétés de l'​unité : +
-              * exemple, propriétéA à la valeur X -> attribut '​propriétéA="​X"'​ (exemple n="​1"​) +
-              * exemple, propriétéB à la valeur Y -> attribut '​propriétéB="​Y"'​ +
-              * ... +
- +
-Extensions/​Variantes possibles : +
-  * plutôt que de "​Créer des structures à partir des Unités",​ on peut "​Projeter les propriétés d'​Unités sur des structures existantes"​ +
-    * dans ce cas on peut cibler les structures à enrichir de différentes façons : +
-      * a) la structure la plus "​proche"​ ou "​basse"​ du premier mot de l'​unité reçoit les propriétés : qui commence le plus proche du premier mot de l'​unité + qui a le span le plus petit. Si plusieurs structures restent en compétition,​ il faudrait choisir ou trouver un autre algo plus complet +
-      * b) on désigne les structures par une XPath : pour chaque élément matchant la XPath, calculer le span de <w> correspondant,​ puis calculer les unités URS concernées par ce span de mots. Si plusieurs unités restent en compétition,​ il faudrait choisir ou trouver un autre algo plus complet\\ Remarque : il peut être intéressant pour ce type de traitements de profiter des performances des services d'une toolkit comme [[https://​www.ltg.ed.ac.uk/​software/​ltxml2|LT XML 2]] qui peut traiter la résolution d'​XPath en streaming équivalent à du SAX pour la vitesse (on peut switcher de DOM à SAX et dans l'​autre sens à n'​importe quel moment du traitement). +
-  * [BP, 26 février 2019] +
-    * La stratégie en cas de chevauchement ne serait pas de raboter (raccourcir) la structure, mais de la fermer puis de rouvrir une structure analogue au mot suivant. Une propriété dédiée permettrait de savoir si la structure est au début de la mention ou est un bout qui prolonge la mention précédente (utile notamment pour un décompte de mentions). L'​intérêt de ne pas raboter est de conserver davantage d'​informations,​ notamment de pouvoir identifier tous les mots concernés par une mention ou une chaîne. +
-    * Il serait utile de disposer au niveau des unités d'​informations du niveau des schémas (les schémas portent sur l'​ensemble du texte et n'ont pas trop d'​intérêt en tant que structures CQP). +
- +
-== Test de la solution ​dans le contexte de Democrat ==+
  
 Le modèle URS de DEMOCRAT : Le modèle URS de DEMOCRAT :
Ligne 502: Ligne 442:
 <​mention>​[]* a:​[_.mention_ref="​Caillette"​ & frpos="​NOM|NAM"​] []*</​mention>​ []{0,100} <​mention>​[]* [_.mention_ref="​Caillette"​ & word=a.word] []*</​mention>​ <​mention>​[]* a:​[_.mention_ref="​Caillette"​ & frpos="​NOM|NAM"​] []*</​mention>​ []{0,100} <​mention>​[]* [_.mention_ref="​Caillette"​ & word=a.word] []*</​mention>​
 </​code>​ </​code>​
- 
- 
-=== macro URSUnits2CQPWords === 
- 
-(cette macro peut être appelée depuis le menu URS/Analec avec l'​entrée "​Projeter les propriétés des Unités sur des mots" ou "​Projeter les propriétés des Unités sur leur premier mot") 
- 
-== Usage de la macro == 
- 
-On projette des informations de mots encodées dans les unités URS pour construire des propriétés de mots dans le XML-TXM, puis dans CQP (déformées). 
- 
-== Algorithme == 
- 
-      * pour chaque u = une unité URS où u@type = '​mot'​ 
-        * ajouter au mot situé au u#start dans le XML-TXM des attributs/​propriétés correspondants à toutes les propriétés de l'​unité : 
-              * exemple, propriétéA à la valeur X -> attribut '​propriétéA="​X"'​ (exemple pos="​N"​) 
-              * exemple, propriétéB à la valeur Y -> attribut '​propriétéB="​Y"'​ 
-              * ... 
- 
-Extensions/​Variantes possibles : 
-  - option "​encoder la séquence"​ : 
-    * on crée un identifiant d'​unité unique, type '​unit1',​ '​unit2'​... 
-    * on encode le début du span dans le mot situé au u@start avec une propriété startOfUnit=<​identifiant de l'​unité>​ 
-    * on encode la fin du span dans le mot situé au u@end avec une propriété endOfUnit=<​identifiant de l'​unité>​ 
-  - on peut aider à encoder des régularisation de la forme des mots (information qui a un encodage spécifique dans le XML-TXM), type '​lean'​ -> '​[J]ean'​ 
-  - on peut aider à segmenter [la forme d']un mot en plusieurs [formes de] mots 
-  - on peut aider à fusionner une séquence de mots en un seul mot 
  
 ===== Analyse spécifique chaines / structures ===== ===== Analyse spécifique chaines / structures =====
Ligne 556: Ligne 470:
       * c- les (n = 1 ou 2) premières structures = <s>       * c- les (n = 1 ou 2) premières structures = <s>
     * fin = à partir de la fin     * fin = à partir de la fin
 +    * **attention** l'​analyse doit pouvoir faire la part entre la sélection des CHAINES et la sélection d'une partie des unités de ces chaines :
 +      * ex : on sélectionne les chaines qui ont des mentions en début et fin de paragraphe PUIS on ne s'​intéressera qu'aux mentions en début de paragraphe
     * calcul : pour chaque chaine sélectionnée,​ afficher nom du référent, unités de début et de fin (start, end, propriétés,​ word@*)     * calcul : pour chaque chaine sélectionnée,​ afficher nom du référent, unités de début et de fin (start, end, propriétés,​ word@*)
-  ​annotation : ajouter ​des structures ​<sà partir des word@pos = '​SENT'​ +    ​Dans l'​idéal l'​analyse fait la synthèse ​des unités par position :<code>CHAINE ​   debut    milieu ​   fin 
-    * spécification +CHAINE-   ​5 ​   10    ​2 
-      ​* ​1) créer des Unités ​2) transférer ces unités dans des <s>+CHAINE-2 ​   0    5    10 
 +... 
 +</code> 
 + 
  
   * évolutions des macros existantes :   * évolutions des macros existantes :
Ligne 570: Ligne 490:
     * Faire la concordance %%[word="​\.|\!|\?"​] [word!="​\.|\!|\?"​]+ [word="​\.|\!|\?"​]%%     * Faire la concordance %%[word="​\.|\!|\?"​] [word!="​\.|\!|\?"​]+ [word="​\.|\!|\?"​]%%
     * Sélectionner le corpus DIDEROTESSAIS     * Sélectionner le corpus DIDEROTESSAIS
-    * Lancer la macro ConcordanceToUnits avec les paramètres :+    * Lancer la macro urs/edit/ConcordanceToUnits avec les paramètres :
       * unit_type = s       * unit_type = s
       * move_start = 1 **nouveau paramètre**       * move_start = 1 **nouveau paramètre**
Ligne 578: Ligne 498:
       * property_value = s       * property_value = s
     * Sélectionner le corpus DIDEROTESSAIS     * Sélectionner le corpus DIDEROTESSAIS
-    * Lancer la macro URSUnit2CQPStruct (à récupérer dans les macros prototypes URS)+    * Lancer la macro urs/cqp/URSUnit2CQPStruct (à récupérer dans les macros prototypes URS du jar "​TXMINSTALLDIRECTORY/​plugins/​org.txm.annotation.urs.rcp_0123456.jar",​ répertoire org/​txm/​macroprototypes ; il faut rectifier les packages des fichiers Groovy en remplacant "​macroprototype"​ par "​macro"​)
     * Sélectionner le corpus DIDEROTESSAIS     * Sélectionner le corpus DIDEROTESSAIS
     * Mettre à jour le corpus depuis le menu principal "​Corpus > Re-import corpus"​     * Mettre à jour le corpus depuis le menu principal "​Corpus > Re-import corpus"​
Ligne 608: Ligne 528:
   * analyse 3 : macro UnitsIndex ou UnitsList (dépend de la présence des structures s)   * analyse 3 : macro UnitsIndex ou UnitsList (dépend de la présence des structures s)
     * cql_limit =  <p> <s> []+ </s> <​s>​[]+</​s>​     * cql_limit =  <p> <s> []+ </s> <​s>​[]+</​s>​
 +
 +
 +===== Projection URS vers XML-TXM / CQP générique =====
 +
 +Plusieurs résultats peuvent être obtenus par des transferts "​génériques"​ :
 +  * profiter des structures d'​annotation et de leurs interfaces pour organiser des annotations de type XML/CQP
 +  * profiter de l'​interface plein texte URS pour annoter du XML/CQP
 +    * dans ce cas on se rapproche d'une interface d' "​encodage"​ XML/CQP en mode auteur (à la Oxygen XML editor)
 +      * dans ce cas on peut se spécialiser dans les types d'​annotations les plus utilisées et pas forcément gérer du 'tout TEI'
 +      * par exemple :
 +        * annotation d'​**entités nommées** (eg <​persName>​) = span de quelques mots
 +        * annotation de **notes**/​**commentaires** (eg <note type="​commentaire du lecteur">​ ou <note type="​commentaire de l'​auteur du texte">​) = span de quelques mots à un peu plus + interface de saisie des valeurs de propriétés multilignes et large
 +        * annotation de **paragraphes** ou **sections** (eg <p> ou <​div>​) = grand span de mots voire très grand
 +          * dans ce cas une stratégie de saisie d'​unité de début et d'​unité de fin peut être plus appropriée que celle d'une seule unité (avec construction d'une structure unique lors du transfert)
 +        * annotation de **milestones** (eg <​pb/>​) = span d'un seul mot avec choix de la position du milestone '​avant'​ ou '​après'​ le mot
 +        * annotation de **mots** = span d'un seul mot (avec projection sur des propriétés de mots plutôt que création de structure)
 +          * dans ce cas on peut aussi aider à annoter la forme du mot (par exemple '​lean'​ devient '​[J]ean'​ -> on crée les sous-éléments TEI au <w> nécessaires pour que l'​édition présente correctement la régularisation du mot, tout en gérant la forme correcte '​Jean'​ dans les index
 +      * Remarque : le rendu des éditions de texte a des traitements spécifiques pour chacune de ces grandes catégories d'​annotations. Il serait intéressant que l'​infrastructure de saisie ou de transfert tienne compte de ces relations. Par exemple, il serait intéressant d'​aider à visualiser, à la demande, dans l'​édition d'un texte n'​importe quelle structure de section (div) et ses propriétés pour faciliter le travail d'​annotation de ces structures ou de sous-structures.
 +  * si on se met à utiliser l'​interface d'​annotation par Concordances pour annoter des Unités URS, ça peut ressembler à une alternative plus structurée et plus souple à l'​infrastructure '​annotation par KR'
 +  * si on complète les interfaces d'​annotation URS à Index+Concordance+Édition,​ avec le transfert générique on a une solution complète pour "​éditer"​ le modèle CQP en s'​appuyant sur des structures d'​annotation URS dédiées (TEI, sous-éléments TEI fréquents et utiles, etc.). Cette solution permet également de développer différentes solutions pour gérer le chevauchement de structures quand c'est nécessaire. Les annotations primaires sont stand-off donc n'ont pas de contraintes de ce type. Ce n'est qu'au moment du transfert qu'on cherche à gérer la situation.
 +
 +==== Solution ====
 +
 +=== macro URSUnits2CQPStruct ===
 +
 +(cette macro peut être appelée depuis le menu URS/Analec avec l'​entrée "​Créer des structures à partir des Unités"​ ou "​Convertir Unités en Structures"​)
 +
 +== Usage de la macro ==
 +
 +On projette des informations XML encodées dans les unités URS pour construire des structures dans le XML-TXM, puis (potentiellement déformées : minusculisées,​ récursion limitée, pas de milestone) dans CQP. Par exemple, des informations d'​encodage TEI pour obtenir des éléments TEI dans le XML-TXM.
 +
 +Remarque : on peut créer une structure d'​annotation prédéfinie dédiée à la TEI P5, avec ses éléments et leurs attributs (si les noms des éléments TEI sont encodés dans une propriété d'​unité '​type',​ on ne pourra malgré tout pas contraindre les autres propriétés de l'​unité à correspondre aux attributs de cet élément particulier). Les fonctionnalités de navigation dans les valeurs de propriétés aideront à accélérer l'​annotation.
 +
 +== Algorithme ==
 +
 +      * pour chaque u = une unité URS où u@type != '​mot'​
 +        * si u@milestone = yes
 +          * créer un élément milestone dans le XML-TXM
 +            * de nom u@type (exemple '​pb'​)
 +            * située avant le u#start si u@position == '​before'​
 +            * située après le u#end si u@position == '​after'​
 +            * prenant pour attributs et valeurs toutes les autres propriétés de l'​unité :
 +              * exemple, propriétéA à la valeur X -> attribut '​propriétéA="​X"'​ (exemple n="​1"​)
 +              * exemple, propriétéB à la valeur Y -> attribut '​propriétéB="​Y"'​
 +              * ...
 +        * sinon 
 +          * créer une structure dans le XML-TXM
 +            * de nom u@type (exemple '​placeName'​)
 +            * commençant avant le u#start
 +            * terminant après le u#end
 +              * si la structure chevauche une structure pré-existante,​ on rabote sa fin jusqu'​à ce qu'​elle ne chevauche plus, et on explicite le rabotage dans la console
 +              * si d'​autres structures commencent ou terminent aux mêmes mots, on place le début de la structure après ceux des structures et sa fin avant celles des structures
 +            * prenant pour attributs et valeurs toutes les autres propriétés de l'​unité :
 +              * exemple, propriétéA à la valeur X -> attribut '​propriétéA="​X"'​ (exemple n="​1"​)
 +              * exemple, propriétéB à la valeur Y -> attribut '​propriétéB="​Y"'​
 +              * ...
 +
 +Extensions/​Variantes possibles :
 +  * plutôt que de "​Créer des structures à partir des Unités",​ on peut "​Projeter les propriétés d'​Unités sur des structures existantes"​
 +    * dans ce cas on peut cibler les structures à enrichir de différentes façons :
 +      * a) la structure la plus "​proche"​ ou "​basse"​ du premier mot de l'​unité reçoit les propriétés : qui commence le plus proche du premier mot de l'​unité + qui a le span le plus petit. Si plusieurs structures restent en compétition,​ il faudrait choisir ou trouver un autre algo plus complet
 +      * b) on désigne les structures par une XPath : pour chaque élément matchant la XPath, calculer le span de <w> correspondant,​ puis calculer les unités URS concernées par ce span de mots. Si plusieurs unités restent en compétition,​ il faudrait choisir ou trouver un autre algo plus complet\\ Remarque : il peut être intéressant pour ce type de traitements de profiter des performances des services d'une toolkit comme [[https://​www.ltg.ed.ac.uk/​software/​ltxml2|LT XML 2]] qui peut traiter la résolution d'​XPath en streaming équivalent à du SAX pour la vitesse (on peut switcher de DOM à SAX et dans l'​autre sens à n'​importe quel moment du traitement).
 +  * [BP, 26 février 2019, interprétation dans le contexte du projet DEMOCRAT]
 +    * La stratégie en cas de chevauchement ne serait pas de raboter (raccourcir) la structure, mais de la fermer puis de rouvrir une structure analogue au mot suivant. Une propriété dédiée permettrait de savoir si la structure est au début de la mention ou est un bout qui prolonge la mention précédente (utile notamment pour un décompte de mentions). L'​intérêt de ne pas raboter est de conserver davantage d'​informations,​ notamment de pouvoir identifier tous les mots concernés par une mention ou une chaîne.
 +    * Il serait utile de disposer au niveau des unités d'​informations du niveau des schémas (les schémas portent sur l'​ensemble du texte et n'ont pas trop d'​intérêt en tant que structures CQP).
 +
 +=== macro URSUnits2CQPWords ===
 +
 +(cette macro peut être appelée depuis le menu URS/Analec avec l'​entrée "​Projeter les propriétés des Unités sur des mots" ou "​Projeter les propriétés des Unités sur leur premier mot")
 +
 +== Usage de la macro ==
 +
 +On projette des informations de mots encodées dans les unités URS pour construire des propriétés de mots dans le XML-TXM, puis dans CQP (déformées).
 +
 +== Algorithme v1 ==
 +
 +      * pour chaque u = une unité URS où u@type = '​word'​
 +        * ajouter au mot situé au u#start dans le XML-TXM des attributs/​propriétés correspondants à toutes les propriétés de l'​unité :
 +              * exemple, propriétéA à la valeur X -> attribut '​propriétéA="​X"'​ (exemple pos="​N"​)
 +              * exemple, propriétéB à la valeur Y -> attribut '​propriétéB="​Y"'​
 +              * ...
 +
 +== Algorithme v2 ==
 +
 +      * paramètres :
 +        * unit_type : le type d'​unité à projeter. Valeur par défaut **Entity**
 +        * unit_properties : la liste des propriétés à projeter, séparées par des virgules (exemple '​propriétéA,​propriétéB'​) ou **%%*%%** pour projeter toutes les propriétés. Valeur par défaut **Property**
 +        * unit_word : '​START'​ pour projeter sur le premier mot, '​END'​ pour projeter sur le dernier mot. Valeur par défaut **START**
 +      * pour chaque u = une unité URS où u@type = unitType
 +        * ajouter au mot situé au u#unitWord dans le XML-TXM des attributs/​propriétés correspondants aux propriétés unitProperties de l'​unité :
 +              * exemple, propriétéA à la valeur X -> attribut '​propriétéA="​X"'​ (exemple pos="​N"​)
 +              * exemple, propriétéB à la valeur Y -> attribut '​propriétéB="​Y"'​
 +              * ...
 +
 +Extensions/​Variantes possibles :
 +  - option "​encoder la séquence"​ :
 +    * on crée un identifiant d'​unité unique, type '​unit1',​ '​unit2'​...
 +    * on encode le début du span dans le mot situé au u@start avec une propriété startOfUnit=<​identifiant de l'​unité>​
 +    * on encode la fin du span dans le mot situé au u@end avec une propriété endOfUnit=<​identifiant de l'​unité>​
 +  - on peut aider à encoder des régularisation de la forme des mots (information qui a un encodage spécifique dans le XML-TXM), type '​lean'​ -> '​[J]ean'​
 +  - on peut aider à segmenter [la forme d']un mot en plusieurs [formes de] mots
 +  - on peut aider à fusionner une séquence de mots en un seul mot
 +
 +==== Recette ====
 +
 +=== V1 ===
 +
 +Création de balises TEI "​persName"​ à partir d'​unités :
 +  * Déclarer le type d'​unité "​TEI"​ dans la structure :
 +    * ajouter la propriété "​type"​ avec la valeur par défaut "​persName"​ (cliquer sur la valeur pour la mettre par défaut)
 +    * ajouter la propriété "​written"​ sans valeur
 +  * annoter 3 segments
 +  * lancer la macro "urs > cqp > URSUnit2CQPStructure (pas de paramètres) ​
 +  * ouvrir le fichier XML éditer et constater la présence de balises "​persName"​
 +  * mettre à jour le corpus CQP avec l'​entrée "​Corpus > Re-import corpus"​ du menu principal (il faut activer le mode expert si l'​entrée n'est pas affichée)
 +  * faire la concordance de %%<​persname>​ []+ </​persname>​%%
 +
 +Création de paragraphes TEI p à partir d'​unités :
 +  * Déclarer "​p"​ dans la structure ...
 +
 +Insertion de sauts de page TEI pb à partir d'​unités :
 +  * Déclarer "​pb"​ dans la structure ...
public/annotation/specs_annotation_analec/exploitation.1560856891.txt.gz · Dernière modification: 2019/06/18 13:21 par matthieu.decorde@ens-lyon.fr