TACT et TACTweb, logiciels de recherche de données textuelles structurées

Russon Wooldridge & Émilie Devriendt

University of Toronto & École normale supérieure, Paris

© 2001 R. Wooldridge et Emilie Devriendt

Document préparé pour un atelier sur "Organisation et traitement des données numériques, texte et image", Maison des sciences de l’homme et de la société, Poitiers, le 5 mai 2001. Mise à jour (versions opératoires de Windows et "Menu" de TACT) le 29 octobre 2007.

Il faut noter que TACT ne marche que sur PC, et uniquement sous les systèmes d'opération DOS ou Windows jusqu'à et y compris la version 98, alors qu'une base indexée sous TACT peut être consultée sous TACTweb sur le web, quelle que soit la plateforme.

Un tout et des parties

On dit "lire quelqu'un comme un livre". Quelle personne, quel livre? Une Vie? Le Jeune Werther? La Lycéenne? Un tout et des parties séquentielles ou parallèles. La personne, le roman, la pièce; l'âge, le chapitre, la scène; l'aspect ou le rôle, récit et dialogue, personnage et voix. Quel est le vocabulaire d'Eugénie Grandet et quels sont les vocabulaires d'Eugénie Grandet et de Charles Grandet?

Quand on écrit ou qu'on lit un roman, on est conscient d'un ensemble qui se tient, d'une séquence d'actions et d'un tissage de fils conducteurs. Ce sont surtout les fils conducteurs, les thèmes, les leitmotiv, les personnages, les voix, qu'il est difficile de connaître à fond. Il est facile d'établir le vocabulaire d'Eugénie Grandet, mais comment recenser celui de Charles Grandet? Comment caractériser le langage du récit et celui du dialogue chez Georges Simenon?

Le balisage

Quand on a un texte sous forme électronique, on peut y appliquer un balisage explicite, non seulement pour marquer les parties séquentielles (un roman imprimé est le plus souvent lui aussi explicitement balisé en chapitres), mais pour signaler tout autre champ qui semble pertinent, comme le récit ou la voix. Le logiciel TACT – il n'est pas seul à pouvoir le faire – permet d'indexer un texte balisé pour en faire une base de données structurées interrogeable interactivement, de façon à pouvoir extraire des informations portant sur tel ou tel champ donné.

Steele 1991 présente l'exemple d'un corpus à structuration explicite – le théâtre de Shakespeare –, alors que McCarty 1991 parle de structures implicites chez Ovide. Un exemple d'une base comportant un balisage du récit et du dialogue est celui du Chien jaune de Georges Simenon.

Un exemple: Le Prince travesti de Marivaux

Pièce en trois actes. Regardons le début du texte de la pièce (édition des Classiques Garnier) sous deux formes: texte non balisé et texte balisé.

Le texte non balisé

Le texte balisé (gras ajouté)

Les balises

