FAQ - Questions Fréquemment Posées

Si vous ne trouvez pas ici de réponse à votre question (ni dans le manuel de TXM), vous pouvez aussi consulter les archives de la liste txm-users, puis si besoin poser votre question sur la liste (envoyer un mail à txm-users à groupes.renater.fr).

Certaines questions, rendues caduques par l'évolution de TXM, ont été déplacées vers les archives de la FAQ.

Sommaire

Documentation de TXM

Traitement des langues

Installation et mises à jour

Préparation de l'installation

Diagnostic de l'installation et dysfonctionnements

Windows

Mac

Linux

Lancement de TXM

Import

Sous-corpus et partitions

Le langage d'interrogation CQL et le moteur de recherche CQP

Calculs textométriques

Statistiques & R

Interface

Exports

Sauvegardes

Comment faire des retours sur le manuel de référence de TXM ?

Pour faire des retours de corrections et des propositions d'amélioration du manuel de référence de TXM, merci de suivre la procédure suivante :

  1. récupérer l'archive ZIP des sources du manuel sur Sourceforge, ici http://sourceforge.net/projects/txm/files/documentation
  2. éditer le fichier ODT du manuel avec Open Office 'Manuel de Référence TXM X.Y_FR.odt' en mode “enregistrer les modifications”
  3. envoyer votre nouvelle version du fichier ODT à l'adresse 'textometrie@ens-lyon.fr'

TXM peut-il traiter d'autres langues que le français ?

Délimitation des unités lexicales

La textométrie analyse la répartition d'unités lexicales dans des textes. Elle a donc besoin d'une définition des unités lexicales présentes dans le corpus. La statistique sur corpus étant une technique relativement robuste (elle peut donner des résultats intéressants malgré un certain taux d'erreurs ou d'imprécisions dans les données initiales), on peut se contenter en première approche d'une définition opérationnelle des unités lexicales basée essentiellement sur l'analyse des catégories de caractères des textes, en l'absence d'une description linguistique de qualité.

Certains formats importés par TXM (XML/w + CSV, XML-TEI BFM, CNR + CSV, XML-TXM) permettent de lui transmettre un pré-découpage en unités lexicales : c'est a priori ce qu'il faut privilégier quand on dispose d'un corpus déjà annoté au plan lexical. Quand un tel découpage n'est pas fourni, TXM utilise un outil automatique robuste qui a été conçu pour le français mais qui peut quelquefois convenir en première approximation à d'autres langues alphabétiques : l'algorithme se base sur des classes de caractères (délimiteurs, ex. le blanc, le point, l'apostrophe, vs non délimiteurs, ex. les lettres). En pratique, si vous n'avez pas de pré-analyse lexicale de votre corpus, vous pouvez tester l'intérêt du découpage intégré à TXM en effectuant un import et en regardant la liste des unités lexicales obtenues par la commande Lexique, une fois le corpus importé.

Le logiciel TXM peut analyser toute langue dont l'alphabet est pris en charge par le standard d'encodage des caractères Unicode (c'est à dire tous les alphabets connus). Voir :

Par défaut, TXM va automatiquement identifier dans les sources textuelles la délimitation des unités lexicales en fonction de leur alphabet en s'appuyant sur les classes de caractères Unicode (comme les classes de caractères séparateurs, de ponctuations, etc.). Bien que pour l'ensemble des langues utilisant l'aphabet latin (c'est-à-dire l'alphabet Unicode “Latin”) cet algorithme permette de calculer la majorité des mots simples et des ponctuations, il y a pour chaque langue des cas dont on peut tenir compte en plus (par exemple en français, les figements comme “parce que” ou bien “aujourd'hui”, les clitiques comme ”…-je”, etc.). Par défaut, TXM ne réalise pas de traitement supplémentaire à celui des classes Unicode comme il ne construit pas non plus d'entités nommées (expressions de noms de personnes, de monnaies, de lieux, de dates) voire de syntagmes comme les noms composés.

Délimitation des phrases orthographiques

Par défaut, TXM va automatiquement identifier dans les sources textuelles la délimitation des phrases orthographiques en fonction de leur alphabet en s'appuyant sur les classes de caractères Unicode. Bien que pour l'ensemble des langues utilisant l'aphabet latin cet algorithme permette d'obtenir une bonne approximation des phrases, il y a pour chaque langue des cas dont il faut tenir compte en plus (l'utilisation du point ”.” dans l'écriture d'abbréviation comme “M.”, certaines expressions mathématiques, etc.). Par défaut, TXM ne réalise pas de traitement supplémentaire à celui des classes Unicode.

Analyse morphosyntaxique et lemmatisation

Si vous avez installé le logiciel d'analyse morphosyntaxique et de lemmatisation Tree Tagger (en appliquant les instructions d'installation de TreeTagger dans TXM), et indiqué le chemin vers ce programme et les modèles de langue utiles à TXM, TXM peut appeler Tree Tagger (TT) à la volée, lors de l'import, suite à la phase de découpage (si le corpus comporte déjà une délimitation des unités lexicales alors : pour les modules XML-TXM et CNR + CSV, TT n'est pas appelé ; pour les modules XML/w et XML-TEI BFM, TT ajoute les informations aux unités lexicales). TT calcule automatiquement la catégorie morphosyntaxique et le lemme de chaque mot, c'est une analyse clairement liée à la langue des textes. Si on souhaite l'utiliser pour un corpus il faut donc s'assurer que l'on dispose bien du bon modèle de langue (identifié par TXM selon le nom du fichier en deux caractères selon la norme ISO, ex. “fr.par” pour le français, “it.par” pour l'italien, etc.) et que le module d'import est informé de la langue du corpus (à indiquer dans les paramètres au lancement de l'import, sinon par défaut la langue est celle de l'interface de TXM).

Liste des langues prises en charge par TT en 2013 (pour voir la liste complète et à jour des langues prises en charge site de TreeTagger) :

D'autres logiciels d'étiquetage morphosyntaxique et de lemmatisation sont utilisables de façon expérimentale avec l'aide de TXM (Cordial, TNT, MElt, etc.).

TXM peut il traiter des corpus de textes Arabes ?

TXM importe correctement les textes Arabes encodés en UTF-8. Les éditions et résultats s'affichent alors correctement (de droite à gauche avec liaison entre les caractères).

Avec quelques limitations :

  • les unités lexicales ne sont segmentées qu'au niveau des espaces. Le découpage de la surface textuelle ne correspond donc pas systématiquement aux mots des textes, mais il semble malgré tout utile pour une première approche d'analyse. Nous sommes à la recherche de composants open-source de segmentation lexicale efficaces pour cette langue, ou au moins de règles de segmentation élémentaires permettant d'améliorer la segmentation actuelle. Si vous avez la possibilité de faire segmenter les textes par d'autres outils, nous vous recommandons alors d'utiliser le module d'importation XML/w qui tient compte des segmentations déjà disponibles au sein des textes ;
  • il n'y a donc évidemment pas de lemmatisation ni d'étiquetage morpho-syntaxique. Nous sommes à la recherche de composants open-source efficaces pour réaliser ces opérations pour cette langue ;
  • les contextes gauche et droit des concordances sont inversés ;
  • les pages d'éditions sont justifiées à gauche, alors qu'elles devraient être justifiées à droite.

TreeTagger ne fonctionne pas. Comment bien régler TreeTagger pour TXM ?

  1. Vérifier que les chemins renseignés dans la page de préférences “TXM > Avancé > TAL > TreeTagger” sont corrects :
    • Chemin du répertoire d'installation du logiciel : Le dossier renseigné doit contenir les sous-dossiers “bin”, “cmd”, “doc, “lib”. Si le dossier ne contient qu'un sous-dossier “TreeTagger” par exemple, il y a des chances que le logiciel de gestion d'archives ait créé ce dossier lors de l'extraction. Dans ce cas, il faut indiquer le chemin jusqu'à ce sous-dossier “TreeTagger” inclus.
    • Chemin du répertoire des modèles linguistiques : Ce dossier doit contenir les fichiers “*.par”
  2. Vérifier que le fichier modèle est compatible avec votre version de TreeTagger (un ancien modèle de langue peut ne plus être utilisable avec un TreeTagger récent) ou n'est tout simplement pas un modèle TreeTagger. Il faut reprendre attentivement la procédure d'installation de TreeTagger pour la partie qui concerne les modèles de langue, en particulier mettre à jour les fichiers modèles et vérifier que les modèles sont bien dézippés avant d'être renommés.
  3. Vérifier que la version du logiciel TreeTagger installé correspond bien à celle de l'architecture de votre système. Ce bug est présent en ce moment car seule une version 64bit est disponible sur le site officiel de TreeTagger. Pour avoir une version 32bit, veuillez suivre ce lien Installation de TreeTagger pour TXM

Si cela ne suffit pas, des messages d'erreur sont affichés dans la console de TXM à différents moments pour vous permettre de diagnostiquer si TreeTagger a été correctement appliqué ou non :

  • Lors d'une requête : "Dernière erreur CQP : ``frpos'' is neither a positional structural attribute nor a label reference" signifie que la propriété “frpos” n'est pas présente dans le corpus.
    • Soit TreeTagger n'a pas été lancé lors de l'import
    • Soit TreeTagger a été lancé mais pas avec le modèle “fr” (français) mais “en” (anglais) par exemple.
    • Sinon voir la liste des propriétés de mot disponibles en affichant les “informations” du corpus
  • Lors de l'import entre l'étape ”– ANNOTATE” et ”– COMPILING”
    • Could not find TreeTagger binaries in …” : TXM n'a pas pu trouver le fichier exécutable de TreeTagger à partir du chemin renseigné dans les préférences. Il peut y avoir plusieurs raisons :
      • Le dossier du logiciel indiqué dans la page de préférences “TXM > Avancé > TAL > TreeTagger” n'est pas le bon (voir ci-dessus)
      • Vous n'avez pas les droits d'accès au dossier indiqué dans la page de préférences “TXM > Avancé > TAL > TreeTagger” ou pour exécuter le fichier qui s'y trouve
    • Skipping ANNOTATE: Incorrect modelfile path: …xx.par” : TXM n'a pas trouvé le modèle “xx.par” dans le dossier des modèles TreeTagger. Il peut y avoir plusieurs raisons :
      • Le dossier des modèles indiqué dans la page de préférences “TXM > Avancé > TAL > TreeTagger” n'est pas le bon (voir ci-dessus)
      • Le fichier modèle n'existe pas dans le dossier des modèles indiqué dans les préférences.
      • Le fichier modèle est bien présent mais pas avec la bonne extension. Ce cas arrive fréquemment sous Windows ou Mac OS X - malgré le renommage habituel des fichiers modèles demandé par la procédure d'installation de TreeTagger pour TXM - quand le système masque par défaut à l'utilisateur les extensions de fichiers dont il connaît (ou pense connaître) le type. On peut par exemple voir un fichier nommé “fr.par” alors que son nom 'réel' (pour le système et pour TXM) est “fr.par.bin”.
        Dans ce cas il faut accéder aux extensions réelles des fichiers et renommer les noms 'complets' des fichiers selon chaque système :
    • ERROR: not a parameter file: …xx.par!” : le fichier modèle “xx.par” n'est pas un fichier modèle de TreeTagger. Si par exemple, le modèle a été mal extrait ou si il a été seulement renommé (sans être extrait).

Je n'arrive pas à installer le modèle linguistique XXX pour TreeTagger, je peux le télécharger mais pas le dézipper, quel que soit le logiciel utilisé

Il se peut que le navigateur qui a fait le téléchargement a déjà dézippé le fichier dans la foulée, ça dépend de votre configuration. Si c'est le cas, il ne vous reste alors plus qu'à le renommer 'xx.par' dans le bon répertoire et relancer l'import en précisant la langue 'xx' dans les options.

Dans TXM, comment lancer l'annotation de son corpus avec TreeTagger ?

Il faut d'abord installer TreeTagger puis, lors du paramétrage d'un module d'import, laisser le paramètre “annoter” coché pour que TreeTagger se lance avec le modèle de la langue principale du corpus.

La description de la procédure d'installation de TreeTagger est accessible à partir du menu de TXM “Aide” / “Installer TreeTagger”, qui correspond à la page web http://txm.sourceforge.net/installtreetagger_fr.html.

Je n'arrive pas à changer la langue de l'interface

Il peut être nécessaire de fermer TXM et de le redémarrer pour que le changement de langue soit effectif.

Systèmes d'exploitation et architectures supportés par TXM

Systèmes d'exploitation et architectures pour lesquels nous vérifions le bon fonctionnement de TXM (supporté), ou connus pour exécuter TXM correctement bien que nous ne fassions pas de vérification systématique (connu pour fonctionner).

Merci de nous indiquer les systèmes pour lesquels TXM fonctionne et que nous n'avons pas encore listé ici, et merci pour les tests que vous pourriez faire du bon fonctionnement de TXM sur tous ces systèmes et architectures, en particulier lors de la sortie d'une nouvelle version de TXM ou d'un nouveau système d'exploitation.

Cette liste est valable pour la version courante de TXM bureau (0.7.1) et TXM portail (0.4).

TXM version bureau

  • Windows XP 32 bit (supporté)
  • Windows Vista 32+64 bit (fonctionne)
  • Windows 7 32+64 bit (supporté)
  • Windows 8 64 bit (fonctionne)
  • MacOSX 10.6 32+64 bit (supporté)
  • MacOSX 10.7 32+64 bit (fonctionne)
  • MacOSX 10.8 32+64 bit (fonctionne)
  • Linux Ubuntu 12.04 32+64 bit (supporté)
  • Linux Debian (fonctionne)

TXM version portail

Serveur

  • Tomcat 5 (supporté)
  • Tomcat 6 (supporté)
  • Glassfish (fonctionne)

Client

  • Firefox 21.0 Linux (supporté)
  • Firefox 25.0 Linux (supporté)

Architectures supportées

	Linux32	Linux64	Win32	Win64	MacOSX
JVM	32	64	32	64	64
CQP	32	64	32	32	32
R	32	64	32	32	32+64

Légende :

  1. JVM : version de Java (Java Virtual Machine)
  2. CQP : version de CQP (moteur de recherche Corpus Query Processor)
  3. R : version de R (environnement statistique R)

Dois-je installer un TXM 32 bits ou 64 bits ?

Windows

Il faut installer le TXM qui correspond à l'architecture de votre machine. En général, les machines 64 bits sont des machines récentes, donc si vous n'êtes pas féru d'informatique et que votre machine a 4 ans, il y a de très grandes chances que vous soyez en 32 bits (il faut quand même savoir que les machines 64 bits existent depuis plus de 10 ans, et c'est environ depuis 2011 qu'on n'achète plus trop de machines 32 bits).

