Accueil - Home arrow ConcQuest arrow Documentation 28-02-2020  
 
 

 

 
Main Menu
Accueil - Home
Qui suis-je - Who am I
Cours
Recherches - Research
Alinea
Multi-Aligneur JAM
ConcQuest
AnaText
WebAlignToolkit
Chercher sur le site
Corpus multilingues - Multilingual corpus
Perl Corpus Processor (PCP)
Notes en vrac

 

 
Documentation de ConcQuest Convertir en PDF  | Version imprimable |  Suggérer par mail


ConcQuest V 2.0 - Mode d'emploi

1. Installation

Plate-formes prises en charge :

  • Win2000/NT/XP

  • Linux

Installation : décompresser l'archive ConcQuest.zip dans un dossier, avec ses fichiers dépendants (header.htm, tagsets.txt)

 

2. Utilisation

ConcQuest s'utilise en mode ligne de commande. La commande peut être enregistrée sous Windows dans un fichier batch (portant une extension .bat) ou dans un fichier .sh sous Linux.

ConcQuest connaît 4 modes de fonctionnement :

  • requête monolingue

  • requête bilingue

  • création d'un fichier compilé

  • extraction d'un lexique bilingue


3. Requête monolingue

Arguments

Dans le mode « Requête monolingue » ConcQuest nécessite trois arguments :

concquest INPUTFILE CONCORDFILE QUERYFILE [options]

INPUTFILE est le nom du fichier à dans lequel on effectue la recherche

CONCORDFILE est le nom du fichier résultat

QUERYFILE est le nom du fichier contenant les requêtes

Par exemple :

concquest darwin13.txs conc.txs query.prendre.txt

permet d'écrire dans le fichier conc.txs toutes les phrases de darwin13.txs qui contiennent la requête définie dans le fichier query.prendre.txt (p.ex. <lemma=prendre>).

 

Structure du fichier INPUTFILE

Chaque ligne du fichier INPUTFILE doit contenir 3 colonnes (séparées par des tabulations) :

 

1/ le nom du fichier en langue 1

2/ le format du fichier en langue 1

3/ le tagset du fichier en langue 1

Exemple de contenu de INPUTFILE

whr95.en.dat → dat → tagset0
CHEMO.en.dat → dat → treetagger

 

Structure du fichier QUERYFILE

Ce fichier contient une liste d'expression de requêtes séparées par des retours chariots. Par exemple :

<lemma=être><tags=ppass>
<lemma=avoir><tags=ppass>

Il est possible de faire figurer sur une même ligne deux requêtes séparées des tabulations et connectées par les booléen AND / OR

<blanc>→AND→<noir>¶

