Towards Conversational Recommendation over Multi-Type Dialogs (2020)

Abstract: We focus on the study of conversational recommendation in the context of multi-type dialogs, where the bots can proactively and naturally lead a conversation from a non-recommendation dialog (e.g., QA) to a recommendation dialog, taking into account user’s interests and feedback. To facilitate the study of this task, we create a human-to-human Chinese dialog dataset DuRecDial (about 10k dialogs, 156k utterances), where there are multiple sequential dialogs for a pair of a recommendation seeker (user) and a recommender (bot). In each dialog, the recommender proactively leads a multi-type dialog to approach recommendation targets and then makes multiple recommendations with rich interaction behavior. This dataset allows us to systematically investigate different parts of the overall problem, e.g., how to naturally lead a dialog, how to interact with users for recommendation. Finally we establish baseline results on DuRecDial for future studies.

## introduction in recent years, there has been a significant increase in the work of conversational recommendation due to the rise of voice-based bots @xcite @xcite . they focus on how to provide high-quality recommendations through dialog-based interactions with users. these work fall into two categories: (1) task-oriented dialogmodeling approaches @xcite @xcite ; (2) nontask dialog-modeling approaches with more freeform interactions @xcite . almost all these work focus on a single type of dialogs, either task oriented dialogs for recommendation, or recommendation oriented open-domain conversation. moreover, they assume that both sides in the dialog (especially the user) are aware of the conversational goal from the beginning. in many real-world applications, there are multiple dialog types in human-bot conversations (called multi-type dialogs), such as chit-chat, task oriented dialogs, recommendation dialogs, and even question answering @xcite @xcite . therefore it is crucial to study how to proactively and naturally make conversational recommendation by the bots in the context of multi-type human-bot communication. for example, the bots could proactively make recommendations after question answering or a task dialog to improve user experience, or it could lead a dialog from chitchat to approach a given product as commercial advertisement. however, to our knowledge, there is less previous work on this problem. to address this challenge, we present a novel task, conversational recommendation over multitype dialogs, where we want the bot to proactively and naturally lead a conversation from a non-recommendation dialog to a recommendation dialog. for example, in figure 1 , given a starting dialog such as question answering, the bot can take into account user's interests to determine a recommendation target (the @xmath0, and then drives the conversation in a natural way by following short-term goals, and completes each goal in the end. here each goal specifies a dialog type and a dialog topic. our task setting is different from previous work @xcite . first, the overall dialog in our task contains multiple dialog types, instead of a single dialog type as done in previous work. second, we emphasize the initiative of the recommender, i.e. the bot proactively plans a goal sequence to lead the dialog, and the goals are unknown to the users. when we address this task, we will encounter two difficulties: (1) how to proactively and naturally lead a conversation to approach the recommendation target, (2) how to iterate upon initial recommendation with the user. to facilitate the study of this task, we create a human-to-human recommendation oriented multitype chinese dialog dataset at baidu (durecdial). in durecdial, every dialog contains multi-type dialogs with natural topic transitions, which corresponds to the first difficulty. moreover, there are rich interaction variability for recommendation, corresponding to the second difficulty. in addition, each seeker has an explicit profile for the modeling of personalized recommendation, and multiple dialogs with the recommender to mimic real-world application scenarios. to address this task, inspired by the work of @xcite , we present a multi-goal driven conversation generation framework (mgcg) to handle multi-type dialogs simultaneously, such as qa/chitchat/recommendation/task etc.. it consists of a goal planning module and a goal-guided responding module. the goal-planning module can conduct dialog management to control the dialog flow, which determines a recommendation target as the final goal with consideration of user's interests and online feedback, and plans appropriate shortterm goals for natural topic transitions. to our knowledge, this goal-driven dialog policy mechanism for multi-type dialog modeling is not studied in previous work. the responding module produces responses for completion of each goal, e.g., chatting about a topic or making a recommendation to the user. we conduct an empirical study of this framework on durecdial. this work makes the following contributions: facebook rec @xcite ) 1m 6m rec. movie no redial @xcite 10k 163k rec., chitchat movie no gorecdial @xcite 9k 170k rec. movie yes opendialkg @xcite 12k 143k rec. movie, book no cmu dog @xcite 4k 130k chitchat movie no iit dog @xcite 9k 90k chitchat movie no wizard-of-wiki @xcite 22k 202k chitchat 1365 wikipedia topics no opendialkg @xcite 3k 38k chitchat sports, music no duconv @xcite 29k 270k chitchat movie no kdconv @xcite 4.5k 86k chitchat movie, music, travel no durecdial 10.2k 156k rec., chitchat, qa, task movie, music, movie star, food, restaurant, news, weather yes ## conclusion we identify the task of conversational recommendation over multi-type dialogs, and create a dataset durecdial with multiple dialog types and multidomain use cases. we demonstrate usability of this dataset and provide results of state of the art models for future studies. the complexity in durecdial makes it a great testbed for more tasks such as knowledge grounded conversation @xcite , domain transfer for dialog modeling, target-guided conversation @xcite and multi-type dialog modeling @xcite . the study of these tasks will be left as the future work. collection of task templates first we manually annotate a list of around 20 high-level goal sequences as candidates. most of these goal sequences include 3 to 5 high-level goals. here each high-level goal contains a dialog type and a domain (not entity or chatting topic). then for each seeker, we select appropriate high-level goal sequences from the above list, which contains the domains that fall into the seeker's preferred domain list. to collect goal sequences at entity level, we first use the seed entities of the seeker to enrich the information of above high-level goal sequences. if the seed entities are not enough, or there is no seeds for some domains in the high-level goal sequences, we select some entities from kg for each goal domain based on embedding based similarity scores of the seed entities (of current seeker) and the candidate entity. then we obtain goal sequences at entity level. finally we use some rules to generate a description for each goal (e.g., which side, the seeker or the recommender, to start the dialog, how to complete the goal). thus we have task templates for guidance of data annotation. to introduce diverse interaction behavior for recommendation, we design some fine-grained interaction operations, e.g., the seeker may reject the initial recommendation, or mention a new topic, or ask a question about an entity, or simply accept the recommendation. each interaction operation corresponds to a goal. we randomly sample one of above operations and insert it into the entity-level goal sequences to diversify recommendation dialogs. the entities associated with the above interaction operations are selected from the kg based on their similarity scores with current seeker's seed entites. if the entity will be accepted by the seeker as described in the task templates (including entity-level goal sequence and its description), then its similarity score with the seeker's seed entites should be relatively high. if the entity will be rejected by the seeker as described in the task templates, then its similarity score with the seeker's seed entites should be relatively low.