Pour connaitre l'architecture 32 ou 64 bits de votre système Windows : voir la documentation Microsoft

Mac OS X

La question ne se pose pas, une seule version de TXM est proposée (64 bits), car elle convient aussi à des machines 32 bits (dans la limite des systèmes compatibles, voir section TXM tourne-t-il sur (tous les) Mac ?).

Linux/Ubuntu

Il faut installer le TXM qui correspond à l'architecture de votre machine.

Pour connaitre l'architecture 32 ou 64 bits de votre système Linux :

Sous Ubuntu (testé avec un Ubuntu 12.04 LTS), dans le menu tout en haut à droite (petite roue dentée),

Paramètres système… > Système : Détails > Type d'OS (= 32 ou 64 bits)

Pour tous les Linux dans un terminal, lancer la commande 'lscpu' :

  • si la ligne 'Architecture' donne la valeur 'i686' → 32 bits
  • sinon si la valeur est 'x86_64' → 64 bits
  • sinon <aucune idée>

Autre façon de faire si Java est déjà installé

Prendre une des versions de TXM pour votre système.

Lors de son installation TXM devrait détecter l'architecture de votre machine et vous prévenir s'il y a incompatibilité.

Attention : si la version de Java installée n'est pas la bonne (32 ou 64 bits), cette détection peut ne pas fonctionner correctement voire TXM lui-même ne pas fonctionner non plus.

Si TXM échoue à détecter l'architecture de votre machine, vous pouvez utiliser cet exécutable http://txm.sourceforge.net/DumpProperties.jar (sous Linux, vous pouvez avoir à cocher au préalable l'option “autoriser l'exécution du fichier comme un programme” de l'onglet des 'permissions' de la boite de dialogue des propriétés du fichier).
'DumpProperties.jar' affichera la liste des variables d'environnement de la machine Java installée. Si la ligne de la variable 'os.arch' vaut 'x86_64', il faut installer la version 64 bits de TXM, sinon il faut installer la version 32 bits.

Dois-je prendre des précautions particulières pour installer TXM et Iramuteq sur la même machine ?

TXM et Iramuteq utilisant tous les deux le module statistique R, il faut s'assurer que chacun des deux programmes dispose bien de la configuration dont il a besoin.

Pour windows

A priori pas de difficulté particulière, TXM installant et utilisant son propre R (installé dans $PROGRAMFILES/TXM/R).

Pour Mac

Actuellement (v0.7), TXM installe R 2.14 s'il ne trouve pas d'autre version. Iramuteq fonctionne avec R 2.15.2. On propose donc de procéder ainsi :

  • désinstaller TXM s'il est déjà installé ; dans ce cas vérifier qu'il ne reste pas un fichier ”.Rprofile” dans votre répertoire utilisateur, sinon le supprimer (En ligne de commande du Terminal ça donne : rm ~/.Rprofile ) (C'est un reliquat d'installation de TXM qui va disparaître dans les prochaines version de TXM.) cf. échange sur la liste txm-users
  • suivre les instructions de la page d'installation d'Iramuteq pour installer d'abord R 2.15.2 puis Iramuteq (on trouve des indications plus détaillées pour l'installation de R sur le site de R, c'est pour la version courante de R il faut donc adapter cela à la 2.15.2 : http://cran.r-project.org/bin/macosx/)
  • installer TXM

Pour Linux

Lors de l'installation de TXM c'est le R des dépôts qui est installé (via un apt-get). Pour les versions d'ubuntu antérieures à 12.10, la version de R est antérieure à la version 2.15.1 qui est requise pour Iramuteq 0.6 alpha 3 (la version conseillée est la 2.15.2, la 2.15.1 passe).

Cas 1 : ubuntu antérieur à 12.10

Le plus simple est d'ajouter à ses dépôts le dépôt de R, cf. instructions http://cran.r-project.org/bin/linux/ubuntu/. Par exemple pour un ubuntu 12.04 :

  • Ouvrir un terminal
  • taper : sudo gedit /etc/apt/sources.list
  • rajouter la ligne suivante à la fin du fichier :

deb http://cran.rstudio.com/bin/linux/ubuntu precise/

  • Sauvegarder
  • toujours dans le terminal
  • taper : sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys E084DAB9
  • taper : sudo apt-get update
  • taper : sudo apt-get install r-base

voir comment faire pour installer spécifiquement la version 2.15.2 de R. Si on lance une mise à jour générale du système, c'est une version plus récente qui peut être installée (non vérifiée pour Iramuteq).

Afin de pouvoir compiler le paquet rgl de R lors de son installation, vous devez installer quelques librairies de développement. Sous debian/ubuntu, utilisez la commande suivante :

sudo apt-get build-dep r-cran-rgl

Ensuite les deux logiciels peuvent être installés selon leurs procédures respectives, peu importe lequel en premier. Si l'un des logiciels est déjà installé il n'y a pas besoin de le désinstaller.

Si aucun des deux logiciels n'est encore installé, le plus simple est d'installer d'abord Iramuteq http://www.iramuteq.org/telechargement puis TXM.

Cas 2 : ubuntu 12.10 ou supérieur

Rien de particulier à faire : les deux logiciels peuvent être installés selon leurs procédures respectives, peu importe lequel en premier.

Si aucun des deux logiciels n'est encore installé, le plus simple est d'installer d'abord Iramuteq http://www.iramuteq.org/telechargement puis TXM.

Cas 3 : cas particulier des utilisateurs avancés de R

Pour les utilisateurs avancés de R qui ne voudraient pas modifier automatiquement l'installation de R lors de l'installation de TXM, mais simplement ajouter à la main les paquets requis, alors se reporter aux indications pour l'installation de R pour TXM.

Vais-je perdre mes corpus à l'installation de la nouvelle version de TXM ?

Jusqu'à la version 0.6 de TXM, avant chaque installation, il faut sauvegarder soi-même les corpus qui auraient été importés dans TXM (celui que l'on s'apprête à remplacer).
Ces derniers se trouvent dans le dossier '$HOME/TXM/corpora'
$HOME est le répertoire utilisateur : '/home/<user>/TXM' en Linux, 'C:/Documents and Settings/<user>' en Windows…
Il faut les enregistrer hors du dossier '$HOME/TXM'.

Pour les recharger :

  • avant TXM 0.6, il faut recharger chaque corpus un par un en pointant chaque dossier ;
  • pour TXM 0.6, il faut zipper chacun des dossier de corpus, et recharger les corpus un par un en pointant chaque archive.

Remarque : l'installation de TXM ne modifie pas les sources des corpus qui auraient été importés ou chargés. Vous pouvez toujours (ré-)importer vos sources dans un nouveau TXM.

Comment garder les préférences de TXM après installation ?

Depuis la version 0.7 de TXM, il est possible de sauvegarder et recharger les préférences dans et depuis un fichier au format Java “*.properties). Procédure :

  1. Lancer TXM
  2. Ouvrir les préférences et aller dans “TXM”
  3. Cliquer sur le bouton “Exporter les préférences” et choisir le fichier de sauvegarde (1).
  4. Fermer TXM
  5. Installer TXM
  6. Relancer TXM
  7. Ouvrir les préférences et aller dans “TXM”
  8. Cliquer sur le bouton “Importer les préférences” et sélectionner le fichier de sauvegarde (1)
  9. Fermer les préférences

Comment vérifier que TXM s'est installé correctement ?

Quelques indices :

1. Lorsque TXM a fini de démarrer, on doit lire les lignes suivantes dans la console (zone en bas de la fenêtre) :

Démarrage...
Moteur de recherche lancé en mode mémoire.
Moteur statistique lancé.connecté.
Chargement des sous-corpus et des partitions...Terminé.
Prêt.

2. Au moins deux petits cubes figurant des corpus (DISCOURS et GRAAL) sont affichés dans la zone gauche de la fenêtre de TXM. Lorsqu'on en sélectionne un, sa taille s'affiche dans la barre de statut (en bas de la fenêtre), comme ceci par exemple :

DISCOURS, T = 105191

Comment vérifier que TreeTagger est bien paramétré dans TXM ?

Pour un environnement en français

1. Copier le texte suivant :

Démarrage...
Moteur de recherche lancé en mode mémoire.
Moteur statistique lancé.connecté.
Chargement des sous-corpus et des partitions...Terminé.
Prêt.

2. Dans TXM lancer la commande Fichier > Importer > Presse-Papier

3. Vérifier que dans la console les dernières lignes affichées sont :

