Outils pour utilisateurs

Outils du site


public:upr_irht_oriflamms:specs_5

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
public:upr_irht_oriflamms:specs_5 [2016/03/25 07:45]
matthieu.decorde@ens-lyon.fr
public:upr_irht_oriflamms:specs_5 [2016/04/21 11:04] (Version actuelle)
matthieu.decorde@ens-lyon.fr
Ligne 7: Ligne 7:
 Ces commandes sont regroupées dans le menu principal "​Oriflamms"​. Ces commandes sont regroupées dans le menu principal "​Oriflamms"​.
  
-<​note>​INSERER ICI LA SPEC V4 QUAND ELLE SERA FINIE</​note>​+===== Création d'un projet Oriflamms : commande TEI2Project =====
  
-===== Exploitation de l'​alignement texte / image =====+(Spécification pour les recettes 1 et 2)
  
-Voir les [[https://​groupes.renater.fr/​wiki/​txm-info/​public/​specs_editions_synoptiques_rcp|Spécifications ​de l'extension SynopticEditor]] pour les choix d'​implémentations.+Produire un projet Oriflamms (un ensemble ​de dossiers contenant des fichiers au format XML-TEI-Oriflamms pour l'importation dans le logiciel Oriflamms et dans TXM) :
  
-==== Retour ​à l'édition synoptique ====+  * à partir d'un fichier XML-TEI avec teiCorpus, produire les dossiers : 
 +    * texts : 2 versions : 
 +      * -w (tokenisé par mot) 
 +      * -c (tokenisé par caractère) 
 +    * zones : créer le canevas pour le logiciel Oriflamms (on peut remplacer ces fichiers par le résultat de l'alignement produit par A2IA) 
 +    * img_links :  créer le canevas pour le logiciel Oriflamms
  
-  ​Un double clic sur une ligne de concordance ouvre une édition synoptique où le mot ou séquence de mots sélectionné est surligné dans le texte et la zone correspondante est encadrée par un ou plusieurs rectangles transparents +**Liens*
-    ​plusieurs rectangles si le pivot de la concordance inclut un passage à la ligne +
-  ​Si la page affichée contient d'​autres occurrences de la concordance d'​origine,​ elles sont surlignées (dans le texte) ou encadrées (sur l'​image) d'une couleur plus pâle +
- +
  
-==== Navigation dans l'édition synoptique ====+  * [[https://​groupes.renater.fr/​wiki/​txm-info/​public/​specs_production_projet_oriflamms|Spécification de création d'un projet Oriflamms]] 
 +  * [[https://​gestion-projets.irht.cnrs.fr/​projects/​oriflamms/​wiki/​Sp%C3%A9cification_du_format_XML-TEI_Oriflamms|Spécification du format XML-TEI-Oriflamms]] (accès restreint) 
 +  * [[https://​gestion-projets.irht.cnrs.fr/​projects/​oriflamms/​wiki/​Convention_de_nommage_de_fichiers_et_structure_de_r%C3%A9pertoires|Convention de nommage de fichier et structure de répertoires d'un projet Oriflamms]] (accès restreint)
  
-  * un clic gauche sur un mot de l'​édition texte allume un rectangle sur la zone correspondante de l'​image +===== Importation ​dans TXM =====
-  * le défilement par l'​ascenseur vertical ​dans le texte est synchronisé avec l'​image+
  
-===== Récupération des coordonnées ​de mots/​caractères =====+==== Préparation ​de l'​import TXM pour le module XML-XTZ : commande Project2XTZ ​====
  
-  * Les images d'un projet Oriflamms sont stockées dans le dossier ''​[projetOriflamms]/img''​ +  * résoudre les choices : produire la forme du mot/charactère (+/- abbr) et les propriétés "​expan",​ "​letters-all",​ "​letters-alignable",​ "​characters",​ "​abbr-n"​ 
-  * Les coordonnées ​des zones de l'​image sont stockées dans un fichier par imagedans le dossier ​''​[projetOriflamms]/​zones'',​ chaque zone a un identifiant +  * calculer la taille ​des abréviations et sauver dans une propriété ​de mot (si > 0 le mot est abrévié) éventuellement prévoir une propriété "est abrévié"​ 
-  * Les liens entre les identifiants des zones et des mots/​caractères sont sotckés dans un fichier par image, dans le dossier ''​[projetOriflamms]/​img_links''​+  * calculer les distances aux milestones lbcb et pb. Nouvelle option d'import XML-XTZ qui calcule les distance et projette l'​identifiant ​des milestones indiqués 
 +  * préparer une édition synoptique avec les images du projet oriflamms
  
-cf. la [[https://​gestion-projets.irht.cnrs.fr/​projects/​oriflamms/​wiki/​Convention_de_nommage_de_fichiers_et_structure_de_r%C3%A9pertoires|Convention ​de nommage ​de fichiers]] ​(accès restreint)+<​code>​ 
 +Terminologie 
 +         
 +    Linguistique : 
 +    Une marque d'​abréviation n'est pas une lettre. 
 +    Un caractère est soit une lettre, soit une marque d'​abréviation,​ soit une marque de ponctuation. 
 +    Une lettre est alignable si elle occupe une position autonome sur l'axe horizontal de la chaîne d'​écriture. 
 +    Une lettre non alignable peut être suscrite ou représentée par une marque d'​abréviation. 
 +     
 +    Graphique : 
 +    Un caractère alignable a une coordonnée autonome dans l'​image. 
 +    L'​alignement ​de certains caractères (modifieurs) dépend ​de celui d'​autres caractères. Ces  
 +    caractères,​ non alignables de manière autonome, appartiennent à la catégorie Unicode "​combining  
 +    characters" ​(\p{M}) 
 +     
 +    Pour les dénombrements : 
 +    - les proportions peuvent se baser sur 
 +      - (a) le nombre total de lettres (expansions comprises) 
 +      - (b) le nombre total de lettres (expansions comprises) et des ponctuations 
 +      - (c) le nombre total de caractères (marques d'​abréviations alignables comprises, mais pas les ponctuations) 
 +      - (d) le nombre total de caractèrss (marques d'​abréviations alignables et ponctuations comprises) 
 +     
 +    (EN)CODAGE : 
 +    L'​attribut "​caractere"​ est un caractère alignable. 
 +     
 +     Total lettres : comparantur = 11  
 +     Total lettres alignables : pant = 4      
 +     Total caractères alignables : ꝯꝑant = 5 
 +     Total "​lettres supprimées" ​ = Total lettres - Total lettres alignables : 11 - 4 = 7 
 +     Total "​caractères alignables supprimés"​ = Total lettres - Total caractères alignables : 11 - 5 = 6 
 +     ​Nombre d'​abréviations (balises <​abbr>​) = 3 
 +      
 +   ​Expansions :  
 +     9 -> (com) 
 +     ꝑ -> p(ar) 
 +     ant 
 +     ᷑ -> (ur) 
 +      
 +</​code>​
  
-==== Exemple de fichier de zones ====+==== Option corpus tokénisé par mot ====
  
-Nom du fichier ''​FontenayTest_surf_FontenayTest_FRAD021_15_H_257_0014-zones.xml''​+**Source au format projet Oriflamms**
  
 <code XML> <code XML>
-<TEI xmlns="http://www.tei-c.org/ns/1.0"+       <w> 
-    <facsimile xml:​base="​../img/"+        <​choice>​ 
-        <surface xml:​id="​surf_imgFontenayTest_FRAD021_15_H_257_0014"​+            <expan ana="ori:align-no"><​ex>​com<​/ex></expan
-            <graphic url="​FRAD021_15_H_257_0014.png"/​+            <​abbr><​am>​ꝯ</am></abbr
-            <zone type="page" ulx="​0"​ uly="​0"​ lrx="​2556"​ lry="​2355"​ xml:id="​zone-pb_Fontenay_2"> +        </choice
-                ​<zone type="​column"​ xml:​id="​zone-col_pb_Fontenay_2_1"​> +        <choice
-                    ​<zone type="​line"​ xml:​id="​zone-line_pb_Fontenay_2_1_1"​ ulx="​125"​ uly="​100"​ lrx="​2472"​ lry="​203"​> +            <expan ana="ori:align-no">p<ex>ar</ex></expan
-                        ​<zone type="​word"​ xml:​id="​zone-w_Fontenay_192"​ ulx="​125"​ uly="​114"​ lrx="​269"​ lry="​203"​ points="​125,​114 128,118 128,121 126,129 125,134 125,138 126,158 126,162 126,169 126,177 126,180 125,184 124,190 123,196 125,200 125,203 269,203 269,201 271,196 268,192 269,186 270,183 270,179 270,174 269,171 270,167 271,163 273,159 273,155 272,151 271,147 268,137 268,133 269,130 271,123 270,117 269,​114"​+            <abbr><am>​ꝑ<​/am></abbr
-                            <zone type="​character"​ xml:​id="​zone-c_w_Fontenay_192_1"/​> +        </choice>​ant<​choice
-                            ​<zone type="​character"​ xml:​id="​zone-c_w_Fontenay_192_2"​/> +            <expan ana="ori:align-no"><​ex>​ur<​/ex></expan
-                            ​<zone type="​character"​ xml:​id="​zone-c_w_Fontenay_192_3"​/> +            <​abbr><​am>​᷑</am></abbr
-                        </zone+        </choice
-                        <zone type="word" xml:id="​zone-w_Fontenay_193"​ ulx="​270"​ uly="​111"​ lrx="​433"​ lry="​202"​ points="​270,​111 270,113 269,116 269,120 271,124 269,129 271,133 270,136 271,140 271,147 272,151 273,155 273,159 271,163 270,167 271,181 269,185 271,191 271,196 272,199 270,202 433,202 432,197 433,189 434,186 434,183 432,179 438,170 440,164 439,161 441,148 441,145 441,141 440,134 439,131 441,128 432,117 431,114 433,111"> +    </w
-                            ​<zone type="​character"​ xml:​id="​zone-c_w_Fontenay_193_1"​/> +</code
-                            ​<zone type="​character"​ xml:​id="​zone-c_w_Fontenay_193_2"​/> +**Source prête à l'​import XTZ** 
-                            <zone type="​character"​ xml:​id="​zone-c_w_Fontenay_193_3"​/> +<code XML
-                            ​<zone type="​character"​ xml:​id="​zone-c_w_Fontenay_193_4"​/> +<w expan="(com)p(ar)ant(ur)" ​letters-all="comparantur" ​letters-alignable="pant" ​characters="ꝯꝑant" ​abbr-n="3">ꝯꝑant᷑</w>
-                            <zone type="​character"​ xml:​id="​zone-c_w_Fontenay_193_5"​/> +
-                            <zone type="​character"​ xml:​id="​zone-c_w_Fontenay_193_6"​/> +
-                            <zone type="​character"​ xml:​id="​zone-c_w_Fontenay_193_7"​/> +
-                        </zone+
-                        <zone type="word" ​xml:​id="​zone-pc_Fontenay_20"​ ulx="434" ​uly="111" ​lrx="452" ​lry="199" points="​434,​111 435,114 432,118 441,128 439,131 440,134 441,141 441,145 441,148 439,156 439,160 441,163 441,166 438,170 433,176 433,190 433,193 434,196 434,199 452,199 453,198 452,195 452,189 451,185 451,176 452,173 450,167 447,160 447,156 447,153 449,150 451,145 451,142 453,130 452,126 452,123 455,118 455,114 452,111"> +
-                            <zone type="​character"​ xml:​id="​zone-c_pc_Fontenay_20_1"/>​ +
-                        </​zone>​ +
-                </​zone>​ +
-            </​zone>​ +
-        </​surface>​ +
-    </​facsimile>​ +
-</TEI>+
 </​code>​ </​code>​
  
-==== Exemple de fichier de liens ====+  * Total lettres ​string-length(w/​@letters-all)  
 +  * Total lettres alignables ​string-length(w/​@letters-alignable) 
 +  * Total caractères alignables ​string-length(w/​@characters) 
 +  * Total caractères ​string-length(w/​text()) 
 +  * Nombre d'​abréviations ​w/@abbr-n as xs:integer
  
 +==== Option corpus tokénisé par caractère ====
 +
 +**Source au format projet Oriflamms **
 <code XML> <code XML>
-<TEI xmlns="​http://​www.tei-c.org/​ns/​1.0">​ +       <w
-    <​teiHeader>​ +        <choice
-    <!-- ... --> +            <expan ana="ori:​align-no"><​ex>com</ex></expan
-    </​teiHeader>​ +            <abbr
-    <text+                <c><g type="am"></g></c
-        <body+            </abbr
-            <ab type="linking"> +        </choice
-                ​<linkGrp type="​surfaces"/​> +        <choice
-                ​<linkGrp type="​pages"​> +            <expan ana="ori:align-no">p<ex>ar</ex></expan
-                    ​<link target="​txt:​pb_Fontenay_2 img:​zone-pb_Fontenay_2"​/> +            <abbr
-                </linkGrp+                <c><​g ​type="am"></g></c
-                <linkGrp type="​columns"​> +            </abbr
-                    ​<link target="txt:​col_pb_Fontenay_2_1 img:​zone-col_pb_Fontenay_2_1"/> +        </choice>an<choice
-                ​</linkGrp> +            <abbr
-                ​<linkGrp type="​lines">​ +                <c>t<g type="am"></g></c
-                    <link target="​txt:​line_pb_Fontenay_2_1_1 img:​zone-line_pb_Fontenay_2_1_1"​/> +            </abbr
-                    <link target="​txt:​line_pb_Fontenay_2_1_2 img:​zone-line_pb_Fontenay_2_1_2"​/> +            <expan ana="ori:align-no">t<ex>ur</ex></expan
-                </linkGrp+    </w>
-                <linkGrp type="​words"​+
-                    <link target="txt:w_Fontenay_192 img:zone-w_Fontenay_192"/> +
-                    ​<link target="​txt:​w_Fontenay_193 img:​zone-w_Fontenay_193"/​> +
-                    ​<link target="​txt:​pc_Fontenay_20 img:​zone-pc_Fontenay_20"​/> +
-                    ​<link target="​txt:​w_Fontenay_194 img:​zone-w_Fontenay_194"​/> +
-                </linkGrp+
-                <linkGrp ​type="characters"> +
-                    ​<link target="​txt:​c_w_Fontenay_192_1 img:​zone-c_w_Fontenay_192_1"​/> +
-                    ​<link target="​txt:​c_w_Fontenay_192_2 img:​zone-c_w_Fontenay_192_2"​/> +
-                    <link target="​txt:​c_w_Fontenay_192_3 img:​zone-c_w_Fontenay_192_3"​/> +
-                    <link target="​txt:​c_w_Fontenay_193_1 img:​zone-c_w_Fontenay_193_1"​/> +
-                    ​<link target="​txt:​c_w_Fontenay_193_2 img:​zone-c_w_Fontenay_193_2"/​+
-                    <link target="​txt:​c_w_Fontenay_193_3 img:​zone-c_w_Fontenay_193_3"/​+
-                    <link target="​txt:​c_w_Fontenay_193_4 img:​zone-c_w_Fontenay_193_4"/​> +
-                    ​<link target="txt:​c_w_Fontenay_193_5 img:​zone-c_w_Fontenay_193_5"/> +
-                    ​<link target="​txt:​c_w_Fontenay_193_6 img:​zone-c_w_Fontenay_193_6"​/> +
-                    ​<link target="​txt:​c_w_Fontenay_193_7 img:​zone-c_w_Fontenay_193_7"​/> +
-                    <link target="​txt:​c_pc_Fontenay_20_1 img:​zone-c_pc_Fontenay_20_1"​/> +
-                    <link target="txt:c_w_Fontenay_194_1 img:zone-c_w_Fontenay_194_1"/> +
-                ​</linkGrp> +
-            ​</ab> +
-        ​</body+
-    </text> +
-</TEI>+
 </​code>​ </​code>​
  
  
 +
 +==== Ontologies ====
 +
 +=== préparation ===
 +
 +On applique les feuilles XSL du corpus C : 
 +    * 1-split-merge/​1-oriflamms-split-surfaces.xsl : découper en page le corpus lettre
 +    * 2-front/​txm-front-teioriflammsw-xtz.xsl : créer les attributs, résoudre des choices, etc.
 +
 +=== injection ===
 +
 +Lors de la préparation du corpus à l'​import,​ on projette des données des ontologies dans les propriétés de caractères :
 +
 +  * sign
 +    * si le fichier ''​PROJET/​ontologies_links/​[identifiant du corpus]_[identifiant de l'​image]-ontolinks.xml''​ existe et si dans ce fichier on trouve une référence de l'​identifiant du caractère associée à une référence vers l'​ontologie globale (préfixe ggly), on projette la valeur de ''​mapping[@type='​standardized'​]''​ correspondant
 +    * sinon, si le fichier ''​PROJET/​ontologies_links/​[identifiant du corpus]_[identifiant de l'​image]-ontolinks.xml''​ existe et si dans ce fichier on trouve une référence de l'​identifiant du caractère associée à une référence vers l'​ontologie locale (préfixe lgly) **dont l'​identifiant ne commence pas par "​auto"​**,​ on projette la valeur de ''​glyph/​@xml:​id''​ **le plus court** correspondant
 +    * sinon, si le fichier ../​charDecl.xml existe et qu'on y trouve le même caractère dans ''​mapping[@type='​Unicode'​]'',​ on projette la valeur de ''​mapping[@type='​standardized'​]''​ correspondant
 +    * sinon, on copie la valeur de l'​attribut "​characters"​ **en remplaçant les majuscules par des miniscules**
 +  * allograph-exp
 +    * si le fichier ''​PROJET/​ontologies_links/​[identifiant du corpus]_[identifiant de l'​image]-ontolinks.xml''​ existe et si dans ce fichier on trouve une référence de l'​identifiant du caractère associée à une référence de l'​ontologie globale (préfixe ggly), on projette la valeur de ''​charProp[localName='​entity'​]/​value''​ correspondant
 +    * sinon, si le fichier ''​PROJET/​ontologies_links/​[identifiant du corpus]_[identifiant de l'​image]-ontolinks.xml''​ existe et si dans ce fichier on trouve une référence de l'​identifiant du caractère associée à une référence de l'​ontologie locale (préfixe lgly) dont l'​identifiant ne commence pas par "​auto",​ on projette la valeur de ''​glyph/​@xml:​id''​ **le plus long** correspondant
 +    * sinon, on copie la valeur de l'​attribut "​characters"​
 +  * allograph-auto
 +    * si le fichier ''​PROJET/​ontologies_links/​[identifiant du corpus]_[identifiant de l'​image]-ontolinks.xml''​ existe et si dans ce fichier on trouve une référence de l'​identifiant du caractère associée à une référence de l'​ontologie locale (préfixe lgly) **dont l'​identifiant commence par "​auto"​**,​ on projette la valeur de ''​glyph/​@xml:​id''​ le plus long correspondant en retirant le préfixe "​auto_"​
 +    * sinon, on copie la valeur de l'​attribut "​characters"​
 +
 +
 +==== Import XTZ ====
 +
 +On copie un certain nombre de feuilles XSL pour l'​import XTZ :
 +  * Corpus W
 +    * 2-front/​txm-front-teioriflammsc-xtz.xsl : créer les attributs, résoud des choices, etc.
 +    * 4-edition/​1-default-html.xsl et 4-edition/​2-default-pager.xsl : édition par défaut
 +    * 4-edition/​3-facsimile-pager.xsl : édition facsimilé
 +  * Corpus C
 +    * 4-edition/​1-default-html.xsl et 4-edition/​2-default-pager.xsl : édition par défaut
 +    * 4-edition/​3-facsimile-pager.xsl : édition facsimilé
 +
 +===== Analyse du corpus =====
 +
 +==== Terminologie ====
 +
 +  * les proportions (ou pourcentages) sont calculés par rapport à différents contextes :
 +    * début, milieu ou fin de ligne
 +    * intérieur ou extérieur d'​entités
 +    * début, milieu ou fin de mot (pour les caractères)
 +    * etc.
 +
 +==== Commande AbbreviationsAndLines ====
 +
 +(Spécification pour la recette 3)
 +
 +  * On sélectionne l'un des corpus CQP : mot ou caractère
 +  * on indique la distance au début de ligne
 +  * on indique la distance à la fin de ligne
 +  * -> GO
 +
 +Écrit dans un fichier CSV :
 +  * plusieurs colonnes : corpus, text, page, colonne, partie de ligne et 
 +  * dans 3 parties de ligne différentes : début, milieu et fin
 +  * pour chaque partie de ligne
 +    * Nombre d’abréviations de la partie (Nabbr)
 +    * Nombre de caractères supprimés par les abréviations (NsupAbbr)
 +      * = Nombre de lettres (résolutions comprises) - nombre de caractères alignables
 +    * Nombre de lettres total de la partie de la ligne, résolutions comprises
 +    * Pourcentage de lettres supprimées par les abréviations par rapport au texte développé
 +
 +Exemple de résultat :
 +|corpus | text_id | pb_id | cb_id | lb_id | line_part | Nabbr | NcharAbbr | Ntotal | %=NcharAbbr/​Ntotal|
 +|MSDATES | T1 | P1 | C1 | L1 | s | 5 | ... | ... | |
 +|MSDATES | T1 | P1 | C1 | L2 | m | 0 | ... | ... | |
 +|MSDATES | T1 | P1 | C1 | L3 | e | 2 | ... | ... | |
 +|MSDATES | T2 | P1 | C1 | L1 | s | 5 | ... | ... | |
 +|MSDATES | T2 | P1 | C1 | L2 | m | 2 | ... | ... | |
 +|MSDATES | T2 | P1 | C2 | L1 | e | 8 | ... | ... | |
 +|MSDATES | T2 | P1 | C2 | L2 | s | 10 | ... | ... | |
 +|MSDATES | T2 | P2 | C1 | L1 | m | 8 | ... | ... | |
 +|MSDATES | T2 | P2 | C1 | L2 | e | 10 | ... | ... | |
 +
 +Cas particulier : 
 +  * un mot coupé par un saut de ligne
 +
 +Ces mots sont découpés en 2 tokens et le mot entier est recodé en structure supérieure. Par exemple :
 +
 +<code XML>
 +<w>
 +  <seg type="​wp"​ part="​I">​sonorita</​seg>​
 +  <lb break="​no"/>​
 +  <seg type="​wp"​ part="​F">​tare<​abbr><​am>​̃</​am></​abbr></​seg>​
 +</w>
 +</​code>​
 +
 +devient
 +
 +<code XML>
 +<w-lb expan="​sonoritatare(m)"​ letters-all="​sonoritatarem"​ letters-alignable="​sonoritatare"​ characters="​sonoritatare"​ abbr-n="​1">​
 +  <w type="​wp"​ part="​I"​ expan="​sonorita"​ letters-all="​sonorita"​ letters-alignable="​sonorita"​ characters="​sonorita"​ abbr-n="​0">​sonorita</​w>​
 +  <lb break="​no"/>​
 +  <w type="​wp"​ part="​F"​ expan="​tare(m)"​ letters-all="​tarem"​ letters-alignable="​tare"​ characters="​tare"​ abbr-n="​1">​tare<​abbr><​am>​̃</​am></​abbr>/​w>​
 +</​w-lb>​
 +</​code>​
 +
 +==== Commande AbbreviationsAndSemantics ====
 +(Spécification pour la recette 4)
 +
 +  * On sélectionne l'un des corpus CQP : mot ou caractère
 +  * On sélectionne une ou plusieurs structures dans une liste déroulantes des structures du corpus sélectionné de la vue Corpus: ​
 +  * -> GO
 +
 +Écrit dans un fichier CSV :
 +  * plusieurs colonnes : corpus, text, page, colonne, entité et 
 +  * pour chaque entité d'une colonne de la source + ce qui est en dehors (#REST)
 +    * Nombre d’abréviations dans l'​entité (Nabbr)
 +    * Nombre de caractères supprimés par les abréviations (NsupAbbr)
 +      * = Nombre de lettres (résolutions comprises) - nombre de caractères alignables
 +    * Nombre de lettres total dans l'​entité,​ résolutions comprises
 +    * Pourcentage de lettres supprimées par les abréviations par rapport au texte développé
 +
 +exemple, si on a coché : persName, orgName :
 +
 +<​code>​
 +corpus ​        ​text ​     page      column ​   entity ​       Nabbr        NcharAbbr ​       Ntotal ​       %=NcharAbbr/​Ntotal
 +MSDATES ​       T1        P1        C1        persName ​       5        ...        ...
 +MSDATES ​       T1        P1        C1        orgName ​       2        ...        ...
 +MSDATES ​       T1        P1        C1        #REST        8        ...        ...
 +MSDATES ​       T1        P1        C2        persName ​       10        ...        ...
 +MSDATES ​       T1        P1        C2        orgName ​       10        ...        ...
 +MSDATES ​       T1        P1        C2        #REST        10        ...        ...
 +...
 +MSDATES ​       T2        P2        C2        persName ​       10        ...        ...
 +MSDATES ​       T2        P2        C2        orgName ​       8        ...        ...
 +MSDATES ​       T2        P2        C2        #REST        10        ...        ...
 +</​code>​
 +
 +==== Production de l'​édition "par défaut"​ pour un corpus tokenisé par caractère ====
 +
 +Cette édition doit appliquer des règles spécifiques pour l'​insertion d'​espaces blancs :
 +  * pas de blanc entre les caractères à l'​intérieur d'un mot (<c>)
 +  * un blanc entre deux mots (<w>)
 +  * ponctuations (<​pc>​)
 +    * pas de blanc devant, un blanc après (si le suivant est un mot) : [.,​\)'​’]
 +    * un blanc insécable devant, un blanc après (si le suivant est un mot) : [:;!?]
 +    * un blanc devant, un blanc insécable après [«“]
 +  * un trait d'​union (césure) après la première moitié d'un mot coupé en fin de ligne (w/​seg[@type="​wp"​][1])
 +
 +==== Commande Allographes ====
 +
 +(chantier B)
 +
 +Spécification pour les recettes 5 et 6 (calcul sur les caractères)
 +  * On sélectionne un corpus ou un sous-corpus de type "​caractère"​
 +  * on choisit une liste de signe (expression régulière)
 +  * on choisit une liste d'​allographes connus du signe (expression régulière)
 +  * on tape une requête CQL qui contient un %%@%% pour indiquer la position du caractère à dénombrer
 +    * prévoir peut-être d'​améliorer l'​assistant de requête : ajouter les structures + mots clés expand to, within
 +
 +=== Terminologie ===
 +
 +  * un signe ou graphème est une classe d'​équivalence de caractères (désignée par un caractère)
 +    * ex : min/maj
 +    * ex : s long/s rond
 +  * un allographe est un caractère
 +  * un allographe est une manifestation de signe
 +  * un signe est aux allographes ce qu'un lemme est aux formes
 +  * les relations entre les signes et les allographes sont définies dans l'​ontologie commune charDecl.xml et dans les ontologies spécifiques au projet (cf. [[https://​gestion-projets.irht.cnrs.fr/​projects/​oriflamms/​wiki/​Convention_de_nommage_de_fichiers_et_structure_de_r%C3%A9pertoires]])
 +
 +=== Décryptage ===
 +
 +  * Des menus déroulants = définition des contextes --> implémentation en contraintes CQL (la liste des matchs implémentant les contextes est construite par l'​intersection de sous-corpus)
 +    * Abréviation (présence d’une abréviation dans le même mot)
 +      * [_.w_abbr="​true"​]
 +    * Place dans le mot (un mot monocaractère n'a pas de milieu)
 +      * Début = premier caractère -> <w> []
 +      * Milieu = pas le premier ni le dernier caractère ->
 +        * [w.pos <_.pos+1 & w+1.pos > _.pos+1] within w
 +        * <w> [] []* @[] []* [] </w>
 +      * Fin = dernier caractère -> [] </w>
 +    * Place dans le texte
 +      * Première lettre ​
 +        * De la page
 +          * [pb-start="​1"​] (distance, en lettres, depuis le début de la page)
 +        * De la colonne
 +          * [cb-start="​1"​]
 +        * De la ligne
 +          * [lb-start="​1"​]
 +      * Dernière lettre
 +        * De la page
 +          * [pb-end="​1"​] (distance, en lettres, depuis la fin de la page)
 +        * De la colonne
 +          * [cb-end="​1"​]
 +        * De la ligne
 +          * [lb-end="​1"​]
 +      * Première ligne (sauf en première place)
 +        * De la page
 +          * [lb-n="​1"​]
 +        * De la colonne
 +          * [cb-n="​1"​]
 +      * Dernière ligne (sauf en dernière place)
 +        * De la page
 +          * [lb-pb-end="​1"​] (distance de la ligne depuis le bas de la page)
 +        * De la colonne
 +          * [lb-cb-end="​1"​]
 +    * Éléments d’analyse sémantique :
 +      * occurrences à l’intérieur d’un
 +        * name
 +          * within name
 +        * placeName
 +        * persName
 +        * roleName
 +      * occurrences à l’intérieur d’un élément <w> contenant un attribut (générer la liste des attributs et de leurs contenus)
 +        * [_.w_attribut="​valeur"​]
 +    * Éléments d’analyse syntaxique
 +      * Avant / après
 +        * Ponctuation
 +          * [type="​punct"​] @[] (après)
 +      * Présent dans <w> en première position dans <s> ou <p>
 +        * <s> []
 +    * Éléments d’analyse graphique
 +      * Immédiatement avant
 +        * Liste des signes
 +          * Liste des allographes
 +            * @[] [sign="​rrot"​|allograph="​slong"​]
 +      * Immédiatement après
 +        * Liste des signes
 +          * Liste des allographes
 +      * Dans un texte où se trouve également :
 +        * Liste des signes
 +          * Liste des allographes
 +            * [sign="​rrot"​] expand to text
 +
 +== exemple 1 ==
 +  * avec une CQL + target sur un caractère
 +  * avec le signe sélectionné = s
 +  * avec l'​allographe sélectionné = ſ
 +  * précalculer le nombre du "​signe"​ du target ("​s"​) du corpus
 +
 +On liste les requêtes CQL exprimant les différentes contraintes de sélection de contextes.
 +
 +Tableau résultant :
 +<​code>​
 +corpus ​   texte    page    colonne ​   signe    allographe ​   %/signe
 +MSDATES ​   T1    P1    C1    s    ſ    5    1
 +MSDATES ​   T1    P1    C2    s    ſ    0    0
 +...
 +MSDATES ​   T1    P2    C3    s    ſ    10    2
 +</​code>​
 +
 +== exemple 2 ==
 +  * avec une CQL + target sur un caractère
 +  * avec le signe sélectionné = s
 +  * avec les allographes sélectionné = TOUS
 +  * précalculer le nombre du "​signe"​ du target ("​s"​) du corpus
 +<​code>​
 +corpus ​   texte    page    colonne ​   lettre ​   allographe ​   %/lettre
 +MSDATES ​   T1    P1    C1    s    ſ    5    1
 +MSDATES ​   T1    P1    C2    s    ſ    0    0
 +MSDATES ​   T1    P1    C2    s    S    0    0
 +...
 +MSDATES ​   T1    P2    C3    s    ſ    10    2
 +MSDATES ​   T1    P2    C3    s    s   ​42 ​   2
 +</​code>​
 +
 +====== Éléments d'​interface ======
 +
 +<​code>​
 +analyse d’un corpus avec indications d’abréviations
 +
 +menu {Analyse graphique}
 +  * {abréviations et lignes}.
 +  * {abréviations et sémantique}.
 +  * {Allographes}
 +
 +Abréviations et lignes
 +
 +Taux d’abrègement
 +Début de ligne
 +  Mots 
 + Caractères
 +[Fenêtre de saisie]
 +Fin de ligne
 +  Mots 
 + Caractères
 +[Fenêtre de saisie]
 +
 +
 +Abréviations et sémantique
 +
 +Liste à cocher contenant les éléments non vides descendants de <p>
 +
 +Allographes
 +
 +  * analyser un signe 
 +    * liste des signes
 +  * ou une analyse avancée
 +    * une liste des signes
 +    * une liste des allographes du signe sélectionnée
 +    * bouton ajouter un critère (paramètre d'​intérogation combinée)
 +      * sélection du critère dans une liste déroulante
 +</​code>​
public/upr_irht_oriflamms/specs_5.txt · Dernière modification: 2016/04/21 11:04 par matthieu.decorde@ens-lyon.fr