Documentation des Macros de TXM

Les macros sont des scripts Groovy1) appliquant un protocole simple qui leur permet de bénéficier de l'ouverture d'une boite de dialogue pour saisir leurs paramètres au lancement. Du coup, elles sont appelables facilement depuis TXM (depuis la vue 'Macro') tout en restant éditables directement depuis TXM, avec l'aide de son éditeur de texte intégré, pour adapter leur travail ou les améliorer. Elles forment un ensemble de petits utilitaires satellites de TXM échangeables et adaptables ou de prototypes de futures fonctionnalités de TXM en cours de réglages et de discussion. Des scripts utilitaires écrits en Groovy arrivant à maturité sont régulièrement transformés en macros de TXM.

Cette page documente les macros livrées avec TXM. Les versions les plus récentes de ces macros sont téléchargeables directement depuis Sourceforge : http://sourceforge.net/projects/txm/files/software/TXM%20macros

Vous pouvez partager vos propres macros et leur documentation avec la communauté des utilisateurs de TXM par le biais de cette page (vous devez être inscrit à la liste de diffusion 'txm-users' pour cela).

Annotation de corpus

BuildWordPropTable, InjectWordPropTable

Macros d'assistance à la correction ou à l'ajout de propriétés de mots.

Utilisation

Voir le tutoriel de correction de mots.

Préparation des fichiers sources d'un corpus (Source Workbench)

ChangeEncoding

Traitement par lot de conversion d'encodage de caractères pour tous les fichiers d'un dossier.

Paramètres

  • inputDirectory : le dossier contenant les fichiers à ré-encoder. Attention : les fichiers sont modifiés sur place
  • inputEncoding : encodage actuel des caractères des fichiers. Si l'encodage n'est pas connu la valeur ”??” permet de lancer le devin d'encodage automatiquement fichier par fichier (marche pas à tous les coups)
  • outputEncoding : encodage des caractères souhaité des fichiers.

CharList

Dénombre tous les caractères d'un fichier Unicode UTF-8.

Paramètres

  • inputFile : le fichier à analyser.

SearchInDirectory

Affiche toutes les lignes des fichiers texte d'un répertoire contenant une expression régulière donnée.

Cette macro sert au réglage d'expressions régulières pour le traitement de sources.

Paramètres

  • inputDirectory : Répertoire des fichiers à chercher
  • regExp : l'expression régulière à chercher
  • characterEncoding : système d'encodage des caractères utilisé par les fichiers (par défaut : Unicode UTF-8)

SearchReplaceInDirectory

Traitement par lot de Chercher/Remplacer dans tous les fichiers d'un dossier.

Paramètres

  • inputDirectory : le dossier qui contient les fichiers à traiter. Attention : les fichiers sont modifiés sur place
  • extension : l'extension des fichiers à traiter
  • find : l'expression régulière à rechercher
  • replaceWith : la chaîne de remplacement
  • encoding : l'encodage des caractères des fichiers à traiter
  • showMatchingFilesOnly : à cocher si l'on souhaite ne faire qu'afficher les lignes contenant l'expression régulière, sans modification (pour régler les expressions régulières avant de les appliquer) Utiliser la macro SearchInDirectory à la place.

Text2TXT

Traitement par lot de conversion de format de tous les fichiers textes d'un dossier (.doc, .docx, .odt, .rtf, .html…) vers le format texte brut TXT. La transformation vers TXT est assurée par LibreOffice ou OpenOffice.

Paramètres

  • inputDirectory : le dossier qui contient les fichiers à traiter.
    Attention : les fichiers résultats TXT seront enregistrés dans ce même dossier
  • extension : extensions des fichiers à traiter

Prérequis

  • TXM version 0.7.5 et inférieure → LibreOffice ou OpenOffice 3.x
  • TXM version 0.7.6 et supérieure → LibreOffice ou OpenOffice toutes versions

Remarque : les fichiers TXT résultants peuvent être importés dans TXM en les déposant dans un nouveau répertoire et en indiquant ce répertoire comme source du module d'import TXT+CSV.

CSV2XML

