Outils pour utilisateurs

Outils du site


public:import_tiger

Import de corpus TIGER-XML + CSV

Objectif

Créer un module d'import de fichiers TIGER-XML.

Comme le format TIGER définit un corpus de phrases et non un corpus de textes, le module doit définir où sont encodés les textes. 2 solutions possibles :

  • soit utiliser la notion de fichier TIGER pour définir les textes du corpus TXM (stratégie générale de TXM)
    • dans ce cas le module doit construire un fichier driver corpus.xml pointant vers les fichiers TIGER et includant le header inline des déclarations d'éléments pour l'indexation TIGER
  • soit utiliser les balises <subcorpus> d'un fichier driver appelé 'corpus.xml' pointant vers des chemins de fichiers TIGER externes
  • remarque : dans les deux cas, les identifiants (noms) de textes correspondent au basename sans l'extension de chaque fichier TIGER

Dans les deux cas, il faut également que le module crée le header de déclarations de terminaux et de non-terminaux à indexer pour l'outil dindexation TIGER. 2 solutions possibles :

  • soit inliner le header de déclaration dans le fichier driver corpus.xml
  • soit pointer un header de déclaration externe depuis le fichier driver corpus.xml, soit pointer la déclaration standoff externe depuis chaque fichier TIGER (s'il n'y a pas de fichier driver corpus.xml utilisé dans le format pris en entrée)

Remarque : a priori la déclaration de terminaux et de non-terminaux doit comprendre celle de tous les éléments différents des fichiers TIGER

Cas d'un seul fichier TIGER : on peut imposer le format général utilisé pour le multi-fichiers ou bien interpréter le seul fichier comme un texte, avec son header de déclaration inliné.

Une fois les textes calculés, un fichier metadata peut être utilisé.

