YAKWA : un concordancier sur textes étiquetés
Ludovic Tanguy - ERSS / Université de Toulouse II


 

Descriptif :

Yakwa est un outil de recherche de séquences dans des corpus étiquetés. Il vous permet de rechercher des phrases et/ou des paragraphes contenant une séquence définie par des marqueurs.
Ces marqueurs peuvent être :
    Des formes lexicales (tronquées, exactes, etc.)
    Les formes canoniques des unités lexicales du texte
    Des catégories morpho-syntaxiques
    Des disjonctions des trois premiers types de marqueurs
    Une conjonction de marqueur lexical et de marqueur morpho-syntaxique
    Une négation d'un des types de marqueurs précédents
    Des jokers (autorisant un certain nombre de mots entre deux marqueurs)

Exemples :

    Il est possible de rechercher avec Yakwa :

    Formes simples :

    Les occurrences de "exemple"
    Les occurrences de mots dont la forme canonique est "exemplifier" (toute forme conjuguée, ou un participe)
    Les occurrences du Nom "ferme"
    Les noms finissant par "age"
    Les verbes ou les noms commencant par "pré"

    Séquences :

    Une occurrence de "petit" suivi de "exemple"
    Un verbe suivi d'une conjonction de subordination
    Un nom suivi, dans les 6 mots qui le suivent, d'un adverbe de négation
    Un déterminant, une séquence d'éventuels adjectifs qualficatifs, puis un nom.
    Un substantif, pour lequel le premier verbe à sa droite est à l'imparfait

  Gadgets :

    Pour affiner vos requêtes, vous avez la possibilité de :
        ignorer ou non la poncutation
        rechercher des séquences se trouvant uniquement en début de phrase ou de paragraphe
        rechercher des schémas de répétitions d'unités lexicales, du genre "trop de N tue le N" dans une phrase ou un paragraphe

Quelques copies d'écran

La documentation en ligne

Fiche technique :

Ce dont vous avez besoin :

Un étiqueteur de corpus au niveau morpho-syntaxique.

Par défaut, YAKWA s'attend à travailler sur des textes produits par l'analyseur Cordial Universités, vendu par la société Synapse Développement pour le français, et par TreeTagger de Helmut Schmid, de l'université de Stuttgart pour l'anglais. Il est toutefois possible d'utiliser les résultats d'autres étiqueteurs comme :

Et de l'utiliser pour d'autres langues. Toutefois, un travail d'adaptation (scripts de conversion) est à prévoir...

Un serveur de base de données MySQL

Cet outil est gratuit, disponible pour les platformes Windows et Unix. Vous pouvez vous le procurer sur le site www.mysql.com. Toute version supérieure à la 3.22 devrait convenir.

Un interpréteur Perl

Pour le serveur uniquement. Toutes les  versions 5.005 et suivantes de Perl fonctionnent sous Unix. Pour installer un serveur sous Windows, voir plus loin.
Perl sert à la fois à préparer les corpus (indexation, mise au format spécifique, etc.) et est partie intégrante du moyeur de recherche.

Un environnement JAVA

Pour le client uniquement.  Yakwa utilise la version 1.3 de Java. Un environnement Java pour tout type de plateforme est disponible gratuitement sur le site de Sun :
java.sun.com

Un corpus, bien sûr...

Nous n'avons pas effectué de test avec des textes de taille supérieure à 300.000 occurrences. Il est donc conseillé, en tout état de cause, de découper les corpus respectables en textes de 500.000 mots environ. La taille des textes est linéairement influente sur la durée du traitement des requêtes.
 

Un outil en réseau

Pour des raisons historiques, YAKWA est un outil client/serveur. Cela veut dire que le travail d'interrogation se fait sur une seule machine, qui contient le moteur de recherche et les corpus, et qui peut être utilisé par différentes machines clientes. Ceci simplifie la tâche de gestion des corpus, et d'installation de YAKWA. Mais surtout, cela permet d'utiliser YAKWA sur des machines peu performantes (qui se contentent de gérer l'interface utilisateur).
Il est très fortement recommandé de disposer d'une machine UNIX pour ce serveur. Les clients, par contre, peuvent être des machines fonctionnant sous Windows. (95, 98, 2000, NT, etc.), ou des machines UNIX (Linux, Solaris, etc.). Il n'y a pas de raison fondamentale pour que cet outil ne fonctionne pas sur Macintosh, mais je n'ai pas encore essayé...
 

Ce que vous n'avez pas forcément envie de savoir

Yakwa est un outil qui en est encore au stade expérimental, et dont les performances sont assez moyennes en terme de rapidité de traitement des requêtes. La partie indexation est entièrement laissée au moteur SQL, qui effectue une première étape de "dégrossissage" dans le corpus, et ne sélectionne que les phrases/paragraphes susceptibles d'abriter la séquence cherchée. La recherche fine se fait à l'aide d'un automate écrit en Perl, ce qui n'est pas ce que l'on fait de mieux en terme de rapidité...
 

Détails, remerciements, disponibilité

Yakwa est un outil dont l'origine remonte à la fonctionnalité de "Text Profiling" de la plateforme DiET développée lors du projet Européen du même nom.
Je remercie donc l'ISSCO de m'avoir permis de faire évoluer cet outil et de l'avoir renommé, et Tillmann Wegst  du DFKI à Saarbrucken qui a permis sont intégration dans DiET.

Références :

Disponibilité :

Yakwa est disponible gratuitement pour toute utilisation non commerciale. Télécharger Yakwa

Pour plus d'information, contactez

Ludovic.Tanguy@univ-tlse2.fr