SATO 4.4, Manuel de référence (mars 2007; dernière modification en décembre 2008)
Table des matières
Définitions
Ce chapitre définit des termes et composantes syntaxiques utilisées par les diverses commandes de SATO.

Conventions typographiques

Pour la présentation de la syntaxe des commandes SATO, ce manuel utilise les conventions typographiques suivantes.


Lexème et occurrence (type et token)

Nous utilisons le terme forme lexicale, ou plus simplement forme ou lexème, pour désigner les entrées du lexique. Le lexique de SATO est un catalogue rassemblant un exemplaire de tous les mots, grammaticaux ou non, présents dans le corpus soumis au logiciel. Par exemple, le mot «il» ou le nombre «3.1416» pourront apparaître 12, 20 ou 100 fois dans un corpus, mais une seule fois chacun dans le lexique du corpus. On a donc plusieurs occurrences de la forme lexicale dans autant de contextes particuliers. Voilà pourquoi on utilise quelques fois les expressions mot en contexte pour désigner l'occurrence et mot hors contexte pour désigner la forme lexicale. La forme lexicale est aussi appelée type et l'occurrence token.

La notion de forme lexicale s'apparente à celle de forme graphique définie par Lebart et Salem (1994) à ceci près que la chaîne de caractères du fichier source subit une forme de normalisation consistant, en particulier, à convertir les majuscules en minuscules. Cette normalisation implicite peut être neutralisée en faisant précéder la majuscule du caractère de citation (CARACTÈRE CITATION). La marque de cette normalisation est notée comme valeur de la propriété Édition de l'occurrence : maj, pour une majuscule limitée au premier caractère et cap pour une forme lexicale entièrement en majuscules. Ainsi, la notion de forme lexicale se rapproche davantage, linguistiquement, de la notion de forme fléchie du lemme, incluant le lemme lui-même s'il apparaît explicitement dans le texte.

Même si, dans sa forme, le lexique construit par SATO se présente comme une liste de mots à la manière d'un dictionnaire, il se distingue du dictionnaire sous plusieurs aspects.

D'abord, un dictionnaire constitue un répertoire de l'ensemble de la langue, c'est-à-dire qu'il contient la liste relativement exhaustive des mots admis de cette langue. À l'opposé, le lexique de SATO est un répertoire des mots présents dans un corpus de textes particulier. Ainsi on parle du lexique du texte, alors que l'on emploie l'expression dictionnaire de la langue. De plus, le lexique de SATO contient toutes les formes du mot (singulier/pluriel, masculin/féminin, conjugaisons du verbe) contenues dans le corpus. A l'opposé, le dictionnaire ne comporte que des entrées standardisées (lemme)  : par exemple, la forme infinitive du verbe et le masculin singulier de l'adjectif. Aussi, le lexique construit par SATO contient des unités graphiques que l'on ne retrouve pas dans un dictionnaire de langue, par exemple les ponctuations, les nombres, les noms propres et acronymes de toute sorte.


Propriété : définition et limites

Il est possible d'associer aux mots du texte, ou aux formes lexicales, des propriétés à valeur numérique ou symbolique, ou des annotations libres. Ces propriétés sont similaires à des variables dans un tableau de données. Ainsi, chaque ligne du lexique correspond à une forme lexicale, et chaque colonne ajoutée correspond à une variable. Le contenu des cases du tableau lexical correspond à la valeur d'une des variables annotant la forme lexicale de la ligne. Une annotation des mots hors contexte est désignée dans SATO par le terme propriété lexicale.

De façon analogue, SATO utilisera le terme propriété textuelle pour désigner une annotation associée à chacun des mots en contexte (occurrences) . En termes imagés, on peut voir les propriétés textuelles comme des lignes ajoutées au texte original pour permette d'annoter chacun des mots de chacune des lignes du corpus de texte. On peut aussi exporter ces annotations sous forme de tableau : chaque ligne correspond à une occurrence et chaque colonne à une variable.

Si, dans SATO, on peut qualifier une propriété selon sa portée, c'est-à-dire le texte ou le lexique, on peut aussi la distinguer selon le type de ses valeurs. Une propriété sera dite numérique entière si l'on peut lui associer des valeurs entières : 0, 5, 33, etc. Elle sera dite symbolique si elle peut prendre comme valeur un ou plusieurs symboles faisant partie d'une liste fermée de catégories : anglais, français, article, nom, etc. C'est l'utilisateur qui normalement définit cette liste d'éléments. Les propriétés symboliques sont dites ensemblistes parce qu'un ensemble de symboles, ne dépassant pas 64 items par propriété, peut être employé pour catégoriser un item. Enfin, une propriété sera dite en format libre si l'on peut associer un texte quelconque à une occurrence ou à un lexème. La longueur de ce texte ne doit pas excéder 255 caractères.