pAttrs : [id, lbid, frpos, frlemma]
sAttrs : [text:+name+id+type+path+base+project, s:+n, p:+id, txmcorpus:+lang]
-- EDITION - Building edition
.
Importation terminée : 3 sec (3966 ms)
Moteur de recherche lancé en mode mémoire.
Moteur statistique lancé.connecté.
Chargement des sous-corpus et des partitions...Terminé.
TXM est prêt.
(Attention, la première ligne ci-dessus doit bien contenir frpos et frlemma. En revanche l'indication de durée après “Importation terminée” peut bien sûr être différente.)

Pour un environnement dans une autre langue

La procédure ci-dessus peut être transposée : TreeTagger doit disposer d'un modèle de langue correspondant à la langue de l'environnement, le texte copié doit être dans cette langue, et dans la console après import les “fr” de frlemma et frpos sont remplacés par les deux lettres du code de la langue, par exemple pour un environnement anglophone :

pAttrs : [id, lbid, frpos, frlemma]
devient
pAttrs : [id, lbid, enpos, enlemma]

Au premier lancement, TXM ne démarre pas, et j'ai un message d'erreur comme quoi TXM ne trouve pas Java : pourtant je l'ai installé ?

Si vous avez un PC 64 bits, avec un TXM 64 bits (comme il se doit), méfiez-vous que l'installation de Java est en 32 bits si l'on n'y prend pas garde - ce qui peut expliquer ensuite que TXM ne trouve pas Java (un système d'exploitation 64 bits ne peut pas exécuter un Java 32 bits. Dans ce cas de figure le système se comporte alors comme si Java n'était pas installé). Il faut alors réinstaller Java, en cherchant bien un Java 64 bits dans les autres versions proposées sur le site.

Java peut être téléchargé depuis ce site : http://www.java.com/fr/download/manual.jsp

Liens de téléchargement les plus courants (Java 7u51) :

(Pour Linux, passer par la bibliothèque d'application)

[Remarque concernant la sécurité de la version 7 du Java Oracle : pour cette version il est recommandé de ne pas activer l'exécution des Applets Java ainsi que le téléchargement et l'exécution Java JNLP dans vos navigateurs web. TXM n'est pas concerné par cette recommandation dans la mesure où il n'utilise pas ces mécanismes.]

Au premier lancement, TXM ne démarre pas, et j'ai un message d'erreur comme quoi TXM ne trouve pas Java : pourtant je l'ai installé et j'ai aussi vérifié que l'architecture de Java soit la même que TXM ?

Si vraiment TXM n'arrive toujours pas à trouver Java malgré la réinstallation de Java et la vérification de l'architecture. Il est possible de déposer une machine virtuelle Java (JRE) dans le dossier d'installation de TXM (c'est ici que TXM cherche en premier une JRE).

Marche à suivre :

  1. Sous Windows, si vous avez installé une JRE sans option particulière, alors il faut copier le dossier : “C:\Program Files\Java\jre7”
  2. Dans le dossier d'installation de TXM (sans option particulière) dans : “C:\Program Files\TXM\TXM”
  3. Et enfin dans le dossier d'installation de TXM, il faut renommer le dossier “jre7” en “jre”

Connexion au moteur de recherche : le moteur de recherche n'arrive pas à se lancer ?

Depuis la version 0.7, par défaut, TXM lance le moteur de recherche en mode mémoire. Ce mode présente l'avantage d'être plus rapide que le mode réseau, le mode des versions antérieures de TXM.

En mode réseau, si le moteur ne peut pas se lancer alors le message suivant apparaît dans la console :

  • “Failed to load CQP lib with exception”

Les raisons de l'échec sont alors affichées dans la suite des messages de la console. Veuillez nous contacter sur la liste de diffusion dans ce cas.

En attendant, que l'on puisse vous aider, vous pouvez utiliser le mode réseau en l'activant par la manipulation suivante :

  • Ouvrir les préférences de TXM
  • Aller dans TXM > Avancé > Moteur de recherche
  • Cocher “Utiliser le protocole réseau” (EN : “Use network protocol”)

Si le moteur réseau n'arrive nan lui non plus à se lancer alors dans la console vous obtenez l'un des messages suivants :

  • FR : “Échec de la connexion au moteur de recherche…” ou “La connexion au moteur de recherche a échoué…”
  • EN : “Error while connecting to search engine”

En mode réseau, il faut tout d'abord vérifier que les préférences du moteur de recherche soient bonnes :

  • “Chemin vers le fichier exécutable 'cqpserver'” doit pointer :
    • sous Linux vers : ”/usr/lib/TXM/cwb/bin/cqpserver”
    • sous Windows vers : “$INSTALLDIR/cwb/bin/cqpserver” ; $INSTALLDIR vaut généralement “C:\Program Files\TXM”
    • sous Mac OS X vers : ”/Applications/TXM/cwb/bin/cqpserver”
  • “Chemin vers le répertoire de Registre” doit pointer vers $HOME/TXM/registry
    • sous Linux $HOME vaut : ”/home/<user>/TXM”
    • sous Windows $HOME vaut : “C:\Documents and settings\<user>\TXM” sous XP, “C:\Utilisateurs\<user>\TXM” sous Vista et Seven
    • sous Mac OS X $HOME vaut : ”/Users/<user>/TXM”
  • “Chemin vers le fichier d'initialisation” :
    • sous Linux vers : ”/usr/lib/TXM/cwb/cqpserver.init”
    • sous Windows vers : “$INSTALLDIR/cwb/cqpserver.init” ; $INSTALLDIR vaut généralement “C:\Program Files\TXM”
    • sous Mac OS X vers : ”/Applications/TXM/cwb/cqpserver.init”

Si après redémarrage, le serveur ne fonctionne toujours pas. Alors il est fort probable que le programme “cqpserver” n'arrive pas à se lancer. Dans les messages d'erreur de la console, se trouve la ligne de commande de lancement de cqpserver. Il faut la copier dans un Terminal et appuyer sur la touche Entrée. Si le programme se lance correctement, essayez de relancer TXM. Sinon il y a plusieurs problèmes connus :

  • [LINUX] cqpserver n'arrive pas a trouver la librairie “libreadline.so”. Il faut :
    • Ouvrir un Terminal
    • Executer la commande suivante : sudo ln -s /lib/libreadline.so.6 /lib/libreadline.so
  • [LINUX] cqpserver ne se lance pas du tout avec un message “fichier binaire impossible à lancer”. Le binaire n'est pas prévu pour votre architecture. Il faut installer le TXM approprié à votre architecture

Relancer TXM. Si le serveur ne fonctionne toujours pas. Il faut nous contacter sur la liste de diffusion.

Sous windows, TXM peut-il être utilisé avec un compte qui n'a pas les droits administrateur ?

L'installation de TXM doit être faite avec un compte qui a des droits d'administrateur. C'est en général le cas des comptes utilisés sur les machines à usage personnel ou familial. Le plus simple, en l'état actuel de TXM, est ensuite d'utiliser TXM avec le même compte.

La question se rencontre surtout sur des ordinateurs partagés gérés par un service, par exemple les machines d'une salle de cours. Dans ce cas, on peut faire en sorte que le programme TXM soit disponible pour tous les utilisateurs de l'ordinateur en copiant le dossier $HOMEDIR/Menu Démarrer/Programmes/TXM dans $ALLUSERHOMEDIR/Menu Démarrer/Programmes/TXM ($HOMEDIR représente le chemin vers le répertoire du compte administrateur qui a installé TXM, et $ALLUSERHOMEDIR le chemin vers le répertoire utilisateur “All users” ; les chemins peuvent être un peu différents selon la version de windows).

Sous Windows 8, je ne trouve pas TXM sur l'écran d'accueil

Il y a quelques manipulation que l'installeur Windows ne fait pas encore pour que TXM soit affiché su l'écran d'accueil de Windows 8.

En attendant que cela se fasse automatiquement, voici la procédure manuelle à suivre pour que l'installation soit complète :

  1. Aller sur l'accueil Windows (touche Windows)
  2. Faire un clic droit, s'affiche alors en bas de l'écran un bandeau
  3. Dans le bandeau, sélectionner “Toutes les applications”, un nouvel écran s'affiche présentant toutes les icones des applications installées dont celle de TXM.
  4. Faire un clic droit sur l'icone de TXM pour refaire apparaitre le bandeau
  5. Dans le bandeau, sélectionner “Epingler à l'écran d'accueil”

Voilà c'est fini, TXM devrait à présent se trouver sur l'écran d'accueil de Windows en glissant vers la droite.

Sous Windows, je ne trouve pas TXM dans le menu Démarrer

TXM ne s'installe dans les menus de Windows que pour l'utilisateur qui installe TXM. Concrètement, si vous installez TXM à l'aide d'un compte admin différent de votre compte, alors TXM ne sera visible que dans les menus du compte admin.

Dans ce cas, voici deux moyens de lancer TXM depuis votre compte utilisateur :

Sous Windows, TXM 0.7 (et versions ultérieures) aucune requête CQL ne fonctionne sur aucun corpus

Il s'agit peut-être d'un bug non-résolu qui empêche le moteur de recherche (CQP) de fonctionner quand le chemin du dossier utilisateur contient des accents. La signature du bug est pour l'instant :

  • un moteur de recherche qui démarre sans problème
  • une concordance affiche l'erreur suivante : “Couldn't open directory C:\Documents and Settings\màtthieu\TXM\registry (continuing)” (l'idenfiant utilisateur contient un caractère accentué)

Il y a 2 façons de pouvoir continuer à travailler :

  1. changer le chemin du dossier de registre de CQP et recharger/importer les corpus
    • Ouvrir les préférences de TXM à la page : TXM > Avancé > Moteur de recherche
    • Changer le paramètre “Chemin vers le répertoire de Registre du serveur CWB” à “C:\registry_txm” (par exemple, l'important est qu'il n'y ait pas d'accent)
    • Créer le répertoire “C:\registry_txm”
  2. changer le mode de communication entre TXM et CQP. 5cette solution a pour inconvénient que TXM est plus long pour récupérer les résultats de CQP)
    • Ouvrir les préférences de TXM à la page : TXM > Avancé > Moteur de recherche
    • Sélectionner “Utiliser le protocole réseau”

Sous Windows, TXM 0.7 (et versions antérieures) n'arrive pas à lancer le moteur de statistique R

Suite à la mise à jour de Java (version Windows 1.7.21 Oracle du 16 Avril 2013), les versions 0.7 de TXM et antérieures ne peuvent plus lancer le moteur de statistique R.

Pour résoudre ce bug, 2 solutions sont disponibles :

  • Installer TXM à la racine d'un disque dur, ou dans un chemin sans espace. Par exemple “C:\TXM”.
  • OU Déplacer et changer le chemin d’accès du moteur de statistique R pour qu'il ne contienne pas d'espace. Par exemple “C:/R-TXM”. Cette solution est moins pratique car TXM ne désinstallera pas R en cas de mise à jour de TXM s'il n'est plus dans le répertoire d'installation de TXM. Il vaut donc mieux privilégier la 1ere solution.

Si le problème persiste après réinstallation, veuillez contacter la liste de diffusion.

TXM tourne-t-il sur (tous les) Mac ?

Depuis la version 0.6, TXM dispose d'un installeur pour Mac, il s'installe comme un logiciel Mac courant (la procédure est documentée dans le manuel TXM 0.7, encore en cours de rédaction).

Prérequis matériel et système

Pour connaître la version du système de son Mac, on peut afficher les Informations Système à partir du menu Pomme > “A propos de ce Mac”.

TXM a besoin que Java soit installé sur votre Mac :

Mac OS X 10.5 (Leopard) et antérieur

TXM ne fonctionne que sur certains Mac OS X 10.5 (Leopard) :

  • il faut que le processeur soit de type “Intel” : cela exclut notamment les PowerPC. Pour connaître son processeur, consulter menu Pomme > “A propos de ce mac”, dans la ligne “Processeur” s'il apparaît la mention “intel” c'est bon pour TXM, sinon ce n'est pas bon (incompatibilité matérielle).
  • si vous avez bien un processeur intel, il faut également mettre à jour Java à la version 1.6 (cf. instructions du constructeur).

TXM ne fonctionne pas sur les versions antérieures à Mac OS X 10.5.

Mac OS X 10.6 (Snow Leopard)

TXM fonctionne sur les Mac à partir de la version Mac OS X 10.6 (Snow Leopard).

Mac OS X 10.7 (Lion) et ultérieur

Si vous utilisez un Mac de version 10.7 (Lion) ou ultérieure, pour l'instant, il faut modifier les paramètres de “sécurité” pour pouvoir installer correctement TXM (si on ne fait pas cette modification, le problème ne se manifeste pas au moment de l'installation, mais au premier lancement). Pour ce faire, il faut aller dans “Préférences systèmes > Personnel > Sécurité” et autoriser les applications téléchargées depuis Internet.

(Il est possible qu'il faille déverrouiller les préférences en cliquant sur l'icone de cadenas en bas à gauche)