Pour chaque texte, il faut produire :

  • des structures <s> correspondant aux phrases de TIGERSearch (avec l'identifiant de phrase comme propriété ?)
  • des propriétés lexicales correspondant aux déclarations de terminaux T

Le corpus indexé doit pouvoir être interrogé par TIGERSearch pour la syntaxe et par CQP pour la syntaxe ou pas.

L'édition formate chaque phrase sous la forme d'un paragraphe HTML, ou bien avec un simple <br/> à la fin, ou bien au kilomètre.

Méthode

  • il faut génériciser le module d'import SRCMF existant

État de la plateforme

  • il existe le module d'import SRCMF spécialisé dans les corpus SRCMF

Avancement dans l'élaboration de la solution

Solution

État de l'art

Prototypes

L'import peut être réalisé en suivant la procédure d'import d'un fichier au format TIGER-XML décrite dans la documentation de l'extension TIGERSearch.

Version 1

L'extension TIGERSearch rajoute un module d'import XML-TS + CSV (le script tigersearchLoader.groovy est copié dans le répertoire TXMHOME/scripts/import).

Le module prend en entrée un répertoire contenant un corpus source au format TIGER XML sans sous-corpus : un seul texte dans un seul fichier TIGER XML.

Le module fait un import XTZ sur le fichier résultat de l'application de la feuille XSL “ts.xsl” puis indexe un corpus TIGER dans le répertoire “tiger” du corpus binaire produit.

Version 2

concerne la cible Profiterole 2.0

Version gérant 2 cas à plusieurs textes

  • à l'aide d'un fichier driver corpus.xml à côté des fichiers TIGER XML subcorpus.xml de chaque texte.
    • Les fichiers doivent être lu dans l'ordre du fichier driver
  • à l'aide de fichiers sans fichier driver
    • Le fichier driver est alors créé à partir
      • de l'ordre des subcorpus du fichier driver est celui des fichiers du répertoire source
      • des valeurs trouvées dans les subcorpus

Notes:

  • L'ordre des textes dans le corpus TIGER et le corpus CQP doivent être les mêmes
  • Concernant la déclaration des features du header, si la feature milestone XML alors la feature est considéréeouverte sinon elle est considérée fermée (il faut alors déclarer toutes les valeurs et l'indexeur TIGER ignorera les phrases avec une valeur non déclarée)

Version 3

Version gérant un header.xml par texte dans le cas où il n'y a pas de fichier driver. lié à #3195

Recette

Recette Alpha

Nous allons utiliser le fichier 110CYL067.mrg du corpus  ANC. Nous devons d'abord le convertir depuis le format Penn Treebank vers TIGER-XML.

A. Conversion depuis PennTreebank vers TIGER-XML

  • lancer TIGERRegistry\\
    cd ~/Software/TIGERSearchTools
    sh runTRegistry.sh
    • lancer 'Corpus/Convert Corpus'
      • Corpus ID : CORPUS110CYL067
      • Import file : Propbank/Penn_Treebank-orig/data/written/110CYL067.mrg
      • Import filter : general Penn treebank format filter
      • désélectionner 'GZip XML file'
      • cliquer 'Start'
    • les fichiers résultat se trouvent dans TIGERSearchTools_installdir:
      • CORPUS110CYL067.xml
      • CORPUS110CYL067_generated_header.xml

B. Indexation du texte CORPUS110CYL067.xml au format TIGER-XML avec TIGERRegistry

  • sélectionner le répertoire CorporaDir
  • insérer le texte CORPUS110CYL067.xml avec 'Corpus/Insert Corpus'
    • Corpus ID : CORPUS110CYL067

C. préparation du répertoire source en TIGER-XML pour TXM

  • créer le répertoire source CORPUS110CYL067
  • copier le fichier CORPUS110CYL067.xml dans ce répertoire

D. import du corpus au format TIGER-XML dans TXM

  • depuis TXM
    • lancer le module d'import XML/w+CSV
      • nommer le corpus CORPUS110CYL067
      • pointer vers un répertoire source CORPUS110CYL067
      • régler la langue sur 'en', si on veut sur-annoter les terminaux avec TreeTagger - sinon décocher 'Annoter le corpus'
      • pointer comme front XSL la feuille d’adaptation suivante ts2xmlw.xsl (elle produit la représentation XML-TXM évoquée dans la spécification)
      • lancer l'import
    • le nouveau corpus CORPUS110CYL067 est ajouté à la vue Corpus
      • on peut vérifier sa Description, son Édition, son Lexique, etc.
      • voici les mots et leurs propriétés de la deuxième phrase :
word	pos	enpos	enlemma

Your	PRP$	PP$	your
contribution	NN	NN	contribution
to	TO	TO	to
Goodwill	NNP	NP	Goodwill
will	MD	MD	will
mean	VB	VV	mean
more	JJR	JJR	more
than	IN	IN	than
you	PRP	PP	you
may	MD	MD	may
know	VB	VV	know
.	.	SENT	.
  • il peut être interrogé avec le moteur CQP mais pas encore avec TIGERSearch.

E. finalisation du corpus CORPUS110CYL067 pour TIGERSearch dans TXM

  • en dehors de TXM
    • une fois l'import terminé, modifier le corpus binaire CORPUS110CYL067 (situé dans ) de la façon suivante :
    • créer dans le répertoire $HOME/TXM/corpora/CORPUS110CYL067 (le répertoire du corpus binaire CORPUS110CYL067 dans TXM) un répertoire nommé “tiger”
    • copier dans ce répertoire '$HOME/TXM/corpora/CORPUS110CYL067/tiger' le répertoire d'indexation du corpus CORPUS110CYL067 de TIGERRegistry 'TIGERSearchTools_installdir/CorporaDir/CORPUS110CYL067'
    • copier également dans ce répertoire '$HOME/TXM/corpora/CORPUS110CYL067/tiger' le fichier tigersearch.logprop (pour la configuration de la librairie TIGERSearch utilisée)
  • le corpus est prêt à être interrogé par TIGERSearch depuis TXM

F. interrogation du corpus CORPUS110CYL067 avec TIGERSearch depuis TXM pour poste

  • depuis TXM
    • si nécessaire, installer l'extension TIGERSearch de niveau ALPHA (expérimental - en cours de discussion/test au sein de l'équipe de développement)
    • sélectionner le corpus CORPUS110CYL067
    • cliquer sur le bouton de la commande TIGERSearch (icone du tigre TIGERSearch)
      • saisir la requête []
      • cliquer sur 'Search'
    • la deuxième1) phrase du corpus s'affiche en mettant en évidence (en rouge) le premier mot (Your) :

Syntactic tree of the first sentence of the 110CYL067 text

G. installation du corpus CORPUS110CYL067 dans un portail TXM

  • depuis TXM pour poste : exporter le corpus
  • télécharger le corpus binaire sur le serveur du portail
  • décompresser le répertoire du corpus binaire
  • depuis le portail :
    • se connecter en tant qu'administrateur (compte admin)
    • ouvrir l'interface d'administration (bouton Administrer)
    • aller dans l'onglet Corpora
    • coller dans le champ 'Charger une base' [qui devrait en fait être 'Charger un corpus'] le chemin sur le serveur du répertoire du corpus binaire
    • cliquer sur 'Valider'
    • rafraîchir la page (F5)
    • le compte admin peut dors et déjà tester des requêtes TIGERSearch
    • pour les autres comptes, il faut ajouter la permission TsQueryPermission à leur profil
1)
Ça devrait être la première. C'est un bug connu de l'extension TIGERSearch pour TXM pour poste.
public/import_tiger.txt · Dernière modification : 01/09/2022 09:59 de matthieu.decorde@ens-lyon.fr