Chapitre 2 État de l’art
2.2 Examen de quelques systèmes
2.2.1 NLSA
NLSA « Naturel Language Sales Assistant » (Chai, Budzikowska et al. 2001) est le résultat de
recherches faites autour de la possibilité d’intégration du dialogue en langue naturelle dans les sites de
e-commerce dans le cadre d’un produit d’IBM, déployé en Angleterre et qui facilite l’échange
d’informations sur des produits informatiques.
2.2.1.1 Brève présentation
Le dialogue en langue naturelle a été employé pour des applications comme les centres d’appel
(Carpenter and Chu-Carroll 1998), le routage de courriels (Walker, Fromer et al. 1998), la recherche
d’information, l’accès aux bases de données (Ritchie 1995), et pour des opérations bancaires
effectuées par téléphone (Zadrozny, Wolf et al. 1998).
L’objectif des recherches faites autour du système NLSA est l’intégration du dialogue en langue
naturelle dans les environnements d’e-commerce et le progrès par rapport aux interfaces des sites Web
en langue naturelle comme www.askjeeves.com, www.neuromedia.com, etc, qui fonctionnent en mode
question-réponse et n’utilisent pas le dialogue.
Des études (Chai, Lin et al. 2000) ont montré qu’un tel moyen de communication basé
essentiellement sur le dialogue permettrait de comprendre efficacement les requêtes, les besoins et les
intentions des utilisateurs et par la suite de produire de l’aide, des conseils, et des recommandations
aux utilisateurs.
NLSA est un système d’assistance à la vente basé sur le dialogue à travers le Web déployé en 2001
par IBM sur son site britanique. C’est un système qui aide les utilisateurs à trouver des informations
sur des produits et des services dans des sites de e-commerce. Le système combine les technologies de
traitement de la langue naturelle et de l’interaction homme-machine pour permettre une interaction
plus rapide et plus intuitive avec les sites Web.
2.2.1.2 Type des énoncés traités
Comme le montre l’exemple de la Figure 5, le système NLSA traite des énoncés spontanés. Les
données forment l’état du dialogue représenté par une combinaison de l'expression courante de
l’utilisateur, de la réponse courante du système, et de l'historique de l'interaction.
Dans un exemple d’interaction, le système essaie de préciser les questions suivantes :
• L'utilisateur a-t-il indiqué des préférences de choix d'ordinateur ?
• Y a-t-il une ambiguïté détectée dans l'entrée de l'utilisateur ?
• Y a-t-il des concepts identifiés par l'analyseur dans l'expression courante ?
• Y a-t-il des contraintes contradictoires détectées ?
• Y a-t-il plus de trois produits recommandés à l'utilisateur dans l'interaction précédente ?
La combinaison des réponses à ces questions forme l'état du dialogue pour cette interaction
particulière. L'histoire du dialogue est une représentation sous forme d’un arbre qui contient l'état du
dialogue à tous les points d’interaction. En se fondant sur l'interprétation de l'entrée de l'utilisateur, le
système forme alors la requête correspondant à l’information spécifique. Voici un exemple en anglais
britannique.
U
0: I’m looking for a piano
8.
S
0: I’ll find you a notebook if you tell me what your
notebook needs are.
U
1: I’m looking for a laptop less than 500 pounds.
S
1: Display: a table of most popular models
Reply: The price range for Thinkpads is between 799
and 2389 pounds. You may specify a value with the range
or continue your search by specifying other features you
are looking for.
U
2: I want something easy to carry and inexpensive.
S
2: Display: We have found several notebooks based on
your search criteria: Ultraportability: models which weigh
less than 3 kilograms, Low price: affordable models which
sell for less than 1500 pounds, followed by a table of six
products satisfying these criteria).
Reply: Do you need a large hard disk capacity for
backup data or storing large files?
U
3: No, I want something top-of-the-line.
S
3: Display: We didn’t find a product that matches your
terms perfectly, but we have listed the closest match to your
request. (Display two tables: one table satisfies the
extreme-performance criteria with weights of products
sorted from lightest to the heaviest; the other table satisfies
the low price criteria with weights of products sorted from
lightest to heaviest).
Reply: Battery life is important to frequent travelers. Is long battery life
important to you?
…
Figure 5 : exemple de dialogue en anglais britannique
Dans une étude de cas (Chai, Budzikowska et al. 2001), des contradictions se sont produites pour
plus de 40% des tours de parole dans lesquels le système propose des suggestions. Par conséquent,
pour de tels systèmes, il est crucial que la source de conflit soit identifiée et que le système puisse
fournir un retour.
2.2.1.3 Architecture et ressources
2.2.1.3.1 Architecture
Le système NLSA est basé sur une architecture client-serveur utilisant des servlets java et HTTP
comme protocole d’échange entre le client et le serveur. Il inclut deux sous-systèmes comme le montre
la Figure 6 : un sous-système pour la gestion des données et un sous-système d’interaction en ligne.
Figure 6 : architecture du système NLSA
2.2.1.3.2 Composants linguiciels et sémantiques
Les principaux composants linguiciels sont : un système d’interaction en ligne et un
sous-système de gestion des données.
Sous-système d’interaction en ligne
L’architecture du sous-système d’interaction supporte un dialogue multimodal et des entrées de
plusieurs canaux comme le clavier, l’entrée et la sortie d’un téléphone ou d’un microphone, la souris,
etc.
Le sous-système d’interaction est composé de trois modules :
- Le module de Gestion de la Présentation (GP) qui utilise un analyseur pour transformer la
requête de l’utilisateur en un format logique et l’envoyer au Gestionnaire de Dialogue (GD).
Il reçoit aussi la réponse du système en provenance du gestionnaire de dialogue. Il se
compose d’interfaces, un analyseur « Quick Parser », un générateur de réponse et un module
d’explication.
- Le module de Gestion du Dialogue (GD) qui détermine et envoie/reçoit l’action au/du
gestionnaire de l’action (GA).
- Le module de Gestion des Actions (GA) qui détermine le meilleur mécanisme pour
l’exécution de l’action. Par exemple, ayant une spécification d’une action de recherche d’un
produit, il décide quelle information source doit être cherchée et extraite.
L’un des principaux avantages de l’utilisation du dialogue est l’ajout de nouvelles informations à
l’aide des composants de l’interface comme les boutons, les formulaires, les liens (voir Figure 7) et le
dialogue en langue naturelle. Cela permet à l’utilisateur d’avoir aussi des exemples, des explications et
de comprendre les limitations du système.
Figure 7 : interface initiale pour utilisateur
Un analyseur sémantique est utilisé pour identifier l'information sémantique à partir de l'entrée
textuelle de l'utilisateur. Plus spécifiquement, en utilisant une collection d'expressions régulières et une
grammaire, l'analyseur identifie les entités nommées spéciales (ex : CPU rapide, type de processeur,
etc), la tête de chaque groupe nominal et les concepts pour le traitement ultérieur. L'analyseur est
implémenté comme une cascade de transducteurs d'état finis. Il traduit des chaînes d’entrée en langage
naturel en un message XML bien formé appelé « Logical Format » (LF), qui est transmis au GD
(Gestionnaire de dialogue).
Par exemple, si l'entrée de l’utilisateur est "nice travel companion for $2000-3000 with at least
400Mhz Pentium processor", l'analyseur produira la forme suivante dans le format XML. C’est un
exemple de message dans le format LG.
<LF> <NP> <ATTRIBUTE><SPECS>nice</SPECS></ATTRIBUTE> <HEAD><SPECS CONCEPT="PORTABILITY" SCALE="weight">travel companion</SPECS></HEAD> <PP> <PREP VALUE="for"/> <NP> <ATTRIBUTE><SPECS TYPE="BASE_PRICE">gt2000</SPECS></ATTRIBUTE> <HEAD><SPECS TYPE="BASE_PRICE">lt3000</SPECS></HEAD> </NP> </PP> <PP> <PREP VALUE="with"/> <NP> <ATTRIBUTE><SPECS TYPE="CPU_SPEED">gt400</SPECS></ATTRIBUTE> <ATTRIBUTE><SPECS TYPE="CPU_BRAND">Pentium</SPECS></ATTRIBUTE> <HEAD><SPECS>processor</SPECS></HEAD> </NP> </PP> </NP> </LF>
Le format LG est reçu par le gestionnaire de dialogue qui se charge de l'interaction ultérieure
comme demander plus d'information ou une confirmation.
L’analyseur vise à produire une analyse linguistique complète (un arbre de constituants enrichi par
des décorations) ; il annote la forme de surface avec une description de contenu. La représentation est
donc liée à la langue source et assez complexe. Une analyse possible de la structure logique du format
LG peut être la suivante (voir Figure 8). C’est un arbre dont la racine est LF « Logical Format » et
dont les nœuds sont les concepts détectés et peuvent avoir des attributs.
Figure 8 : exemple de structure dans le format LG
Sous-système de gestion des données
Le sous-système de gestion des données contient les données spécifiques à l’application et au
domaine, les informations et les connaissances, et traite les données, les connaissances et la
maintenance (outils et processus).
Dans ce sous-système, la connaissance du domaine est représentée par les concepts et les règles du
niveau « business », qui traitent respectivement les besoins du client et les demandes du « business ».
Comme dans la plupart des autres systèmes, l’ensemble du vocabulaire est représenté par des concepts
qui indiquent les intentions des utilisateurs et leurs intérêts dans le marché des ordinateurs. Trois types
de concepts sont définis :
- Les concepts d’entités qui représentent des choses et des substances (produits, accessoires,
etc.).
- Les concepts d’attributs qui représentent les caractéristiques des produits, comme « FAST »,
« LIGHT », « HIGH-PERFORMANCE » etc.
- Les concepts objectifs qui représentent les rôles et les fonctions des produits recherchés
comme « SMALL-BUSINESS », « TRAVEL », etc.
Chaque concept contient une liste de mots et/ou de phrases définissant ce concept particulier. Un
format XML est utilisé pour organiser et gérer ces concepts, comme le montre l’exemple de la Figure
9. Chaque concept a différents attributs pour indiquer d’autres informations. L'analyseur « Quick
Parser » est utilisé pour identifier les concepts appropriés dans l’entrée de l'utilisateur.
Les règles de la couche « business » font le lien entre les concepts et les spécifications du
« business ». Ces spécifications sont les valeurs et les termes utilisés par les utilisateurs pour décrire
leurs marchandises. Par exemple, dans le domaine de la vente d’ordinateurs, les spécifications peuvent
être : le modèle d’ordinateur, la vitesse du processeur, la capacité de la mémoire, la taille du disque
dur, le prix, etc. En terme de ces spécifications, les règles de la couche « business » donnent des
définitions aux concepts du point de vue du « business », de la même façon que ces modèles sont
placés sur le marché.
</ENTRY><ENTRY NORMAL_FORM = "AGP", SCALE = 0,SUPERLATIVE = 0>
<NOVICE>Is 3-D graphics performance, which speeds online gaming and graphic design, important to you?</NOVICE>
<EXPERT>Are you interested in having an Advanced Graphic Port for improved 3-D graphics performance? </EXPERT>
<NL_FORM>Advanced Graphics Port</NL_FORM>
<DEF><![CDATA[hd_min >= 6.4 & resolution is 1024x768]]></DEF> <WORD>agp</WORD> <WORD>graphics</WORD> <WORD>game</WORD> <WORD>3-D</WORD> <WORD>multimedia</WORD> <WORD>…</WORD> </ENTRY>