Master's thesis (2018)
|
Open Access to the full text of this document Terms of Use: All rights reserved Download (2MB) |
Abstract
Beyond classical recommendation systems, a discussion with a friend or a librarian will often add richness in recommandations, and be more natural and enjoyable. Conversational recommendations have not drawn a lot of attention in research. But the recent advances in deep learning allow to tackle more and more complex problems. One reason why few works have dealt with conversational recommendations is the lack of data. Indeed, existing data sets of recommendation dialogues are often synthetic or too small. During this research project, we gather a new data set of conversational recommendations, and use it to develop a recommendation chatbot. We chose to focus on movies, since it is a standard application of recommendation systems. The newly gathered data set comprises a training set of 10000 conversations and a test set of 1300 conversations. The test set was collected with a distinct pool of workers. These dialogues were collected via Amazon Mechanical Turk. In each dialogue, one participant is the movie seeker and has to ask for recommendations, the other is the recommender. We propose a neural network architecture based on a Hierarchical Recurrent Encoder-Decoder and train it using our data set. 10000 dialogues is quite small in comparison to other corpora used in deep learning, that may contain up to several million conversations. 10000 conversations is not enough to train a vanilla Hierarchical Recurrent Encoder-Decoder without overfitting. We adress this issue by including sub-components that can be pre-trained using other data sources, thus compensating for the small size of the data set. A first module analyzes the sentiment with respect to each movie mentioned in the conversation. This sentiment will provide the input to the recommender module. These two modules are trained using the liked/disliked labels associated with each movie mention in our data set, and the MovieLens data set. We modify the decoder so it can make use of those explicit recommendations when generating sentences. We also experiment with more complex variants of this architecure. We introduce a latent variable, or additional connections. It seems that the small size of the data doesn't allow us to correctly train such complex models, and our first model gives the best results.
Résumé
Au delà des systèmes de recommandations basés sur les préférences passées des utilisateurs, une discussion avec un ami ou un libraire peut souvent ajouter de la richesse dans les recommandations obtenues, en plus d'être plus naturelle et agréable. Les recommandations conversationnelles sont un problème qui a attiré peu d'attention dans la recherche. Toutefois, les performances des nouvelles architectures de réseaux de neurones dans le domaine du dialogue permettent de s'attaquer à des problèmes aussi complexes que celui-ci. Une des raisons pour lesquelles ce problème n'a pas reçu beaucoup d'attention est le manque de données. Les jeux de données existant dans ce domaine sont souvent synthétiques ou très peu volumineux. Au cours de ce projet de recherche, nous cherchons à créer un nouveau jeu de données pour les recommandations conversationnelles, et à l'exploiter pour développer un chatbot de recommandation. Nous choisissons le domaine cinématographique puisque c'est une application très classique des systèmes de recommandation. Le nouveau jeu de données proposé comprend un ensemble d'entraînement de 10000 conversations, ainsi qu'un ensemble de test de 1300 conversations, dont les utilisateurs sont tous distincts de ceux de l'ensemble d'entraînement. Ces données ont été récoltées via Amazon Mechanical Turk. Dans chaque dialogue, un participant est censé demander des recommandations de films, tandis que l'autre doit les donner. Nous proposons une architecture de réseaux de neurones basée sur le Hierarchical Recurrent Encoder-Decoder utilisant ces données. Le jeu de données de 10000 dialogues est vraisemblablement très petit en comparaison d'autres corpus de dialogues utilisés en apprentissage profond, contenant jusqu'à plusieurs millions de dialogues. Ces données ne suffisent pas à entraîner un modèle comme le Hierarchical Recurrent Encoder-Decoder sans qu'il ne fasse du sur-apprentissage. Notre approche inclut donc deux sous-composantes qui peuvent être pré-entraînées, utilisant ainsi d'autres sources de données pour compenser la faible taille de notre jeu de données. Un premier module analyse le sentiment par rapport à chacun des films mentionnés dans la conversation. Ce sentiment servira d'entrée pour le module de recommandation. Ces deux modules sont entraînés en utilisant les étiquettes associées à chaque mention de film dans nos données, ainsi que le jeu de données MovieLens. Enfin, notre décodeur a une structure spéciale qui lui permet d'inclure ces recommandations explicites.
Department: | Department of Computer Engineering and Software Engineering |
---|---|
Program: | Génie informatique |
Academic/Research Directors: |
Christopher J. Pal |
PolyPublie URL: | https://publications.polymtl.ca/3306/ |
Institution: | École Polytechnique de Montréal |
Date Deposited: | 19 Nov 2018 11:09 |
Last Modified: | 30 Sep 2024 05:33 |
Cite in APA 7: | Li, R. (2018). Recommandations conversationnelles dans le domaine des films [Master's thesis, École Polytechnique de Montréal]. PolyPublie. https://publications.polymtl.ca/3306/ |
---|---|
Statistics
Total downloads
Downloads per month in the last year
Origin of downloads