Plus d'informations ici : http://irz.fr/provient-developpeur-non-identifie/

Installation Mac OS X le moteur de statistique R ne démarre pas

Il peut y avoir plusieurs raisons :

  • Si lors de l'installation de TXM (versions antérieures à 0.7.5), Java a été installé en même temps, un bug dans l'installeur a empêché TXM d'installer les librairies de R nécéssaires. Si c'est le cas, il suffit de réinstaller TXM.
  • Lors du premier lancement de TXM, le firewall de MacOSx lance une alerte pour ajouter une exception pour RServe, il faut accepter sinon TXM ne pourra pas communiquer avec le moteur de statistique.
  • Si on met à jour R indépendamment de l'installation de TXM (par exemple pour un usage indépendant de TXM), les packages R installés par TXM sont supprimés, il faut les réinstaller en exécutant les lignes suivantes dans R :

# packages directly used by FactoMineR
install.packages("MASS", dependencies=TRUE, repos="http://cran.rstudio.com/");
install.packages("nnet", dependencies=TRUE, repos="http://cran.rstudio.com/");
install.packages("car", dependencies=TRUE, repos="http://cran.rstudio.com/");
install.packages("ellipse", dependencies=TRUE, repos="http://cran.rstudio.com/");
install.packages("leaps", dependencies=TRUE, repos="http://cran.rstudio.com/");
install.packages("lattice", dependencies=TRUE, repos="http://cran.rstudio.com/");
install.packages("cluster", dependencies=TRUE, repos="http://cran.rstudio.com/");
install.packages("scatterplot3d", dependencies=TRUE, repos="http://cran.rstudio.com/");
# packages directly used by TXM
install.packages("FactoMineR", dependencies=TRUE, repos="http://cran.rstudio.com/");
install.packages("Rserve", dependencies=TRUE, repos="http://cran.rstudio.com/");
install.packages("wordcloud", dependencies=TRUE, repos="http://cran.rstudio.com/");
install.packages("textometry", dependencies=TRUE, repos="http://cran.rstudio.com/");
q()
y

Installation Mac OS X message d'erreur "there is no package called 'textometrieR'"

Ce message peut apparaître lorsque TXM a été interrompu et n'a pu terminer son installation jusqu'au bout.

Pour restaurer l'état normal de R, dans le fichier ”~/.Rprofile”, il faut supprimer la ligne :

library(textometrieR)

Le menu principal ne s'affiche pas sous Mac OS X 10.9 (Maverick)

Sous OS X 10.9 (Maverick), le menu principale de Finder est affiché (et inopérant) à la place de celui de TXM.

Pour afficher le menu de TXM, il faut cliquer sur une autre application que TXM puis cliquer à nouveau sur TXM.

L'installation avec la Logithèque Ubuntu ne semble pas aboutir ?

Sous un Ubuntu récent, quand on double-clique sur le fichier d'installation de TXM (.deb), cela lance la Logithèque. L'installation avec la Logithèque ne fonctionne qu'à partir de la version 0.7 de TXM (pour les versions antérieures il faut installer GDebi puis lancer l'installation depuis GDebi).

De plus, en l'état actuel, la logithèque Ubuntu n'a pas l'information comme quoi TXM est installé ou non. Cela a au moins deux conséquences :

  • si TXM est déjà installé sur la machine, on n'a aucun message d'avertissement au moment d'une nouvelle installation de TXM (le nouveau TXM est toujours installé, et il remplace l'ancien la cas échéant) ;
  • à la fin de l'installation (qd les petites flèches en haut de la fenêtre ont fini de tourner), la Logithèque continue d'afficher un bouton “Installer” (au lieu d'un bouton “Supprimer”). On peut cependant quitter la logithèque et lancer TXM, qui est prêt à fonctionner.

Autrement dit, l'installation aboutit bien (pour une version 0.7 ou supérieure de TXM), même si cela n'apparaît pas clairement. (Mais au cas où, l'installation avec GDebi reste possible en cas de souci avec la logithèque.)

L'installation de TXM sur Ubuntu a échoué et maintenant je n'arrive plus à rien installer !

Le gestionnaire de paquet essaye de réinstaller TXM en boucle, mais cette installation n'aboutie pas. On va lui indiquer de ne plus le faire avec la commande suivante qui va desinstaller TXM :

 dpkg --purge txm

Si alors même la désinstallation de TXM ne fonctionne pas, il suffira de supprimer les fichiers “txm.*” du dossier ”/var/lib/dpkg/info” (commande = rm -rf /var/lib/dpkg/info/txm.*”) et de relancer la commande “dpkg –purge txm” (ce dossier contient les scripts d'installations et desinstallation de TXM)

Que faire si l'installation sur Linux Debian ne trouve pas le package XXX ?

Les dépôts Debian ne contiennent pas le package XXX.

Pour installer TXM dans ce cas, il faut d'abord rajouter le dépôt du package XXX dans la liste de dépôts de l'apt (système de gestion des dépôts et des dépendances entre packages) :

  1. éditer le fichier /etc/apt/sources.list
  2. ajouter la ligne 'YYY'
  3. exécuter : apt-get update
  4. relancer l'installation de TXM

Comment installer TXM 0.6 sur un Linux Ubuntu de version supérieure à 11.04 ?

La logithèque Ubuntu ne parvient pas à exécuter le script de post installation (pour une raison inconnue). On ne peut donc pas installer TXM 0.6 avec cet outil.

Pour installer TXM dans ce cas, il faut utiliser le logiciel 'GDebi' disponible dans Ubuntu :

  1. installer GDebi
  2. puis, clic-droit sur l'icone du fichier d'installation de TXM, sélectionner 'Ouvrir avec GDebi'

A partir de la version 0.7 TXM peut être installé avec la logithèque.

TXM ne se lance plus, que faire ?

Une invocation précédente de TXM peut ne pas avoir réussi à terminer le moteur statistique en quittant, ce qui empêche un nouveau TXM de se lancer (avec un nouveau moteur statistique).

Sous Windows, deux actions connues peuvent produire cette situation :

  • en cas de changement de langue ;
  • en cas de plantage de TXM.

Pour résoudre ce problème :

A)

  1. vérifier la présence d'un processus en cours d'exécution dénommé 'Rserve' sur votre machine (par exemple avec le gestionnaire de processus sous Windows) ;
  2. arrêter ce processus avec le gestionnaire de processus ;
  3. lancer TXM.

Si TXM ne se lance toujours pas :

B)

  1. redémarrer la machine
  2. lancer TXM

Si TXM ne se lance toujours pas :

C)

  1. réinstaller TXM
  2. lancer TXM

Si TXM ne se lance toujours pas :

D)

  1. nous contacter sur la liste de diffusion pour résoudre le problème.

Si TXM ne se lance toujours pas :

E)

  1. passer nous voir au laboratoire avec votre machine (et des biscuits)

TXM se bloque au démarrage ou lors de la fermeture des préférences

Depuis la version 0.7.5, TXM vérifie la présence de mises à jour à son lancement. Si votre machine se connecte à Internet par un proxy, la recherche de mises à jour peut provoquer des blocages au démarrage de TXM ou lors de la modification de certaines préférences de TXM. Si c'est le cas, il faut alors indiquer la configuration de votre proxy à TXM, en suivant les instructions de la section Réglages de l'accès au réseau par proxy du manuel.

Au premier lancement, TXM bloque à l'écran de démarrage/splash screen

Si le blocage s'effectue dès le lancement de TXM :

  • attendre que TXM se lance (cela peut prendre 5 à 10 minutes). Pour éviter l'attente, une solution peut être de débrancher temporairement votre câble réseau, TXM devrait alors se lancer quasi-instantanément.
  • une fois TXM lancé, indiquer la configuration de votre proxy à TXM, en suivant les instructions de la section Réglages de l'accès au réseau par proxy du manuel
  • redémarrer TXM
  • le blocage ne devrait plus se reproduire

Comment faire un import Hyperbase ?

1) Préparation

Dans un dossier, mettre le fichier source à l'ancien format d'hyperbase (documenté dans le manuel Hyperbase) et lui seul.

2) Lancement de l'import

Si l'utilisateur est sous Linux :

  • l'encodage par défaut des fichiers sources Hyperbase est CP1252, il faut le renseigner dans les paramètres optionnels

Puis

  • renseigner le chemin du dossier
  • si le corpus est d'une langue différente de celle du système, mettre le code ISO de la langue souhaitée (fr, de, it, en…)

Peut on importer dans TXM un export de résultats de recherche Frantext ?

Oui, il suffit d'utiliser le module d'import 'XML-TEI Frantext'.

Avec qlqs réserves :

  • l'entête TEI de chaque extrait n'est pas conforme TEI, en particulier à cause de la balise '<auteur>' qui devrait être '<author>'
  • la balise '<br/>' devrait être '<lb/>'
  • les mots étoilés sont réencodés en '<w type=“caps”>…</w>'
  • les '<seg>' sont réencodés en '<w>…</w>'

Remarque : attention, également, d'être vigilant envers tout calcul quantitatif dans ce type de “corpus” à cause des répétitions de parties de contextes d'occurrences.

J'ai mis le corpus aux normes de la TEI en raison de son universalité supposée : je suis un peu déçue de voir que TXM ne sait importer qu'un corpus encodé en XML TEI selon les instructions du projet BFM

Comme la TEI n'est pas un format mais un ensemble de recommandations, il y a tellement de façons différentes d'encoder des données particulières qu'aucun logiciel ne peut tout interpréter directement (voir plus bas la mention d'outils XML généralistes).

Souvent les projets se contentent de faire des éditions (HTML souvent) à partir du XML TEI pour offrir des services de lecture et de navigation. Dans le cas de TXM, les traitements réalisés sont beaucoup plus riches qu'une simple édition : on peut préciser la délimitation des textes et quelles sont leurs métadonnées (pour pouvoir les comparer entre eux ou attribuer une expression au bon auteur), comment calculer les unités lexicales (les mots) et leurs propriétés, les phrases orthographiques qui les contiennent, la structure logique des textes, les informations de référencement comme la pagination, ce dont il ne faut pas tenir compte dans les sources (le hors-texte), etc. Je dirai même qu'aujourd'hui la TEI n'est pas assez précise pour nous… un comble.

Bref, ce qu'on promet surtout avec la TEI aujourd'hui, c'est la pérennité du travail effectué pour l'avenir (éviter de recréer de nouvelles représentations des données - incompatibles entre elles - en permanence). Pour ce qui est de traiter la ressource, il faut discuter : AVANT d'encoder, de sorte à avoir des données numériques compatibles avec les outils de traitement utilisés in fine.

TXM est à ce stade prioritairement orienté texte, mot et structure logique. Si vous souhaitez faire d'autres types de traitements, vous pouvez utiliser des outils plus généraux neutres vis-à-vis de la sémantique TEI (ou de tout schéma XML particulier) comme les bases XML natives (eXist - http://exist.sourceforge.net ou baseX - http://basex.org par exemple). Vous devrez alors construire dans ces outils toute la logique de la sémantique des éléments TEI que vous souhaitez encoder et utiliser dans votre travail d'analyse.

Du côté du projet TXM, nous discutons avec chaque projet et documentons ce que peut faire la plateforme avec des ressources XML et TEI.

C'est pourquoi nous avons d'abord réalisé un premier module d'importation capable d'interpréter les principes d'encodage XML-TEI des sources du projet BFM que nous connaissons bien et qui sont publics et accessibles à http://bfm.ens-lyon.fr/article.php3?id_article=158.

Depuis, nous avons adapté ce module pour pouvoir le paramétrer en fonction d'autres principes d'encodage XML-TEI à l'aide d'une feuille de style XSL de prétraitement. A ce jour, les modules d'import XML-TEI BFM et XML/w+CSV sont déjà utilisés pour importer les sources XML-TEI des projets suivants :

Les XSL correspondantes sont accessibles dans les sources de TXM.
Certaines sont également mises en ligne, au fûr et à mesure des adaptations pour de nouveaux corpus, dans la bibliothèque des feuilles XSL de TXM : http://sourceforge.net/projects/txm/files/library/xsl

