Procédé et dispositif de traitement automatique d'un langage
L'invention concerne l' analyse syntaxique d'un langage dans le cadre du TALN (Traitement Automatique de Langue Naturelle). Le traitement automatique d'un langage est classiquement utilisé pour permettre à un ordinateur de comprendre des textes ou des requêtes formulées par des utilisateurs soit de manière écrite, soit vocalement, afin de lancer différents services.
Une telle analyse, qui permet la compréhension d'une information textuelle ou vocale sont généralement nécessaires afin d' abréger des documents longs sans perdre des informations importantes, de reformuler ou paraphraser un texte, de traduire automatiquement un texte ou de chercher des réponses adéquates à une question précise, comme c' est par exemple le cas dans les moteurs de recherche.
Le traitement automatique d'une information textuelle écrite ou vocale utilise classiquement une analyse syntaxique profonde suivie d'une génération d'une représentation sémantique du contenu du texte. Une telle représentation peut être alors la base d' une traduction automatique dans une autre langue, de l' élaboration d'un résumé ou d'une classification automatique du texte, ...
Dans l' état de la technique, au cours de l' analyse syntaxique du texte, aucune information sémantique n' est accessible autre que des informations de sémantique lexicale liées au sens des mots du texte. En effet, les outils de traduction automatique, autres que ceux qui sont basés sur l'utilisation de théories statistiques, sont basés sur une analyse syntaxique pour en déduire la structure syntaxique du texte, suivie d' une analyse sémantique ou ontologique afin de déterminer la structure sémantique du texte. Il est alors procédé à l' élaboration d'une représentation pivot indépendante de la langue source et de la langue cible. A partir de cette représentation, il est procédé à l' élaboration d'une représentation sémantique en tenant compte de la
langue cible, puis d' une structure syntaxique afin de générer les formes lexicales nécessaires du texte traduit.
Les informations de la sémantique lexicale ne suffisent jamais à éviter la génération d' arbres syntaxiques sémantiquement incorrects. En effet, la présence d'homonymes dans un texte analysé engendre l'élaboration d' arbres syntaxiques en un nombre correspondant au nombre de significations de chaque terme, alors qu' un seul de ces arbres correspond à la signification exacte du texte. Ainsi, l'utilisation d'un lexique de très grande capacité ou le souhait de couvrir un domaine très large ou ambigu risque d' engendrer un très grand nombre de résultats incohérents.
Ainsi, les techniques de traitement automatique de langage selon lesquelles on procède à une analyse syntaxique suivie par une construction sémantique afin de générer une représentation ontologiquement correcte du contenu d'un texte présentent un certain nombre d' inconvénients.
Tout d' abord, la recherche d'une exhaustivité conduit à conserver des possibilités de faible représentativité. L'utilisation de méthodes de pondération ou de lexiques spécialisés permet de réduire cet inconvénient, mais sans s' attaquer à leurs causes.
Par ailleurs, les lexiques démultiplient les entrées lexicales, en fonction de critères de signification plus ou moins pertinents afin de prendre en compte le plus de significations possibles.
Au vu de ce qui précède, le but de l'invention est de fournir un procédé et un dispositif d' analyse d'un langage permettant d' attribuer à un énoncé le ou les sens qu'il véhicule, dans le contexte dans lequel il se situe.
Dans ce but, l' invention propose, selon un premier aspect, un procédé de traitement automatique d'un langage par analyse syntaxique d'un texte écrit ou énoncé et analyse sémantique dudit texte pour en déduire le sens.
Selon l'invention, on procède simultanément à l' analyse syntaxique et à l' analyse sémantique.
L' analyse syntaxique et l' analyse sémantique simultanées permettent de valider une analyse syntaxique incohérente, c'est-à-dire asémantique ou en conflit avec des règles ontologiques de base. Ces règles ontologiques sont ainsi utilisées au cours de l' analyse linguistique d' un texte afin de vérifier ou de falsifier une relation syntaxique immédiatement après sa création, c' est-à-dire après l' application de règles morpho-syntaxiques. Les sens de structures linguistiques qui contredisent un modèle ontologique peuvent alors être supprimées.
Grâce à l' élimination des relations syntaxiques qui n' ont pu être vérifiées ontologiquement, il est possible de baisser les ambiguïtés très tôt au cours d'un traitement de texte. Cette diminution des données va en conséquence fortement augmenter la vitesse du traitement des textes.
Selon une autre caractéristique du procédé selon l' invention, au cours de l' analyse syntaxique, on élabore un arbre syntaxique constitué d'un ensemble de nœuds formé chacun d'un mot ou d'une locution et associés chacun à une catégorie syntaxique et à une fonction syntaxique de dépendance reliant deux nœuds dudit arbre. En outre, au cours de l' élaboration de l' arbre syntaxique, on procède à l' analyse sémantique du texte pour valider l' élaboration d' une branche de l' arbre entre deux nœuds liés par une fonction syntaxique. Selon une autre caractéristique du procédé, au cours de l' analyse sémantique, on utilise une ontologie qui définit les concepts associés à chaque nœud et des rôles liant ces concepts, et l'on valide une branche de l' arbre syntaxique liant deux nœuds lorsqu'un rôle autorise une liaison entre les concepts associés aux nœuds. Dans un mode de mise en œuvre, au cours de l' analyse sémantique, on élabore une représentation ontologique du texte en associant à chaque nœud de chaque paire de nœuds liés par une
fonction syntaxique un ensemble de variables comprenant un concept traduisant la signification du nœud et une formule ontologique liant lesdits nœuds, de manière à élaborer l' ensemble des formules ou représentations ontologiques liant les nœuds du texte. On peut en outre combiner les formules ontologiques entre les nœuds liés par une fonction syntaxique de manière à élaborer une formule ontologique globale pour le texte.
Dans un mode de mise en œuvre particulier, le traitement automatique du langage comprend les étapes consistant à : - associer, à chaque nœud, au moins un concept traduisant le sens du nœud par interrogation d'une première base de données ;
- interroger une deuxième base de données dans laquelle sont stockées des règles syntaxiques pour établir une relation syntaxique liant un nœud principal et un nœud secondaire ; et
- tenter de combiner les concepts du nœud principal et du nœud secondaire, la relation syntaxique étant validée si l'étape au cours de laquelle on tente de combiner les concepts a abouti.
De préférence, après validation de la relation syntaxique, on remplace le concept du nœud principal par la combinaison des concepts des nœuds liés.
De même, après validation de la relation syntaxique, on peut rajouter le concept du nœud secondaire à une formule ontologique du nœud principal.
Selon encore une autre caractéristique du procédé selon l' invention, on prévoit en outre une étape d' analyse morphologique de chaque nœud du texte pour en déterminer sa forme en consultant une troisième base de données dans laquelle est stocké un lexique des nœuds.
L' invention a également pour objet un dispositif de traitement automatique d'un langage pour la mise en œuvre d'un procédé tel que défini ci-dessus, comprenant un module de traitement associé à une première base de données dans laquelle est stockée une ontologie qui définit des concepts associés à chaque nœud et des rôles liant ces concepts et une deuxième base de données (RS) dans laquelle sont stockées des règles syntaxiques, le module de traitement comprenant des moyens pour élaborer un arbre syntaxique comprenant un ensemble de branches liants deux nœuds formés chacun d' un mot ou d'une locution et associés chacun à une catégorie syntaxique et à une fonction syntaxique de dépendance reliant les deux nœuds de la branche qui sont extraites de la deuxième base de données, chaque branche de l' arbre étant validée lorsqu'un rôle autorise une liaison entre les concepts associés aux nœuds. Selon une autre caractéristique de l'invention, ce dispositif comporte en outre un analyseur morphologique associé à une troisième base de données dans laquelle est stocké un lexique.
D' autres buts, caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante, donnée uniquement à titre d'exemple non limitatif, et faite en référence aux dessins annexés sur lesquels :
- la figure 1 est un schéma synoptique d'un dispositif de traitement automatique d'un langage conforme à l'invention ; - les figures 2 à 5 illustrent l'élaboration d'une formule ou relation ontologique entre des nœuds ;
- la figure 6 est un organigramme illustrant les principales phases du procédé selon l'invention ; la figure 7 est un schéma illustrant un exemple d'une ontologie ; et
- les figures 8 à 11 sont des schémas illustrant un exemple d'élaboration d'une représentation ontologique d'un texte.
Sur la figure 1, on a représenté un schéma synoptique d'un dispositif de traitement automatique d' un langage conforme à l'invention, désigné par la référence numérique générale 10. Par traitement automatique d'un langage, on entend, dans le cadre de la présente description, l' analyse syntaxique et sémantique d'une phrase ou d'un texte.
Ce dispositif 10 est destiné à élaborer, à partir d'un texte à analyser, écrit ou énoncé, un arbre syntaxique utilisant des connaissances ontologiques. Comme on le voit sur cette figure, le dispositif 10 comporte essentiellement un analyseur morphologique 12 recevant, en entrée, un texte TX à analyser et un module de traitement 14 assurant l' analyse proprement dite des nœuds, c' est-à-dire des mots ou locutions du texte TX afin d'élaborer l' arbre syntaxique. L' analyseur morphologique 12 est associé à une base de données dans laquelle est stocké un lexique pour procéder à une analyse préalable du texte TX afin de réaliser à une recherche lexicale, à une recherche des formes des nœuds, à une identification des af fixes,... Le module de traitement 14 est, quant à lui, raccordé à une première base de données ON dans laquelle sont stockées concepts et des relations ontologiques qui définissent l' ontologie, et à une deuxième base de données RS dans laquelle sont stockées des règles syntaxiques permettant d' associer à chaque nœud une catégorie syntaxique et une fonction syntaxique de dépendance entre deux nœuds.
En ce qui concerne l' analyse syntaxique du texte, le traitement mis en œuvre par le module de traitement est constitué par une analyse de type classique, à la portée d' un homme du métier. Elle ne sera donc pas décrite en détail par la suite.
On notera cependant qu'elle consiste à interroger la base de données RS afin d' établir une relation syntaxique entre les nœuds du
texte, deux à deux, les règles ontologiques étant alors appliquées pour valider chaque branche d'une structure arborescente ainsi créée.
Il s' agit alors de valider une hypothèse H consistant en une dépendance syntaxique entre deux nœuds constituée par une fonction syntaxique orientée liant un nœud de tête et un nœud dépendant.
Pour ce faire, à chaque nœud est associé un quintuple Q formé par un ensemble d' attributs I1, C, I2, R, et F, tel que chaque quintuple Q soit représenté par la formule :
Q(I1, C, I2, R, F) Dans laquelle :
- I1 désigne un identifiant du quintuple ;
C est un concept lié au nœud de tête ;
I2 est un autre identifiant associé au concept C dans les attributs F et R, s'ils sont renseignés ; - R désigne un rôle, c' est-à-dire un lien ou une notion d' accès au concept C du nœud de tête ; et
- F est une formule ontologique liée au nœud.
Un concept définit le sens attaché à un nœud. Par exemple, comme décrit par la suite en référence à un exemple de mise en œuvre de l'invention, à un nœud « aller » peut être attaché le concept
« déplacement » ou « déplacement en avion », en fonction du pas du traitement mis en œuvre.
Un rôle définit l' accès à un nœud de tête. Ainsi, par exemple un nœud dépendant « avion » peut être lié à un nœud de tête « voler » par le rôle « moyen de transport ».
Les rôles entre les nœuds sont déduits de l' ontologie. Par exemple, si un nœud A est une catégorie de prépositions et B un groupe nominal, le rôle est soit nommé à partir des informations lexicales sur la préposition déduite de l' analyse syntaxique, soit élaboré à partir du concept lié au nœud dépendant.
Les figures 2 à 5 illustrent différents cas de figure. Sur ces figures, les traits continus correspondent à des éléments connus, les
traits discontinus correspondant à des élément ou notions à découvrir. Lorsque les nœuds et les rôles liant ces nœuds ne sont constitués que par des traits continus, il s' agit de valider une hypothèse.
Sur les figures 2 à 5, les cercles symbolisent des concepts ou des formules ontologiques, les flèches représentant un rôle ayant le concept comme cible. Ces quatre cas de figure résument la communication avec les moyens d' élaboration de l' arbre syntaxique. Il convient de noter que, dans certains cas, l'orientation du rôle n' est pas connue. Par exemple, sur la figure 2, il convient de chercher à relier deux concepts C par un rôle R à découvrir. En référence à la figure 3, il peut également s' agir de relier deux concepts par un rôle connu et donc de valider une hypothèse. Il peut encore s' agir d' attribuer un rôle R à un concept connu (figure 4) ou, comme visible sur la figure 5, de chercher pour deux ensembles rôle-concept connus, un concept acceptant ces rôles et des co-domaines ou cibles (« range » en langue anglaise) compatibles avec les concepts.
On notera que la modélisation de l' ontologie dans la base ON est réalisée de manière à satisfaire ces conditions d'usage. Cette modélisation porte en particulier sur la définition des rôles afin de spécifier notamment s'ils forment une entité spécifique, contrainte par domaines et co-domaines et également afin de spécifier si l' on doit créer une nouvelle instance d'un rôle lorsque ce rôle est spécifié au sein d'un concept. Du point de vue lexical, la connaissance associée à des mots dont le sens est associé à des rôles, ce qui est le cas des prépositions, peut s' écrire comme une liste de couples de paires « nom du rôle-co- domaine » ou éventuellement être déterminable. Si plusieurs couples sont permis, il faut pouvoir inscrire à la fois le nom du rôle et le sous- domaine dans l' objet ontologique, ce qui ajoute une règle d'interprétation sur l' objet. En effet, si le concept et le rôle sont
déterminés, alors le concept doit être interprété comme le co-domaine du rôle déterminé.
L' analyse ontologique mise en œuvre par le module de traitement 14 lors de l' analyse syntaxique consiste notamment soit à retrouver un rôle à partir de deux nœuds d' extrémités, sous la contrainte exprimée par le lien syntaxique introduit, soit à vérifier la compatibilité des concepts de nœuds de tête et dépendant et d'un rôle correspondant avec les règles ontologiques.
On va maintenant décrire en référence à la figure 6, un exemple de mise en œuvre d'un procédé selon l'invention.
Ce procédé débute par une première étape 16 au cours de laquelle l' analyseur morphologique 12 procède à une lecture de la base de données LX et au cours de laquelle le module de traitement 14 lit les bases de données RS et ON. Lors de l'étape 18 suivante, l' analyseur morphologique 12 procède à l' analyse morphologique du texte TX. Il s' agit essentiellement d' effectuer une recherche lexicale, d' identifier les formes, les affixes, ... Au cours de cette étape 18, le module de traitement 14 procède au rattachement d'un ou de plusieurs concepts C ou rôles R à chaque mot de la phrase.
Lors de l' étape 20 suivante, les règles syntaxiques RS sont appliquées à la phrase afin d' établir une relation syntaxique entre deux mots ou nœuds.
Pour chaque relation syntaxique établie entre un nœud principal et un nœud secondaire, on essaye de valider la relation syntaxique en combinant chaque concept du nœud principal et chaque concept du nœud secondaire ou, pour un pas ultérieur, une formule ou représentation ontologique partielle (étape 22).
S'il n'existe pas d' autre combinaison de concept (étape 24), et si aucune combinaison de concept n' est validée, on rejette la relation syntaxique (étape 26) . La procédure retourne alors à la phase 20 précédente.
Au contraire, s'il existe d' autres combinaisons de concept, on considère un concept ou la formule ontologique partielle du nœud principal et du nœud secondaire (étape 28). Lors de l'étape 30 suivante, on vérifie si la relation syntaxique est validée par l' ontologie fournie en utilisant les concepts C des mots ou des représentations ontologiques R déjà construites des nœuds.
Après validation, lors de l'étape 32 suivante, on détermine si le nœud principal a toujours un concept ou un rôle simple. Si tel est le cas, on remplace ce concept par la combinaison du concept du nœud principal avec le concept, le rôle ou la formule ontologique partielle du nœud dépendant (étape 34). Dans le cas contraire, c'est-à-dire si le nœud principal est déjà associé à une formule ontologique partielle, on rajoute le concept ou la formule ontologique partielle du nœud dépendant à la formule ontologique partielle du nœud principal (étape 36) .
Lors de l'étape 38 suivante, on vérifie s'il y a d' autres relation syntaxiques non validées de manière à continuer le traitement avec d' autres règles syntaxico-ontologiques. S'il n'y a pas d' autre règle qui s' applique, la phrase ne peut alors être davantage analysée. La représentation de la phrase est alors délivrée (étape 40).
A titre d'exemple, on va maintenant décrire succinctement le traitement mis en œuvre au sein du module de traitement 14 lors de l' analyse de la phrase en langue française « Je voudrais aller de Paris à Madrid demain ». Comme on le conçoit, cette phrase présente une ambiguïté : en effet, l' adverbe « demain » peut s' appliquer soit au verbe « vouloir » soit au verbe « aller ».
L' analyseur morphologique 12 a préalablement fourni les informations suivantes :
mot forme concepts/rôles je pronom, lère pers. du singulier locuteur voudrais verbe modal, lère pers. du singulier vouloir
aller verbe, infinitif aller, voler de préposition départ de, appartient, objet, à préposition arrive de, est à, reçoit, appartient
Paris nom propre Paris
Madrid nom propre Madrid demain adverbe demain
Après analyse morphologique, le texte TX est traité par le module de traitement 14. La base de données RS fournit un ensemble de règles syntaxiques tandis que la base de données ON fournit les concepts, les rôles et les relations ontologiques des concepts pour chaque nœud.
On a représenté sur la figure 7 un exemple d' ontologie utilisable pour le traitement de la phrase en langue française « Je voudrais aller de Paris à Madrid demain ». Comme on le conçoit, l' ontologie représentée sur cette figure a été extrêmement simplifiée, par souci de clarté. En particulier, des relations en pointillés entre deux concepts C indiquent que des concepts manquent entre deux concepts représentés. Sur cette figure sont représentés un ensemble de concepts C ainsi que les rôles liant deux concepts. Un concept dépendant peut être relié à un concept de tête lorsque ce concept dépendant spécifie une notion générique associée au concept de tête. Ils peuvent également être reliés par un rôle R.
Par exemple, en ce qui concerne le concept « déplacement », ce concept de tête peut être relié à des concepts « voyage par automobile », « voyage par train », « voler », dans la mesure où ces concepts constituent des précisions du concept générique « déplacement » .
De même, les concepts « lieu d' arrivée » et « lieu de départ » peuvent être reliés au concept « déplacement » par les rôles « arrive de » et « part de », respectivement.
Comme indiqué précédemment, au cours de la création de l' arbre syntaxique par le module de traitement 14, la représentation ontologique est générée, les relations syntaxiques qui ne peuvent pas être validées par l'ontologie étant immédiatement supprimées. Par exemple, alors que l' analyse syntaxique autoriserait d' associer une personne derrière la préposition « de » pour indiquer la possession, une branche syntaxique ainsi créée serait immédiatement supprimée dans la mesure où aucun chemin correspondant n'existe dans l' ontologie qui prévoit que le concept « déplacement » ne peut être associé qu' à des concepts « lieu de départ » ou « lieu d' arrivée » par des rôles R « arrive de » et « part de », respectivement.
On a représenté sur la figure 8 quelques quintuples Q utilisés lors de l'élaboration de l' ontologie.
En se référant maintenant à la figure 9, l' analyse syntaxique définit que la relation syntaxique « sujet » lie le nœud « je » (nœud secondaire) et le nœud « voudrais » (nœud de tête). Les concepts C associés à ces nœuds sont respectivement « locuteur » et « vouloir ». La validation ontologique est positive (étape 22), c' est-à-dire que l'on peut combiner les deux concepts pour associer au nœud « voudrait » une formule ontologique partielle qui contient les formules ontologique « vouloir(w) », « locuteur (s) » et un rôle additionnel f (w,s) indiquant qui est le sujet du verbe « vouloir ».
Par la suite, les relations syntaxiques entre « aller » et « de », « à » et « demain », « de » et « Paris » et « à » et « Madrid » sont établies et combinées afin d' obtenir une formule ontologique partielle.
Comme on le voit sur la figure 9, les rôles « appartient » du nœud « de » et « est_à » du nœud « à » ne sont pas retenus parce que l' ontologie ne permet pas un rôle « appartient » ou un rôle « est_à », à partir des concepts « voler » ou « aller ».Une relation syntaxique entre les mots « voudrait » et « aller » est alors établie. Les nœuds n'ont plus une liste de concepts mais déjà une formule ontologique partielle. Après validation de cette relation syntaxique, les formules
ontologiques sont combinées comme indiqué précédemment en référence à la figure 6 (étape 36).
Lorsque des relations syntaxiques validées ont pu être établies entre tous les mots du texte, on obtient une formule ontologique complète (figure 10).
Il est possible de créer des arbres syntaxiques supplémentaires si les règles syntaxiques le permettent, ce qui entraînerait la génération d' autres formules ontologiques. Dans l' exemple représenté, la grammaire et le lexique sont très réduits et ne permettent pas d' autre solution.
On a représenté sur la figure 11 le résultat du processus entier. Comme on le voit sur cette figure, le rôle « appartient » n'est pas validé car le concept « aller » et ses concepts plus génériques n'ont pas un tel rôle dans l'ontologie RS. La relation syntaxique entre le verbe modal « voudrait » et l' adverbe « demain » est également supprimée car l' ontologie n' a pas de rôle liant le concept « vouloir » et le concept « demain » ou les concepts plus génériques que « demain ».