Movie Dialog bot

Nombreux sont les bots qui lorsqu’ils ne comprennent pas l’utilisateur (la phrase, l’intention) répondent par la phrase bateau “Could you rephrase, I don’t understand”. Cela peut vite deve- nir ennuyant pour l’utilisateur.

C’est là qu’intervient l’idée folle du projet Movie Dialog Bot. Afin de garder l’utilisateur captivé, le bot doit lui répondre par un message divertissant. L’idée est justement d’afficher à l’utilisa- teur une célèbre citation de film avec en plus, les informations concernant l’acteur, le caractère et le nom du film. La citation n’est pas affichée au hasard ! C’est à l’aide du machine learning qu’on va définir la meilleure citation à afficher en fonction de la phrase envoyée par l’utilisateur.

Pour comprendre plus facilement de quoi on parle, voici un exemple illustrant mes propos.

User : What do you do?
bot (scripted) : We are a company selling beauty products
User : Oh nice ! I feel that I would need such kind of stuff.
bot (generated answer) : I do like it. You look beautiful.
bot : PS : This is what Richard Gere answered in Pretty Woman. I’m outside my comfort zone so I’m choosing the best quote I could from my favourite movies to answer your question.

Le premier défi de ce projet est de préparer un dataset contenant des citations connues en anglais. Il nous faut pour chaque citation le nom de l’acteur, le nom du caractère et le film dans lequel la citation a été utilisée. De plus, on a besoin de la phrase précédant la citation dans le script. C’est essentiel car l’algorithme va chercher quelle phrase précédant la citation à le plus de similitude avec la phrase envoyée par l’utilisateur pour ensuite lui afficher la citation.

Mais comment à l’aide du machine learning, déterminer la meilleure citation ? C’est justement le deuxième défi de ce projet. Un modèle documenté qui détermine la meilleure citation de film. C’est le modèle ULMFiT de fastai qui est utilisé pour ce projet. Il utilise le dataset qui est préparé préalablement.

Concernant le troisième défi du projet, c’est la mise en place d’un bot Telegram. En utili- sant l’inférence du modèle, le bot sera capable de répondre à la phrase de l’utilisateur par la meilleure citation.

La mise en production de ce bot, nous a permis de déterminer une chose très importante. L’idée n’est pas si folle et elle plaît aux utilisateurs.

General information
  • Date: 15.05.2020
  • Type: Semester project
  • Responsible: Jacky Casas