Si la voie des XSL n'est pas suffisante, tous les modules d'import de TXM étant écrits en langage de script Groovy, les chercheurs peuvent les modifier directement eux-mêmes pour adapter la façon dont TXM importe un corpus donné. Il s'agit d'un langage de scripts, comme VisualBasic pour les macros de MS Word. Nous formons à ce langage de script régulièrement.

Du côté de la TEI, nous devons mieux documenter ce qui est possible de faire avec les logiciels sur les corpus encodés en XML-TEI. Mais l'idéal est quand même de partir d'un minimum d'expression de besoins de traitements concrets au final avant même de définir la politique d'encodage d'un projet.

Comment importer les métadonnées de textes dans l'importation XML-TXM ?

Dans TXM 0.5, qui implémente la version 1 de ce format, les métadonnées sont transmises sous la forme d'attributs de la balise ”<text>” correspondant aux unités documentaires.

Les noms d'attributs sont en minuscules et sans accents. Exemple :

<text id="qgraal" auteur="anonyme" titre="Queste del saint Graal" datecompo="1225-01-01">
...
</text>

Quel est le format du fichier metadata.csv ?

Le fichier de métadonnées de textes “metadata.csv” est utilisé par tous les modules d'import dont le nom fini par ”+CSV”. Il doit contenir au minimum la colonne “id” (en minuscule). Il doit être placé à coté des fichiers source.

Pour TXM 0.6, ce fichier doit être sauvegardé à partir d'Excel ou de Calc avec les paramètres suivant :

  • encodage : UTF-8 (ou Unicode)
  • séparateur de colonne : ,
  • séparater de texte : ”

Dans certaines version d'Excel (Mac OS X), il n'est pas possible de régler ces paramètres au moment de la sauvegarde. Il faut alors utiliser Calc de la suite LibreOffice (anciennement OpenOffice) pour pouvoir le faire.

Pour TXM 0.5, le format du fichier metadata.csv varie en fonction du module d'import :

  • modules TXT + CSV et CNR + CSV:
    • encodage : UTF-8
    • séparateur de colonne : tabulation
    • séparateur de texte : aucun
  • module Transcriber :
    • encodage : UTF-8 (ou Unicode)
    • séparateur de colonne : ,
    • séparater de texte : ”

Y a-t-il une limitation de taille pour les corpus en un seul fichier source ?

Il y a une limitation de taille de fichier source à importer d'une traite dans TXM 0.5 qui dépend de la taille mémoire de la machine et de réglages initiaux de TXM. Il y a deux façons de contourner ce problème :

1) découper le fichier unique du corpus en plusieurs (de moins de 5Mo par exemple), dans le même répertoire.
L'unité d'importation de corpus de TXM est actuellement un répertoire, et non un fichier. Donc la façon standard de faire est de créer autant de fichiers que nécessaire dans le même répertoire qui sera à l'origine de l'importation. Remarque : cette stratégie permet notamment d'associer facilement des métadonnées de textes à chaque fichier au moyen d'un simple fichier CSV, et la géométrie de corpus par défaut de TXM est adaptée à cette stratégie.

2) indiquer un modèle mémoire Java plus grand au lancement de TXM
En remplaçant dans $HOME/.txm/TXM.ini :

.txm
-vmargs
-Xms128m
-Xmx512m

par

.txm
-vmargs
-Xms512m
-Xmx1024m

Que signifie le message d'erreur "Error: The registry file was not created"

Cela signifie que l'outil “cwb-encode” du moteur de recherche n'a pas réussi à indexer le corpus que le module d'import a préparé.

Pour savoir plus précisément pour quelle raison “cwb-encode” a échoué, il faut activer l'affichage des messages d'erreur de TXM en allant dans la page de préférence “TXM > Avancée”. Il faut :

  • Sélectionner le niveau de log SEVERE
  • cocher “Afficher la stacktrace”
  • cocher “Ajouter des commentaires techniques”

Une erreur courante sous Windows levée par cwb-encode est “Too many open files”. Cette erreur apparaît lorsqu'un corpus atteint un certain nombre de structures et propriétés. Voir le ticket #XXX

Comment faire pour importer des pages web dans TXM ?

TXM ne dispose pas de module d'import HTML pour l'instant.

Cela dit, pour importer des pages web dans TXM vous pouvez transformer ces pages en XML au préalable puis utiliser le module d'import XML/w+CSV.

Pour transformer les pages web en XML, vous pouvez utiliser l'outil Tidy de la façon suivante :

tidy -o page_web.xml -clean -bare -asxml -utf8 --doctype omit --numeric-entities yes page_web.html

Légende :

  • -o page_web.xml : sauvegarder le résultat de la transformation dans le fichier 'page_web.xml'
  • -clean : substituer certaines balises HTML de formatage (FONT…)
  • -bare : supprimer certains caractères typographiques annexes (quote, dash…)
  • -asxml : produire un résultat au format XHTML (soit XML)
  • -utf8 : utiliser l'encodage des caractères UTF-8 en entrée et en sortie (pour que certains caractères ne soient pas encodés en entités XML numériques)
  • –doctype omit : ne pas ajouter de préambule de déclaration de la DTD
  • –numeric-entities yes : transformer toutes les entités XML en entités numériques (pour que l'omission de la déclaration de la DTD soit possible)
  • page_web.html : appliquer la commande sur ce fichier

Quelle différence y a-t-il entre les sous-corpus et les partitions ?

On peut dire qu'une partition est un ensemble de sous-corpus dont la somme est le corpus dans son ensemble. Par exemple, quand on fait une partition d'un corpus en siècles, on crée autant de sous-corpus que de siècles. Les partitions sont surtout exploitées par les outils qui expriment un contraste : spécificités, analyse factorielle…

Par contre, le fait de pouvoir faire un sous-corpus dans TXM correspond au besoin de ne s'intéresser qu'à un texte ou un chapitre particulier ou au discours d'une seule personne ou au seul contenu des notes ou aux seuls verbes ou aux seuls pronoms de première personne etc. On peut appliquer aux sous-corpus les mêmes outils que ceux appliqués aux corpus.

Dans le cas particulier du calcul des spécificités d'un sous-corpus (par rapport au corpus dans son ensemble), on peut dire que le calcul s'applique à une partition (temporaire) composée de deux sous-corpus : le sous-corpus en question et son complémentaire par rapport au corpus entier.

Comment sont ordonnées les parties d'une partition ?

Lorsque l'on crée une partition selon le mode “simple”,

  • en v 0.5 l'ordre des parties est arbitraire, sauf pour l'affichage des résultats des spécificités où il est alphabétique sur le nom des parties (mais donc a priori non concordant avec l'ordre des colonnes de la table de sécificités exportée, ni avec l'abcisse du diagramme en bâtons) ;
  • en v 0.6 l'ordre des parties dépend du type de la métadonnée : en général l'ordre est l'ordre alphabétique sur le nom de la partie, et si l'on a une métadonnée de type “date” l'ordre est chronologique.

Lorsque la partition est créée en mode “assisté” ou “avancé”, l'ordre des parties est celui adopté pour les définir, et non un tri sur le nom donné aux parties.

Peut-on choisir l'ordre des parties d'une partition ?

Lorsque la partition est créée en mode “assisté” ou “avancé”, il suffit de définir les parties dans l'ordre dans lequel on veut qu'elles soient ensuite présentées.

S'il s'agit d'une partition définie en mode “simple”, mais que l'on n'est pas satisfait de l'ordre obtenu, on peut recommencer la construction de la partition en passant par le mode assisté et en définissantles parties dans l'ordre dans lequel on voudrait qu'elles soient. Par exemple, si l'on travaille sur un corpus de discours présidentiels de la Ve république, et que l'on veut que les présidents soient présentés dans l'ordre chronologique de leur présidence et non dans l'ordre alphabétique de leur nom, on crée une partition en mode assisté, sur la métadonnée donnant le locuteur, et on définit la première partie avec (seulement) le locuteur De Gaulle, la deuxième partie avec le locuteur Pompidou, etc.

Je veux faire une partition sur un sous-corpus, mais c'est bizarre, certaines parties semblent avoir disparu ?

La commande “Créer une Partition” peut être appliquée à un sous-corpus, mais elle produit un résultat incorrect si la structure utilisée pour définir la partition est au-dessus de la structure utilisée pour définir le sous-corpus. Exemples :

  • sur un sous-corpus des entretiens réalisés auprès d'un interviewé ayant entre 38 et 50 ans, contraster les entretiens sur le sexe (homme / femme) : OK (structures de même niveau : c'est la même, “text”)
  • sur un sous-corpus des entretiens réalisés auprès d'un interviewé ayant entre 38 et 50 ans, contraster les différentes parties des entretiens selon leur thématique : OK (la structure ayant servi à définir le sous-corpus, “text”, contient la structure servant à définir la partition, “div”).
  • sur un sous-corpus constitué des parties d'entretien consacrées à la thématique “métier”, contraster les entretiens suivant la tranche d'âge de l'interviewé : attention (la structure ayant servi à définir le sous-corpus, “div”, est en dessous de la structure servant à définir la partition, “text”).

Ce genre de partition est possible mais en mode avancé, dans le cas décrit les équations à entrer pour définir les différentes parties seraient :

  • partie 1 : [_.text_agecla=“20-32”] expand to div
  • partie 2 : [_.text_agecla=“32-38”] expand to div
  • etc.

Le “expand to div” permet de construire les parties comme un ensemble de div (et nom comme un ensemble de mots), et donc de garder la séquence des mots à l'intérieur des div (pour les requêtes sur des expressions).

Quelle est la liste des opérateurs d'expression régulière des chaînes de caractères dans CQL ?