Dans ce cas, seules seront renvoyées les phrases contenant à la fois « blanc » et « noir » (quel que soit l'ordre des expressions). En outre les statistiques de coocurrences seront calculées afin de mesurer l'indice d'association des deux expressions.

<blanc>→OR→<noir>¶

Dans ce cas, toutes les phrases contenant « blanc », « noir » ou les deux seront renvoyées. Mais les statistiques de cooccurrences seront calculées comme dans le cas précédent (à la différence de requêtes figurant sur des lignes différentes).

Options

concquest INPUTFILE CONCORDFILE QUERYFILE [-in (dat|ces|txt|xml)] [-encoding (utf-8|iso-latin-1|unicode)][-out (htm|htm2|xml|txt)] [-filelist] [-tagset TAGSET] [-max MAX] [-maxparse MAXPARSE] [-taillemax TAILLEMAX] [-alea ALEA] [-index1 (CGL1|L1|CDL1|CGL2|L2|CDL2)] [-index2 (CGL1|L1|CDL1|CGL2|L2|CDL2)] [-keystat1 (o|b)] [-keystat2 (o|b)]


  • option -in : permet de déclarer le format du fichier en entrée. Par défaut, ConcQuest lit le format txs (xml). Les formats suivants sont reconnus par ConcQuest :

    • txs : format xml étiqueté (version compacte de cesAna)

    • txt : texte brut

    • dat : fichier compilé au format interne de ConcQuest. Utilisé un fichier compilé permet d'accélerer le processus de recherche.

    • ces : format cesAna

    • ttg : format de sortie de treeTagger

    • syn : format de sortie de Syntex

Prochainement :

    • co : format de sortie de cordial

    • tmx : format TMX

  • option -encoding : permet de déclarer l'encodage des caractères du fichier en entrée : utf-8, iso-latin-1, unicode 16 bits.

  • option -out : permet de déclarer le format du fichier de concordance en sortie.

    • ces : format cesAna

    • htm : format html

    • xml : format xml étiqueté (version compacte de cesAna)

    • txt : texte brut

  • option -filelist : avec ce paramètre, l'argument INPUT représente un nom de fichier contenant la liste des noms de fichiers à traiter.

  • option -tagset : indique le nom du tagset utilisé dans l'étiquetage. Les correspondances de tagset sont enregistrées dans le fichier tagsets.txt (sous la forme de trois colonnes séparées par des tabulations, dont la première colonne contient le nom du tagset, la deuxième le nom du tag normalisé dans les requêtes (tagset0) et la troisième le nom du tag utilisé dans le tagset).

  • option -max : la valeur numérique MAX indique le nombre maximal de phrases pouvant être renvoyées par la recherche.

  • option -maxparse : la valeur numérique MAXPARSE indique le nombre maximal de phrases à analyser pour rechercher les expressions. Par exemple, si MARPARSE=1000, seule les 1000 premières phrases seront analysées.

  • option -taillemax : la valeur numérique TAILLEMAX indique la taille maximale des phrases à analyser. Toutes les phrases d'une taille supérieure (en nombre de mots) sont laissées de côté.

  • option -alea : 1/ALEA exprime la probabilité du tirage aléatoire des phrases à analyser. Si ALEA=1, toutes les phrases sont tirées.

  • option -index1 : exprime la clé primaire de tri des résultats. CG1 désigne le contexte gauche de l'expression trouvée, L1 désigne l'expression trouvée, CD1 désigne le contexte droit de l'expression trouvée (CG2/L2/CD2 sont utilisés pour la langue cible dans les requêtes bilingues).

  • option -index2 : exprime la clé secondaire de tri des résultats. CG1 désigne le contexte gauche de l'expression trouvée, L1 désigne l'expression trouvée, CD1 désigne le contexte droit de l'expression trouvée (CG2/L2/CD2 sont utilisés pour la langue cible dans les requêtes bilingues).

  • option -keystat1 : si « o », les statistiques d'occurrence seront calculées pour les formes orthographiques ; si « b », les statistiques d'occurrence seront calculées pour les formes de base (les lemmes).

  • option -keystat2 : si « o », les statistiques d'occurrence seront calculées pour les formes orthographiques ; si « b », les statistiques d'occurrence seront calculées pour les formes de base (les lemmes). Cette option est utile pour les expressions en langue cible (cas bilingue) ou les expressions cooccurrentes données sur une même ligne (avec les connecteurs OR/AND).


Par exemple :

ConQuest listeFichiers.txt concord.txs listeRequetes.txt -filelist -in xml -out txt

permet d'écrire dans le fichier concord.txs toutes les phrases des fichiers listés dans listeFichiers.txt qui satisfont les requêtes listées dans le fichier listeRequetes.txt.

 

4. Requête bilingue

Pour une requête bilingue, il faut spécifier l'option -bi.

Dans ce cas, on se situe automatiquement dans le cas de l'option -filelist :

concquest INPUTFILE CONCORDFILE QUERYFILE -bi [options]

INPUTFILE est le nom du fichier contenant la liste des fichiers à concordancer

CONCORDFILE est le nom du fichier résultat

QUERYFILE est le nom du fichier contenant la liste de requêtes

 

Structure de INPUTFILE

Chaque ligne du fichier INPUTFILE doit contenir 7 colonnes (séparées par des tabulations) :

 

1/ le nom du fichier en langue 1

2/ le format du fichier en langue 1

3/ le tagset du fichier en langue 1

4/ le nom du fichier en langue 2

5/ le format du fichier en langue 2

6/ le tagset du fichier en langue 2

7/ le nom du fichier d'alignement (format cesAlign)

Exemple de contenu de INPUTFILE

whr95.en.dat → dat → tagset0 → whr95.fr.dat → dat → tagset0 → whr95.en-fr.ces
CHEMO.en.dat → dat → treetagger → CHEMO.fr.dat → dat → treetagger → CHEMO.en-fr.ces

 

Structure de QUERYFILE

Dans un fichier de requête bilingue, on sépare par une tabulation la requête visant la langue 1 et la requête visant la langue 2. Une des deux requêtes peut être vide.


La définition sur une même ligne d'une requête pour chaque langue permet de rechercher les couples de phrases satisfaisant l'une ou l'autre des deux requêtes (OU logique).

Si l'on ne veut retenir que les couples de phrases satisfaisant les deux conditions (à la foi), il faut connecter les deux requêtes avec AND, en utilisant des tabulations comme séparateur. Que l'on utilise OR (par défaut) ou AND, les statistiques extraites concernerons les occurrences et les cooccurrences des deux expressions.


La définition sur des lignes distinctes d'une requête pour chaque langue permet de rechercher les couples de phrases satisfaisant l'une des deux requêtes (OU logique). Dans ce cas les statistiques de cooccurrences ne sont pas calculées.

Par exemple :

<langue> <language>¶

permet de rechercher les couples de phrases alignées dont la partie française contient la forme "langue" ainsi que ceux dont la partie anglaise contient "language".

<langue> → AND → <language>¶

permet de rechercher les couples de phrases alignées dont la partie française contient la forme "langue" et dont la partie anglaise contient "language".

On peut également préfixer la requête de la mention L1: ou L2:

L1:<langue>¶
L2:<language>¶

 

5. Compilation d'un fichier

ConcQuest peut précompiler des fichiers sources afin d'accélérer l'extraction des concordances. Pour ce faire, il suffit de préciser le nom du fichier, et d'ajouter l'option -compile.

concquest INPUTFILE -compile [-in (cesalign|xml|txt)] [-encoding ENCODING] [-append]

Un fichier compilé portant le même nom, mais avec l'extension .dat, sera alors créé. Le fichier compilé, bien que plus volumineux (compter un rapport de 1 à 5 entre un fichier txs et un fichier dat), sera traité beaucoup plus rapidement (segmentation, tokenisation, décomposition des tags + indexation par formes et par lemmes).

Options

  • option -encoding : les fichiers dat sont enregistrés, par défaut, en utf8. L'option ENCODING permet de préciser le codage source du texte à compiler.

  • option -append : cette option n'est valide que pour le format cesAlign, et permet d'intégrer de nouveaux couples dans un fichier d'alignement au format .dat existant.

Statistiques des fichiers compilés

Il est possible d'extraire quelques statistiques de base (nombre de phrases et nombre de tokens) d'un fichier compilé.

concquest INPUTFILE -stat

 

6. Langage de requête

Dans ce formalisme, un token est représenté par deux chevrons < >, à l'intérieur desquels on énumère les critères de recherche, sous la forme d'une liste attribut = valeur. Les attributs font référence aux étiquettes morphosyntaxiques liées à chaque token.

Attributs cesAna

Par exemple, en txs, comme en cesAna, on a les attributs suivants :

- orth : Forme orthographique (p. ex. "aidais")
- base : Lemme (forme canonique, p. ex. "aider")
- ctag : Catégorie (ou partie du discours, p. ex. "ver")
- msd : Description en traits morphosyntaxiques (p. ex. "P1 Sg Ind Imp")


On peut aussi utiliser les attributs suivants, plus explicites :

- form : Forme orthographique (p. ex. "aidais")
- lemma : Lemme (forme canonique, p. ex. "aider")
- cat : Catégorie (ou partie du discours, p. ex. "ver")
- tags : Description en traits morphosyntaxiques (p. ex. "P1 Sg Ind Imp")

Dans le cas de textes ne comportant pas d'étiquettes, chaque token se voit affecté l'attribut par défaut : form

Par exemple :

<form=aide> ou <aide> ou aide

désigne "toute occurrence de la forme aide" (form est l'attribut par défaut).

On peut indiquer un lemme en ajoutant le métacaractère % devant :

<lemma=aider> ou <%aider> ou %aider

désigne "toute occurrence du verbe aider, quelle que soit sa forme"

<cat=ver,cat=pers1,tags=singu,tags=iimpa>

désigne "toute occurrence d'un verbe conjugué à la première personne du singulier de l'imparfait


Nota bene : <> désigne un token quelconque


La comparaison des valeurs d'attributs n'est pas sensible à la casse, sauf pour form et lemma :

<lemma=aider,cat=VER> est équivalent à <lemma=aider,cat=ver>

Nota bene : les valeurs d'attributs cat ou tags dépendent de l'étiquetage du corpus. Elles ne sont pas fixées par le formalisme de ConcQuest. Pour le participe passé, par exemple, certains étiqueteurs utilisent partpas et d'autres ppass ou paprt, etc.

Une requête peut également porter sur une suite de tokens :

<lemma=mettre><en><oeuvre>

permet de rechercher des occurrences telles que "mettra en oeuvre" "mise en oeuvre", etc.

Expressions régulières sur les tokens

Les opérateurs d'expression régulière peuvent s'appliquer sur les tokens :

* 0...n occurrences de l'expression qui précède
+ 1...n occurrences de l'expression qui précède
? 0...1 occurrence de l'expression qui précède

(expr1 | expr2) occurrence de expression1 ou expressions2

Par exemple :

%mettre <>? en oeuvre

permet de rechercher des occurrences telles que "mettra demain en oeuvre" "mise en oeuvre", etc.

%mettre <>* en oeuvre

permet de rechercher des occurrences telles que "mettra dès maintenant en oeuvre" "mise en oeuvre", etc.

%mettre <>+ en oeuvre

permet de rechercher des occurrences telles que "mettra sur le champ en oeuvre", mais pas "mise en oeuvre".

%mettre <>* en (oeuvre|route|action)

permet de rechercher des occurrences telles que "mettra en route" "mis en action", etc.

Les expressions parenthésées peuvent être combinées à un niveau de profondeur quelconque. Il est également possible d'indiquer un intervalle pour la répétition d'une expression, grâce aux crochets :

{n} de 0 à n occurrences

{n,m} de n à m occurrences

(do|ré|mi){2,4}

permet de rechercher "do do", "mi ré do", "ré do ré mi", etc.

Expressions régulières sur les attributs

ConcQuest met en oeuvre un formalisme dit de « méta-expressions régilières », c'est-à-dire qu'il permet de combiner deux niveaux d'expressions :

  • le niveau des tokens

  • le niveau des attributs de token

Ainsi, les valeurs des attributs, en tant que chaînes de caractères, peuvent faire l'objet d'expressions régulières : il faut alors encadrer l'expression par deux slashes / /. Par exemple :

</expli(qu|ca).*/>

permet de rechercher des occurrences telles que "explication", "expliquait", "explicatif", etc. (mais pas "explicite"…)

Les opérateurs sont les mêmes : * + ? | {} ( ). Le point . désigne un caractère quelconque. L'antislash \ permet d'échapper les caractères réservés. Les crochets permettent de définir une classe de caractères [aàäA] ('a' ou 'à' ou 'ä' ou 'A') ou un intervalle de caractères [0-9] ('0' ou '1' ... ou '9').

</[sS]\.?[nN]\.?[cC]\.?[fF]\.?/>

permet de rechercher des occurrences telles que "sncf", "s.n.c.f", "SNCF", etc.

Opérateurs lt et gt

Pour exprimer une contrainte sur un attribut numérique, il est possible de recourir aux opérateurs suivant :

  • lt pour inférieur ou égal (lower than ...)

  • gt pour supérieur ou égal (greater than ...)


<cat=adj><termhood gt 50,cat=nom>

permet de rechercher des séquences adjectif-nom pour lesquelles le nom obtient un attribut termhood (valeur de spécificité normalisée à 100 calculée par TermoStat) supérieur à 50.

Sélection des expressions

Quand on veut définir des éléments de contexte, mais sans les sélectionner dans la concordance, on les place entre crochet. Par exemple, si on veut sélectionner des participes passés au féminin entrant dans des passés composés :

[<tags=auxil><cat=adv>?]<cat=ver,tags=/(ppass|femin)/>

Dépendances syntaxiques

Dans le cas de fichiers comportant une analyse des dépendances, tels que les sorties du parseur robuste XIP de Xerox, il est possible d'ajouter des contraintes de recherche concernant ces dépendances. Il convient au préalable d'attribuer des identificateurs (#1, #2, #3, etc.) aux tokens concernés par la relation, puis d'indiquer les relations dans le champ Dépendances. Les relations doivent être exprimées entre parenthèses, avec l'opérateur suivi des arguments séparés par des virgules. Plusieurs relations peuvent être indiquées, séparées par des espaces.

Expr : <lemma=recherche,#1><>*<cat=ver,#2>::(SUJ,#1,#2)

permet de rechercher des occurrences telles que "les recherches sur la conservation se concentrent maintenant sur " ou "La recherche offre donc de nouvelles perspectives", etc.

Dernière mise à jour : ( 01-08-2008 )
 
 
© 2020 Site personnel de Olivier Kraif - Olivier Kraif's Homepage