| |
|
Accueil TCAO |
Remerciements |
Un aperçu |
Licence BPI |
Distribution |
Installation |
Claviers | Pointeurs | Alibi | Concorde | Recode | Ventile | Vocable | Accueil BPI |
Le progiciel Vocable permet de produire des listes du vocabulaire des mots contenus dans des fichiers textuels. Ces listes de vocables peuvent être triées selon divers critères: en ordre alphabétique habituel (de gauche à droite), en ordre alphabétique inverse (de droite à gauche), en ordre de fréquence décroissante. Chaque vocable peut être accompagné de la fréquence de ses occurrences et de la liste de toutes les références de type nom-de-fichier:ligne pour chaque occurrence. Des options permettent de produire ces listes de vocables sous divers formats: en une colonne selon une largeur désirée; en plusieurs colonnes par tranche de n lignes.
Comme données d'entrée, Vocable accepte un ou plusieurs fichiers textuels en même temps. Ces fichiers peuvent être soit en format plein texte, soit en format HTML ou soit en tout format SGML. Tout comme les progiciels Ventile, Concorde et Alibi, le progiciel Vocable supporte la notion de régions textuelles à l'aide de raffineurs internes et de raffineurs externes.
Vocable permet de trier alphabétiquement les vocables d'un texte écrit dans l'une ou l'autre des 13 langues indo-européennes suivantes: français, allemand, anglais, danois, espagnol, féroïen, finnois, irlandais, islandais, italien, norvégien, portugais, suédois. À ces langues indo-européennes s'ajoutent les 12 langues africaines suivantes: bambara, éwondo, fulfulde-sokoto, fulfulde-adamawa, fulfulde-maasina, fulfulde-jelgoore, fuuta-jalon, fulfulde-pulaar, lingala, sango, sango-riverain, wolof. Pour mieux comprendre les commandes d'appel de Vocable formulées dans les prochains exemples, consultez le Menu d'aide de Vocable.
Lors de la production de listes de vocabulaire,
Vocable doit trier alphabétiquement les vocables. Avant
de s'exécuter, Vocable s'assure que les variables
d'environnement DEFAULT_CHARSET et
COLLATE_LANGUAGE ont été initialisées. Si ces variables
d'environnement n'ont pas une valeur appropriée, alors
Vocable produit un diagnostic d'erreur. Pour plus de
détails, voir Variables d'environnement.
La commande suivante demande de lire le fichier français
xlinfr.l1, de produire une liste alphabétique des vocables
de ce texte (selon le raffineur interne W), de produire
pour chaque vocable une référence au numéro de ligne de chaque occurrence
(option -r), et d'afficher les résultats sur une largeur
de 70 colonnes (selon l'option -w70).
vocable -w70 -r W xlinfr.l1
La liste du vocabulaire suivant est un extrait de la liste originale produite avec cette commande.
139 xlinfr.l1:7 6 7 118-120-124-126). xlinfr.l1:8 à xlinfr.l1:47 51 58 accepta. xlinfr.l1:36 acceptèrent. xlinfr.l1:46 alla. xlinfr.l1:15 allèrent. xlinfr.l1:46 48 allez-vous? xlinfr.l1:21 allons xlinfr.l1:22 23 alors xlinfr.l1:36 ami, xlinfr.l1:17 amis xlinfr.l1:21 47 animaux xlinfr.l1:71 appela xlinfr.l1:34 38 42 Appliquée xlinfr.l1:6 apporte xlinfr.l1:69 apporter xlinfr.l1:71 après, xlinfr.l1:65 27 46 arriva xlinfr.l1:16 50 53 61 ... un xlinfr.l1:14 16 16 20 21 27 32 32 32 34 14 15 65 une xlinfr.l1:15 18 50 71 vais xlinfr.l1:15 17 vas-tu? xlinfr.l1:17 venons xlinfr.l1:27 veux xlinfr.l1:68 village xlinfr.l1:14 25 16 20 vint, xlinfr.l1:31 vite, xlinfr.l1:59 vivait xlinfr.l1:14 voici; xlinfr.l1:35 voilà, xlinfr.l1:62 vous xlinfr.l1:31 31 y xlinfr.l1:16 21 50 54 YANTÚKÚ xlinfr.l1:3
Les résultats de cette commande nécessitent quelques commentaires. Dans cette liste de vocabulaire, les vocables sont triés en ordre alphabétique et les signes de ponctuation ne sont pas détachés du vocable. Une référence aux occurrences est constitué du nom du fichier d'entrée, d'un deux-points et d'une liste de chiffres. Ces chiffres correspondent à la numérotation des lignes que Vocable a faite automatiquement en lisant le fichier source xlinfr.l1. Dans cette liste de chiffres, chaque chiffre est le numéro d'une ligne du fichier source qui contient une occurrence du vocable correspondant.
Pour dresser la liste des vocables,
Vocable utilise des routines d'équivalence afin de
déterminer si un mot donné est soit une occurrence d'un vocable déjà
identifié ou soit un nouveau vocable à ajouter à la liste de vocabulaire.
Pour illustrer le comportement de ces routines d'équivalence, examinons
le cas du vocable après, (avec la virgule) qui se trouve
dans la liste plus haut. Dans le texte xlinfr.l1 les
occurrences orthographiques de ce vocable sont les suivantes:
après, (à ligne 65); Après (à ligne
27); Après (à ligne 46). Vocable
considère que ces trois formes orthographiques sont des occurrences du
même vocable après et, pour l'affichage des résultats,
il sélectionne parmi les occurrences d'un vocable la forme qui possède le
poids le plus élevé en terme de tri alphabétique. Dans ce cas-ci, c'est
la forme après, qui a été retenue pour figurer dans la
liste des vocables. Si la forme après (sans virgule)
avait été actualisée dans le texte d'entrée, elle aurait été retenue à la
place de la forme après, que l'on retrouve dans cet
exemple-ci.
La commande suivante demande de lire le fichier bambara
xbam.bra, de produire une liste des vocables de ce texte
(selon le raffineur interne W), et de trier ces vocables
par ordre de fréquence décroissante (option -f).
vocable -w70 -f W xbam.bra
La liste du vocabulaire suivant est un extrait de la liste originale produite avec cette dernière commande.
311 a 184 ko 180 ka 140 ye 112 u 90 o 84 be 61 Amadu 59 nin 57 na 56 Tara 53 ni 47 tagara ... 2 taama 2 tèmèna 2 terikè 2 tòw 2 wele 2 yenninnò 1 -- 1 anonyme 1 aprè 1 Auteur: 1 avec 1 ayiwa, 1 bagènnaw 1 bam 1 banana ... 1 tuguni. 1 Veronika 1 wa 1 wolo 1 wulila 1 yafa 1 yala 1 yanninnò 1 yèlèma
Cette dernière liste de vocabulaire contient trois extraits de la liste produite originalement. Nous avons séparés ces extraits avec un symbole ... et, à l'aide de ces extraits, on peut noter qu'une telle liste de fréquence est constituée de deux tris:
Par exemple dans la liste plus haut, les vocables ayant une occurrence de 1 sont triés alphabétiquement entre eux mais, en plus, ils se retrouvent après les vocables ayant une fréquence de 2 occurrences. Sur un corpus de grande taille, les mots avec une faute d'orthographe se retrouvent habituellement dans la liste des vocables de fréquence 1.
Le but du prochain exemple consiste d'une part à montrer un cas de traitement du sango avec Vocable et, d'autre part, à examiner de plus près le tri alphabétique inverse des digraphes et des trigraphes africains en se servant du sango comme exemple. Avant d'exécuter la prochaine commande sur un texte en sango, rappelons que la valeur des variables d'environnement ont été initialisée avec les commandes suivantes:
export DEFAULT_CHARSET=lin export COLLATE_LANGUAGE=snj
La commande suivante demande de lire le fichier sango
xsaj.lin, de produire la liste des vocables de ce texte
(raffineur interne W), de trier ces vocables par ordre
alphabétique inverse (option -i), d'afficher les
résultats sur une largeur de 70 colonnes (option -w70),
et enfin de paginer cette liste en plusieurs colonnes par tranche de 10
lignes à la fois (option -p10).
vocable -w70 -p10 -i W xsaj.lin
La liste du vocabulaire suivant est un extrait de la liste originale produite avec cette dernière commande.
...
tombôka 1 singîla 3 ndimä 2 atomba 1 gbândä 2
zûsûka 4 sukûla 6 govoromä 3 na 1023 hânda 1
akpa 1 tambûla 4 mbâ 9 Marâbänä 7 ahânda 2
kerekpâ. 1 ma 28 Ambâ 11 mbänä 6 nganda 4
lâ 5 amä 10 «Kâmba 1 Yângânä 5 ânganda 1
Ala 293 madäma 1 Sâmba 14 töngana 57 ngbëndä 1
fütängö-âla 1 mamâ 10 âsämba 2 kpêna 1 ângbëndä 1
kusâla 1 nyama 3 yamba. 1 gïna 1 wayînda 1
wala 34 govorama 1 Ömba 1 ndâ 21 ngonda. 1
kobêla 4 luemä 3 tomba 2 yabändä 1 ngbondâ 1
atönda 1 ngângângâ 1 âlïngä 1 angbâ 10 mâpa 1
hûnda 41 âwanganga 1 malînga 2 dângbâ 1 nzapä 1
ahûnda 18 ngbanga 33 nînga 2 ndângbâ 1 ngûnzapä 1
nïhûnda 1 farânga 1 anînga 6 ngbângbâ 2 papa 1
ngâ 40 tanga 6 sînga 1 bengbä 1 bâra 2
Ngbanga 4 âtanga 2 Ngbonga 3 âkûngbâ 4 âbâra, 1
kânga 4 yângâ 37 ngbonga 3 Nginza 1 garâ 1
akânga 3 yenga 2 zonga 6 ânînza 2 wâlïgarâ 2
ngängä 1 hînga 29 azonga 2 nginza 135 kâra 6
danganga, 2 ahînga 7 ngbâ 11 pä 1 Pakara 3
âbämarä 1 pâsä 3 «Aîtä, 1 ndokua 2 wâ-na-wâ 1
âwandarä, 1 girisa 3 otâ 1 särängö-kua 1 sëwä 9
nzara 6 agirisa 1 balê-otâ 2 tokua 6 Asëwä 18
sâra 52 AAta 1 kötä 16 atokua 1 ndowâ 2
asâra 30 bata 3 Akötä 6 watokua 1 yâ 88
tara 1 kamâta! 3 fûta 26 wa 34 aya 2
pätärä 2 mbätä 5 afûta 8 dawä 1 yayâ 1
wara 57 pâta 14 kua 78 kâwa 6 suîya 1
awara 16 ngarata 1 wakua 5 lâwa, 1 kôya 3
ngäsa 2 îtä 2 âwakua 12 mawa 10 kangoya 2
...
Avant d'examiner ces résultats, rappelons que les digraphes et les trigraphes sango sont les suivants: gb, kp, mb, mv, nd, ng, ngb, ny, nz. Dans le premier bloc de 10 lignes, on peut constater que le digraphe kp dans le vocable kerekpâ est trié après le vocable zûsûka mais avant le vocable lâ. Ainsi la lettre p du digraphe kp se trouve avant la lettre l du vocable lâ. Comme autre exemple dans le deuxième bloc de 10 lignes, le vocable ngûnzapä est trié avant le vocable papa car le digraphe nz est une lettre avant la lettre p.
Cette dernière liste de résultats démontrent que Vocable est en mesure de trier correctement par ordre alphabétique inverse les digraphes et les trigraphes. Notons que le tri inverse de digraphes et de trigraphes n'est pas une chose simple à programmer. En effet, dans un tri inverse, le mot est examiné physiquement de droite à gauche pendant qu'en terme logique un digraphe ou un trigraphe doit plutôt se lire de droite à gauche.
Dans cette liste, il y a par contre le vocable Ngbonga et le vocable ngbonga qui sont en fait deux variantes orthographiques d'un même mot. Que se passe-t-il? L'explication est fort simple. Dans le vocable ngbonga, le ng a été analysé comme un digraphe tandis que dans le vocable Ngbonga, le Ng a été analysé comme deux caractères distincts. Cette chaîne Ng est une instance du digraphe ng se trouvant dans un mot en début de phrase, ce qui justifie le N majuscule.
Dans la déclaration de d'alphabet du sango, les digraphes et trigraphes sont uniquement les variantes en minuscule et en majuscule suivantes: gb, GB, kp, KP, mb, MB, mv, MV, nd, ND, ng, NG, ngb, NGB, ny, NY, nz, NZ. Selon cette déclaration d'alphabet, la variante Ng n'est donc pas un digraphe.
Pour résoudre ce genre de phénomène typographique, il faudrait convertir les variantes textuelles en normalisant la chaîne Ng en ng pour en faire un digraphe. De plus, une telle normalisation devrait se faire au moment de la lecture d'un texte pendant l'identification des lettres de l'alphabet de la langue de ce texte. Convertir au vol la chaîne Ng en digraphe ng n'est pas du ressort des routines d'équivalence et ni du ressort du programme Vocable. À notre avis, la tâche de convertir une simple majuscule en minuscule appartient plutôt à une grammaire de pré-édition textuelle car tout texte est écrit selon une quelconque grammaire typographique. Ne serait-ce que pour l'usage des signes de ponctuation et les conventions de majuscule et de minuscule selon la région textuelle, par exemple: en début de phrase, dans un titre, dans une énumération, dans un nom propre, dans un acronyme.
Ce petit exemple nous permet de signaler qu'une grammaire de pré-édition automatique de langues africaines pourrait servir entre autres à normaliser ce genre de variantes typographiques des digraphes et des trigraphes.
La commande suivante demande de lire cinq fichiers de textes en français, de produire la liste alphabétique des vocables de ces textes (raffineur interne W), et de fournir la référence des occurrences pour chaque vocable (option -r).
vocable -w70 -r W xbamfr.l1 xengfr.l1 xfulfr.l1 xlinfr.l1 xwolfr.l1
La liste du vocabulaire suivant est un extrait de la liste originale produite avec cette dernière commande.
...
ainsi xbamfr.l1:52 xengfr.l1:55 xfulfr.l1:93 xengfr.l1:127
xbamfr.l1:54
ait xfulfr.l1:141
ajouta: xfulfr.l1:86
ajoutait xbamfr.l1:18
Alberta; xengfr.l1:190 191
albinos!» xfulfr.l1:149
ALIYYU xwolfr.l1:2 69
alla xbamfr.l1:56 99 124 161 227 xfulfr.l1:54 178
xbamfr.l1:68 68 xlinfr.l1:15
Allah xbamfr.l1:41 42 86
allaient xbamfr.l1:174 181 xfulfr.l1:139
allait xbamfr.l1:27 65 107 139 xfulfr.l1:119 xwolfr.l1:30
xbamfr.l1:206
allé xbamfr.l1:190
Allemands xengfr.l1:78 xwolfr.l1:26
aller xbamfr.l1:165 169 205 xfulfr.l1:159 xbamfr.l1:141 143
allèrent xbamfr.l1:26 215 218 188 xlinfr.l1:46 48
allés, xbamfr.l1:135
Allez xfulfr.l1:50
allez-vous xfulfr.l1:104 40 xlinfr.l1:21
allons xfulfr.l1:73 106 xlinfr.l1:22 23 xbamfr.l1:147
allumé xbamfr.l1:202
alors xbamfr.l1:42 xfulfr.l1:124 xlinfr.l1:36 xbamfr.l1:85
xfulfr.l1:44 xbamfr.l1:35 122 205 233 237 xfulfr.l1:42
71 147 149 153 xbamfr.l1:41 60 98 104 109 149 160 174
208 218 xengfr.l1:128 xfulfr.l1:174 112
...
cas, xfulfr.l1:150
case xbamfr.l1:202 201 201
catégorie xengfr.l1:250
cause xengfr.l1:141
ce xbamfr.l1:29 35 38 44 47 61 92 95 105 122 170 178 182
202 230 xengfr.l1:35 41 44 66 80 86 119 141 179 244
251 xfulfr.l1:28 32 52 60 67 140 150 173 194
xlinfr.l1:39 44 xwolfr.l1:26 27 34 34 45 51 61 95 110
113 113 114 139 139 149 156 161 162 172 181 204 223
xbamfr.l1:16 xengfr.l1:160 xwolfr.l1:66 142 158
xfulfr.l1:71 xengfr.l1:148 xwolfr.l1:3 13
Ceci xwolfr.l1:162
cela xbamfr.l1:41 xengfr.l1:130 xwolfr.l1:38 166
xbamfr.l1:163 xengfr.l1:114 xfulfr.l1:104
xengfr.l1:100 243
célébra xbamfr.l1:104 106 162
célébrer xbamfr.l1:158
celle xengfr.l1:69 99 xfulfr.l1:74 84 170 xwolfr.l1:109
celle-ci xbamfr.l1:98 xfulfr.l1:137 xbamfr.l1:57 151 172
xfulfr.l1:73
celles xbamfr.l1:111 xfulfr.l1:78 xwolfr.l1:33 98 99
celles-ci. xwolfr.l1:143
(CELTA), xlinfr.l1:6
celui xbamfr.l1:18 47 47 51 xengfr.l1:98 xwolfr.l1:153 224
xbamfr.l1:49 194 219 xfulfr.l1:22
celui-ci xbamfr.l1:59 90 200 157 154 xwolfr.l1:206 225
xbamfr.l1:229 xengfr.l1:101
Dans les résultats affichés plus haut, les vocables sont triés par ordre alphabétique. À chaque vocable est associée une liste des références aux occurrences dans laquelle chaque fichier d'entrée est identifié suivi d'un numéro de ligne pour chaque occurrence de ce vocable.
Dans une commande d'appel de Vocable, si une balise HTML est utilisée comme raffineur externe, alors cette balise sera utilisée par Vocable comme étant une borne contextuelle et cette dite balise fera alors partie de la structure textuelle plutôt que de la structure du mot. Dans le cas d'un fichier d'entrée en format HTML, c'est en fait l'utilisateur qui décide si une balise doit faire partie ou non d'un vocable. Le présent exemple a été formulé afin d'illustrer l'usage des raffineurs externes et leur traitement avec le progiciel Vocable.
La commande suivante demande de lire le fichier espagnol
resums.html, de produire la liste des vocables de ce texte
(raffineur interne W), d'afficher les résultats sur une
largeur de 70 colonnes (option -w70), et enfin de
paginer cette liste en plusieurs colonnes par tranche de 10 lignes à la
fois (option -p10).
vocable -w70 -p10 html,tr+th+td,p+font+P,S+F+a+i,W resums.html
Dans cette commande, la liste de raffineurs html,tr+th+td,p+font+P,S+F+a+i,W sera expliquée plus bas. Notons en passant qu'il n'est pas obligatoire de spécifier une telle liste de raffineurs externes pour obtenir des résultats à partir de fichiers en format HTML.
La liste du vocabulaire suivant est un extrait de la liste originale produite avec cette dernière commande.
... 1 escuelas 1 están 1 examinar 1 Finalmente, 2 ese 2 Estas 1 exhaustivo, 1 financieros 2 esencial 5 este 1 existencia 1 físicos 1 esenciales 1 Esto 1 explica 1 fondos 1 esfera 1 Estos 1 exterior 3 forma 1 Especialista 1 estudiar 1 facilita 4 formación 1 especialistas 1 estudio 1 facilitar 1 forman 1 ésta 1 etapas 2 Facultad 1 française 2 establecimientos, 1 evalua 1 facultades 1 France 1 estado 3 evolución 1 favorecer 3 francesa 1 franceses 1 funcionamiento 1 G1N 1 Francia. 1 funcionar. 1 Gracias 1 francofonía, 3 funciones 1 grandes 1 francófono 3 futuro 1 gratuita 1 fronteras 1 3G4</b><br> 1 Grembloux, 1 fructífera 1 generación 3 Grupo 1 fue 1 general 1 Guez 1 fuentes 1 generalización 1 Guy 1 fueran 1 gestion.<br> 4 ha 1 fulgurante 1 Gilles 4 habilidades 1 hace 1 humanos 1 han 1 identifica 1 hasta 1 <img 1 hecho 1 impacto 1 height="50" 1 implantación 2 hora 1 importante 1 horizonte 1 indispensables<br> 2 <hr 26 información 1 http://www.acelf.ca/revue/</b> 1 información,<br> 1 HUDON<br> 1 información,<br>Universidad ...
Dans une liste de raffineurs telle que html,tr+th+td,p+font+P,S+F+a+i,W énoncée dans la commande plus haut, chaque élément de cette liste est séparé par une virgule. Logiquement, cette dernière liste définit cinq niveaux textuels où chaque niveau est délimité par une virgule. De plus, selon la syntaxe d'une commande TCAO, un même niveau textuel peut contenir plus d'un raffineur. Dans un tel cas, pour distinguer chaque raffineur entre eux, il faut utiliser le signe + entre chaque raffineur. En d'autres mots, la liste de raffineurs html,tr+th+td,p+font+P,S+F+a+i,W peut être paraphrasée de la façon suivante:
le premier niveau textuel est le texte englobé par le raffineur externe html;
le deuxième niveau textuel est le tableau représenté par les raffineurs externes tr+th+td qui sont des éléments de type tableau et qui désignent les balises HTML <tr></tr>, <th></th>, <td></td>;
le troisième niveau textuel est le paragraphe représenté par les raffineurs p+font+P qui désignent respectivement les balises HTML <p></p>, les balises <font></font> et le raffineur interne P;
le quatrième niveau textuel est la phrase représentée par les raffineurs S+F+a+i qui désignent respectivement les raffineurs internes S et F et, au même niveau, les raffineurs externes pour les balises HTML <a></a> et les balises <i></i>;
le cinquième niveau textuel est le mot représenté par le raffineur interne W.
L'utilisateur doit toutefois avoir une certaine connaissance des balises HTML et du niveau textuel auquel ces balises font référence afin de mieux profiter des possibilités TCAO pouvant effectuer un tel balayage sélectif de régions textuelles.
«Vocable» produit des listes du vocabulaire des mots contenus
dans des fichiers textuels.
Usage: vocable [OPTION]... SCAN-SPEC[,SCAN-SPEC]... FICHIER...
Options:
{-}{-}copyright afficher les conditions de copie, puis terminer
{-}{-}help fournir ce message d'aide, puis terminer
{-}{-}version identifier le programme, puis terminer
Options de sortie:
-v expliquer en mode bavard ce qui se passe
-d sortir de l'information interne pour fin de débogage
-f trier par ordre de fréquences descendantes
-r produire les références aux lignes d'occurrence
-p SIZE paginer après SIZE lignes (aucune multi-colonne par défaut)
-w WIDTH lister les vocables sur une largeur WIDTH (79 col. par défaut)
-i produire les vocables en ordre alphabétique inverse
Chaque SCAN-SPEC est DEMARREUR[/TERMINATEUR].
Tant DEMARREUR que TERMINATEUR sont CHERCHER[+CHERCHER]... et
chaque CHERCHER est soit une balise SGML ou soit un des raffineurs
internes suivants:
P paragraphe délimité par une ou plusieurs lignes vides
S phrase terminée par .?! et possiblement ])}"» et suivie de 2 blancs
V vers terminé par une ou plusieurs fins de ligne
W mot délimité par un blanc (caractère espace)
C caractère unique (énergivore en CPU)
T fournir une balise démarreur/terminateur avant et après le textuel
F reconnaître l'espace français après une ponctuation forte
|
Accueil TCAO |
Remerciements |
Un aperçu |
Licence BPI |
Distribution |
Installation |
Claviers | Pointeurs | Alibi | Concorde | Recode | Ventile | Vocable | Accueil BPI |
http://progiciels-bpi.ca |
bourbeau@progiciels-bpi.ca
Copyright © Progiciels Bourbeau Pinard inc., Montréal, 1999.
Tous droits réservés / All rights reserved.