Un 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és Un 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 ligneBoris Katz, Annotating the World Wide Web Using Natural Language, 1997.
Les systèmes de réponse aux questions ont donc 3 buts principaux : Comprendre les questions en langue naturelle Analyser la question, quel est son type ? Quelle est son domaine ? On parlera de question fermée pour une question se portant sur un domaine spécifique (médecine, informatique...), et de question ouverte pouvant porter sur n'importe quoi et pour lesquelles on pourra vouloir faire appel à des systèmes d'ontologies généraux et des connaissances sur le monde. Trouver les informations Soit au sein de base de données structurée (base de données spécialisées), soit au sein de textes hétérogènes (recherche sur internet) Répondre à la question Que ce soit par une réponse exacte, ou par la proposition de passages susceptibles de contenir la réponse.
Ils font pour cela appel à des stratégies issues de plusieurs domaines différents : la recherche d'information (reformulation des requêtes, analyse de documents, mesure de pertinence) le traitement automatique du langage naturel (analyse de l'adéquation de la question avec les documents, extraction d'informations, génération de langue pour former la réponse, analyse du discours) l'interaction homme-machine (modèles d'utilisateurs, présentation des réponses, interactions) l'intelligence artificielle (mécanismes inférentiels, représentation des connaissances, logique).
Fonctionnement des systèmes de réponse aux questions
On 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 questions
Dans une question, un certain nombre d'éléments sont à identifier avant de pouvoir être traités.
Le type de la question
Le 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 : + Exemple de type de requêtes Questions factuelles « Où a été brûlée Jeanne d'Arc ? » Questions booléennes (oui ou non)« Hosni Moubarak est-il toujours président ? » Définitions« Que signifie le sigle IHM ? » Causes/Conséquences« Pourquoi la mer est-elle bleue ? » Procédures« Comment refaire sa carte d'identité ? » Listes« Citer 3 présidents américains » Requêtes évaluatives/comparatives« Quelle est la plus grande ville de France ? » Opinions« Que pensent les Français de Nicolas Sarkozy ? »
Type de réponse attendu
Le 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.
+ Exemple de type d'objets Personne« Qui ... », « Quel ministre ... » Organisation« Qui ... », « Quelle compagnie ... » Lieu« Où ... », « Dans quelle région ... » Date« Quand ... », « En quelle année ... »
+ Exemple de type de phrases Explication« Pourquoi ... », « Pour quelle raison ... » Procedure« Comment ... », « Quelles sont les étapes pour ... »
Focus de la question Le focus d'une question correspond à la propriété ou l'entité recherchée par la question. « Dans quelle région se trouve le Mont Saint-Michel ? » « Quel âge a Jacques Chirac ? »
Thème de la question Le thème de la question (ou topic) est l'objet sur lequel se porte la question. « Quel âge a Jacques Chirac ? »
Recherche des documents
Aprè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.
+ Exemples de mots-clés générés à partir d'une question Questions Mots-clés« Qui est Chuck Norris ? »Chuck Norris« Que fabrique l'entreprise Peugeot ? »Peugeot; entreprise; fabriquer« Quel pays l'Irak a-t-il envahi en 1990 ? »Irak; envahir; 1990« Combien y avait-il d'habitants en France en 2005 ? »France, habitants, 2005
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.
QuestionQui est le père de la reine Élisabeth II ? → Type personnePassages candidats et réponses candidatesFrançois Mitterrand et la reine Élisabeth II inaugurent le tunnel sous la Manche. La reine Élisabeth II a évoqué l'intervention de son père, le roi George VI, 48 ans plus tôt devant le Parlement.
Extraction des réponses
Il existe différentes techniques afin d'extraire une réponse candidate à partir d'un ou de plusieurs passages.
Patrons d'extractions
L'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 : Variation morphologique : « Où se trouve la capitale de l'Europe » ou « Où se trouve la capitale européenne ? » Variation lexicale : « Comment s'appelle la reine de Hollande » ou « Comment s'appelle la reine des Pays-Bas ? » Variation syntaxique : « Moscou compte 9 millions d'habitants » ou « Les 9 millions d'habitants de Moscou » Variation sémantique : « Comment Adolf Hitler est-il mort ? » où la réponse peut être « Adolf Hitler s'est suicidé » etc.
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 Steve Jobs dirige Apple et du corpus suivant : Steve Jobs dirige Apple Steve Jobs préside Apple Le PDG d'Apple, Steve Jobs Il est possible d'obtenir les patrons Steve Jobs <dirige, préside> Apple et <le PDG de> Apple <,> Steve Jobs.
Toutefois, les anaphores et les expressions temporelles compliquent le problème.
AnaphoreAndorre est un petit pays enclavé entre la France et l’Espagne dans le sud-ouest de l’Europe,
[...]
Le tourisme est le secteur majeur de ce petit pays avec une économie saine, qui compte pour environ 80 % de son PNB....Quel est le secteur économique majeur de l'Andorre ?Expression temporelleL’Iran a envahi l’Irak le . Après 8 longues années de combat, la résolution 598 des Nations unies a mis fin à la guerre...Combien de temps a duré la guerre Iran-Irak ?
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ères L'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 : Bon contexte global : on essaie d'évaluer la pertinence du passage d'où provient la réponse candidate. Pour cela on se fonde sur : le nombre de mots-clés présent dans le passage, le nombre de mots communs à la question et au passage, le classement du moteur de recherche pour le passage, etc. Bon contexte local : on essaie de juger l'adéquation du passage par rapport à la question : Distance moyenne entre la réponse candidate et les mots-clés présents dans le passage, Nombre de mots de la réponse candidate qui ne sont pas des mots-clés de la question, etc. Type sémantique correct : on s'assure que le type de la réponse candidate est soit le même soit un sous type du type de réponse attendue. Redondance : présence de la réponse dans le plus possible de passages sélectionnés.
Relations syntaxiques
L'idée est d'analyser la syntaxe de la question et des passages candidats.
On extrait des relations de type prédicat-argument: + Exemple de relations syntaxiques Questions Relations« Qui a écrit Les Misérables ? »[X, écrire], [écrire, Les Misérables] Réponse candidate Relations« Victor Hugo a écrit Les Misérables »[Victor Hugo, écrire], [écrire, Les Misérables]
De l'exemple précédent, le système peut déduire X = Victor Hugo.
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 METAL de type « métal ».
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 : Question Passage<METAL, a, sujet> <point, a, objet> <fusion, point, comp-nom> <le plus haut, point, mod><tungstène, métal, pred>