Métacaractères
  • . matche n'importe quel caractère
  • \ neutralise l'opérateur situé à droite
  • | alternance
  • () regroupement
  • […] classe de caractères entre crochets (eg ”[aeiouy]” pour une voyelle)
  • [^…] ensemble complémentaire de la classe de caractères entre crochets, le caractère ^ joue le rôle de négation (eg ”[^aeiouy]” pour un caractère qui n'est pas une voyelle)
Quantifieurs
  • ? matche 0 ou 1 fois
  • * matche 0 fois ou plus
  • + matche 1 fois ou plus
  • {n} matche n fois
  • {n,} matche au moins n fois
  • {n,m} matche entre n et m fois
Codes de caractères
  • \x{CC} caractère de valeur CC (exprimée en hexadécimal) (eg ”\x{E9}” pour ”é”)
  • \xCC caractère de valeur CC (exprimée en hexadécimal)
Classes de caractères
  • \d un chiffre
  • \D pas un chiffre
  • \w un caractère de “mot”
  • \W pas un caractère de “mot”
  • \s un caractère d'espace
  • \S pas un caractère d'espace
  • \h un caractère d'espace horizontal (eg “Espace, Tabulation…”)
  • \H pas un caractère d'espace horizontal
  • \v un caractère d'espace vertical (eg “Form Feed”…)
  • \V pas un caractère d'espace vertical
  • \p{Classe} un caractère de la classe Unicode “Classe” (eg ”\p{Lu}” pour un caractère majuscule)
  • \P{Classe} pas un caractère de la classe Unicode “Classe”
  • [[:ClassePOSIX:]] un caractère de la classe ClassePOSIX (eg ”[[:upper:]]” pour un caractère majuscule)

Les classes Unicode sont décrites à la section “General_Category” de la page http://perldoc.perl.org/perlunicode.html :

  • \p{L} lettre
  • \p{Ll} caractère minuscule
  • \p{Lu} caractère majuscule
  • \p{Lt} caractère de titre
  • \p{Pd} caractère de tiret (eg ”-”, “—” …)
  • \p{P} caractère de ponctuation (eg ”,”, ”.” …)
  • \p{Ps} caractère de ponctuation ouvrante (eg ”(”)
  • \p{Pe} caractère de ponctuation fermante (eg ”)”)
  • \p{Sm} caractère de symbole mathématique (eg ”~”)

Les classes POSIX sont :

  • alpha n'importe quel caractère alphabétique (usage : ”[[:alpha:]]”)
  • alnum n'importe quel caractère alphanumérique
  • ascii n'importe quel caractère du code ASCII
  • blank espace ou tabulation
  • cntrl n'importe quel caractère de contrôle
  • digit n'importe quel chiffre décimal
  • graph n'importe quel caractère imprimable, sans l'espace
  • lower n'importe quel caractère minuscule
  • print n'importe quel caractère imprimable, incluant l'espace
  • punct n'importe quel caractère de ponctuation
  • space n'importe quel caractère d'espace
  • upper n'importe quel caractère majuscule
  • word n'importe quel caractère de mot
  • xdigit n'importe quel chiffre hexadécimal
Références de caractères mémorisés
  • \2 contenu du premier groupe de parenthèses mémorisé (suppose la présence de ”..(..)..” auparavant dans l'expression)
  • \3 contenu du deuxième groupe de parenthèses mémorisé
  • \g{nom} contenu du groupe de parenthèses mémorisé nommé “nom” (suppose la présence de ”..(?<nom>..)..” auparavant dans l'expression)

Exemples :

  • ([[:lower:]])([[:lower:]]).*m.*\3\2
  • (.*)\2
  • (?<groupe1>.*)\g{groupe1}

Quelle est la liste des opérateurs du langage CQL ?

Voir la liste de référence de la syntaxe CQL en cours d'édition sur GoogleDocs.

Quelles sont les limites de CQP ?

  • Nombre maximum de mots par corpus
    • Limite théorique : 2 milliards de mots (2 147 483 648 mots exactement)
    • Limites expérimentales :
      • CQP version 32-bit : ~200 à ~500 million de mots
      • CQP version 64-bit : jusqu'à 2 milliards de mots (mais les requêtes sont lentes)
      • TXM 0.5 : Nous n'avons pas encore effectué de tests sur de telles tailles de corpus, notamment parce que nous n'avons pas encore optimisé l'architecture vis-à-vis des très grands corpus (aucun de nos partenaires n'utilise de tels corpus). L'architecture actuelle de TXM empêche probablement de traiter des corpus de cette taille dans des délais raisonnables. Des corpus de plusieurs millions de mots sont malgré tout déjà régulièrement traités avec TXM 0.5.
  • Autres limites :
    • maximum 1024 types de structures différents par corpus
    • maximum 1024 caractères dans le nom d'une propriété ou d'une structure
    • maximum 4096 caractères par requête CQL

[Notamment d'après “Stefan Evert, Inside the IMS Corpus Workbench, 2008, http://cwb.sf.net”]

Combien d'espace disque prennent les index du moteur CQP ?

Volume disque utilisé par un corpus de 100 millions de mots :

  • pour des sources au format texte brut de ~400 à ~600 Mo, les index sont de ~800 Mo (non compressés).
    Remarque : CQP n'a plus besoin des fichiers sources pour répondre aux requêtes.
  • les index sont de volumes respectifs (par type d'index) :
    • mots, lemmes : ~320 à ~360 Mo (volume d'une propriété à valeurs ouvertes)
    • pos : ~100 à ~150 Mo (volume d'une propriété à valeurs fermées)
    • propriété booléenne : ~50 Mo

[D'après “Stefan Evert, Inside the IMS Corpus Workbench, 2008, http://cwb.sf.net”]

Dans une équation CQL, je voudrais pouvoir tenir compte du contexte englobant

1) Dans une équation CQL, on peut situer les occurrences par rapport à la frontière du début ou de la fin d'une structure donnée. Par exemple,

  • la délimitation du début d'une structure div est notée <div>, et
  • la délimitation de la fin d'une structure div est notée </div>.

On peut alors écrire des requêtes CQL comme :

  • <div>[] : le premier mot qui commence une div
  • []<q>[] : le mot juste avant une structure q, et le premier mot qui commence la structure q
  • []</s> : le dernier mot d'une structure s.

2) Le langage CQL permet de prendre en compte les valeurs des propriétés associées à l'occurrence (par exemple sa catégorie grammaticale ou son lemme s'ils ont été définis à l'import), mais aussi les valeurs des propriétés des structures englobant l'occurrence (par exemple les métadonnées associées au texte).

Soit par exemple un corpus formés d'entretiens (structure “text”) portant une information sur la tranche d'âge de la personne interviewée (propriété “agecla”, avec des valeurs de la forme “20-32”, “32-38”, etc.). On peut chercher les occurrences du mot “accord” telles qu'elles soient dans un entretien d'une personne dans la classe d'âge 38-44 ans :

[word="accord" & _.text_age="38-44"]
La syntaxe pour désigner une propriété d'une structure englobante, c'est donc les caractères “souligné” puis “point” (_.), suivis du nom de la structure, suivi d'un souligné (_), suivi du nom de la propriété dans cette structure.

L'exemple précédent est un cas d'école pour illustrer de façon simple la syntaxe CQL : pour le besoin décrit, on aurait en pratique plutôt commencé par faire un sous-corpus des interviews des 38-44 ans, et lancé dessus la requête simple

accord

Mais il y a des cas où la possibilité d'exprimer la contrainte vraiment au niveau de l'occurrence est nécessaire. Par exemple, dans un corpus divisé en parties (structure “div”) portant chacune un thème (propriété “topic”), on localisera les enchaînements entre une partie thématisée “métier” et une partie thématisée “ressources” avec l'équation suivante :

[_.div_topic="métier"]</div><div>[_.div_topic="ressources"]
glose :

  • je cherche deux mots (il y a deux paires de crochets),
  • [_.div_topic=“métier”] ce premier mot est contenu dans une partie thématisée “métier”,
  • </div> c'est le mot qui termine cette partie (c'est le dernier avant la frontière de fin de partie),
  • <div> s'ouvre ensuite une nouvelle partie,
  • [_.div_topic=“ressources”] le deuxième mot est contenu dans une partie thématisée “ressources”.

Comment puis-je rechercher une occurrence dans l'édition ?

Il y a moyen de naviguer d'une occurrence à la suivante d'un mot donné, ou plus généralement d'un motif CQL donné, en passant par la concordance :

  • faire la concordance du mot ou motif voulu.
  • double-cliquer sur une des lignes de la concordance : cela ouvre un onglet avec l'édition du texte positionnée sur l'occurrence concernée, mise en évidence par surlignage (et les autres occurrences positionnées aux alentours sont également surlignées avec une couleur atténuée).
  • dédoubler l'affichage pour avoir à la fois sous les yeux les lignes de concordance (formant une sorte de sommaire des occurrences disponibles) et l'édition (dans laquelle on veut naviguer).

Pour cela, utiliser le gestionnaire de fenêtres (cf. manuel) : cliquer gauche sur le nom de l'onglet, maintenir cliqué et déplacer le curseur vers la limite basse de la zone d'affichage des résultats ; relâcher le bouton de la souris quand, arrivé près du bord, on voit le curseur qui se transforme en une épaisse flèche noire orthogonale au bord, et le contour d'une nouvelle zone qui se dessine. La fenêtre des résultats est alors divisée en deux zones, au-dessus les lignes de concordance, en dessous la page d'édition, et quand on double-clique sur une ligne de concordance l'édition se positionne au niveau de l'occurrence correspondante. La frontière séparant les deux zones peut être déplacée : on l'attrape en cliquant dessus et en maintenant le bouton appuyé pendant le déplacement, puis en le relâchant lorsque la frontière est à la position souhaitée. On peut ainsi accorder une plus large place à l'édition par exemple.

On peut préférer faire la même chose mais avec la concordance en marge gauche de l'édition (avec une zone d'affichage étroite montrant juste les références de localisation), en divisant verticalement la zone d'affichage des résultats. Pour cela, on déplace l'onglet de l'édition vers la frontière droite de la fenêtre au lieu de la frontière du bas. Il peut être commode aussi de choisir les informations utiles pour composer les références de localisation, par un clic gauche dans les lignes de concordance et en choisissant la fonction “Définir le patron des références”.

Comment, au sein de l'édition, puis-je naviguer dans les structures internes du texte (chapitres, sections...) ?

Les boutons de navigation dans l'édition permettent de passer à la page ou au texte suivant ou précédent. Si l'on veut naviguer plus finement, on peut s'aider de la concordance, cf. question précédente. En particulier, pour se positionner au début de telle ou telle structure, on peut faire la concordance sur le premier mot des structures recherchées ; un double-clic sur les lignes de la concordance permet de naviguer d'un début de structure à l'autre.

Exemples d'application :

1) les textes du corpus sont composés de parties (codées par la structure “div”). Pour trouver tous les débuts de partie, la requête pour la concordance peut être de la forme :

<div>[]
glose de la requête : je cherche le premier mot (quel qu'il soit) juste après le début d'une structure “div”.

2) les textes du corpus sont composés de parties (codées par la structure “div”) rapportées chacune à un thème (codé par la proriété “topic”). On peut voir toutes les parties d'un thème donné (ici “métier”) avec la requête suivante :

<div>[_.div_topic="métier"]
glose de la requête : je cherche le premier mot juste après le début d'une structure “div”, et la propriété “topic” de la structure “div” dans laquelle l'occurrence est incluse vaut “métier”. Les occurrences trouvées sont donc tous les premiers mots de parties thématisées “métier”.

Comment fusionner des lignes dans un index ?

Lorsque l'index a été calculé sur une partition, on peut le convertir en table lexicale (sélectionner l'index dans l'arborescence des corpus et résultats, et lui appliquer la commande “Table lexicale”).L'interface de la table lexicale permet de fusionner des lignes : les fréquences des lignes regroupées sont bien additionnées.

Comment faire un index sans les mots-outils ou grammaticaux ?

Dans un corpus français étiqueté avec TreeTagger, vous pouvez par exemple utiliser l'expression CQL suivante :

[frpos="NOM|NAM|ADJ|VER.*"  & frlemma!="être|avoir|faire|pouvoir|devoir|vouloir|falloir|aller|dire|savoir"]

Dans un corpus anglais étiqueté avec TreeTagger, vous pouvez par exemple utiliser l'expression CQL suivante :

[enpos="N.*|JJ.*|V.*"  & enlemma!="be|have|do|say|go|make|other"]

Quelle différence y a-t-il entre les options 'cumulatif' et 'densité' de la commande progression ?

La différence est dans la perception de la densité :

  • cumulatif montre une marche par occurrence → le plus précis, ça s'appelle l'histogramme cumulatif ;
  • densité montre l'histogramme lissé des occurrences → moins précis, mais plus intuitif.

A quoi correspond l'indice de spécificité ?

Le calcul de spécificités se lance sur une partition : le corpus est divisé en plusieurs parties. On veut évaluer la sur-utilisation ou la sous-utilisation de mots ou de motifs dans chacune des parties.

La fréquence de ces mots ou motifs serait un premier indicateur intéressant, mais il est trop sensible à la différence de taille entre parties. Une règle de trois, qui rapporte la fréquence à la taille de la partie et nous donnerait une fréquence relative, semble être une bonne solution. On montre cependant, en modélisant mathématiquement la répartition des mots entre les différentes parties, qu’on a un indicateur plus juste avec le calcul des spécificités (Lafon 1980), utilisant une loi hypergéométrique. C'est le calcul implémenté dans TXM. Il permet de mieux rendre compte des écarts de fréquence (entre mots rares et mots très courants) et des écarts de taille de parties.

Le calcul de la spécificité d’un mot dans une partie repose sur les quatre grandeurs suivantes :

  • la fréquence f d’apparition du mot au sein de la partie ;
  • la fréquence totale F d’apparition du mot dans l’ensemble du corpus ;
  • la taille t de la partie (nombre total de mots dans la partie) ;
  • la taille T du corpus complet (nombre total de mots).

Il fournit une probabilité. Un indice de spécificité de « +3 » signifie que le mot avait moins d'une chance sur mille (3 → 1 suivi de 3 zéros = 1 000) d’apparaître dans la partie avec une fréquence f aussi élevée (indice positif → surreprésentation). Autrement dit, si la distribution du mot était aléatoire (selon une loi hypergéométrique), dans 99,9% des cas on aurait observé une fréquence f plus faible ; on a donc une fréquence f plus élevée de façon statistiquement significative avec un seuil de risque de 0,1%.

Et conventionnellement, un indice de spécificité négatif pointe de la même façon une sous-représentation. Ainsi, un indice de spécificité de « -6 » signifie que le mot avait moins d'une chance sur un million (6 → 1 suivi de 6 zéros = 1 000 000) d’apparaître dans la partie avec une fréquence f aussi faible (indice négatif → sous-représentation). En termes de pourcentage, cela revient à dire que si la distribution du mot était aléatoire (selon une loi hypergéométrique), dans 99,9999% des cas on aurait eu une fréquence f plus forte, soit une significativité statistique avec un seuil de risque de 0,0001%.

Lorsque l'indice atteint une valeur telle qu’il dépasse les capacités de la machine, on le représente dans les tableaux conventionnellement par la valeur 1000, cf. question suivante.

J'obtiens des spécificités de 1000 : est-ce normal ?

Le module actuellement utilisé pour le calcul des spécificités rencontre assez vite la limite des capacités de représentation de la machine, pour les valeurs de spécificité les plus hautes (ce qui correspond à des probabilités très faibles, très proches de zéro). Lorsque le calcul sort des limites de la machine, alors on a choisi d'indiquer conventionnellement “1000” comme valeur de spécificité -valeur nettement au-dessus de celles qu'on arrive à obtenir par le calcul, pour éviter tout risque de confusion.

⇒ Donc : les valeurs de spécificité de 1000 ne correspondent pas à une probabilité de 1 sur 1 suivi de 1000 zéros, mais à un indice supérieur à tous ceux qui ont été calculés, mais indéterminé pour des raisons de limites du calcul.

Les mots dotés d'un indice de 1000 sont interprétables et utilisables : pour une partie donnée, les mots d'indice 1000 sont les mots les plus spécifiques de la partie. On considère aussi comme mots spécifiques de la partie les mots jusqu'à l'indice 3 environ. Attention, les mots d'indice 1000 ne sont pas hiérarchisés entre eux, ils sont “ex-aequo” dans l'état actuel de précision du calcul, il ne faut pas interpréter l'ordre dans lequel ils sont affichés comme un ordre de spécificité (c'est un calcul plus précis qui permettrait de les hiérarchiser).

L'indice conventionnel de 1000 est particulièrement gênant quand on trace des diagrammes en bâtons des spécificités d'un ou plusieurs mots donnés (commande contextuelle, obtenue par clic droit sur une sélection de ligne(s) dans le tableau des spécificités). C'est pourquoi, depuis la version 0.7 de TXM, une option du calcul des spécificités (menu Outils/Préférences/TXM/Utilisateur/Spécificités) permet de choisir la valeur plafond des spécificités : on peut ainsi choisir une valeur plus proche -légèrement au-dessus- des spécificités maximales obtenues par le calcul, pour ne pas “écraser” le diagramme en bâtons. Si certaines spécificités calculées dépassent cette valeur plafond, alors elles sont ramenées à ce plafond, et se confondent alors avec les indices ayant dépassé les limites du calcul : il ne peut pas y avoir d'indice supérieur au plafond fixé.

Pour utiliser ce paramètre, on conseille donc de fixer d'abord le plafond très haut (ex. 1000), d'observer tous les indices obtenus (en triant les colonnes les unes après les autres), de noter la plus haute valeur d'indice (par ex. 15), et de choisir un plafond qq points au-dessus (par ex. 20). Il faut bien sûr veiller à distinguer et indiquer l'interprétation particulière qui doit être faite de cet indice plafonné dans la communication faite des résultats.

Peut-on calculer des spécificités sur des motifs ?

Il y a deux manières de comprendre cette question, mais dans les deux cas on utilisera pour y répondre la possibilité de calculer les spécificités non pas directement pour l'ensemble des mots du corpus (commande Spécificités lancée sur une partition), mais via l'enchaînement Index (sur partition) → Table lexicale → Spécificités, ce qui permet de définir souplement la table sur laquelle lancer le calcul de spécificités.

Premier cas de figure : je veux obtenir les spécificités de toutes les réalisations d'un motif, par exemple de toutes les formes de type NOM+ADJ ou ADJ+NOM.

  • calculer un index sur la partition , et mettre en requête l'équation CQL qui correspond au motif dont on veut étudier les différentes réalisations ; penser à utiliser le paramètre “propriétés” pour choisir la manière de décompter les réalisations (en graphies, en lemmes, en catégories grammaticales…)
  • transformer l'index en table lexicale (clic droit sur l'icone de l'index dans la vue corpus, en marge gauche de la fenêtre) ; on a alors le choix entre les options suivantes (décider en fonction du sens voulu pour l'analyse) :
    • “Utiliser toutes les occurrences” : les marges de la table lexicale seront calculées avec tous les mots du corpus, autrement dit chaque spécificité sera calculée en prenant comme contraste le corpus dans son ensemble ;
    • “Occurrences d'index” : les marges ne seront calculées qu'à partir des occurrences correspondant au motif, autrement dit le corpus est “réduit” à ce qui concerne le motif, la spécificité contraste ce qui se passe pour une réalisation du motif par rapport aux autres réalisations attestées (et seulement par rapport à elles).
  • calculer les spécificités sur cette table lexicale.

