Automatic Generation of Large-scale Multi-turn Dialogues from R eddit (2022)

Abstract: This paper presents novel methods to automatically convert posts and their comments from discussion forums such as Reddit into multi-turn dialogues. Our methods are generalizable to any forums; thus, they allow us to generate a massive amount of dialogues for diverse topics that can be used to pretrain language models. Four methods are introduced, Greedy_Baseline, Greedy_Advanced, Beam Search and Threading, which are applied to posts from 10 subreddits and assessed. Each method makes a noticeable improvement over its predecessor such that the best method shows an improvement of 36.3% over the baseline for appropriateness. Our best method is applied to posts from those 10 subreddits for the creation of a corpus comprising 10,098 dialogues (3.3M tokens), 570 of which are compared against dialogues in three other datasets, Blended Skill Talk, Daily Dialogue, and Topical Chat. Our dialogues are found to be more engaging but slightly less natural than the ones in the other datasets, while it costs a fraction of human labor and money to generate our corpus compared to the others. To the best of our knowledge, it is the first work to create a large multi-turn dialogue corpus from Reddit that can advance neural dialogue systems.

## introduction with the advent of encoder-decoder frameworks @xcite @xcite , neural-based open-domain dialogue models have recently gained a tremendous interest as they start sounding more human-like than ever @xcite @xcite . training robust neural-based models requires a huge amount of dialogue data in numerous topics that is difficult to procure as real human-to-human conversations are expensive and time-intensive to conduct @xcite . several studies have presented large dialogue data created by crowdsourcing @xcite @xcite . however, it still requires nontrivial configurations in the cloud platform and the performance of crowd workers needs to be monitored constantly while paying them and the service a good amount of fees. most encoder-decoder models used in dialogue systems are not pretrained on dialogues, just finetuned on relatively small dialogue datasets, which is a limiting factor. few studies have utilized comment threads in discussion forums for the creation of dialogue data and enhanced the performance of dialogue systems @xcite . however, these comment-originated dialogues tend to be short and not as sensible due to a lack of contexts from the main posts that are unsuitable for training multi-turn dialogue models. such data scarcity points toward a necessity for a parameterized model that generates dialogues of different forms, styles, and topics in high quantity. in this paper, we first introduce four algorithms to automatically convert posts and their associated comments from discussion forums such as reddit into multi-turn one-to-one dialogues (section 3). our approach leverages the vast and available suite of human content and interaction online, with the potential to create many diverse dialogues, where the choice of subreddits constitutes topic selection. it also adapts a sentence-level language model for estimating likelihoods among posts and comments to sequence sounding utterances, and is analyzed across 10 subreddits (section 4). we then create a large dialogue corpus and demonstrate the efficacy of our approach through head-to-head evaluation against dialogues from three well-known datasets, which indicates that our dialogues are as engaging and natural as those from others that are manually generated (section 5). this work will facilitate the development of dialogue models in all kinds of areas that have been hindered by the data scarcity. 1 2 related work several dialogue datasets that are created through crowdsourcing have been presented. persona chat was created by assigning specific personas to two annotators who act as characters with those personas and generate a dialogue @xcite . wizard of wikipedia was created by assigning two roles to annotators, the appentice acting as a curious learner of a specific topic and the wizard informing about the topic with a retrieved wikipedia article @xcite . empathetic dialogues was created by assigning two roles to annotators, the speaker describing a situation when a specific emotion would occur and the listener reacting to such a emotional situation @xcite . blended skill talk was created by asking annotators to combine the personal, knowledgeable, and empathetic aspects of the previous three datasets together to generate more natural dialogues @xcite . topical chat was created by giving wikipedia sections, fun facts, and news articles for a specific topic to annotators and asking them to generate a dialogue @xcite . only a few dialogue datasets have been created automatically. daily dialogue was crawled from various websites including dialogues scripted for english learners to practice daily conversations @xcite . @xcite scrapped reddit comments with replies and considered them short dialogues, which would not be multi-turn. ## reddit-to-dialogue generation we introduce four algorithms for the dialogue generation: greedy baseline (section 3.1), greedy advanced (section 3.2), beam search (section 3.3), and threading (section 3.4). the main objective is to generate a multi-turn dialogue using a post and its comments (and replies) foot_1 that flows naturally in context. all algorithms assume that the number of sentences in the input post is less than or equal to the number of comments. the generated dialogues involve two speakers where utterances of speakers 1 and 2 are extracted from the post and comments, respectively. all algorithms are evaluated on posts from diverse subreddits (section 4). ## algorithm analysis this section provides an in-depth analysis among the following five methods: to evaluate the quality of dialogues generated by these methods, diverse posts are collected from the following 10 subreddits: for the inter-annotator agreement, cohen's kappa is used, which shows moderate agreements for g b and t 2 , where most utterances are found to be inappropriate and appropriate respectively such that they are easier to assess. the score of the dialogue is measured by macro-averaging the scores of the two annotators as follows (@xmath0: the number of dialogues, @xmath1: the number of annotators): for the dialogue lengths, it is not surprising that g b yields longer dialogues as each sentence in the post is considered a separate utterance. notice that b * yield shorter dialogues than the others, indicating that the beam search prefers to combine more sentences from the post to compose utterances for speaker 1. it makes sense because the nsp scores between consecutive sentences from the post are likely higher than ones with comments. however, the length is resolved with t 2 when the replies are concatenated to those sentences so that their nsp scores become more comparable to the nsp scores with the comments. utterances for speaker 2 tend to be longer than speaker 1's ones. ## multi-turn dialogue corpus with our best method, threading (section 3.4), we create a corpus consisting of 10,098 dialogues that can be used to pretrain language models for multiturn dialogue systems (section 5.1). among those, 570 of them are compared to dialogues from three other datasets for quality assurance (sec. 5.2). ## conclusion we present four algorithms for the automatic conversion of posts and their comments/replies from reddit discussion forums to multi-turn dialogues. each algorithm is carefully designed and analyzed for high-quality generation. our best method can generate dialogues with the 75% appropriateness level. using this method, a large corpus is created consisting of 10,098 dialogues from 10 subreddits. the quality of our dialogues is tested by comparing them to dialogues from three popular datasets, blendedskilltalk, dailydialog, and topicalchat. our dialogues are more engaging, but slightly less natural than those from the other datasets overall. for future work, we will improve our methods, apply them to broader subreddits, and adapt them to other discussion forums as our methodology is not limited to reddit. we will also train dialogue models on our corpus for a more in-depth extrinsic evaluation against other dialogue datasets.