论文链接:[1512.05742] A Survey of Available Corpora for Building Data-Driven Dialogue Systems
该论文告诉我们目前有哪些可用于对话生成系统的开源数据集,并且分析了它们各自的重要特性,以及该如何使用他们。此外还讨论了它们除了对话系统外的其他用途,以及它们对应的检测方法。
首先我们来看看对话系统是怎样的。
它包括语音识别器、翻译器、对话状态跟踪器、答案选择器、语言生成器和语音合成器。如果是基于文本的对话系统,那么语音识别器和语音合成器可以去掉,只看框起来的四个部件就可以。这四个部件都能通过数据驱动得到很好的效果,其中语言翻译器和语言生成器的发展已经远超过对话系统了。
对话系统分为开放域对话系统和有限域对话系统,开放域对话系统就是它可以跟你随便聊,不限主题,都能返回合理的回答。有限域就是只能是特定领域的聊,比如淘宝导购机器人、导航机器人等。
只要有足够多的特定领域的数据,有限域对话系统就能得到很不错的效果。但开放域却不行,2007年有人用包含了不同主题、真实或虚构的数据集去训练对话系统,效果并不理想。2015年,有人用神经网络架构得到了很不错的效果,但是需要极其庞大的数据集----大概十亿到百亿量级的单词数。但目前还达不到商业化应用的水平。
废话不多说,下面进入正题,介绍各个数据集的特点,这些数据集都是英语的,并且被使用过,都是已经开源的。
一.人类--机器的对话数据集
1.The Dialog State Tracking Challenge (DSTC) (Williams et al., 2013)
它是用来训练“对话状态跟踪器” 的,也就是说它的标注是对话的状态。
它分为三个主题,DSTC 1是人类跟自动公交系统的对话(类似xxx搭哪路公车?请搭xxx路公交),有15000条对话,很明显,这些对话是直接,单一的。DSTC 2产生于餐厅的预定系统,用户的目标会改变的(从明天突然改成后天,或者菜品改变,或者房间改变等),有3000条对话。DSTC 3是关于旅游信息的,有只有2265条对话,通常与DSTC 2一起使用来训练主题的变换识别模型。
2.The Carnegie Mellon Communicator Corpus (Bennett and Rudnicky, 2002)
它是旅游预定系统产生的,有15000条关于最新航班、酒店预订、汽车租赁的信息的口语对话,在每个人机对话交互结束后还留有用户的评价。这数据集可以用来增强旅游导向的对话系统,当然也可以用于任何向用户提供信息的系统。
3. The ATIS (Air Travel Information System) Pilot Corpus (Hemphill et al., 1990)
也是人类和旅游预订系统交互产生的,每次交互持续40分钟,它只有1041条话语消息。
4.The Ritel corpus (Rosset and Petel, 2006)
它是用于开放域信息检索系统的,里面的问题涉及政治、经济、艺术、科学,但是很小,只有528条口语问题以及机器的回答。
5. The DIALOG mathematical proof dataset (Wolska et al., 2004)
这是教学系统产生的,当学生得出错误答案时,机器会提供线索。只有66个对话,数据集非常小,包括与系统进行基于文本的交互的集合,以及用户与系统交互时录制的发声音频和视频片段,当然这些已经转换成文字。
6.The MATCH corpus (Georgila et al., 2010)
这是为了了解老年人怎么跟对话系统交互而收集的。里面有50个年轻人和老年人跟对话系统的口语对话,标注是“对话行文”和“状态信息更新”(比如上文对话是想去打篮球,然后现在这句话说不想了,状态就更新了,标注为1, 如果一直没改变对话行为,则一直标注都为0)
7. the MeMo corpus (Möller et al., 2008)
这跟前面的数据集相似,是年轻人和老年人跟对话系统交互来控制家里的设备的对话集。对每个参与完实验的实验者的调查问卷也被收录在数据集里,用户是年轻人还是老年人以及完成各种控制任务的话语边界(比如控制电灯开关的话再到控制打开空调的话)都被标注好了。
二.人类--人类口语开放域对话数据集
1. the Switchboard Dataset (Godfrey et al.,1992)
这是比较有影响力的数据集。这有2500场对话,500个说话人。它由电脑随机产生一个话题,然后两个人通过电话关于这个话题进行聊天产生的。总共有70个话题,50个话题会更常出现。
2.the British National Corpus (BNC)(Leech,1992)
这个也是比较重要的数据集。它是从大量的场景收集的,包括商业会议、政府会议、节目、电话等,总共有大约一千万的词。而且每个词都有词性标注。
3.The CALLHOME American English Speech Corpus (Canavan et al., 1997)
这是家人朋友间的电话对话的数据集,有120场对话,共60个小时。
4.the CALLFRIEND American English-Non-Southern Dialect Corpus (Canavan and Zipperlen, 1996)
这也是电话通话,有60场通话,每个持续5-30分钟,标有性别,年龄,教育。
5.the Bergen Corpus of London Teenager Language (COLT) (Haslerud and Stenström, 1995)
这是记录年青孩子的日常话语的数据集,用于研究年轻人语言的进化。
6.the Longman Spoken American Corpus (Stern, 2005)
跟BNC数据集类似,只不过BNC是英式英语,这个美式英语。量只有BNC的一半。
7.The Cambridge and Nottingham Corpus of Discourse in English (CANCODE) (McCarthy,1998)
它注重在各种社会背景下的人际沟通,从发廊到邮局,再到餐馆。例如,它被用来研究不同文化背景下的语言意识。它有5百万个单词。
8. d64 Multimodal Conversational Corpus (Oertel et al., 2013)
这个数据集还记录的说话者的肢体语言信息(兴奋程度、说话者之间的社会距离(类似于亲密度)),这数据集比较小。
9.the AMI Meeting Corpus (Renals et al., 2007)
这个跟d64 Multimodal Conversational Corpus 类似,也是加入了视觉信息,多人对话。
10.the Cardiff Conversation Database (CCDb) (Aubrey et al., 2013)
说话内容是两个人的闲谈,比如聊电影。是30个5分钟的对话。其中7个标注了说话者活动、面部表情、头部动作、笑。
11. the 4D Cardiff Conversation Database (4D CCDb) (Vandeventer et al., 2015)
17个一分钟的四人闲谈。
12.The Spoken Corpus of the Survey of English Dialects (Beare and Scott, 1999)
是一个记录英语方言的数据集,记录60岁以上的老人谈论他们的记忆、家庭、工作等的内容,有1000个记录,80万个单词。
三.人类--人类口语有限域对话数据集
有限域对话有助于训练导向性对话模型,不过会使机器说的话没那么自然。
1. the HCRC Map Task Corpus (Anderson et al.,1991)
语料库使用地图任务(Brown等人,1984年),参与者必须口头协作,在其中一个参与者的地图上复制到另一个参与者的地图上的路线。语料库相当小,有64个对话包含大约150000个单词。
2.The Walking Around Corpus (Brennan et al., 2013)
这也是找方向的任务。由36个通过移动电话通信的人之间的对话组成。对话分为两部分:第一,要求“固定合作伙伴”指导“移动合作伙伴”在一所中等规模的大学校园内找到18个目的地。固定伙伴配备一张标有目标目的地的地图,并附有位置照片,移动伙伴则配备一个GPS导航系统和一台照相机拍照。在第二部分中,要求参与者亲自互动,以便复制移动合作伙伴拍摄的照片。该数据集的目标是为自然词汇提供一个试验台,并将其用作行人导航应用程序。
3.The Green Persuasive Dataset (Douglas-Cowie et al., 2007)
在数据集中,一个有着强烈的环保情绪的说服者试图说服别人考虑采用更多的绿色生活方式;这些互动是以对话的形式进行的。它包含8个长对话,每个对话总共约30分钟。由于说服者往往要么不同意,要么强烈同意说服者的观点,这将是研究两人观念意向一致还是不一致的良好语料库。
4.The Corpus of Professional Spoken American English (CPSAE) (Barlow, 2000)
该语料库包含200多万个单词,涉及400多个演讲稿,记录于1994-1998年间。CPASE有两个主要部分:第一个部分是白宫的新闻发布会记录(90万字),除了政客的一些政策声明外,几乎只包含问答环节。第二部分包括教师会议和与国家考试有关的委员会会议(110万字),涉及陈述、讨论和问题。该语料库用于探索正式场景下的对话的建模。
5. the MAHNOB Mimicry Database (Sun et al., 2011)
它包含11个小时的录音,分为54个会议,60人之间的对话,他们要么参与社会政治讨论,要么谈判租赁协议。由听觉、视觉和书面记录组成。
6.IDIAP Wolf Corpus(Hung and Chittaranjan, 2010)
这叫“狼人语料库”(真会玩),也是一个视听语料库,包含志愿者参加一个名为“狼人”的对抗性角色扮演游戏的自然对话数据。四组8-12人使用耳机话筒和同步摄像机进行记录,产生超过7小时的会话数据。这个数据集的新颖之处在于,其他玩家的角色对于游戏参与者来说是未知的,其中一些角色在本质上是欺骗性的。因此,在游戏中会出现大量的谎言。尽管具体的说谎案例没有注释,但每个演讲者都被贴上了他们在游戏中的角色标签。在对话环境中,这可能有助于分析使用欺骗时语言的差异。
7.the DSTC 4 (Kim et al., 2015)
DSTC 1、 2、 3在人类参与者和计算机之间进行了对话,但DSTC 4(Kim等人,2015年)包含了人类之间的对话。特别是,这个数据集通过Skype与游客和导游进行了35次对话,21小时的互动,讨论有关酒店、航班和租车的信息。数据集规模不大。
8.The Movie DiC Corpus (Banchs, 2012)
它包含约13万个对话和600万个从互联网电影脚本数据收集中提取的电影脚本单词,精心挑选以涵盖广泛的流派。这些对话还附带上下文描述,如脚本中所写。基于这个语料库的一个派生是the Movie Triples Dataset (Serban et al., 2015)。还有 the American Film Scripts Corpus,这可以在线购买,还有the Cornell Movie-Dialogue Corpus ,可以免费下载。这些数据集不能保证只描绘两个人之间的对话。
9. the Filtered Movie Script Corpus( Nio et al. (2014b))
为了得到两人对话,它对互联网电影脚本数据进行过滤,得到86000个这样的对话对。过滤方法将提取出的话语限制为x-y-x三元组,其中x由同一个参与者说出,每个话语共享一些语义相似性,然后分解为x-y和y-x对。这种过滤在很大程度上消除了与两个以上演讲者的对话,这在某些应用中可能很有用。
10.The Cornell Movie-Dialogue Corpus (Danescu-Niculescu-Mizil and Lee, 2011)
从电影剧本中提取的简短对话。此数据集的显著特征是每个会话可用的标注很多;这包括电影标注(如流派、发行年份和IMDB评级),以及电影角色标注(如性别和重要性)。尽管这个语料库包含22万场对话,但它只包含30万个句子;因此,许多场对话是由单个句子组成的。
11.The Corpus of American Soap Operas (Davies, 2012b)
从2001年到2012年,在10部美国电视连续剧肥皂剧的22000多部抄本中包含了1亿个单词。因为它是以肥皂剧为基础的,所以它与电影语料库有质的不同,后者包含动作和恐怖类型的电影。收集语料库是为了深入了解美国口语,因为词汇用法与the British National Corpus不同。不幸的是,这个语料库没有说话人标签。
12. the TVD Corpus (Roy et al., 2014)
该数据集包括191部喜剧节目《大爆炸理论》的电影剧本,以及戏剧表演《权力的游戏》,以及人群来源的文本描述(简短的剧集摘要、较长的剧集大纲)和各种类型的元数据(演讲者、镜头、场景)。文本对齐算法用于将描述和元数据链接到每个脚本的相应部分;例如,这包括将事件描述与与该事件关联的所有语句对齐。这可以用来开发从原始对话中定位特定事件的算法,例如“人X试图说服人Y”。
13. the Character Style from Film Corpus
来源于电影剧本。适用于分析人物个性的。标注是人物,每句话后也标了情绪。被自动提取并用于派生人物模型,以便生成新的话语,风格与人物所说的相似。因此,该数据集可用于构建对话个性化模型。
14.the OpenSubtitles (Tiedemann, 2012)
基于OpenSubitles网站,是一个庞大的电影字幕集合,包含超过10亿个单词。
15.the SubTle Corpus (Ameixa and Coheur, 2013)
也基于OpenSubitles网站,但已经预处理,以提取交互响应对,这有助于对话系统处理域外(OOD)交互。
四.人类--人类开放域书面对话数据集
1. the NPS Internet Chatroom Conversations Corpus (Forsyth and Martell, 2007)
该语料库包括从2006年10月和11月各种在线聊天服务中的特定年龄的聊天室收集的10567句英语话语。每一句话都标注有部分言语和对话行为信息;这一点的正确性是手动验证的。它是计算机中介通信(CMC)的第一个语料库,用于各种NLP应用,如会话线程主题检测、作者分析、实体识别和社交网络分析。
2. the Twitter Corpus from Ritter et al. (2010)
包含从Twitter中提取的130万个回复对。它最初是用于模拟对话行为。
3. the Twitter Triples Corpus (Sordoni et al., 2015b)
更大的Twitter数据,拥有1.27亿条文本-消息-评论数据。
4.the Sina Weibo Corpus (Shang et al.,2015)
包含450万条帖子--评论,已经被收集;但是,这些语料库还没有公开。
5. The Sina Weibo Short-Text Conversation Corpus (Wang et al.,2013)
是新浪微博数据的一个较小部分,有了46345个帖子和150万条评论。用于生成开发一种信息检索方法,不幸的是,只有12000个评论标注了相应帖子。
6.The Usenet Corpus (Shaoul and Westbury, 2009)
这是一个庞大的公共网络帖子集合,包含超过70亿个单词。Usenet是1980年建立的一个分布式讨论系统,参与者可以在其中向47860个“新闻组”类别之一发布文章。它被视为许多当前互联网论坛的先驱。从这些文章中获得的语料库已经用于协作过滤(Konstan等人,1997年)和角色检测(Fisher等人,2006年)的研究。
7.The NUS SMS Corpus (Chen and Kan, 2013)
两个用户之间通过手机短信进行的对话,不幸的是,语料库不由对话组成,而是由单个短消息组成。短信在风格上与Twitter相似,使用了许多缩写和首字母缩略词。
8. the Reddit Corpus
目前,最受欢迎的论坛网站之一是Reddit,用户可以在各种子论坛(称为“Subreddit”)中创建讨论和发表评论。每个Subreddit都处理自己的特定主题。每个评论都标有作者、分数(来自其他用户的评分)和评论树中的位置,位置很重要,因为它决定了要答复哪个评论。虽然研究人员还没有使用这个reddit讨论语料库来研究对话问题,但是数据集的巨大规模使它成为一个候选者。此外,研究人员还使用较小的Reddit讨论集进行广泛的语篇分类。这数据集有17亿条评论。
9.The Reddit Domestic Abuse Corpus (Schrading et al., 2015)
由Reddit的帖子和评论组成,这些帖子和评论来自于家庭虐待的Subreddit,其动机是建立分类器检测家庭虐待情况。这些对话已经过了预处理,包括小写、词元化和停止词的删除,并提供了语义角色标签。
五.人类--人类有限域书面对话数据集
1. the Settlers of Catan Corpus (Afantenos et al., 2012)
包含40个“Settlers of Catan”这个游戏的对话日志,总共有大约80000个有标记的话语。游戏最多有4个玩家,并以玩家之间交易某些商品为前提。游戏的目标是先达到预定的点数。因此,博弈本质上是对抗性的,可以用来分析战略对话中人物的动机。
2.The Internet Argument Corpus (IAC) (Walker et al., 2012b)
是一个基于论坛的语料库,有390000篇关于11000个讨论主题的文章。每个主题在本质上都是有争议的,包括进化、同性恋婚姻和气候变化等主题;用户通过分享他们对其中一个主题的意见来参与其中。帖子回复被贴上同意或不同意的标签,并且每个帖子都有争议性等级(比如同性恋的帖子争议应该很大,很多人回复,等级就高)。
3. the MPC Corpus (Shaikh et al., 2010)
该语料库由14个多方对话会议组成,每次约90分钟。在某些情况下,讨论的主题被限制在某些政治立场上,或者模拟应聘。一个有趣的特征是,不同的参与者被赋予不同的角色:领导者、干扰者和共识构建者(这是什么我也不知道),标注了他们的目标。因此,该数据集可用于模拟社会现象,如议程控制、影响和在线互动中的领导。
4. Ubuntu Dialogue Corpus (Lowe et al., 2015a)
这是主题受限的最大书面语料库。100万个对话,1亿个词。从Ubuntu IRC频道聊天日志中爬取的,在这个频道上,用户可以登录并询问有关Ubuntu问题的问题;这些问题由其他用户回答。虽然聊天室允许每个人在多方环境中彼此聊天,但Ubuntu对话语料库使用一系列的启发式方法将其分解为二元对话。这个语料库的技术性质和大小特别适合用于关于技术支持的应用程序。
5.The IRC Corpus (Elsner and Charniak,2008)
包含大约50个小时的Linux聊天,估计有20000个语音,附有发布时间。因此,这个数据集包含了与Ubuntu Dialogue Corpus (Lowe et al., 2015a)类似的技术对话,偶尔还有社交聊天。这个数据集的目的是研究会话分离的方法;假设有一个多方聊天室,人们试图恢复它所组成的单个会话。为此,大约有1500个带有注释的话语。