Créer, tester et vérifier des règles de déductions contextuelles avec Intex
p. 301-314
Texte intégral
Créer, tester et vérifier des règles de déductions contextuelles avec Intex
1Résultat d’une collaboration universitaire et industrielle, Kali, logiciel de synthèse vocale à partir du texte a été conçu pour les déficients visuels. Avant d’être prononcé, le texte qui est fourni en entrée, traverse successivement cinq modules (prétraitement, analyse syntaxique, génération de la prosodie, phonématisation et traitement acoustico-phonétique). Nous basons ainsi la prosodie, en grande partie, sur la syntaxe. Aussi, c’est l’adaptation à l’anglais de l’analyse syntaxique initialement prévue pour le français que nous développerons aujourd’hui.
2Nous montrerons, premièrement, dans quelle mesure Intex nous a aidé à constituer un lexique, puis nous verrons comment nous sommes passé des règles de Kali au système Intex pour pouvoir construire des règles et des graphes de désambiguïsations efficaces. Enfin, nous comparerons les différentes possibilités de déductions contextuelles entre Kali et Intex.
1 - L’analyse lexicale
3Les analyses lexicales et syntaxiques qu’effectue Kali n’ont qu’un but pratique. Elles servent uniquement à améliorer la synthèse vocale. Cela permet ainsi de placer au mieux les marques de prosodie et de régler des problèmes de liaisons, de pauses… Nous nous soucions donc peu de la réalité linguistique qui existe derrière. Nous cherchons avant tout l’efficacité, et certains étiquetages sont totalement erronés du point de vue de la grammaire traditionnelle. Toutefois, un tel étiquetage pourrait alimenter la réflexion sur la justesse des catégorisations et sur la congruence entre syntaxe et prosodie.
1.1 - Le jeu de règles de Kali
4Nous présenterons ici les différentes règles par lesquelles passe l’analyse syntaxique anglaise.
Les amalgames
5Ce fichier est en quelque sorte un lexique des mots composés (un peu comme le DELAC). Il comporte des entrées comme :
more/and/more>J
of/a/sudden>J
Lexique
6Le lexique comporte divers mots catégorisés à notre manière. Nous reviendrons plus loin sur la constitution de ce lexique. Contrairement au DELAS, le lexique Kali ne comporte pas le lemme de chaque entrée. De plus, les catégories sont placées l’une derrière l’autre après le signe > (chaque catégorie n’est représentée que par une seule lettre)
a>d
abandon>SVR
cut>DNAE
evening>S
Finales1
7Ce fichier que nous appelons finales1 est, en fait, un fichier de déduction catégorielle par la morphologie :
*ment>S
*age>S
*tion>S
*way>S
*al>A
*ally>J
*acy>S
*year>S
*some>SA
8Ces règles permettent donc d’étiqueter un maximum de mots dont la morphologie nous permet de déduire la catégorie.
1.2 - Constitution des lexiques
9Même si le lexique ne prend pas beaucoup de temps de traitement, nous préférons réduire au maximum sa taille. Nous considérons le lexique comme secondaire, même s’il passe en premier dans le traitement. En effet, nous cherchons à avoir un programme qui puisse s’adapter sur des petites structures, comme des téléphones portables… . De plus, comme le lexique ne peut pas être exhaustif, ce sont bien les règles de déductions contextuelles qui doivent être favorisées.
Lexique de mots outils
10Pour construire notre corpus de mots outils, nous avons utilisé Intex. Après avoir appliqué les ressources lexicales de l’anglais (DELAF et filtre), nous n’avons retenu que les mots catégorisés comme pronoms, déterminants, prépositions, particules, adverbes.
Lexique d’exceptions basé sur la morphologie
11Nous avons pu construire le fichier finales1 grâce au dictionnaire trouvé sur http://fmg-www.cs.ucla.edu/geoff/ispelldictionaries.html. Ce dictionnaire comporte toutes les entrées de la langue, mais n’est pas véritablement catégorisé. Toutefois pour chaque forme, il précise si elle peut prendre une forme en ING, en ED, en LY… Il est ainsi facile de repérer les mots qui peuvent être verbes. A partir des terminaisons les plus courantes et à partir des terminaisons déjà repérées pour le français, nous avons pu établir des règles précises avec des exceptions que nous avons intégrées au lexique. Par exemple, pour les mots terminant par TION, nous avons établi la liste d’exceptions suivante :
apportion>V
auction>SV
audition>SV
caption>SV
condition>SV
fraction>SV
function>SV
disfunction>DSV
mention>SV
ovation>SV
partition>SV
petition>SV
portion>SV
position>SV
precaution>SV
question>SV
ration>SV
repartition>SV
requisition>SV
sanction>SV
section>SV
station>SV
vacation>SV
Lexique de mots courants
12Pour régler un maximum d’ambiguïtés nous avons décidé de remplir notre lexique des 500 mots lexicaux les plus courants de la langue (à partir d’un corpus varié : journaux, Internet, romans). Cela permet de réduire grandement le nombre de mots inconnus sans augmenter de beaucoup la taille du lexique.
13Enfin, nous avons ajouté au lexique tous les mots non-ambigus du corpus. Cela permet de catégoriser de nombreux mots certains. La majorité des ambiguïtés seront, de toute façon, levées grâce à l’analyse syntaxique.
1.3 - Passage du Lexique Kali au lexique Intex
14Avant de tester les désambiguïsations de Kali sur Intex, nous devons passer du lexique Kali au lexique Intex. Il nous faut donc accomplir plusieurs mises en forme successives
remplacer > par, .
recopier les entrées lexicales autant de fois qu’elles ont de catégories
effectuer les transpositions suivantes.
Catégorie | Intex | Kali | Intex modifié |
Déterminant | DET | d | DET |
Préposition | PREP | p | PREP |
Particule | PART | t | PART |
Pronom sujet | PRO | s | PROS |
Pronom objet | PRO | o | PROO |
Conjonction de coordination | CONJ | c | CONJC |
Conjonction de subordination | CONJ | b | CONJS |
Participe passé | V : K | E | EE |
Substantif | N | S | S |
Verbe | V | V | V |
Adverbe | ADV | J | J |
Adjectif | A | A | A |
Mot inconnu | ! DIC | ? | INC |
15Comme nous n’utilisons pas le même découpage en catégories qu’Intex, nous avons donc créé une nouvelle langue, pour pouvoir faire les tests les plus indépendants possibles.
2 - L’analyse syntaxique
16L’analyse syntaxique se base sur les lexiques préalablement constitués. C’est avec cette analyse que la complémentarité Kali – Intex est la plus évidente.
2.1 - Structure des règles de syntaxe de Kali
17Les règles de syntaxe sont des règles de déductions contextuelles. C’est l’élaboration de ces règles qui nous a incité à utiliser Intex. Nous présentons ici la composition de ce jeu de règles :
18Il est possible d’utiliser dans les règles deux types d’étiquettes correspondant à l’entrée lexicale (Lib) ou à une catégorie (Cat). Pour entrer plusieurs catégories dans la même étiquette, il suffit d’ajouter les différentes catégories les unes à la suite des autres.
19Ainsi, Cat=SV fera référence soit à un verbe soit à un nom.
ex 1 : _Lib=like + _Cat=o + _Lib=to
20L’exemple 1 fait donc référence à une séquence de type like you to ou like him to. Il faut noter que _Cat=o réfère à n’importe quelle entrée ayant comme catégorie o (pronom objet), qu’elle soit ou non ambiguë.
21Pour exclure une catégorie ou une entrée lexicale, nous utilisons ! à la place de =.
ex 2 : _Lib=for + _Cat ! s
ex 3 : _Lib=for + _Cat=s
22Ainsi, alors que l’exemple 2 fait référence à tous les for non suivis d’un mot qui peut être pronom sujet, l’exemple 3 fait référence à tous les mots pouvant être pronom sujet. Toutefois comme 3 fait suite à 2, il ne peut faire référence qu’à des pronoms sujets sûrs.
23Nous disposons de deux opérateurs pour relier les étiquettes. Deux étiquettes reliées par un + se suivent dans la structure de la phrase, comme nous venons de le voir. Par contre, un espace entre deux étiquettes indique que les deux conditions catégorielles doivent être réalisées :
ex 4 : Cat=p _Cat=b _Cat ! VS + _Cat=HB
24En 4, nous faisons référence à un mot ayant l’ambiguïté prépositions – conjonctions de subordination (comme before et after), mais ne pouvant pas être un verbe ou un substantif (ce qui aurait été le cas de like ou de till) suivi du verbe Have ou Be. La règle 4 aurait pu avoir comme équivalent :
ex 4’ : Cat=p _Cat=b _Lib ! like#till + _Cat=HB
25Mais 4’ est plus restrictif que 4, nous préférons donc la première solution.
26Nous présentons des exemples de règles ci-après.
2.2 - Passage d’une règle Kali à une règle Intex
27Exemple : la désambiguïsation de for
28L’analyse syntaxique est un aspect secondaire de Kali qui ne sert que pour le développement du logiciel. Pour l’instant, nous n’avons pas de possibilités pour faire sortir les résultats de cette analyse. Ainsi, sans Intex, nous serions obligés de travailler sans connaître les résultats précis de l’analyse. Nous nous servons donc d’Intex comme d’un outil de vérification de règles.
29Une règle Kali est linéaire. Il faut donc souvent plusieurs règles pour que les résultats entre Kali et Intex se ressemblent.
Graphe 1 : Graphe de désambiguïsation pour for

