Systèmes de questions-réponsesUn système de questions-réponses (question answering system en anglais, ou QA system) est un système informatique permettant de répondre automatiquement à des questions posées par des humains, lors d'un échange fait en langue naturelle (comme le français). La discipline liée appartient aux domaines du traitement automatique de la langue et de la recherche d'information. Elle se démarque de l'interrogation de moteurs de recherche en cela qu'elle vise non seulement à récupérer les documents pertinents d'une collection de textes, mais également à formuler une réponse très ciblée à la question posée. GénéralitésUn outil de questions-réponses cherche à répondre à des requêtes, ou questions, telles « Quelle est la langue la plus parlée en Europe ? » ou « Quand est mort Louis XIV ? ». Le système utilise alors des techniques de traitement automatique des langues afin d'analyser la question et de rechercher une réponse adéquate à l'aide des documents auxquels il a accès. En proposant une suite de documents classés selon l'estimation de leur intérêt, la méthode des moteurs de recherches « classiques » force l'utilisateur à faire lui-même un post-tri des documents pertinents, beaucoup des pages proposées ne répondant pas à la question, étant parfois incohérentes, réparties sur différentes pages, etc. Dans le cas d'un système de réponse aux questions, on cherchera en général à construire une réponse en langage naturel et non pas à proposer à l'utilisateur une liste parfois longue de documents. Le système START peut être donné comme exemple de système de réponse aux questions en ligne[1],[2]. Les systèmes de réponse aux questions ont donc 3 buts principaux :
Ils font pour cela appel à des stratégies issues de plusieurs domaines différents :
Fonctionnement des systèmes de réponse aux questionsOn distingue quatre étapes différentes menant à la réponse à une question dans un système de réponses aux questions : analyse de la question, recherche de documents, sélection des passages, extraction des réponses. Analyse des questionsDans une question, un certain nombre d'éléments sont à identifier avant de pouvoir être traités. Le type de la questionLe type de la question est une catégorisation qui sera utilisée afin de sélectionner la stratégie pour répondre à la question. On peut différencier de nombreux types de requêtes :
Type de réponse attenduLe type de la réponse attendue correspond à l'identification de l'objet de la question (souvent à partir de la reconnaissance du type d'entité nommée) ou du type de la phrase attendu.
Focus de la questionLe focus d'une question correspond à la propriété ou l'entité recherchée par la question.
Thème de la questionLe thème de la question (ou topic) est l'objet sur lequel se porte la question.
Recherche des documentsAprès avoir analysé la question, l'objectif est de rechercher les documents susceptibles de répondre à la question. La première étape de la recherche des documents est en général une recherche « classique ». On extrait les mots clés de la question, et on les utilise avec le moteur de recherche Google ou sur une base de données par exemple.
La seconde étape est ensuite de sélectionner les passages susceptibles de contenir la réponse. Le schéma de droite illustre ce processus. On commence par se servir du type de la réponse attendue, des mots-clés de la question, de ses entités nommées afin de sélectionner une première série de passages. Par la suite on estimera la qualité des passages afin de, au besoin, réajuster les mots-clés utilisés par la requête. On prend également en compte le nombre de passages obtenus. Si l'on en obtient trop, on restreindra le nombre de mots-clés, si au contraire il n'y en a pas assez, on étendra la requête. Une fois une série de passages sélectionnés, on leur attribue un score afin de les classer. On appelle passage candidat un passage sélectionné par le moteur de recherche. Un passage peut être composé d'une simple phrase ou d'un document entier. Un passage candidat peut contenir ou pas de réponses candidates. Généralement, ils sont classés à l'aide d'un score attribué par le moteur de recherche. On appelle réponse candidate un mot ou groupe de mots généralement du même type que le type de réponse attendue et susceptibles de servir à sa construction.
Extraction des réponsesIl existe différentes techniques afin d'extraire une réponse candidate à partir d'un ou de plusieurs passages. Patrons d'extractionsL'idée est de rechercher une séquence calque modélisant la réponse. L'élément cherché est placé sous forme de variable. Par exemple, si l'on est confronté à la question « Quelle est la capitale des USA ? », on pourra rechercher (entre autres) le patron « X est la capitale des USA ». Cette approche est héritée des techniques d'extraction d'information. Cependant, à cause des variations linguistiques, il est en général indispensable d'utiliser de nombreuses variantes de chaque calque :
Le problème des patrons d'extraction est qu'ils sont extrêmement longs et couteux à faire à la main. Une des alternatives est d'utiliser des méthodes d'apprentissage permettant de les extraire automatiquement à partir de corpus. L'idée est de partir d'un patron déterminé, puis de remplacer un élément du patron par une variable (un prédicat ou un des arguments) puis on extrait du corpus un ensemble d'éléments pouvant instancier le patron. Par exemple en partant de
Il est possible d'obtenir les patrons Toutefois, les anaphores et les expressions temporelles compliquent le problème.
La simple reconnaissance d'entités nommées pose également problème et peut mener à des incohérences. La modalité est difficile à définir (l'auteur prononce-t-il une vérité ou simplement une opinion voir une rumeur) et enfin les informations sur le web souvent peu fiables (blagues...). Score et critèresL'idée est de calculer un score permettant de juger d'une réponse candidate. On utilise pour cela en général quatre critères différents :
Relations syntaxiquesL'idée est d'analyser la syntaxe de la question et des passages candidats. On extrait des relations de type prédicat-argument:
De l'exemple précédent, le système peut déduire Pour aller plus loin, on intègrera en général un peu plus d'analyse sémantique en introduisant le type de relations liant les éléments. En fait on construit, un arbre de dépendance à partir de la question. Par exemple, à partir de la phrase « Quel métal a le plus haut point de fusion ? », on obtient les relations représentées sur l'arbre à droite. On recherche donc à remplir la variable Par la suite, si la recherche nous permet d'obtenir le passage « Tungstène est un métal très dur et a le plus haut point de fusion. » Le type de réponse est bien « métal ». On compare alors les relations obtenues :
Ce qui nous permet d'obtenir la réponse Tungstène. Utilisation de la logiqueL'idée est de convertir la question en but puis de transformer le passage en formules logiques. On ajoute un certain nombre de prédicats permettant de représenter des règles de subsomption (permet de définir qu'un élément en implique un autre), des connaissances... Puis on essaie de prouver le but de la question à partir du passage. Ainsi « Qui a assassiné John Lennon ? » est converti en : La réponse candidate « Mark Chapman a abattu John Lennon en 1980,... » sera convertie en Ici on aura alors besoin de l'inférence lexicale Apprentissage machineDes techniques d'apprentissage automatique supervisé sont employées pour entraîner des modèles qui tentent de repérer automatiquement où se trouve la réponse dans un ou plusieurs passages candidats. Les traits (features) employés pour faire ce genre de discrimination portent à la fois sur la question posée et sur la réponse candidate, et incluent :
Il est également possible de repérer des réponses candidates à l'aide de l'apprentissage non supervisé, lorsque les documents pertinents sont suffisamment redondants, par exemple lorsqu'une vaste collection est interrogée. Le dallage par n-grammes permet par exemple de considérer et d'attribuer un poids à toutes les séquences de mots trouvées dans les extraits pertinents des documents repérés, l'idée étant que les séquences de mots les plus répétées font probablement partie de la réponse. Les séquences de mots contiguës les plus intéressantes composent la réponse[3]. Limites des approches actuelles
Évaluation d'un système de réponse aux questionsIl existe différentes campagnes visant à classer les meilleurs systèmes de réponse aux questions : TREC (anglais), CLEF (multilingue), EQUER (français), NTCIR (japonais), QUAERO (français, anglais). Les systèmes sont évalués autant à partir de domaine ouvert que de collections fermées (en général, des articles de journaux). Les types de questions analysées sont principalement des factoïdes et des définitions. Il y a deux principales manières de juger d'une réponse. Le premier type de jugement est automatique : par Mean Reciprocal Rank (MRR). On va par exemple donner 1 point au système si la 1re réponse est correcte, 0,5 si la seconde l'est et 0,2 si elle est avant la 5e. Le second moyen de juger d'une réponse est d'utiliser le jugement humain. On se fonde alors sur la correction ou l'exactitude de la réponse ainsi que sa justification. L'exactitude de la réponse à une question n'est cependant pas facile à juger :
Une autre mesure importante est rappel et la précision. Le rappel mesure la proportion des documents pertinents sélectionnés parmi l'ensemble des documents pertinents (donc moins il y a de documents pertinents qui n'ont pas été sélectionnés, plus le rappel est bon). La précision mesure la proportion de documents pertinents sélectionnés parmi tous les documents sélectionnés (donc plus il y a de mauvais documents sélectionnés, plus la précision est mauvaise). En général, augmenter le rappel entraîne une baisse de la précision et vice versa. Voir aussi
Bibliographie
|
Portal di Ensiklopedia Dunia