Personalized Response Generation via Generative Split Memory Network (2021)

Abstract: Despite the impressive successes of generation and dialogue systems, how to endow a text generation system with particular personality traits to deliver more personalized responses remains under-investigated. In this work, we look at how to generate personalized responses for questions on Reddit by utilizing personalized user profiles and posting histories. Specifically, we release an open-domain single-turn dialog dataset made up of 1.5M conversation pairs together with 300k profiles of users and related comments. We then propose a memory network to generate personalized responses in dialogue that utilizes a novel mechanism of splitting memories: one for user profile meta attributes and the other for user-generated information like comment histories. Experimental results show the quantitative and qualitative improvements of our simple split memory network model over the state-of-the-art response generation baselines.

## introduction building human-like conversational systems, in particular chit-chat agents, has been a longstanding goal in language technology communities. unlike task-oriented dialog agents that focus on completing specific tasks @xcite @xcite , chit-chat agents need to dynamically interact with people, understand the meaning of human conversations @xcite , and thereby make better responses to improve user experience. despite the recent successes on building chitchat agents using data-driven approaches @xcite @xcite @xcite , lack of a consistent personality is still one of the common issues. the main reason is that these there have been several personality-related dialogue datasets built for evaluating models' performances in personalized conversations, such as persona-chat dataset @xcite ) and facebook's reddit dataset @xcite . the persona-chat dataset was collected by intentionally assigning annotators to predefined personas described by a set of sentences instead of their real personality. such artificially generated conversations cannot adequately represent respondents and their personalities which would lead to dataset bias problems. for example, an introvert annotator can hardly imitate the response of a person with sociable personas. moreover, the number of personas covered by this corpus is limited. today's social media platforms such as reddit and twitter provide us with good opportunities to build a large scale of collections of naturally occurring conversations @xcite @xcite and also make it possible to provide consistent personalities. for instance, facebook's reddit dataset represents each user by a set of sentences chosen from their comment histories heuristically. however, they also acknowledged that these persona sentences might not well represent a general trait of users due to the limitation of their heuristic rules for sentence retrieval @xcite . in this work, we introduce a personalized reddit dataset per-chat, an open-domain response generation dataset consisting of 1.5m conversations and 300k users. per-chat covers finergrained personal information for users, including discrete user attributes such as gender, residence, self-description and favorites inferred based on users' self-reported messages on reddit, and contextual information such as their comments ( §3). based on per-chat, we propose a simple generative split memory network to incorporate diverse personal information, with a novel mechanism of splitting memories: one memory representation for user meta attributes (e.g., profile) and the other for user activity information (e.g., comment histories), respectively ( §4). experimental results show that our generative split memory network outperforms state-of-the-art response generation baselines both quantitatively and qualitatively ( §5). ## related work personalized generation datasets much attention has been paid to construct personalized dialog datasets. built upon the babi dialog dataset, @xcite extended it to include information such as gender, age and dietary preference. this domainspecific dataset was then used to train goal-oriented dialog models for several restaurant reservation tasks. there are also several dialog datasets that focus on chit-chat scenarios, such as persona-chat dataset @xcite , reddit dataset @xcite , twitter dataset @xcite and personaldialog dataset @xcite . persona-chat (pc) dataset consists of 1k different personas, and annotators are asked to conduct conversations according to assigned personas. the reddit dataset and twitter dataset simply use user id information without any specific user information to indicate personalization. the personaldialog dataset (pd) @xcite , collected from a chinese social media weibo, contains three kinds of personality traits ("gender", "location", "age") for each user. on the other hand, @xcite introduced personalization from reddit (pcr) by incorporating the persona of each user with a (randomly chosen) subset of his/her posting comments. @xcite further extended their datasets with annotated empathy information (pec). in this work, we combine those two different ways of gathering personalization signals of users, i.e., meta profile attributes and users' posting histories, and provide a more comprehensive, large scale personalized dataset derived from natural social conversations. personalized generation models current dialog models can be divided into ranking-based models and generation-based models. ranking-based models @xcite @xcite focus more on the task of response selection that is to pick the best response from a pool of random candidates. in contrast, generation-based models attempt to generate response directly from any given input questions. under personalized dialog settings, @xcite claimed that ranking-based models performed better than generative models on their personalized dataset, suggesting that building personalized generation models are more challenging. with the development of recent large scale social media data and the success of sequence to sequence framework @xcite @xcite , several personalized response generation models have been proposed, and we can only mention a few here due to space limits. @xcite introduced the speaker model and the speaker-addressee model that encoded user-id information into an additional vector and fed it into the decoder to capture the identity of the speakers. @xcite further extended these speaker models into multi-turn conversations. in addition to using user id to capture personal information, @xcite proposed a profile memory network that utilizes a memory network for encoding persona sentences. to further utilize personal traits, @xcite proposed an attention mechanism to incorporate these userrelated attributes in the decoding stage. recently, there are a few works using meta-learning and reinforcement learning to enhance mutual persona perception @xcite ; @xcite . however, few models have taken into account different potential sources of personalization signals such as profile attributes and comments. our work conducts persona-aware representation learning by combining these two sources. note that our split memories architecture is similar to @xcite , but differs in tasks and memorizing histories. in our work, we focused on memorizing relevant history comments instead of dialog histories in multi-turn chat settings. evaluation metrics most response generation models utilize perplexity, bleu @xcite and recently bertscore @xcite and moverscore @xcite for evaluation @xcite . for evaluating personalization, @xcite proposed to measure the accuracy of predicting personality traits by firstly training classifiers for different personality traits such as gender and age. however, for certain trait categories such as hobbies and location, it is quite difficult to train a reliable classifier. in terms of evaluating persona consistency between generated sentences and given user comments, madotto et al. proposed consistency score using nli models pre-trained on dialog nli dataset @xcite , which is a corpus based on persona dataset, with nli annotation between persona description sentences and dialogues utterance. in this paper, we introduce an automatic metric for evaluating persona consistency between user profiles and these generated sentences. ## dataset construction this section describes how we construct an opendomain single-turn dialog dataset with personalization information from reddit, together with dataset analysis 1 . specifically, we used r/askreddit foot_1 , one of the most active subreddits based on an online subreddit ranking system sorted by number of active users foot_2 . users on r/askreddit are encouraged to write clear and direct questions, and most posted questions are about open-ended discussion on a va-riety of topics, without definite or correct answers or professional knowledge, making r/askreddit a suitable place to model personalization in open domain dialogue systems. ## generative split memory network this section presents our generative models for personalized response generation, which generate responses conditioned on given questions and respondents' personal information 6 . let a conversation c be a tuple of question, response and respondent (user) c := (q, r, u ). a user @xmath0, p, m ) consists of three sources of information -username (id), profile attributes @xmath1, f 2 , . . . , f n ), and user's comments @xmath2, m 2 , . . . ) where f i is given as a key-value pair f @xmath3, v @xmath4. to better incorporate personal information of different dimensions, we propose a generative memory network with split memories for user profile and user comment history, respectively. the intuition lies in that interpersonal meta attributes and comment patterns may influence the respondents' responses differentially. the overall model architecture is shown in figure 2 . our model is built upon a standard seq2seq model with attention. for a given conversation c, we first feed the input comments m through retrieval system to get queryrelated comment set m, and the memory network encoder computes the representations of related comment history. in parallel, profile attributes are added as separate profile memory by another encoder. at each time step, the decoder utilizes the aggregated representations of comment histories and profile attributes to generate the final response. ## conclusion in this paper, we introduced a large-scale opendomain personalized dataset per-chat and proposed a generative split memory network to utilize both user profile information and commenting histories for the task of response generation. experimental results showed that our proposed model significantly outperformed several state-ofart baseline models, both quantitatively and qualitatively. future research could build upon our work on single-turn response generation to further model personalization in multi-turn conversations.