Outils pour utilisateurs

Outils du site


public:chantier_profiterole:chantier_finalisation_extension_syntactic_annotation

Extension 'Syntactic Annotation'

Il s'agit de diffuser sous forme générique les développements capitalisés depuis l'intégration du moteur TIGER Search, comprenant aussi l'import&exploitation d'annotations CoNLL-U par CQP, sous le nom 'Syntactic Annotation / Annotation Syntaxique' à l'occasion du projet ANR Profiterole.

Cette spécification s'appuye sur 4 pages wiki :

Les développements sont définis dans la cible TXM Profiterole 2.0.

À faire :

  • renommer l'extension en 'Syntactic Annotation / Annotation Syntaxique'

Import

L'extension peut importer des annotations syntaxiques sous forme TIGER-XML ou CoNLL-U.

La représentation TIGER est indexée par le moteur de recherche TIGER Seach.

La représentation CoNLL-U est indexée :

  • par le moteur de recherche TIGER Seach ;
  • ou par le moteur de recherche CQP ;
  • ou par les deux.

Le moteur de recherche TIGER Seach est considéré comme ayant le plus de possibilités d'expression d'extraction (requêtes) en accédant à la totalité de la représentation syntaxique.

Le moteur de recherche CQP est considéré comme étant le plus efficace (temps d'exécution) tout en n'accédant pas à la totalité de la représentation syntaxique.

Ces moteurs sont agnostiques quant aux modèles syntaxiques utilisés : ils ne font que donner accès à tout ou partie du graphe de relations syntaxiques.

L'extension peut :

  • injecter ces annotations dans un corpus TXM existant (en utilisant une jointure sur les identifiants de mots encodés dans la représentation de l'annotation syntaxique). L'intérêt fondamental est de pouvoir bénéficier des structures textuelles, éventuellement concurrentes avec les arbres syntaxiques ;
  • créer de nouveaux corpus à partir des représentations de l'annotation syntaxique (l'architecture des fichiers TIGER-XML ou CoNLL-U sert à définir les textes TXM et leurs propriétés). L'intérêt fondamental est de pouvoir analyser des textes en format natif d'annotations syntaxiques

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

Il faut assurer la synchronisation des tokens

Import d'annotations TIGER-XML dans un corpus TXM

Import d'annotations CoNLL-U dans un corpus TXM

Commande Import CoNNL-U annotation from a CoNLL-U file...

Paramètres :

  • <le corpus TXM sélectionné dans la vue Corpus>
  • CoNLL-U
    • fichier unique CoNLL-U source
  • identifiant du texte à annoter
  • préfixe des propriétés CoNLL-U à ajouter au corpus TXM : par défaut 'ud-'
  • overwrite (true/false) : par défaut 'false'
    • si 'false' et propriété déjà existante : message d'erreur “” et abandon

L'import s'appuie sur l'alignement exact des mots par leurs identifiants et par l'identifiants de leur texte.

Si un ligne mot ne contient par le paramètre misc “XmlId”, un message d'alerte est affiché en console.

Si des annotations n'ont pas été importés un message de Warning est affiché avec la liste des identifiants XmlID qui n'ont pas matché.

Gestion des identifiants :

  • Si une ligne mot ne contient par le paramètre misc “XmlId”, un message d'alerte est affiché en console.
  • Les identifiants sont normalisés par TXM (utilise la normalisation des modules d'import)
  • Question AL 2020-10-13 : Comment on indique s'il faut écraser les propriétés “ud-import-” ? Peut-être, ajouter une case “overwrite” à côté de chaque propriété ? Proposition :
    • si la case est cochée, la propriété définie remplace toujours “ud-import-” correspondant
    • si la case est décochée, seule la valeur “_” est remplacée
    • si defaultXxxPropertyName est vide, “ud-import-” est utilisé tel quel
    • Pour info, j'utiliserais les réglages :
      • overwrite : word, lemma, cattex-pos
      • no overwrite : ud-pos, ud-feats
        • en particulier, à cause de AUX (verbe auxiliaire, sans correspondance en Cattex)
        • une vérification de l'index [cattex-pos != ud-import-pos] est à faire systématiquement sous TXM

Commande Import CoNNL-U annotation from directory...

Paramètres :

  • <le corpus TXM sélectionné dans la vue Corpus>
  • CoNLL-U
    • répertoire de fichiers CoNLL-U sources (le nom des fichiers CoNLL-U est utiliser pour construire l'identifiant du texte à annoter)
  • préfixe des propriétés CoNLL-U à ajouter au corpus TXM : par défaut 'ud-'
  • overwrite (true/false) : par défaut 'false'
    • si 'false' et propriété déjà existante : message d'erreur “” et abandon

Même traitement des fichiers que la commande 'Import CoNNL-U annotation from a CoNLL-U file…'.

Import de corpus TIGER-XML

Import de corpus CoNLL-U

Appel d'outils de TAL

À l'import ou sur un corpus TXM.

  • appel de parseurs par REST
    • voir mail de Loïc du 21/3/2021 :
      Pour TXM on avait parlé d'intégrer notre parseur neuronales avec un API REST à la UDPipe,
      c'est prêt et utilisable  (avec une ébauche de doc à https://github.com/bencrabbe/npdependency/blob/master/docs/server.md
      et un modèle pré-entraîné à https://github.com/bencrabbe/npdependency/blob/master/models.md#srcmf-ud).
      On a encore un peu de travail pour avoir une release bien propre mais on est preneurs de retours
      et de rapports de bugs si vous avez le temps de commencer à tester, on peut aussi prévoir une visio pour en causer.
    • [MD] étendre les développements d'appel d'UDPipe de la branche de développement 'eltec' pour appeler un outils TAL qui prend en entrée une chaine de caractère et renvoi un résultat au format CONLL-U.

Export

Export au format CoNLL-U

Ticket #3191

  • corpus au format CoNLL-U
    • scénario visé :
      • 1) corriger certaines propriétés CoNLL-U par concordance ou par requête CQP
      • 2) exporter le corpus corrigé en CoNLL-U

Commande Export de corpus au format CoNLL-U

L'export produit un fichier CoNLL-U par texte TXM. Si les mots ont des propriétés CQP de la forme prefix + “id|form|lemma|upos|xpos|head|deprel|deps|misc”, elles seront utiliser pour remplir les propriétés UD des mots.

Si la propriété CQP prefix + “sentid existe, elle sera utilisée pour encodé les début de phrases UD. Si la propriété CQP prefix + “newdocid” existe, elle sera utilisée pour encodé la ligne commentaire # newdoc id” des phrases

Paramètres :

  • (le corpus TXM sélectionné)
  • répertoire résultat
  • préfixe des propriétés CoNLL-U à exporter dans le répertoire : par défaut 'ud-' (?)
  • options des commentaires
    • insérer les paragraphes “# newpar id=” en utilisant les positions des paragraphes du corpus encodés dans les structures “p”
    • insérer des lignes commentaires “# gap” lorsqu'un mot encode la valeur “next” dans sa propriété CQP “gap”
  • options des tokens
    • insérer les propriétés SpaceAfter selon les règle typographique de TXM et la langue du corpus
    • insérer les tokens sans relation syntaxique : oui/non
      → va ajouter les tokens de ponctuations et les tokens de non-phrases pour le corpus PROFITEROLE
      • si cette option est sélectionnée, “defaultFormPropertyName” (ci-dessous) doit être renseigné pour pouvoir alimenter la propriété ud “FORM”
      • les mots se trouvant au milieu d'une phrase UD seront intégrés à la phrase
      • les mots entre la fin et le début d'une phrase UD seront insérés dans une nouvelle phrase identifiée
    • defaultFormPropertyName : propriété CQP à utiliser si la 'form' ud n'est pas renseignée
    • defaultLemmaPropertyName : propriété CQP à utiliser si le 'lemma' ud n'est pas renseignée
    • defaultUposPropertyName : propriété CQP à utiliser si la 'upos' ud n'est pas renseignée
    • defaultXposPropertyName : propriété CQP à utiliser si la 'xpos' ud n'est pas renseignée
  • options de corrections des ponctuations de phrases
    • expression régulière de la forme des tokens de ponctuations ouvrante
      • toutes les nouvelles ponctuations non-ouvrantes se trouvant en début de phrases sont déplacées dans la phrase précédente
      • toutes les nouvelles ponctuations non-ouvrantes se trouvant en fin de phrases sont déplacées dans la phrase précédente

Export au format TIGER-XML

Les sources d'indexation TIGER Search sont au format TIGER-XML.

Exploitation

Syntactic Tree / Arbre Syntaxique

Ticket #3185 et #3186

  • renommer la commande 'TIGER Search' en 'Syntactic Tree / Arbre Syntaxique'
  • ajouter le paramètre SyntacticRepresentation
    • de valeur 'CoNLL-U' ou 'TIGER Search'
    • si le corpus dispose des deux représentations, la valeur par défaut est 'TIGER Search'
    • 2 scénarios d'usage possibles :
      • A) [à faire en premier] chaque moteur (CQP ou TS) affiche dans sa représentation (resp. 'CoNLL-U' ou 'TIGER Search')
      • B) on peut croiser le moteur utilisé pour chercher (CQP ou TS) et la représentation à afficher (resp. 'CoNLL-U' ou 'TIGER Search')
    • affichage graphique de l'arbre CoNLL-U : utiliser un composant CoNLL-U (eg Javascript)
      • par exemple celui utilisé par Arborator
      • voir UD tools
  • mettre en évidence le T ou le NT
    • depuis la recherche depuis l'arbre
    • depuis l'édition
      • mot cliqué ou le mot sous le clic-droit
    • si pas de mot(s?)
  • lien vers Édition
    • mettre en évidence les mots = terminaux de l'arbre