Deuxième cas de figure : je veux obtenir la spécificité d'un élément donné (mot, expression composée, construction…).

  • calculer un index sur la partition, et mettre en requête l'équation CQL qui correspond au motif dont on veut calculer la spécificité ;
  • transformer l'index en table lexicale (clic droit sur l'icone de l'index dans la vue corpus, en marge gauche de la fenêtre), et dans la boîte de dialogue qui s'affiche choisir l'option “Utiliser toutes les occurrences” ;
  • la table lexicale s'affiche
  • fusionner toutes les lignes de la table lexicale sauf la ligne #RESTE#
  • calculer les spécificités sur la table lexicale (qui contient 2 lignes) : l'indice de spécificité voulu est celui de la ligne correspondant au motif (l'indice pour le #RESTE# n'a a priori pas d'intérêt).

Remarque : cette procédure s'appuie sur une propriété importante du calcul des spécificités : la spécificité d'un mot dans une partie est déterminée par quatre paramètres : la fréquence f du mot dans la partie, la fréquence totale F du mot dans le corpus, la taille t de la partie, la taille T du corpus. Par conséquent, l'indice de spécificité ne dépend pas du détail des fréquences des autres mots, qui peuvent être aussi bien représentés de façon cumulée sur une seule ligne (la ligne #RESTE#) si l'on ne s'intéresse pas spécialement à eux. L'indice de spécificité du mot dans le tableau en deux lignes est exactement le même que l'indice du mot dans un tableau avec en lignes tous les mots du corpus.

Quel est le calcul utilisé pour les cooccurrences ?

Le calcul des cooccurrences dans TXM est basé sur le calcul des spécificités.

Pour le mot ou motif indiqué en requête (le “pivot” des cooccurrences), et pour la définition de contexte choisie via les paramètres (contexte en nombre de mots ou en structure, ex. phrase(s) ou paragraphe), on construit l'ensemble de tous les contextes des occurrences du pivot. Cet ensemble définit une partie du corpus.

On calcule alors les spécificités de cette partie (constituée de tous les contextes), par rapport à l'ensemble du corpus : le calcul met en évidence les mots qui sont statistiquement sur-représentés dans la partie, c'est-à-dire -vue la manière dont a été constituée la partie- les mots qui sont sur-représenté au voisinage du pivot, qui semblent statistiquement attirés par ce pivot.

Les indices de cooccurrence s'interprètent donc exactement comme les indices de spécificité : un indice de 5 par exemple signifie qu'il y a moins d'une chance sur 100 000 que le cooccurrent ait une fréquence aussi élevée dans les contextes du pivot (indice de 5 → 1 suivi de 5 zéros → 100 000), si la répartition des mots était aléatoire.

Le calcul actuel des cooccurrences dans TXM 0.7 n'est pas exactement conforme à ce qui vient d'être décrit ci-dessus, la version 0.7.1 en cours de préparation corrigera cela.

Tout d'abord, le calcul actuel ne prend en compte que les mots qui sont apparus dans le voisinage du pivot. (Techniquement : le tableau construit pour le calcul de spécificité sous-jacent ne comporte en ligne que les mots apparus dans les contextes du pivot). Concrètement, au niveau du calcul, seul le paramètre T (taille totale du corpus) est modifié, il est sous-estimé. Deux conséquences pratiques : (i) les valeurs d'indice sont plus basses que celles qu'elles devraient être, il faudrait donc considérer aussi les indices faibles (2, 1, 0…) ; (ii) il ne faut pas interpréter les cooccurrences négatives (car il y a beaucoup d'autres mots qui sont encore plus “repoussés” par le pivot et que ne sont pas listés).

Le deuxième écart du calcul actuel par rapport à la présentation ci-dessus, c'est que les contextes de cooccurrences situés à cheval entre deux textes ne sont pas pris en compte comme contextes du pivot dans le calcul. Par exemple, le pivot est le 3e mot du texte, et la fenêtre est de 10 mots de part et d'autre du pivot : le contexte gauche déborde du texte, tout le contexte est alors considéré comme ne faisant pas partie des voisinages du pivot. En règle générale le cas se présente peu ou pas du tout, et l'ordre de grandeur des indices est conservé, -par contre le détail du décompte n'est pas exact, il peut manquer quelques occurrences dans les co-fréquences.

Les cas particuliers où cela peut devenir gênant sont le cas où le corpus est composé de textes (très) courts (relativement à la taille des empans), ou encore le cas où le pivot a une affinité avec le début ou la fin du texte. En pratique, on peut vérifier avec une concordance que le chevauchement de la fenêtre ne se présente pas trop souvent. Préférer si besoin (et si possible) un contexte en structure : par exemple, si les phrases ont été codées dans le corpus, “contexte = phrase” au lieu de “contexte = 10 mots avant et 10 mots après”, car on peut s'assurer ainsi que le contexte ne chevauche jamais une frontière textuelle.

Remarque générale importante : malgré ces deux écarts par rapport au calcul voulu, tous les cooccurrents repérés par le calcul actuel sont bien des cooccurrents au sens du calcul complet ; le risque avec le calcul actuel ce n'est pas de trouver des cooccurrents qui n'en sont pas, ce serait plutôt de manquer des cooccurrents secondaires parce que leur indice est trop affaibli (en revanche on ne manque pas les cooccurrents les plus forts).

Comment lancer une AFC ?

Dans TXM, l'analyse factorielle s'applique pour le moment à une table croisant les parties d'une partition et des mots (ou des réalisations de motifs CQL). Il y a deux voies principales pour lancer l'AFC, selon qu'on veut focaliser ou non le choix des mots.

1) Première voie : pas de focalisation particulière sur certains mots

L'AFC est appliquée sur le Tableau Lexical Entier (éventuellement seuillé en fréquence ou en nombre de lignes), comme on le fait par exemple dans Lexico 3. Dans TXM, on fait cela en sélectionnant une partition et en appelant directement le calcul d'AFC (par le menu contextuel clic droit, ou par le menu principal “Outils”, ou par l'icône correspondante dans la barre de fonctions).

2) Deuxième voie : choix des mots à prendre en compte dans le calcul

Il s'agit d'appliquer l'AFC à une table croisant les parties avec une sélection de mots, comme on le fait par exemple dans Hyperbase avec la fonction liste. Le calcul de l'AFC requiert alors l'enchaînement de trois fonctionnalités : Index, puis Table lexicale, puis AFC.

