CR -Walker: Tree-Structured Graph Reasoning and Dialog Acts for Conversational Recommendation (2021)

Abstract: Growing interests have been attracted in Conversational Recommender Systems (CRS), which explore user preference through conversational interactions in order to make appropriate recommendation. However, there is still a lack of ability in existing CRS to (1) traverse multiple reasoning paths over background knowledge to introduce relevant items and attributes, and (2) arrange selected entities appropriately under current system intents to control response generation. To address these issues, we propose CR-Walker in this paper, a model that performs tree-structured reasoning on a knowledge graph, and generates informative dialog acts to guide language generation. The unique scheme of tree-structured reasoning views the traversed entity at each hop as part of dialog acts to facilitate language generation, which links how entities are selected and expressed. Automatic and human evaluations show that CR-Walker can arrive at more accurate recommendation, and generate more informative and engaging responses.

## introduction many researches have been drawn to combine conversational assistants with recommender agents into one framework due to its significance and value in practical use @xcite , but creating a conversational recommender system (crs) that bridges conversation and recommendation still remains challenging. one of the challenges lies in reasoning over the background knowledge for accurate recommendation. prior studies usually focused on using context and knowledge as an enrichment to recommendation @xcite , but neglected to fully exploit the connection between entities foot_0 to infer the system action. in particular, this requires the system to make multi-path reasoning on background knowledge, since one entity may have multiple relationships with different entities through multi-hop reasoning. for example in fig. 1 , after the user mentioned "hemsworth", the agent chats on "vacation" starring "hemsworth", and further explores the user interests in "comedy" movies. it then recommends "thor" based on several distinct paths of reasoning over user preference @xcite . another challenge lies in fully utilizing the selected entities in response generation. since different dialog actions can be applied in conversational recommendation, selected entities needs to be properly expressed with the guide of dialog acts, an abstract representation of dialog semantics and intentions, in order to form natural, informative, and engaging utterances to interact with users. however, most previous works @xcite stopped at inferring entities without modeling response generation. in fig. 1 again, the agent first asks the user's preferred genres and actors, and then talks about the star and the movie to engage the user in the conversation, and last recommends a movie based on the user interests. in addition, the agent provides explanations at the third turn to make recommendation more interpretable and persuasive. to address these issues, we propose conversational recommendation walker (cr-walker) in this paper. it first selects a system intent to decide whether the system asks for information, chats about something, or makes a recommendation. then, it performs tree-structured reasoning on a knowledge graph (kg) and dialog context, creating a reasoning tree comprised of relevant entities to be introduced in response. the hierarchical arrangement of entities on the tree preserves the logical selection order under current system intents, which is transformed to dialog acts. the linearized representation of dialog acts further guides on generating informative and engaging responses with pre-trained language models. results show that cr-walker outperforms strong crs on two public datasets in recommendation and generation tasks. in brief, our contributions are summarised below foot_1 : (1) cr-walker conducts tree-structured reasoning on a knowledge graph and dialog context to explore background knowledge and exploit connection between entities for more accurate recommendation; (2) cr-walker transforms the reasoning tree into dialog acts that abstract the semantics and hierarchy of selected entities, and thereby generates more engaging responses for recommendation; one is recommendation-biased crs @xcite @xcite that asks questions about user preference over pre-defined slots or attributes to recommend items. as system response can be grouped into some pre-defined intents, it can be implemented with the help of language templates. under this simplified setting, approaches of this type do not model language generation explicitly @xcite . such dialogs can only provide limited actions without revealing why the system makes such recommendation (e.g. by asking on a fixed set of attributes) @xcite , thus leading to unsatisfactory user experience. recently, @xcite improves knowledge selection by assuming a single chain of reasoning throughout the conversation. it relies on finegrained annotations that follow single-path reasoning scheme. however, multiple entities can be selected at each reasoning hop (e.g. recommend several items within one turn, each item with different reasons). therefore, we propose tree-structured reasoning in this work to enable crs to select multiple entities through multi-path reasoning for accurate recommendation. @xcite introduces a dynamic user memory graph to address the reasoning of user knowledge in crs, which is beyond the scope of this paper. the other is dialog-biased crs @xcite @xcite ) that makes recommendations using free text, which have much flexibility to influence how the dialog continues. as these systems suffer from existing limitations in nlp (e.g. understand preference implicitly from user expression), most methods incorporate external information such as kg and user logs to enhance the dialog semantics @xcite or update the user representation @xcite . however, these methods do not capture higher-level strategic behaviors in recommendation to guide the conversation. to solve this issue, @xcite incorporates topic threads to enforce transitions actively towards final recommendation, but it models crs as an open-ended chit-chat task, which does not fully utilize relations between items and their attributes in response. in contrast, crs can be regarded as a variation of task-oriented dialog system that supports its users in achieving recommendation-related goals through multi-turn conversations @xcite . inspired by the use of dialog acts (traum, 1999), we choose a set of system dialog acts in crs to facilitate information filtering and decision making as task-oriented dialog policy @xcite does. ## cr-walker: conversational recommendation walker in this section, we start from defining the key concepts of knowledge graph and dialog acts used in cr-walker. as illustrated in fig. 2 , cr-walker works as follows: first of all, dialog history is represented in two views: one is utterance embedding in the content view, and the other is user portrait in the user interest view. then, cr-walker makes reasoning on a kg to obtain a reasoning tree, which is treated as a dialog act. afterwards, the treestructured dialog act is linearized to a sequence, on which cr-walker finally generates responses with a conditional language generation module. ## conclusion and future work we have presented cr-walker, a conversational recommender system that applies tree-structured reasoning and dialog acts. by leveraging intermediate entities on the reasoning tree as additional guidance, cr-walker better exploits the connection between entities, which leads to more accurate recommendation and informative response generation. automatic and human evaluations demonstrate cr-walker's effectiveness in both conversation and recommendation. it is worth noting that the dialog acts used in cr-walker are automatically obtained by entity linking to a kg with simple heuristics. therefore, our work can be easily applied to different conversational recommendation scenarios. there are still some topics to be explored based on cr-walker. it would be promising to equip cr-walker with a language understanding module to capture users' negative feedback and propose other reasoning rules to handle such situations. an