Suggest me a movie for tonight: Leveraging Knowledge Graphs for Conversational Recommendation (2020)

Abstract: Conversational recommender systems focus on the task of suggesting products to users based on the conversation flow. Recently, the use of external knowledge in the form of knowledge graphs has shown to improve the performance in recommendation and dialogue systems. Information from knowledge graphs aids in enriching those systems by providing additional information such as closely related products and textual descriptions of the items. However, knowledge graphs are incomplete since they do not contain all factual information present on the web. Furthermore, when working on a specific domain, knowledge graphs in its entirety contribute towards extraneous information and noise. In this work, we study several subgraph construction methods and compare their performance across the recommendation task. We incorporate pre-trained embeddings from the subgraphs along with positional embeddings in our models. Extensive experiments show that our method has a relative improvement of at least 5.62% compared to the state-of-the-art on multiple metrics on the recommendation task.

## introduction conversational recommender systems (crss) are goal-oriented dialogue systems focusing on recommending products to users through multi-turn dialogues. in these dialogues, the user and the recommender system take turns to interact with each other. crss hold enormous potential in the e-commerce industry wherein users can be recommended products based directly on the understanding of their requirements. however, users are not always entirely aware of their preferences while purchasing products. a crs enables the user to make an informed decision while purchasing a product by taking into consideration the information about different products and matching them to their needs. this is extremely useful in situations of high-involvement products. by understanding the context and learning the user's preference, crs can suggest products to the users which in turn will lead to higher consumer satisfaction and low buyer's remorse. the three central components of crss are the dialogue manager, the user modelling system, and the recommendation engine @xcite . the dialogue manager focuses on managing the dialogue states along with user intents and decides on the next actions to take. the user modelling system models the user profile using the dialogue content. the recommendation engine generates an appropriate recommendation to users by considering the dialogue states and user profiles into account. more recently, works on leveraging information from knowledge graphs (kgs) have been gaining ground. kgs contain factual information about real-world entities in a structured format. such external knowledge helps in adapting to a specific domain as they contain rich information about products and their features. this knowledge helps the recommendation engine to utilise additional knowledge about products which in turn leads to better suggestions. leveraging such graphs helps in making a better recommendation as additional information is made available to the system apart from the dialogue content and user behaviour. therefore, we focus on improving recommendations provided to users by incorporating kgs in dialogue systems for movie recommendation. however, to leverage the benefits of kgs, there is a need for constructing appropriate subgraphs for the targeted domain, thereby reducing the amount of redundant information made available to the system. subgraphs that are rich in domain information containing a low amount of noise are desirable. we, therefore, study the benefits of subgraphs created using n -hop and pagerank @xcite approaches. furthermore, we analyse which subgraphs are best suited for the task at hand. in this work, we build upon the work of knowledge-based recommendation dialog (kbrd) @xcite . the authors extract movie entities from dialogues and utilise information from a kg to suggest movies to users. we incorporate pre-trained entity embeddings and make use of positional embeddings to improve the performance of the system. the main contributions of our work are as follows: figure 1 : overview of our model. a subgraph is constructed from the kg. the entity embeddings are learnt on the extracted subgraph. entity embeddings belonging to a particular user is enriched with positional embeddings ( represents elements wise addition) and then passed through a soft-attention layer to represent the user. the score of each entity is calculated by taking a dot-product ( represents the dot-product of two vectors) of its embedding with the user representation. finally, the probability of each entity is calculated by passing the scores of all entities through a softmax layer. ## dataset for this work, we use the redial dataset @xcite , which is an annotated set of dialogues where a recommender suggests movies to a recommendee. the dataset consists of 10,006 dialogues with a total of 182,150 utterances. we split the dataset into 80% for training and 10% each for validation and testing. for the task of leveraging a kg, we use dbpedia as the kg for this task. it is an open kg that stores structured content from wikimedia projects. as dbpedia is served as open linked data, as suggested by the kbrd task, entities (movies, actors, directors, etc.) present in the conversations are linked to dbpedia entities using the method put forward by @xcite , where the authors perform entity linking using the generative probabilistic model. entities are furthermore split into two categories: movie entities and mentioned entities. movie entities are those entities, which are annotated movies present in the redial dataset. mentioned entities are the entities that are linked to dbpedia as suggested in @xcite . entities related to actors, producers, and directors are examples of mentioned entities. the dataset consists of 6,924 movies and 4,765 mentioned entities. among the movie entities, 824 movies from the dataset could not be linked to dbpedia. similarly, 121 mentioned entities could not be linked to dbpedia. we introduce the unlinked entities as isolated nodes in the graph. since the total number of nodes and edges present in the dbpedia kg has a magnitude of 10 6 and 10 7 respectively, we need to extract a relevant subgraph for this task. we build the initial set of subgraphs by considering nhop neighbours of the movie nodes present in our dataset. when constructing a graph using the n -hop technique, the subgraph grows exponentially which induces noise in the subgraph. to counteract this issue, we use the pagerank algorithm @xcite to extract subgraphs for the task. ## methodology to address the recommendation task, we begin with constructing a subgraph from the dbpedia kg. we then learn entity embeddings on the subgraphs thus constructed using the method described by @xcite . the learned embeddings are used for user representation. finally, we compute the similarity of the user with the movie entities. overview of our model is shown in figure 1 . ## experimental settings this section presents the parameters to train our system and the evaluation metrics used to evaluate our approach. furthermore, we describe previous approaches, against which we compare our proposed approach foot_0 . ## results and discussions first, we perform a quantitative evaluation of the models. we then analyse the effect of different subgraphs on the performance. thereafter, we proceed towards studying the performance while recommending disconnected entities and the effect of session sequence length. finally, we analyse two examples, where the model results are not consistent with the gold-standard, to get insights for future work. ## conclusion in this work, we propose a new model to improve the performance of the recommendation engine in crss. we introduce different subgraphs for the task to show the need for the construction of better subgraphs from kgs to propagate information into recommendation models. we show that our model outperforms the current-state-of-the-art on multiple metrics by considering the use of pre-trained kg embeddings and positional embeddings. through multiple experiments, we demonstrate that our model performs better in recommending disconnected entities in kg. also, as the number of entities mentioned in the text increases, the performance of our model improves. in our future work, we plan towards incorporating the context of the dialogue text into the model. we will be working towards understanding the differences between the movies mentioned by the user and the recommender, resulting in a better understanding of the context which in turn can be used to produce better recommendations. exploration of the performance of different kgs for this task is left for future work.