Pour des raisons d'efficacité, on a dû imposer certaines limites à l'utilisation des propriétés symboliques. Ainsi, le nombre de symboles, ou de combinaisons réalisées de symboles, ne doit pas dépasser 254 pour chaque propriété. En ce qui concerne les propriétés libres, il est possible d'en définir jusqu'à 16 pour le lexique et 16 pour le texte. Le nombre total de propriétés que l'on peut gérer dans la version actuelle de SATO est de 255.


Nom-de-propriété
Syntaxe :
Un nom de propriété peut être composé de lettres, de chiffres et des caractères «-» et «_». Le nom doit commencer par une lettre et ne peut dépasser 16 caractères.

Un nom qui ne diffèrerait d'une propriété existante que par la casse des caractères et l'accentuation n'est pas admissible. Une fois nommée, la propriété peut être désignée par son nom complet ou par son nom tronqué. La troncation consiste à omettre un certain nombre de caractères terminaux du nom. On doit cependant s'assurer de mettre un nombre suffisant de caractères pour désigner la propriété sans ambiguïtés. Par exemple, pour distinguer entre les propriétés «locuteur» et «longueur», il faut utiliser au moins les trois premiers caractères du nom de la propriété.


Valeur-de-propriété-entière
Syntaxe :
Les valeurs des propriétés entières sont des nombres entiers à valeur positive ou nulle. La valeur d'un entier ne peut dépasser 65535.

