Outils pour utilisateurs

Outils du site


public:import:conllu

Import CoNLL-U + CSV

Objectif

Pouvoir analyser un corpus annoté en syntaxe et encodé en CoNLL-U à l'aide d'un moteur de recherche syntaxique - TIGERSearch, CWB-treebank ?, Icarus ?, Grew ? - et de CQP pour les extractions par structures textuelles et par annotations de mots (y compris la syntaxe).

Solution

  1. se baser sur l'import XTZ, en faisant un prétraitement sur les fichiers CoNLL-U pour produire du XML-TEI + w
  2. produire les indexes nécessaires pour le moteur de syntaxe

Spécification du traitement du format CoNNL-U

Deux options :

  • (A) le corpus CoNLL-U correspond à un corpus TXM. Donc chaque '#newdoc' CoNNL-U encode un texte du corpus TXM ;
  • (B) le corpus CoNLL-U correspond à un texte TXM. Donc chaque '#newdoc' CoNNL-U encode une section (div) du texte unique du corpus TXM.

Format du fichier XML dans le cas de l'option (B)

Le fichier CoNLL-U est converti en XML-TEI, avec la structure suivante :

  • TEI
    • teiHeader
    • text
      • body
        • div[type='ud-doc']
          Si la métadonnée #newdoc id est présente, sa valeur est données dans l'attribut n (id risque de poser des problème si non unique et s'il y a des blancs, etc.). A chaque changement de newdoc id, la div est fermée et une nouvelle est ouverte. Il faut voir si on prend en charge d'autres métadonnées, e.g. genre, etc.
          • [SLH, 23/07] : je mettrais plutôt les id UD dans un attribut 'ud-id' qui peut stocker la forme d'origine (qui n'est pas forcément un cardinal au sens TEI). On peut aussi utiliser 'txm:ud-id' si on veut donner l'impression de respecter un peu l'orthodoxie TEI (TXM ignorera le namespace et l'encodage dira explicitement que ce n'est pas de la TEI)
          • ab
            Si la metadonnée newpar_id est présente, sa valeur est donnée dans l'attribut n. La balise et fermée est réouverte à chaque changement de newpar_id
            • [SLH, 23/07] : pourquoi ne pas interpréter 'newpar' comme 'new paragraph', c'est à dire tei:p ?
            • s
              Si la métadonnée sent_id est présente, sa valeur est donnée dans l'attribut n. La balise est fermée à chaque ligne blanche qui suit un token annoté et réouverte à chaque token avec “1” dans la première colonne (indépendamment de sent_id).</note>
              • w, avec les attributs suivants (par numéro de colonne) pour chaque ligne d'annotation
                1. ud-id
                2. [cette colonne sera le contenu du w]
                3. ud-lemma
                4. ud-pos
                5. ud-xpos
                6. ud-feats
                7. ud-head
                8. ud-deprel
                9. ud-deps
                10. ud-misc
                • [SLH, 23/07] : on peut aussi les mettre dans le namespace 'txm:', car on sort de la TEI

Pour ud-feats et ud-misc les valeurs sont placées entre “|” afin de permettre l'utilisation de l'opérateur “ensembliste” contains de CQL. Par exemple : '|valeurA|valeurB|ValeurC|'.

Si l'annotation 'XmlId=' est présente dans la colonne 'misc', elle est transférée dans l'attribut w@xml:id

Gestion des contractions

Les contractions (syntactic multiword tokens) sont encodées de la manière suivante en CoNLL-U :

3-4    du        _
3      de        de
4      le        le

5 solutions différentes sont envisageables :

  1. maintien de toutes les lignes : 3 tokens CQP
  2. suppression de la forme contractée : 2 tokens non contractés CQP
  3. suppression de la forme contractée et remplacement de la forme :
    '3 de de' –> '3 du de'
    '4 le le' –> '4 * le'
    (solution SRCMF, actuellement implémentée lors de la conversion CoNLL-U -> TIGER XML) : 2 tokens CQP
  4. transformation de la forme contractée en élément englobant, e.g. <seg type=“contraction” form=“du”><w>de</w><w>le</w></seg> : 2 tokens CQP
  5. fusion des 3 lignes : 3-4 du etc. –> '3.4 du de.le PRE.DET etc.' (solution de BFM) : 1 token CQP

La solution de la fusion des 3 lignes a l'avantage de maintenir la surface textuelle du texte de base d'origine. Ce qui rend les exploitations du corpus compatibles avec les traitements textométriques de textes habituels (non annotés syntaxiquement) tout en offrant la possibilité d'exploiter les annotations syntaxiques.

Prise en charge du fichier metadata

L'usage du fichier metadata dépend de l'encodage du corpus TXM en un seul ou plusieurs textes.

Prise en charge de la métadonnée text-order

L'usage de la métadonnée text-order dépend de l'encodage du corpus TXM en un seul ou plusieurs textes (inopérant si un seul texte).

Importation d'annotations TIGERSearch

La gestion d'identifiants de mots doit permettre d'importer dans le corpus des annotations TIGER XML calculées à partir des mêmes sources CoNLL-U.

Il faut assurer la synchronisation des tokens
public/import/conllu.txt · Dernière modification: 2021/07/23 11:29 par slh@ens-lyon.fr