Elizia

Si vous avez déjà consulté la page concernant les Chatbots, alors vous savez déjà qui est Elizia. Il s'agit d'un agent conversationnel créé par La Sorbonne Nouvelle Paris III sur le modèle d'Eliza, créée en 1966 et pionnier en la matière. Toutes les deux sont censées simuler un psychologue rogérien, c'est à dire se contenter de faire parler son "patient" à partir des thèmes qu'il aborde lui-même. Pour cela les deux principaux atouts d'Elizia sont le retournement de phrase (Je n'aime pas le barbecue -> Pourquoi n'aimez-vous pas le barbecue ?) et le repérage de thèmes (Je n'aime pas mon frère -> Parlez-moi d'avantage de votre famille.)

Durant ce cours d'initiation au TAL nous avons eu accès au fonctionnement d'Elizia. Nous étions chargés de repérer ses faiblesses et tenter de les combler par divers moyens. Voyons comment fonctionne Elizia :

Le bot possède des sets de réponses préconstruites que l'on peut observer sur la supervision Elizia. Ces sets peuvent réagir à un cas spécial (répétition, input vide...) ou à des mots-clef. Nous nous intéresserons plus particulièrement aux cas de mot-clef, sur lesquels nous avons travaillé. Pour chaque thème (par exemple la famille) Elizia possède un répertoire de mots-clefs figé (frère, frères, soeur, soeurs, mère...) ainsi qu'un set de réponses (On ne choisi pas sa famille...). Ces réponses peuvent être définies selon un certain ordre, ou bien Elizia peut en choisir une au hasard dans le set. Chaque domaine est également doté d'un classement, qui permet à Elizia de choisir le thème le plus pertinent dans le cas où deux mots-clef de thèmes différents soient disponibles dans le même input. Par exemple face à "Tu as aussi eu des problèmes avec ton père ?" Elizia se retrouve face à "tu", mot-clef du domaine "tutoiement", qui entraine des réponses du type "le vouvoiement serait plus approprié" ; ainsi que face à "père" qui renvoie au thème de la famille, et revoie des réponses du type "Que signifie la famille pour vous ?". Le vouvoiement a un indice de 3, et la famille un indice de 9 : Elizia privilégiera des réponses en rapport avec la famille.

Notre travail sur Elizia consistait essentiellement à améliorer le système des mot-clef en traquant les réponses les moins pertinentes ou en ajoutant des domaines, correctement notés, pour compléter le panel de réponse de notre psychologue. Voici quelques exemples de modifications apportées : (Toutes ces modifications sont effectuées de façon locale, à titre d'exercice, et n'ont pas été prises en compte dans le fonctionnement effectif d'Elizia)

  • Domaine : communication
  • Réponse : " Worüber man nicht sprechen kann, darüber muss man schweigen." Problème : les mots-clefs lies à ce domaine peuvent être invoqués très facilement en dehors du contexte prévu. Par exemple si l'utilisateur dit « Dans la vie on me pose souvent des questions auxquelles je ne sais que répondre » la réponse d'Elizia ne manquera pas de surprendre.
  • Solution : Cette réponse n'est absolument pas pertinente, et le domaine lui-même mérite d'être remis en question, tant les mots-clefs associés peuvent se retrouver dans des contextes variés. Seule la réponse « souffrez-vous de troubles communicatifs ? » me parait pouvoir être à peu près pertinente dans ce domaine.
  • Domaine ajouté : Compliments
  • Mots-clef ajoutés : belle / canon / superbe / poupée / jolie / quelle classe / beauté / attirante / attiré / attirée
  • Réponses ajoutées :
    • On ne me l'avait jamais faite celle-là !
    • Vous n'êtes pas mal non plus.
    • Vous ne seriez pas en train de me draguer là ?
    • C'est gentil, merci.
    • Je préférerais rester dans une relation professionnelle.
  • Précisions : Ce domaine doit avoir un niveau de qualité inférieur à celui de « votre intérêt pour moi » (soit inférieur à 9)
  • Domaine ajouté : La météo
  • Mots-clef ajoutés : météo / pleut /neige / pluie / pleuvoir / il a plu / beau temps / mauvais temps / temps de merde / il fait beau / il faisait beau / il va faire beau / il fait très beau / il fait pas beau
  • Réponses ajoutées :
    • Désolée je n'ai pas accès à la météo !
    • Difficile à dire, je n'ai pas accès à la météo.
    • Ici il pleut, ça va faire du bien à mes géraniums.
    • La déprime se fait plus facilement sentir par temps pluvieux.
    • La pluie peut paraitre triste, mais elle peut également être source de poésie.
  • Problèmes : La météo ne fonctionne pas très bien à cause des éléments contraires. Par exemple à l'input « Le temps est ensoleillé aujourd'hui » Elizia peut répondre « La déprime se fait plus facilement sentir par temps pluvieux. ». Pour autant séparer les différentes météos en différents thèmes n'est pas une solution, car « il ne pleut pas » correspond à un temps ensoleillé... Une gestion de la négation serait utile à tous les domaines, car elle éviterait également des dialogues de ce type :
    Vous : Vous n'êtes vraiment pas jolie.
    Elizia : Vous ne seriez pas en train de me draguer là ?

On constate que le fonctionnement d'Elizia est très vite limité par ce système de mots-clef. La négation en est un bon exemple : on pourrait avoir pour les domaines où cela est pertinent, comme les compliments, un set de réponses positives (merci du compliment) et un set de réponses négatives (vous ne vous êtes pas regardé !). Une connaissance des flexions, via un dictionnaire flexionnel, permettrait également d'élargir plus facilement le champ des mots-clef reconnus par le bot. Une liste d'adverbes à ignorer pourrait également augmenter la taux de réponses pertinentes d'Elizia. Par exemple sur le sujet de la météo, on est obligé de donner comme mot-clef « il fait beau » et pas seulement « beau », pour cerner uniquement le thème de la météo, et pas celui de la beauté. Mais avec cette méthode, Elizia ne répond pas à « il fait très beau » « il fait super beau » « il fait moyennement beau »... Si Elizia avait une liste d'adverbes à ignorer pour recomposer des « éléments-clef » composés de plusieurs mots, ce problème serait résolu.