Sélectionner la partition et demander la fonction Index. La table est vide initialement, on la remplit en choisissant une propriété (veut-on une table de graphies, de lemmes, de pos…) et en définissant un filtre sélectionnant les occurrences à considérer. On n'a pas la possibilité d'ajouter des lignes peu à peu (le lancement d'une nouvelle requête efface et remplace les lignes précédentes), mais on peut obtenir le même résultat en construisant une requête plus longue : au lieu d'entrer successivement “équation CQL 1” puis “équation CQL 2” puis “équation CQL 3” etc., on entre directement :

(équation CQL 1) | (équation CQL 2) | (équation CQL 3) etc.
Les parenthèses délimitent chaque sous-sélection ; le trait vertical (caractère “pipe”) signifie un opérateur OU (non exclusif : il suffit qu'une occurrence corresponde à l'une des équations CQL 1 ou 2 ou 3 pour qu'elle soit sélectionnée). Si les sous-sélections se trouvent sélectionner certaines occurrences en commun, le calcul les dédoublonne (chaque occurrence du corpus n'est comptée qu'une fois).

Une fois obtenues les lignes voulues, on doit convertir l'index en table lexicale pour pouvoir lui appliquer le calcul d'AFC ou de spécificités. Pour cela, on utilise le menu contextuel (clic droit sur l'index correspondant dans l'arborescence des corpus, à gauche) ou l'icône de la barre en haut de la fenêtre pour lancer sur cet index la fonctionnalité table lexicale, qui effectue la conversion. L'interface de la table lexicale permet si on le souhaite d'affiner la table obtenue par l'index. Des paramètres permettent de retailler le tableau :

  • en fusionnant ou supprimant des colonnes (parties)
  • en fusionnant ou supprimant des lignes (mots)
  • en filtrant les lignes en éliminant des basses fréquences : soit par un seuil sur une fréquence minimale, soit en indiquant le nombre de lignes qu'on veut garder (par exemple les 300 mots les plus fréquents).

Une fois le tableau souhaité obtenu, on appelle l'AFC sur la table lexicale, en sélectionnant la table lexicale dans l'arborescence Corpus (à gauche de la fenêtre) et sélectionnant AFC dans le menu (contextuel ou principal) ou en cliquant sur l'icône AFC dans la barre d'outil.

Sous Mac, quand je veux afficher un graphique, TXM se ferme sans prévenir

Sous Mac OS X 10.9, la librairie 'X11' que R utilise pour produire des graphiques (Informations sur partition, histogramme des spécificités, plan d'AFC) n'est plus installée par défaut. Il faut alors installer manuellement son équivalent 'xQuartz' à l'aide de l'installeur téléchargeable sur le site officiel http://xquartz.macosforge.org et l'installer (il faudra se reconnecter à son compte personnel d'ordinateur pour que les changements prennent effets).

Où trouver de l'information sur R ?

Comment afficher les messages de debug de TXM ?

Pour afficher plus de messages d'exécution dans TXM il faut :

  • se rendre dans la page de préférence “TXM > Avancé”
  • sélectionner le niveau de détails du journal “WARNING”
  • sélectionner l'option “Afficher la stacktrace”
  • sélectionner l'option “Ajouter des commentaires techniques”

Comment disposer de plus de place pour l'affichage des résultats ?

On peut très simplement profiter de tout l'espace de la fenêtre TXM pour afficher les résultats, en double-cliquant sur le nom de l'onglet : les zones marginales de navigation et de messages se retirent au profit de la zone des résultats. Pour revenir à l'affichage des trois zones, double-cliquer à nouveau sur le nom de l'onglet.

Peut-on afficher simultanément, côte à côte, plusieurs résultats ?

Oui, on utilise pour cela les facilités du gestionnaire de fenêtre (cf. manuel).

Le principe est de cliquer gauche sur l'onglet d'un des résultats concernés, de maintenir cliqué tout en déplaçant le curseur vers le bord de la zone vers lequel on veut afficher ce résultat (par ex. à droite ou en bas), et de relâcher le bouton de la souris quand le curseur devient une flèche épaisse touchant le bord et que se dessine le contour d'une nouvelle zone occupant une moitié de la zone actuelle. La taille des deux zones ainsi obtenues peut être ajustée en déplaçant la frontière (cliquer sur la frontière pour la saisir et la déplacer). La manoeuvre peut être répétée jusqu'à obtention du nombre et de la disposition des zones voulus.

Comment récupérer une zone de la fenêtre TXM, par exemple la zone Console si on l'a fermée ?

En général, en bas à gauche de la fenêtre TXM on a une petite icône avec un '+' (plus) jaune, qui permet d'ouvrir d'autres vues. Après avoir cliqué sur l'icône, une fenêtre s'ouvre avec une arborescence où sélectionner les vues à afficher (celles qui sont déjà affichées sont en grisé). La Console se trouve dans la rubrique “General”.

Sinon le sous-menu “Affichage” / “Vues” donne directement accès à l'ouverture de différentes vues fermées. Le sous-menu “Affichage” / “Vues” / “Autres…” donne accès à toutes les vues disponibles. Par exemple, l'affichage de la Console est accessible par le sous-menu “Affichage” / “Vues” / “Autres…” / “General” / “Console”.

Comment ouvrir dans un tableur l'export d'un tableau de résultats de TXM ?

Si ce n'est déjà fait, commencer par aller régler les paramètres de l'export : Menu Outils / Préférences et naviguer dans l'arborescence : TXM / Utilisateur / Export Ajouter le guillemet double droit (”) comme séparateur de texte (cela devrait être la valeur par défaut -bug de la v0.6). (Vous pouvez aussi ajuster si besoin le séparateur de champs en fonction du tableur que vous utilisez, en remplaçant par exemple le point-virgule par la virgule -voir en fonction de vos premiers essais.)

1) Pour ouvrir le fichier dans openoffice Calc :

  • nommer le fichier avec l'extension .csv ;
  • double-cliquer dessus pour l'ouvrir avec Calc ;
  • régler si besoin les paramètres d'import :
    • séparateur de champs : point-virgule pour TXM 0.6 (tabulation pour TXM 0.5) ; séparateur de texte : ”
    • type de colonne : texte pour la première colonne (mots), anglais US pour les autres (nombres) (pour éviter que Calc ne reconnaissance abusivement des dates).

2) Pour ouvrir le fichier dans microsoft office Excel :

stratégie n°1 (testée dans un office 2003 sous windows)

  • commencer par lancer excel.
  • Passer par les menus pour ouvrir le fichier résultats de TXM : Données > Données externes > Importer des données, et là naviguer jusqu'au fichier .csv résultat de TXM et valider ;
    • Cela lance un assistant d'importation de texte qui me permet de faire tous les bons réglages (encodage, séparateur de colonne, etc.), cf. étapes décrites dans la stratégie n°2 ci-après.

stratégie n°2

  • nommer le fichier avec l'extension .txt ;
  • lancer excel ; dans excel, faire Fichier/Ouvrir et sélectionner le fichier (régler “types de fichier” à “Tous les fichiers *.*” pour pouvoir le voir).
  • on peut alors régler les paramètres d'import :
    • étape 1 : fichier “délimité”
    • étape 2 : séparateurs : point-virgule pour TXM 0.6 (tabulation pour TXM 0.5) ; identificateur de texte : ”
    • étape 3 : format des données en colonne : choisir Texte pour la première, et dans les réglages “Avancé” choisir le point comme séparateur de décimales et décocher le “signe moins à la fin des nombres négatifs”.

Dans mon export de spécificités, je n'ai pas les mêmes valeurs d'indice que dans le résultat affiché, est-ce normal ?

Les valeurs des indices de spécificités sont arrondies pour l'affichage dans TXM, et plus détaillées (décimales et non plus entières) dans l'export.

Je ne comprends pas le tableau obtenu par l'export des spécificités (TXM 0.5)

En TXM 0.5 il y a effectivement plusieurs différences importantes entre le tableau résultat affiché dans TXM et le tableau résultat exporté :

  • l'ordre des colonnes est l'ordre alphabétique pour le résultat dans TXM, mais pour l'export il est arbitraire et est identique à celui des colonnes dans toutes les autres fonctions sur la même partition (résultat d'index, ou affichage de diagramme en bâtons, ou table lexicale, etc.) ;
  • dans le tableau exporté, il n'y a plus la fréquence totale de chaque mot, en revanche il y a l'indication de la fréquence locale dans chaque partie. La fréquence globale peut être rétablie en utilisant les fonctions du tableur pour insérer une colonne additionnant toutes les colonnes des fréquences locales.

Une fois ces difficultés gérées, il peut être pratique aussi de chercher toutes les valeurs “Infinity” et les remplacer par 1000 pour avoir des colonnes homogènes, tout en nombres.

Mais l'export des spécificités est beaucoup plus clair avec la version 0.6 de TXM (on retrouve les mêmes colonnes que dans l'affichage, avec le même ordre, et avec leur nom en entête), cela peut valoir le coup de changer de version de TXM !

Comment récupérer mes corpus au format TXM binaire pour pouvoir les communiquer à un collègue ?

Dans TXM 0.5 ou versions précédentes, il s'agit simplement de copier le répertoire créé dans le répertoire personnel de TXM quand le corpus a été importé. D'après le manuel (section 3.4.2 Importer, exporter, charger des corpus) le répertoire en question est situé à $HOME/TXM/corpora/<nom du corpus>, où $HOME représente le chemin du répertoire personnel de l'utilisateur.

Il suffit de transmettre tel quel ce répertoire (dans une archive compressée souvent) pour pouvoir être re-chargé directement.

A partir de la version 0.6, c'est plus direct : il suffira d'utiliser la commande d'export de corpus, qui génère directement une archive compressée.

Comment alléger un corpus au format TXM binaire ?

On peut alléger le binaire en supprimant les sous-répertoires suivants :

  • txm
  • ptokenized
  • tokenized
  • stokenized
  • treetagger
  • annotations
  • wtc.

Comment faire pour re-importer un tableau .csv exporté de TXM ? Autrement dit, puis-je reprendre mes travaux après avoir quitté TXM ?

D'une façon générale les résultats de calcul sont perdus quand on quitte TXM, seuls les sous-corpus et les partitions sont conservés. On reconstruit dont les résultats qu'on veut retrouver, en notant les paramètres du calcul pour le relancer à l'identique et reconstruire le même tableau.

Les tables lexicales font exception en bénéficiant d'une possibilité de sauvegarde depuis la version 0.7, mais en l'état actuel cette fonctionnalité est encore insuffisamment documentée et peu intuitive. Le principe est de conserver la table dans un fichier en l'exportant, puis de la récupérer dans une nouvelle session de TXM en l'important.

Voici la procédure de sauvegarde de la table lexicale :

1) Exporter une table lexicale : Attention, ce n'est pas la commande export habituelle qu'il faut utiliser -celle qui sert à récupérer la table pour l'afficher dans un tableur comme Calc et Excel. C'est un autre export (au format R), qui est accessible en faisant un clic droit sur une des cellules de la table elle-même : commande “exporter la table”. Vous enregistrez alors votre fichier (comme extension vous pouvez lui mettre .csv).

2) Importer une table lexicale : Il vous faut préalablement créer une table lexicale quelconque sous la même partition. Ensuite, par un clic droit sur une cellule de cette table, vous retrouvez dans le menu contextuel qui s'ouvre la commande “Importer une table”, vous indiquez alors le fichier contenant la table que vous aviez exportée : celle-ci va remplacer le contenu de la table courante.

Attention : les modifications que vous effectuez sur la table dans TXM ne sont pas enregistrées dans le fichier depuis lequel vous avez importé la table. Donc si vous voulez enregistrer les modifications faites lors d'une session il vous faut faire un nouvel export de la table.

Remarque : Dans les anciennes versions de TXM (0.7, 0.7.1), il y a un bug sur les entêtes de colonnes : le premier caractère de chaque nom est modifié ou retiré. Solution pour contourner ce bug : au moment où vous exportez la table, celle-ci s'affiche dans un nouvel onglet. Vous pouvez alors ajouter une *lettre* au début de chaque intitulé de colonne. Par exemple, si la première ligne du fichier est :

"DeGaulle" "Pompidou"
vous la modifiez en
"XDeGaulle" "XPompidou"
et vous sauvegardez le fichier (icône habituelle dans la barre d'outils, ou ctrl-s). L'import de la table devrait alors restituer les intitulés de colonne attendus.

D'où viennent les membres de la liste txm-users ?

public/faq.txt · Dernière modification: 2014/04/16 10:19 par sebastien.jacquot@univ-fcomte.fr