Macro de transformation d'un tableau au format CSV, dont certains champs contiennent du texte, en un fichier XML importable dans TXM avec le module d'import XML/w+CSV pour une analyse textométrique. Cette macro est un premier prototype du futur module d'import de TXM de sources sous forme de tableau au format CSV, dans l'esprit du logiciel Dtm-Vic de Ludovic Lebart (cf Manuel d'Utilisation de Dtm-Vic, seconde édition (2013) section “IV. Importation, création et exportation des fichiers au format Dtm-Vic”) qui traite typiquement ce genre de sources.

Le fichier XML construit par la macro transcode le tableau d'entrée de la façon suivante :

  • il associe une unité de structure de base, ou unité textuelle, à chaque ligne du tableau d'entrée (considérée que les réponses d'un même répondant ou panéliste)
  • il associe à chacune de ces unités textuelles des propriétés, ou métadonnées, issues du contenu de certaines colonnes “catégorisants” la ligne correspondante dans le tableau d'origine (ces colonnes qualifient le répondant ou correspondent à des réponses à des questions fermées)
  • il ajoute à chacune de ces unités textuelles des sous unités de structures encodant le contenu des colonnes “textuelles” de la ligne d'origine (ces colonnes correspondent à des réponses à des questions ouvertes)

L'idée est de pouvoir comparer dans TXM les unités textuelles entre elles, soit les répondants, en s'appuyant sur leurs propriétés (issues de certaines colonnes de la ligne, ou caractéristiques du répondant) et sur les mots qu'ils utilisent dans leurs réponses (issues de certaines colonnes de la ligne, ou réponses textuelles à chaque question “textuelle” non fermée).

Paramètres

Les noms des paramètres sont encore susceptibles d'évoluer

  • Entrée
    • inputFile : fichier CSV en entrée
      Remarques
      • La première ligne contient les noms de colonnes
      • Les noms de colonnes ne doivent pas être composés de caractères spéciaux, de caractères accentués ou de ponctuation (espace, etc.)
      • Le nom du fichier résultat est construit à partir de celui du fichier d'entrée en remplaçant l'extension par '.xml'
    • metadataColumnList : liste des noms de colonnes encodant les propriétés des unités textuelles à construire - colonnes catégorisant le répondant, séparés par une virgule : (par exemple : 'identifiant,age,sexe')
      Les noms de ces colonnes seront utilisés pour nommer les propriétés correspondantes
    • textColumnList : liste des noms de colonnes encodant le contenu textuel - colonnes contenant les réponses aux questions ouvertes du répondant, séparés par une virgule : (par exemple : 'reponse1,reponse2'
      Les noms de ces colonnes seront utilisés pour nommer les balises qui délimiteront ces contenus textuels
    • columnSeparator : caractère séparateur de colonnes (par défaut : caractère 'Tabulation')
    • characterEncoding : système d'encodage des caractères (par défaut : Unicode UTF-8)
  • Sortie
    • rootTag : nom de la balise XML racine du document résultat (par exemple : 'corpus')
    • textTag : nom de la balise XML encodant les unités textuelles correspondant à chaque ligne du tableau d'entrée (par exemple : 'text')

Exemple de tableau d'entrée : sondage.csv

identifiant age sexe reponse1 reponse2
id1 23 F Réponse à la première question par le premier répondant. Réponse à la deuxième question par le premier répondant.
id2 24 H Réponse à la première question par le deuxième répondant. Réponse à la deuxième question par le deuxième répondant.
id3 25 H Réponse à la première question par le troisième répondant. Réponse à la deuxième question par le troisième répondant.

Fichier XML résultat : sondage.xml Avec les paramètres suivants :

  • rootTag : corpus
  • textTag : text
  • metadataColumnList : identifiant,age,sexe
  • textColumnList : reponse1,reponse2

 <corpus>
  <text identifiant="id1" age="23" sexe="F">
   <reponse1>
    Réponse à la première question par le premier répondant.
   </reponse1>
   <reponse2>
    Réponse à la deuxième question par le premier répondant.
   </reponse2>
  </text>
  <pb/>
  <text identifiant="id2" age="24" sexe="H">
   <reponse1>
    Réponse à la première question par le deuxième répondant.
   </reponse1>
   <reponse2>
    Réponse à la deuxième question par le deuxième répondant.
   </reponse2>
  </text>
  <pb/>
  <text identifiant="id3" age="25" sexe="H">
   <reponse1>
    Réponse à la première question par le troisième répondant.
   </reponse1>
   <reponse2>
    Réponse à la deuxième question par le troisième répondant.
   </reponse2>
  </text>
  <pb/>
 </corpus>

Le fichier XML résultat peut alors être importé dans TXM en le déposant dans un nouveau répertoire et en indiquant ce répertoire comme source de la commande 'Fichier / Importer / XML/w+CSV'.

On peut alors, par exemple, comparer les catégories de répondants entre elles en réalisant un calcul de spécificité du vocabulaire d'une partition sur la structure 'text' avec la propriété 'sexe'.

TXT2XML

Transforme tous les fichiers TXT d'un répertoire en fichiers XML. Les fichiers XML sont déposés dans un sous-répertoire résultat 'out'.

La macro transforme :

  • l'encodage initial des caractères
  • la présence initiale de caractères '&'
  • la présence initiale de caractères '<'
  • l'extension des fichiers résultats

Elle n'ajoute aucun encodage XML supplémentaire.

Paramètres

  • inputDirectory : répertoire des fichiers à transformer
  • characterEncoding : système d'encodage des caractères des fichiers texte (par défaut : Unicode UTF-8)
  • rootTag : nom de la balise XML racine des fichiers XML produits (par exemple : 'text')

Remarque : le répertoire résultat peut être importé dans TXM en l'indiquant comme répertoire source du module d'import XML/w+CSV.

XMLStatistics

Calcul de la table des fréquences de toutes les balises et attributs XML utilisées dans les fichiers d'un dossier (utile pour une vue d'ensemble quantitative de l'usage des balises dans des documents dont on ne connait pas les principes d'encodage).

