Outils pour utilisateurs

Outils du site


public:upr_irht_oriflamms:specs_3

Spécifications TXM pour Oriflamms. Étape V3

Création d'un projet Oriflamms : commande TEI2Project

(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
Attention aux # des attributs corresp des rejets

Liens

Importation dans TXM

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

  • 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”
  • 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 calcule les distance et projette l'identifiant des milestones indiqués
  • préparer une édition synoptique avec les images du projet oriflamms
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)
     

Option corpus tokénisé par mot

Source au format projet Oriflamms

       <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

Option corpus tokénisé par caractère

Source au format projet Oriflamms

       <w>
        <choice>
            <expan ana="ori:align-no"><ex>com</ex></expan>
            <abbr>
                <c><g type="am"></g></c>
            </abbr>
        </choice>
        <choice>
            <expan ana="ori:align-no">p<ex>ar</ex></expan>
            <abbr>
                <c><g type="am"></g></c>
            </abbr>
        </choice>an<choice>
            <abbr>
                <c>t<g type="am"></g></c>
            </abbr>
            <expan ana="ori:align-no">t<ex>ur</ex></expan>
    </w>

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

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 :

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

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

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])
public/upr_irht_oriflamms/specs_3.txt · Dernière modification: 2016/03/10 16:12 par matthieu.decorde@ens-lyon.fr