TACT peut indexer un texte balisé ou non balisé. Le nombre de balises, séquentielles et/ou parallèles est sans limite. En revanche un type de balise donné ou, pour être plus exact, une variable donnée doit toujours être présente (elle peut avoir la valeur "0" dans le cas d'une discontinuité textuelle).

Les trois variables retenues dans l'exemple choisi et les valeurs illustrées sont:

1. Texte (ou titre)

2. Division

3. Voix

Préparation du texte pour indexation avec TACT

Le texte peut étre préparé avec n'importe quel logiciel permettant la sauvegarde en format ASCII-DOS. Les balises sont insérées au début de la séquence qu'elles affectent. Donc, balise titre une fois au début de texte; balises division au début de chaque division du texte; balises voix au début de chaque séquence appartenant à une voix donnée. Le texte a les valeurs de chacune des différentes balises-variables précédentes jusqu'a l'occurrence d'une nouvelle balise.

Ainsi, dans l'extrait donné ci-dessus, la séquence "Le Prince travesti" a les valeurs titre=Prince, division=Pré et voix=DID ; la séquence "Hortense ne vient point" a les valeurs titre=Prince, division=1.1, voix=Prcess.

Quelques conseils et remarques:

  • Le maintien de la mise en lignes d'un original saisi manuellement en facilite la relecture.
  • TACT introduit un signe de démarcation du texte indexé chaque fois qu'une ligne dépasse environ 75 caractères (dont lettres, chiffres, ponctuation, espaces).
  • TACT signale une erreur chaque fois que le programme d'indexation rencontre une balise incorrecte, dont balise partagée entre deux lignes de texte, manque d'espace entre variable et valeur, espace avant la variable ou après la valeur, absence de variable ou de valeur:

    Indexation sous MakeBase (programme d'indexation de TACT)

    Une fois la préparation du texte finie, il faut sauvegarder le texte en format ASCII-DOS avec un nom ne pas dépassant huit caractères et l'extension .txt. Par exemple prince.txt. Il ne faut pas le sauvegarder en format .txt pour Windows, par exemple.

    Soit: 1) le fichier prince.txt dans le répertoire c:\data\temp\ ; le fichier default.mks du répertoire copié dans c:\data\temp\ et renommé prince.mks ; les fichiers du logiciel TACT dans le répertoire c:\tact\.

    Il y a deux façons de procéder :

    1. En ouvrant TACT à partir du fichier tact.bat on voit s'afficher à l'écran un "TACT Menu" ; on y choisit "MakeBase" :

    2. On peut aussi faire démarrer MakeBase à partir du "MS-DOS Prompt", en allant dans le répertoire du logiciel TACT et en tapant "makebase" plus le chemin et le nom du fichier à indexer :

    MakeBase: écran principal

    On tape le nom du texte sur la ligne ".TDB Title:".
    On déclare sur la ligne "Starting Ref. Template:" les variables dont on veut voir afficher les valeurs dans les références des occurrences de la base de données:

    Makebase: écran des Alphabetic Characters (touche F2)

    L'alphabet de l'exemple (définition de défaut) comprend les lettres de l'alphabet en minuscule ou majuscule (distinction neutralisée), les chiffres arabes et les signes diacritiques, de sorte que les mots de texte sont rangés par ordre dictionnairique de A-Z (donné entre donne et donnent), puis les chiffres textuels de 0 à 999... Le trait d'union et l'apostrophe sont considérés comme séparateurs (au même titre que la ponctuation). Ainsi les séquences aujourd'hui ou dit-il seront chacune indexées comme deux mots de texte (aujourd, hui, dit, il). On ne parlera pas ici des autres paramètres que l'on peut définir sur cet écran. Quand on a fini de déclarer les "Alphabetic Characters", on appuie sur la touche "Enter"/"Retour" pour revenir à l'écran principal.

    MakeBase: écran des Reference Tags (touche F4)

    Les "Reference Tags", ce sont les balises qui figurent dans le texte à indexer. On doit déclarer comme "Type COCOA", toutes les variables balisées, que celles-ci figurent dans le "Starting Ref. Template" de l'écran ou pas.
  • Le nom de la variable est précisé sur la ligne "TACT ID:",
  • La forme du nom utilisée dans les balises est précisée sur la ligne "Text ID:".
    Quand on a fini de déclarer les "Reference Tags", on appuie sur la touche "Enter"/"Retour" pour revenir à l'écran principal.

    MakeBase: sauvegarde du fichier .mks

    Puisque des changements ont été apportés au fichier contenant la définition de l'alphabet et des balises – prince.mks –, on sauvegarde celui-ci en appuyant sur la touche F5.

    MakeBase: démarrage de l'indexation

    On appuie sur la touche F9.

    Interrogation de la base sous TACT

    Seront données ici un minimum d'informations sur l'interrogation sous UseBase (le logiciel d'interrogation de TACT pour PC), le but du présent document étant de parler plutôt de l'interrogation en ligne sous TACTweb.

    Ouverture de la base

    Interrogation de la base

    La barre menu est activée au moyen de la barre d'espacement; la navigation dans le menu se fait avec les touches flèches.

    "Complete word-list": soit "Select" -> "Complete word-list", soit la touche F3. On sélectionne le ou les mots de texte qu'on veut interroger au moyen de la touche "Ins", puis on les accepte avec la touche "Enter"/"Retour".

    "Displays". On choisit parmi les affichages "KWIC", "Variable context", "Text" et "Distribution". On peut sélectionner plusieurs types d'affichage, et passer de l'un à l'autre avec F7 ("cYcle displays"). On peut modifier les affichages au moyen de la touche F6 ("Modify"). Au moyen de F2 ("Query"), on peut faire les types de requêtes décrites plus loin dans la section sur TACTweb.

    Interrogation de la base sous TACTweb

    Soit la base Marivaux, qui fait partie de la base du Théâtre du XVIIe-XVIIIe s. à http://www.etudes-francaises.net/nefbase/theatre/. Regarder d'abord la page "Notice sur les textes, le texte, les pièces et les voix", ensuite passer au formulaire de requête "En base de données interactive sous TACTweb" et choisir Marivaux dans le menu à droite. Essayer les requêtes proposées dans les Exemples, en explorant les différents types d'affichage.

    Pour le Type d'affichage "Distribution", on a le choix entre "Distribution par pièce" et "Distribution par voix". Par exemple "amour.*" (mots en amour-) + "Distribution par pièce" donne la distribution des mots en amour- dans l'oeuvre de Marivaux ; "amour.*" + "Distribution par voix" montre que ces mots sont surtout fréquents dans les didascalies, puis dans les discours d'Arlequin (qui figure dans 14 pièces) et du Chevalier (dans 9 pièces).

    Pour connaître le vocabulaire de Lisette (17 pièces), on peut faire:

    et choisir comme type d'affichage "Liste de mots". Attention: la requête est lourde et, par conséquent, l'attente de l'affichage des résultats est longue. Les résultats bruts permettent dans une certaine mesure de caractériser le vocabulaire de Lisette : ainsi il est indiqué que sur les 19 occurrences de benêt, 6 sont dans la bouche de Lisette, alors que ses six emplois de beau sont sur un total de 178. De même 5 sur les 9 occurrences de toilette sont le fait de Lisette, contre 5 sur 119 pour tendresse. (Voir liste des mots de texte de Lisette.)

    Pour aller plus loin

    Quelques bases sous TACTweb:

    Un autre tutorial en français sur TACTweb: TACT: manuel et version sur CD-ROM:

    Déchargement de TACT et de TACTweb