Paramètres

  • inputDirectory : le dossier qui contient les fichiers XML à analyser
  • tsvFile : le fichier TSV où les résultats seront sauvegardés
  • usePaths : dénombre tous les chemins d'éléments présents (exemple : /TEI/text/body/div/post/p, etc.)
  • useAttributes : inclut les différents noms d'attributs présents dans le dénombrement
  • useAttributeValues : inclut les différentes valeurs d'attributs utilisées dans le dénombrement

ExecXSL

Traitement par lot d'application d'une feuille de transformation XSLT sur tous les fichiers XML d'un dossier.

Paramètres

  • XSLFile : la feuille XSL à appliquer
  • inputDirectory : le dossier qui contient les fichiers à traiter
  • outputDirectory : le dossier qui contiendra le résultat

TextTranscription2TRS

Assistance à l'encodage et à la transformation de transcriptions en format texte (.doc, .odt, .rtf du logiciel Transana) vers le format XML du logiciel Transcriber pour l'import dans TXM avec le module d'import Transcriber+CSV.

Utilisation

Voir le tutoriel import de transcriptions d'enregistrements TXT-ODT-RTF-DOC dans TXM.

Paramètres

  • odtDir : le dossier qui contient les fichier documents (ODT, Word, RTF) à traiter
  • debug : pour afficher plus de messages dans la console si la macro échoue

EuroPresse2XML

Assistance à la récupération et à la transformation des exports HTML du portail EuroPresse pour l'import dans TXM avec le module d'import XML/w+CSV.

Utilisation

Voir le tutoriel Europresse.

Paramètres

  • rootDir : le répertoire qui contient le répertoire “orig” (qui lui même contient les fichiers HTML)
  • encoding: l'encodage des fichiers HTML. Sous Windows : iso-8859-1, Linux : UTF-8
  • debug : afficher plus de message en cas d'erreur

TXM2CoNLL2009

Exporte un corpus au format CoNLL2009.

Utilisation

Sélectionner le corpus à exporter dans la vue corpus, puis lancer la macro.

Paramètres

  • outputFile : fichier TSV contenant le résultat de l'export
  • encoding : encodage de sortie du fichier TSV, par défau “UTF-8”
  • sentenceProperty : propriété de structure représentant une phrase
  • posProperty : propriété de mot codant la morphosyntaxe du mot
  • lemmaProperty : propriété de mot codant le lemme du mot

Réglage des éditions de texte

AddFacsAttribute, FacsEditionBuilder et EditionUpdater

Assistance au réglage des éditions de texte d'un corpus ayant des sources XML :

  • mise à jour des sources XML avec des liens vers les fichiers images de facsimilé dans l'attribut @facs des balises <pb/>
  • création de l'édition synoptique avec facsimilé
  • remplacement des éditions TXM d'origine (HTML)
  • utilisation de l'extension “Éditeur d'édition synoptique” pour la lecture de l'édition dans TXM pour bureau

Utilisation

Voir le tutoriel de construction d'éditions synoptiques.

Paramètres

