Outils pour utilisateurs

Outils du site


public:upr_irht_oriflamms:specs_1

Ceci est une ancienne révision du document !


Spécifications TXM pour Oriflamms. Étape V1

Pouvoir importer les sources d'un projet Oriflamms, utiliser les outils de TXM et développer 3 nouvelles fonctionnalités de décompte spécialisées (peut-être sous forme de macro).

Création d'un projet Oriflamms

(Spécification pour les recettes 1 et 2)

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) :

  • à 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

Liens

Importation dans TXM

Préparation de l'import TXM pour le module XML-XTZ

  • résoudre les choices : produire la forme du mot (+/- abbr) et les propriétés “expand”, “abbrf”
  • 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é”
  • calculer les distances aux milestones lb, cb et pb. Nouvelle option d'import XML-XTZ qui calcul les distance et projette l'identifiant des milestones indiqués
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 (non présentes) = Total lettres - Total lettres alignables : 11 - 4 = 7
     Nombre d'abréviations (balises <abbr>) = 3
     
   Expansions : 
     9 -> (com)
     ꝑ -> p(ar)
     ant
     ᷑ -> (ur)
     

Source au format projet Oriflamms (tokénisée par mot)

       <w>
        <choice>
            <expan ana="ori:align-no"><ex>com</ex></expan>
            <abbr><am></am></abbr>
        </choice>
        <choice>
            <expan ana="ori:align-no">p<ex>ar</ex></expan>
            <abbr><am></am></abbr>
        </choice>ant<choice>
            <expan ana="ori:align-no"><ex>ur</ex></expan>
            <abbr><am></am></abbr>
        </choice>
    </w>

Source prête à l'import XTZ

<w expan="(com)p(ar)ant(ur)" letters-all="comparantur" letters-alignable="pant" characters="ꝯꝑant" abbr-n="3">ꝯꝑant᷑</w>
  • 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
  • –> Étape V2 projeter les ontologies : produire un fichier standoff où les annotations sont résolues (exit les refs). Nouvelle option d'import XML-XTZ: dossier d'annotations standoff

Import XTZ

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 AbbréviationsEtLignes

(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 lettres supprimées par les abréviations (NsupAbbr)
    • 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 NsupAbbr Ntotal %=NsupAbbr/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 :

<w>
  <seg type="wp" part="I">sonorita</seg>
  <lb break="no"/>
  <seg type="wp" part="F">tare<abbr><am>̃</am></abbr></seg>
</w>

devient

<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>

Commande AbbréviationsEtSémantique

(Spécification pour la recette 4)

  • On sélectionne l'un des corpus CQP : mot ou caractère
  • On sélectionne une liste de structures codant des entités sémantiques
  • → GO

Ecrit 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 lettres supprimées par les abréviations (NsupAbbr)
    • 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é

si on a coché : persName, orgName :

corpus        texte        page        colonne        entité        Nabbr        NsupAbbr        Ntotal        %=NsupAbbr/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        ...        ...

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 un signe
  • on choisit une liste d'allographes connus du signe (tout par défaut)
  • 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

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 :

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
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
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

Éléments d'interface

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
public/upr_irht_oriflamms/specs_1.1453475617.txt.gz · Dernière modification: 2016/01/22 16:13 par alexei.lavrentev@ens-lyon.fr