Hyperliens

Nécessaires :

  • Arbre → Édition : ajout d'un bouton “Édition” dans la barre de navigation (en bas) #3194
    • les mots de la phrase (de l'arbre) sont sélectionnés dans l'édition
    • l'édition s'ouvre avec les mêmes règles que l'ouverture d'édition par concordance ou avec des règles propres
  • Édition → Arbre : ajout d'une entrée “Voir l'arbre syntaxique” dans le menu contextuel d'un mot ou d'une sélection de mots #3192
    • peut on mettre en évidence le mot ou la sélection de mots dans l'arbre ?

Bonus :

  • Édition → Concordance : ajout d'un bouton “Concordances” dans le champ de recherche de l'édition
    • le champ de requête est positionné sur un moteur syntaxique ? quelle requête ? la concordance se positionne sur le match de la phrase ?
    • le champ de requête est positionné sur le moteur CQP ? la requête est celle des mots de la phrase ?
  • Concordance → Arbre : ajout d'une entrée “Voir l'arbre syntaxique” dans le menu contextuel d'une ligne
    • peut on mettre en évidence les mots du pivot dans l'arbre ?
  • Arbre → Concordance : ajout d'un bouton “Concordances” dans la barre de navigation (en bas)
    • le champ de requête est positionné sur le moteur lié à l'arbre ? quelle requête ? la concordance se positionne sur le match de la phrase ?
    • le champ de requête est positionné sur le moteur CQP ? la requête est celle des mots de la phrase ?

Calculs statistiques

  • reproduire des calculs clés de la recette d'exploitation avec TIGER Search avec CQP ? (→ meilleure performance ?)

Recette technique

  • import annotations syntaxiques CoNNL-U vers TIGER Search dans un corpus TXM
  • import annotations syntaxiques CoNNL-U vers CQP (+ propriétés Sascha) dans un corpus TXM
  • import corpus CoNNL-U avec annotations syntaxiques vers TIGER Search
    • conversion CoNLL-U → TIGER
    • édition TIGER/XTZ
  • import corpus CoNNL-U avec annotations syntaxiques vers CQP (+ propriétés Sascha)
    • structures CoNNL-U (docid, parid, sent…)
    • contractions : recomposer 2 séparées + ligne d'origine
  • commande Arbre Syntaxique
    • considérer le paramètre SyntacticRepresentation à la valeur 'CoNLL-U'
      • arbre dépendentiel
  • commande Arbre Syntaxique
    • considérer le paramètre SyntacticRepresentation à la valeur 'TIGER Search'
      • arbre Tiger standard
  • lien Arbre 'CoNLL-U' vers Édition
  • lien Arbre 'TIGER Search' vers Édition

Recette fonctionnelle

Expression du besoin

Questionnements de la “recherche sur les démonstratifs” :

  • on s'intéresse aux mots simples déterminants et pronoms
  • il y a deux types de déterminants (et pronoms ?)
    • simple ou renforcé (défini par 2 lexiques)
  • on s'intéresse (A) à leur fonction syntaxique
    • objet(direct) ou sujet
  • on s'intéresse (B) à leur position
    • a) devant le verbe / après le verbe (les déterminants et pronoms démonstratifs et/ou leur tête)
      • l'interrogation peut entraîner l'inversion du sujet, mais pour les COD qui nous intéressent on n'est pas sûr que cela joue (à confirmer)
      • il n'y a pas d'information sur la forme interrogative (des phrases/propositions ?) dans la représentation syntaxique (elle existe dans des structures ?)
    • b) début de phrase ou début de vers (premier mot ?)
  • on s'intéresse à la combinaison de (A) et de (B) ou chacun séparement
  • on veut analyser un tableau de contingence dénombrant
    • en lignes :
      • les déterminants démonstratifs objets simples
      • les déterminants démonstratifs objets renforcés
      • les pronoms démonstratifs objets simples
      • les pronoms démonstratifs objets renforcés
      • questions
        • regroupement des déterminants / pronoms ?
        • regroupement des simples / renforcés ?
    • en colonnes :
      • la combinaison de (A) et de (B) ou chacun séparement

Environnement

Données

  • un ou plusieurs corpus ?
    • SRCMF
    • PROFITEROLE
    • BFM
  • où se trouvent les corpus pour réaliser la recette ?
    • Sharedocs, chemin
  • structure du corpus ?
    • textes
    • métadonnées
  • forme de l'annotation syntaxique ?
    • SRCMF sous forme TIGER
    • CoNLL sous forme TIGER
    • CoNLL sous forme CQP
  • autres annotations que la syntaxe ?
    • pos
    • lemme
  • qualité des annotations ?
    • gold
    • calculé automatiquement non vérifié
    • calculé automatiquement vérifié partiellement
  • annotations utilisées pour réaliser les extractions ?
    • propriétés de terminaux
    • propriétés de non terminaux
    • relation, fonction

Outils

  • Sous-corpus, Partition ?
  • extraction
    • TIGER
    • CQP
  • requêtes ?
  • projections ?
  • tableau de contingence ?
  • outils d'analyse du tableau ?
public/chantier_profiterole/chantier_finalisation_extension_syntactic_annotation.txt · Dernière modification: 2021/12/09 12:03 par slh@ens-lyon.fr