Règle 1 : Règles de désambiguïsation pour for

30Le graphe devrait donner le même résultat que les règles. En effet, l’étiquette _Cat ! s fait référence à tout mot pouvant être catégorisé comme autre chose qu’un s. Cela correspond au nœud Intex < ! PROSSUR>
Les catégories <XSUR>
31Nous avons été obligés de rajouter des catégories certaines sur Intex, car nous ne pouvions pas ajouter de contraintes. Par exemple, si nous voulons faire référence à un mot qui soit à coup sûr un pronom sujet, nous pouvons écrire sous Kali l’étiquette suivante :
_Cat=s _Cat ! podbS
32Avec cette étiquette, nous appelons une catégorie pronom sujet, mais nous excluons en même temps tout pronom qui pourrait aussi être préposition, déterminant… Un nœud Intex comme celui présenté dans le graphe 2 ne donne pas de bons résultats puisque l’opérateur de disjonction + n’ajoute pas de contraintes.

Graphe 2 : Graphe de test pour les pronoms sujets.
33Ainsi, comme nous utilisons beaucoup les certitudes concernant telle ou telle catégorie grammaticale, nous avons dû ajouter PROSSUR ou SSUR pour les noms, VSUR pour les verbes lorsqu’il n’existait pas d’ambiguïté. Avec le lexique Kali, un tel repérage est facile à effectuer puisque un pronom sujet sûr sera de la forme : they>s. Il suffit, alors, de repérer avec un filtre Excel, ou avec la fonction remplacer de Word, tout symbole > suivi d’une seule lettre.
Isoler les ambiguïtés
34Pour Kali, il nous est souvent nécessaire de faire référence à un certain type d’ambiguïtés. Par exemple, pour désambiguïser les mots qui peuvent être à la fois substantifs et verbes (outrage, ovation, rage, rally, question…), nous utilisons les étiquettes suivantes : _Cat=S _Cat=V. Nous avons vu que ce type d’opérateur n’existe pas sous Intex. Ainsi, nous avons du isoler. Puis, nous les avons ajouté dans un graphe (graphe 3). Il est à noter que cette solution n’est pas la meilleure, car au-delà d’un certain nombre de mots dans les nœuds (de l’ordre de 300), Intex crashe.