Valeur-de-propriété-libre
Syntaxe :
La valeurs des propriétés en format libre sont des chaînes de caractères entre guillemets anglais (") dont la longueur ne doit pas dépasser 255 caractères.

Symbole-de-propriété-symbolique
Syntaxe :
Les symboles des propriétés symboliques sont des chaînes de caractères ne dépassant pas 64 caractères. Si un symbole contient des caractères autres que des lettres, des chiffres et les signes - et _, il doit être mis entre guillemets anglais ("). La mise entre guillemets est aussi nécessaire, dans la codification d'un texte, si la fin de la valeur n'est pas marquée par un espace ou un caractère de propriété.

Filtre
Syntaxe :
Filtre-de-caractères[Filtres-de-propriétés]

Le filtre, aussi appelé patron de fouille, permet de sélectionner un ensemble de mots (lexèmes ou occurrences). Un filtre est composé d'une ou de plusieurs unités de filtrage reliées implicitement par l'opérateur logique ET. Un filtre ne doit pas contenir d'espaces.

La première unité de filtrage est un Filtre-de-caractères qui sélectionne les mots qui contiennent les caractères spécifiés.

Les autres unités, les Filtres-de-propriétés, sont facultatives et répétables. Elles sélectionnent les mots en fonction de leurs valeurs de propriété.

Dans le cadre d'un patron de concordance, les filtres possèdent une syntaxe élargie permettant de définir des contraintes supplémentaires de positionnement des occurrences cherchées à l'intérieur des contextes. Cette syntaxe élargie permet aussi d'effectuer une catégorisation en contexte (cf. Filtre-contextuel). De même, dans le cadre de la commande Lexique, les filtres possèdent une syntaxe élargie permettant de sélectionner des formes lexicales en fonction de leur position d'ordre dans le tri alphabétique.

Voir : Filtre (exemples).

Filtres-de-propriétés
Syntaxe :
*{Nom-de-propriété}{Filtre-de-symboles|Filtre-de-propriété-libre|Filtre-de-nombres|Filtre-de-pages}

Les unités de filtrage sur les propriétés sont composées d'une suite de triplets : le nom de la propriété (précédé d'un astérisque), un opérateur de filtrage et un filtre sur les valeurs de la propriété. L'opérateur de filtrage marque la relation logique entre la valeur de la propriété et le contenu cherché et dépend du type de filtre.

Voir : Filtre (exemples).

Filtre-de-caractères

Le filtre de caractères se présente comme une suite de caractères sans espace ni caractère de propriété «*». Certains caractères, souvent appelés joker, sont réservés par SATO avec une signification spéciale :

Signalons aussi qu'on peut, dans un filtre, désigner un caractère Unicode par une entité caractère en format numérique décimale. Voici quelques exemples.

En dehors de ces caractères spéciaux, tous les autres caractères sont considérés comme étant cités, c'est-à-dire qu'ils devront apparaître comme tels dans les mots dépistés.

Ces caractères peuvent aussi être utilisés pour filtrer la valeur d'une propriété symbolique ou en format libre.


Filtre-de-caractères avec expression rationnelle

En plus de la syntaxe SATO de filtrage de chaine de caractères, on a aussi la possibilité d'utiliser la syntaxe des expressions rationnelles telle qu'on la retrouve dans le langage Perl. Cette syntaxe est beaucoup plus complexe que la syntaxe SATO standard. Mais, elle est aussi plus beaucoup plus puissante. Elle fournit notamment des opérateurs de classes de caractères. On trouvera la documentation en anglais sur la libraire PCRE (Perl-compatible Regular Expressions) dans le document suivant : pcrespec.html.

Le filtrage PCRE peut être utilisé partout où il possible d'appliquer un filtre de caractères SATO. Un filtre de caractères qui commence par une virgule indique que le patron qui suit est de type Perl. Le patron lui-même est encadré par un caractère délimiteur qui ne doit pas être utilisé dans l'expression régulière. Par exemple, ,/[^aou]/*Fréqtot>1 est un filtre qui comprend une expression rationnelle encadrée par le caractère /. Dans l'exemple, l'expression rationnelle [^aou] aurait pour effet de repérer tous les mots qui ne possèdent aucune des trois voyelles a o u. L'expression rationnelle est complétée par un filtre SATO sur la valeur de la propriété Fréqtot et qui indique que la fréquence dans le corpus des mots sélectionnés doit être supérieure à 1.


Filtre-de-symboles

Le Filtre-de-symboles s'applique aux propriétés symboliques. Il fait appel à un Filtre-de-caractères qui s'applique aux symboles de la propriété. Le filtre de caractères doit être précédé d'un des opérateurs suivants :

Comme les propriétés symboliques sont des propriétés ensemblistes, l'opérateur = (et sa négation ~) s'interprète comme un prédicat d'appartenance que l'on pourrait traduire par la phrase suivante: est-ce qu'au moins un des symboles désignés par le filtre de caractères fait partie de l'ensemble des symboles attribués au lexème ou à l'occurrence filtrée? Par exemple, la requête
LEXIQUE AFFICHER $*gramr=(nomcommun,verbe)
sélectionne les lexèmes qui possèdent au moins la valeur nomcommun ou verbe pour la propriété gramr.

L'opérateur == (et sa négation ~~) est un prédicat d'égalité ensembliste que l'on pourrait traduire par la phrase suivante: est-ce que la liste des symboles désignés par le filtre de caractères est exactement identique à la liste des symboles attribués au lexème ou à l'occurrence filtrée? Par exemple, la requête
LEXIQUE AFFICHER $*gramr==nomcommun
sélectionne les lexèmes qui ont la valeur unique «nomcommun» pour la propriété gramr.

De la même façon, les opérateurs < et > font appel à la notion de sous-ensemble et de sur-ensemble. La notion de sous-ensemble pourrait traduire de la façon suivante : est-ce que tous les symboles attribués au lexème ou à l'occurrence filtrée font partie de la liste des symboles désignés par le filtre. La notion de sur-ensemble pourrait traduire de la façon suivante : est-ce que tous les symboles désignés par le filtre se retrouvent dans la liste des sysmboles attribués au lexème ou à l'occurrence filtrée?

Par exemple, la requête
LEXIQUE AFFICHER $*gramr<(nomcommun,verbe)
sélectionne les lexèmes qui possèdent, pour la propriété gramr, la valeur nomcommun ou verbe ou les deux, mais aucune autre. De même, la requête
LEXIQUE AFFICHER $*gramr>(nomcommun,verbe)
sélectionne les lexèmes qui possèdent, pour la propriété gramr, au moins les valeur nomcommun et verbe.


Filtre-de-propriété-libre

Le Filtre-de-propriété-libre s'applique aux propriétés en format libre. Il fait appel à un Filtre-de-caractères qui s'applique à la valeur de la propriété. Le filtre de caractères doit être précédé d'un des opérateurs suivants :


Filtre-de-nombres

Le Filtre-de-nombres est utilisé pour désigner des intervalles numériques en général. Voici quelques exemples:

Le filtre est composé d'un nombre précédé, s'il y a lieu, des opérateurs < ou >. L'opérateur «$» désigne tous les entiers.

L'opérateur est ensuite suivi du nombre sur lequel il s'applique. On peut répéter le couple opérateur-nombre. Les opérateurs permis sont alors les suivants:

Dans le cas où le Filtre-de-nombres est appliqué à un propriété numérique, il est obligatoire que le nom de la propriété soit immédiatement suivi d'un des opérateurs suivants:

Il ne doit pas y avoir d'espaces à l'intérieur d'un filtre de nombres.


Filtre-de-pages

La propriété page supporte des valeurs composites correspondant à une structure référencielle hiérarchique. Ces valeurs sont formées d'une chaîne de caractères conforme à la syntaxe d'un nom de fichier et d'une suite de trois nombres entiers positifs, chacune de ces composantes étant séparée de la suivante par la barre oblique /. Ces quatre informations s'interprètent comme étant respectivement le nom du document, le numéro de la page dans ce document, le numéro de la ligne dans cette page et, finalement, le numéro du mot dans cette ligne.

Le nom du document fait appel à un Filtre-de-caractères, tandis que les composantes numériques font appel au Filtre-de-nombres. Il n'est pas nécessaire d'avoir une séquence maximale de filtrage à quatre composantes. Si la composante du numéro du mot est absente, l'ensemble des mots de la ligne sera retenu. Si les composantes de numéro du mot et ligne sont omises, l'ensemble des mots de la page sera sélectionné. Enfin, si les composantes de numéro du mot, de ligne et de page sont omises, l'ensemble des mots du document sera filtré.

Les opérateurs de relation qui s'appliquent à la propriété page sont les suivants.

L'opérateur = désigne l'ensemble des occurrences sélectionnées par le filtre tandis que les opérateurs < et > désignent, respectivement, les occurrences qui viennent avant ou après le premier ou le dernier mot sélectionné dans l'ordre séquentiel du texte.


Filtre (exemples)

Voici quelques exemples de filtrage sur les caractères:

Exemples de filtrage impliquant des propriétés:


Extrait

Les touches [ et ] du menu de catégorisation permettent de définir des extraits de texte. Pour définir un extrait, on doit sélectionner le premier et le dernier mot de l'extrait on doit procéder en deux temps. Pour ce faire, on se positionne sur un mot affiché à l'écran et on appuie sur [ ou ] selon qu'il s'agisse du début ou de la fin de l'extrait. Une fois que l'on a défini les frontières du début et de fin de l'extrait, on en indiquant la fin du bloc et ensuite son début. La touche bloc-extrait du menu de catégorisation permet finalement de sauvegader le bloc courant sous forme d'extrait numéroté (de 1 à 10).


Suffixes de fichiers compris par SATO

Le programme SATO reconnaît un certain nombre du suffixes de fichiers. Aussi, certaines applications développées à l'aide de SATO utilisent des suffixes particuliers. En voici une description sommaire.

Suffixes de fichiers compris par SATO

.bdl dictionnaire indexé
.cal rapport SATO-calibrage
.csa scénario de commandes SATO
.dic dictionnaire séquentiel
.fsi propriétés libres d'un corpus
.ini catalogue des propriétés d'un corpus
.jou journal cumulatif
.lis listage
.pco propriété commentaire d'un corpus
.pro propriétés symboliques et entières d'un corpus
.pag catalogue des pages d'un corpus
.sat corpus-source
.tex partie non modifiable d'un corpus
.som indice SATO-calibrage
.sta résultats des décomptes statistiques
.txt textes-sources pouvant faire partie d'un corpus

Nom de sous-texte.

SATO permet de définir des sous-textes d'après une variété de critères (cf. TEXTE CARACTÉRISER SOUS-TEXTE). Le nom du sous-texte permet de conserver le sous-texte qui pourra être rappelé par son nom. a sélection des occurrences du sous-texte pour une consultation future (cf. TEXTE CARACTÉRISER SOUS-TEXTE RAPPEL). Le nom du sous-texte est une chaîne de caractères ne dépassant pas 64 caractères. Si un nom contient des caractères autres que des lettres, des chiffres et les signes - et _, il doit être mis entre guillemets anglais (").


Nom de fichier

Pour des raisons de compatibilité avec divers systèmes d'exploitation, un nom de fichier devrait être composé de lettres minuscules sans accents, de chiffres et des caractères «-» et «_». Il ne doit pas contenir d'espaces et ne doit pas débuter par «-».

Voir aussi : Suffixes de fichiers compris par SATO


Références citées