AddFacsAttribute :

  • imageDirectory : le dossier contenant les images des facsimilés
  • outputDirectory : dossier ou le résultat de la macro sera enregistré
  • element (=“pb”): l'élément à surcharger.
  • attribut (=“n”) : l'attribut de numérotation des pages à ajouter.
  • prefix (=””) : préfixe pour les chemins des images

FacsEditionBuilder :

  • <corpus> : sélectionné depuis la vue Corpus
  • editionName (=“facs”) : nom de l'edition à remplacer ou à créer
  • tag (=“pb”) : l'élément de pagination
  • attribute (=“n”): l'attribut de numérotation des pages
  • debug (=false) : pour afficher les messages de debug (en cas de problème d'exécution de la macro)

EditionUpdater :

  • <corpus> : sélectionné depuis la vue Corpus
  • xslEdition (=“xxx”): XSL de construction des éditions
  • xslPages (=“yyy”) : XSL qui pagine l'édition après avoir produit les éditions HTML
  • editionName (=“default”) : nom de l'edition à remplacer ou à créer
  • useTokenizedDirectory (=false) : pour utiliser les fichiers XML du dossier “tokenized” au lieu de ceux du dossier “txm” du corpus binaire
  • debug (=false) : pour afficher les messages de debug (en cas de problème d'exécution de la macro)

Appel répétitif de commandes TXM

CrossedPartitionBuilder

Construit une partition en croisant les différentes valeurs de plusieurs propriétés d'une même structure.

Utilisation

Sélectionner le corpus pour lequel produire la partition puis lancer la macro.

Paramètres

  • structuralUnit : nom de la structure à utiliser. Par exemple pour faire une partition sur les textes il faut saisir “text” ;
  • structuralUnitPropertiesList : liste des propriétés de la structure à combiner, séparer les noms par des virgules. Par exemple pour le corpus “DISCOURS” et la structure “text”, on peut saisir “loc,type” ;
  • debug : afficher les requêtes utilisées par TXM pour produire chaque partie sans créer la partition.

Appel de commandes CQP

CreateCQPList

Permet de définir une liste de mots (ou plus généralement de valeurs de propriétés) utilisable dans les requêtes CQL.

Utilisation

Un tutoriel complet d'utilisation est disponible Tutoriel des listes CQL

Paramètres

A éditer directement dans le fichier script.

ExecCQP

Permet de faire exécuter une ligne de commande au moteur CQP.

Utilisation

Les instructions d'utilisation se trouvent en commentaire au début du fichier script avec un rappel des commandes CQP utiles.

Paramètres

  • statement : une requête CQP. Attention à bien finir la requête par ”;”

SetMatchingStrategy

Permet de changer l'option “matchingstrategy” de CQP au cours d'une session de travail.

Utilisation

Par défaut, lors de lancement de TXM la strategy de matching est “standard”. Les autres stratégies sont documentées dans la documentation de CQP : http://cwb.sourceforge.net/files/CQP_Tutorial/node30.html

Paramètres

  • matchingStrategy : valeur à choisir parmi : shortest, standard, longest, traditional.

Appel de scripts R

ExecR

Dessine l'histogramme des fréquences d'un index dans un SVG et l'affiche dans une fenêtre de TXM.

Utilisation

Il faut sélectionner un index (de corpus ou de partition) dans la vue Corpus avant de lancer la macro. Il n'y a pas de filtrage d'affichage, il faut donc filtrer l'index en amont de la macro. L'ordre des barres est celui des lignes de résultat de l'index.

Paramètres

Aucun

PlotSpecif

Appel la fonction “specificities.distribution.plot” du package textometry pour afficher la courbe de densité du modèle statistique des spécificités.

Utilisation

Pour plus de détail sur la fonction “specificities.distribution.plot”, voir la documentation du package

Paramètres

  • f : fréquence de la forme dans la partie
  • F : fréquence totale de la forme dans le corpus
  • t : nombre d'occurrences de la partie
  • T : nombre total d'occurrences du corpus
1) le langage de script Groovy est comparable aux langages Python, Ruby, Perl, etc. Il donne accès à toute la plateforme Java de TXM (tous les modules d'import de TXM mais également ses commandes, ses éditeurs de textes, etc.) ainsi qu'à tous ses composants (dont CQP et R)
public/macros.txt · Dernière modification: 2015/04/04 16:38 par slh@ens-lyon.fr