Graphe 3 : Graphe répertoriant les ambiguïtés Substantif – Verbe.
35Grâce à ce graphe, nous avons pu en construire un autre qui règle une partie des ambiguïtés SV.

Graphe 4 : Extrait du graphe de désambiguïsation pour les ambiguïtés
Substantif – Verbe.
36Cet extrait de graphe correspond à peu près aux règles suivantes que nous avons construites pour Kali :
_Cat=Jbs _Cat ! ASVd + _Cat=S _Cat=V ~> + _Cat=V
_Cat=S _Vat=V + _Cat=Jdot _Cat ! bSps ~> _Cat=V
_Cat=obs _Cat ! dptc + _Cat=S _Cat=V ~> + _Cat=V
_Cat=bs _Cat ! dptc + _Cat=s _Cat ! dptc + Cat=MOsb Cat ! dptoc + Cat=S Cat=V ~> +++_Cat=V
_Cat=bs _Cat ! dptc + _Cat=MOsb _Cat ! dptc + _Cat=S _Cat=V ~> ++ _Cat=V
_Lib=not#t#to + _Cat=S _Cat=V ~> + _Cat=V
_Cat=b _Cat ! dptoc + _Lib=t#not#to + _Cat=S Cat=V ~> ++Cat=V
_Cat=S _Cat=V + _Cat=MOB + _Cat=VJ ~> _Cat=S
_Cat=S _Cat=V + _Cat=MOB ~> _Cat=S
3 - Similitudes et différences, avantages et désavantages
37Nous avons pu constater que passer de Kali à Intex nécessitait de nombreuses manipulations et que les deux analyses syntaxiques n’étaient pas totalement basées sur les mêmes principes.
3.1 - Le système Intex
38Pour le développement d’une désambiguïsation syntaxique, Intex nous permet de repérer très rapidement et très facilement des structures complexes. Avec un processeur récent, il est facile de traiter des concordances de plusieurs milliers d’occurrences. Le classement alphabétique des résultats est particulièrement appréciable et permet de visualiser en peu de temps les différents contextes d’emploi d’un terme donné. Il devient alors facile de créer des règles de désambiguïsation par le contexte. Intex nous permet de créer des règles et de les tester immédiatement sur de gros corpus. Il est ainsi très rapide de créer un graphe de désambiguïsation qui fonctionne dans plus de 80 % des cas. On peut alors visualiser simplement de nombreuses règles sur une seule page.
39Toutefois, nous n’avons pas réussi à utiliser la fonction disamb d’Intex avec nos graphes, même une fois compilés en FST et placés dans le répertoire correspondant. La fonction Parse FST paraît finalement la mieux adaptée, mais il n’est pas évident de réussir une désambiguïsation syntaxique globale des textes.
3.2 - Les règles de Kali
40Même si Kali n’est pas voué à l’analyse syntaxique, l’organisation de ses règles de déductions est intéressante. Premièrement, le traitement se fait globalement, et il est facile de savoir quelle règle passe en premier, les règles de désambiguïsations passant dans l’ordre.
41Bien que nous ne cherchions pas à avoir le lexique le plus exhaustif possible et l’analyse la plus fine, nous sommes arrivés à des résultats satisfaisants. En effet, nous préférons baser la désambiguïsation sur des règles de déductions. Ainsi, contrairement à Intex, nous prévoyons dans nos règles les mots non étiquetés. De plus, nous cherchons le dictionnaire le plus pratique. Par exemple, jambes ne sera pas étiqueté comme verbe, puisque le verbe jamber est très technique et très peu utilisé. Par ailleurs, l’utilisation de la morphologie pour l’étiquetage automatique de substantifs ou d’adjectifs permet de traiter un grand nombre de néologismes sans avoir à déterminer au préalable tous les radicaux possibles. Ainsi, le nom surmédiatisation n’est pas reconnu par Intex, pourtant une règle étiquetant comme substantif tout mot terminant par ation aurait permis de l’étiqueter correctement.
Conclusion
42En conclusion, l’analyse syntaxique telle qu’elle est effectuée avec Kali pourrait être totalement transférée sur Intex, au prix de quelques améliorations des deux systèmes. En effet, les deux désambiguïsations reposent globalement sur les mêmes principes. En implantant une composante d’analyse prosodique, voire une de transcription, il serait possible de remplacer de nombreuses étapes de traitement. En effet, la majorité des étapes nécessaires à une synthèse peuvent être réalisées sous Intex. Le module de synthèse ne s’occuperait donc que du traitement phonétique. Un tel agencement pourrait probablement améliorer la compréhension des rapports entre langue écrite et langue parlée et permettrait des avancées certaines pour la recherche sur la prosodie.
Bibliographie
Bibliographie :
Dougherty Ray C., Ferarri-Bridgers Franca, DYER Lisbeth, (2001) : « Intex solves pronunciation and intonation problems in Text to Speech reading machines », présentation lors de la conférence ACH / ALLC, New-York University.
http://www.nyu.edu/its/humanities/ach allc2001/papers/dougherty/
Morel Michel, Lacheret-Dujour Anne, 2001 : « Kali, synthèse vocale à partir du texte : de la conception à la mise en œuvre », Traitement Automatique des langues, 42, 1.
Silberztein Max, « documentation INTEX http://www.nyu.edu/pages/linguistics/intex/
Vannier Gérald, 1999 : « Etudes des contributions des structures textuelles et syntaxiques pour la prosodie : application à un système de synthèse vocale à partir du texte », thèse sous la direction de M. Bernard Victorri, Université de Caen,
http://users.info.unicaen.fr/–vannier/Pages/Travail/these.htm
Vergne Jacques, Giguet Emmanuel, (1998) : « Regards Théoriques sur le ‘Tagging’ », In proceedings of the fifth annual conference Le Traitement Automatique des Langues Naturelles (TALN), Paris. http://users.info.unicaen.fr/–giguet/taln98
Auteur
-
Sébastien Monnier
CRISCO, Université de Caen
Monnier@crisco.unicaen.fr
Le texte seul est utilisable sous licence Licence OpenEdition Books. Les autres éléments (illustrations, fichiers annexes importés) sont « Tous droits réservés », sauf mention contraire.
La formation d’une opinion démocratique
Le cas du Jura, de la révolution de 1848 à la « république triomphante » (vers 1895)
Pierre Merlin
2017
Les mutations récentes du foncier et des agricultures en Europe
Gérard Chouquer et Marie-Claude Maurel (dir.)
2018
Deux frontières aux destins croisés ?
Étude interdisciplinaire et comparative des délimitations territoriales entre la France et la Suisse, entre la Bourgogne et la Franche-Comté (xive-xxie siècle)
Benjamin Castets Fontaine, Maxime Kaci, Jérôme Loiseau et al. (dir.)
2019
Un mousquetaire du journalisme : Alexandre Dumas
Sarah Mombert et Corinne Saminadayar-Perrin (dir.)
2019
Libertaire ! Essais sur l’écriture, la pensée et la vie de Joseph Déjacque (1821-1865)
Thomas Bouchet et Patrick Samzun (dir.)
2019
Les encyclopédismes en France à l'ère des révolutions (1789-1850)
Vincent Bourdeau, Jean-Luc Chappey et Julien Vincent (dir.)
2020
Le patrimoine industriel au prisme de nouveaux défis
Usages économiques et enjeux environnementaux
Marina Gasnier
2018
La petite entreprise au péril de la famille ?
L’exemple de l’Arc jurassien franco-suisse
Laurent Amiotte-Suchet, Yvan Droz et Fenneke Reysoo
2017
Une imagination républicaine, François-Vincent Raspail (1794-1878)
Jonathan Barbier et Ludovic Frobert (dir.)
2017