一起看论文:A Survey of Available Corpora For Building Data-Driven Dialogue Systems(2)

前一篇文章告诉了大家用于对话生成系统的各个开源数据集,现在我们来看一下这些数据集该怎么用。

首先,回顾一下是各个数据集的信息。

人机对话数据集

一起看论文:A Survey of Available Corpora For Building Data-Driven Dialogue Systems(2)_第1张图片

人--人有限域的口语对话数据集

一起看论文:A Survey of Available Corpora For Building Data-Driven Dialogue Systems(2)_第2张图片

人--人开放域的口语对话数据集

一起看论文:A Survey of Available Corpora For Building Data-Driven Dialogue Systems(2)_第3张图片

人--人脚本数据集

一起看论文:A Survey of Available Corpora For Building Data-Driven Dialogue Systems(2)_第4张图片

人--人书面对话数据集


一起看论文:A Survey of Available Corpora For Building Data-Driven Dialogue Systems(2)_第5张图片

一.预处理

在将机器学习方法应用于对话语料库之前,通常先进行某种形式的预处理。预处理的目的是在信息损失最小的情况下对数据集进行标准化。这可以减少数据的稀缺性,最终使模型更容易从数据集中学习。在自然语言处理中,人们普遍认为预处理对自然语言处理系统的结果有着重要的影响,尽管预处理的具体程序取决于任务和数据,但在本节中,我们重点介绍了几种常见的方法,以便大致了解预处理在何处对对话系统有效。

预处理通常用于清除数据中的异常。对于基于文本的语料库,这可能包括删除首字母缩略词、俚语、拼写错误和音位化(例如,根据单词的发音而不是正确的拼写书写单词)。对于一些模型,例如稍后讨论的生成对话模型,tokenization (例如定义最小的输入单元)也是至关重要的。在从移动文本、论坛、微博和基于聊天中收集的数据集中,通常会观察到大量首字母缩略词、缩写词和音位词。尽管没有公认的处理标准,但许多NLP系统都采用某种形式的预处理来规范化这些麻烦的事情。例如,有一些查找表,例如 the IRC Beginner List,可以用来将最常见的缩写词和俚语翻译成标准英语。另一种常见的策略是使用词干化和词元化将多个单词替换为单个词干或词元(例如,walking和walker都被walk替换)。当然,根据手头的任务和语料库的大小,还有一个选择就是保留缩写词和音素化的单词,或许会更有利。根据我们的经验,几乎所有的对话数据集都包含一些拼写错误。通过纠正这些问题,我们期望减少数据稀疏性。这可以通过使用自动拼写更正器来完成。然而,检查它们的有效性是很重要的。例如,对于电影脚本,Serban等人(2015)发现自动拼写更正器引入的拼写错误比更正的要多,一个更好的策略是使用维基百科最常见的拼写错误单词来查找和替换潜在的拼写错误。转录的口语语料库通常包括许多非单词在他们的抄本中(例如,呃,哦)。这些信息如果不能为对话系统提供额外的信息,研究人员还希望使用自动拼写校正器删除这些单词。

二.标注说话者和对话分段

很多数据集没有标注说话者,如果有的话,训练基于人物的对话会比把整个对话内容直接拿来训练要好。 Serban and Pineau (2015)用了循环神经网络来预测话轮转换和说话人,取得很好的效果。我们还可以用语音识别的办法给数据集打上说话人标签,比如用电影的音频,正确率高达95%。

在某些语料库中,如基于聊天频道或从电影字幕中提取的语料库中,对话是按顺序进行的,没有分段 ,主题和说话人可能已经变了,这会使模型学习变得很难。为了利用这些数据学习个人对话,希望对谈话进行分段,以前的解决方案大多基于手工制定的规则,比如对于聊天论坛,一种解决方案涉及根据时间对对话的开始和结束进行阈值设定(例如,讲话之间的延迟超过x分钟)。更先进的技术包括最大熵分类器,除了话语结构和时间信息外,还利用了话语内容。对于电影剧本,研究人员建议使用简单的信息检索相似性度量,例如余弦相似性来识别对话。神经网络也有希望对谈话进行分段。

三.构建判别模型

数据集可以用于那些任务?

1.意图识别和主题识别

意图识别:目标是将用户的话语分类,比如用户输入:“今天深圳的天气怎么样?”,此时用户所表达的是查询天气,在这里我们可以认为查询天气就是一种意图,对于意图识别来说本质上就是一个文本分类的任务,还是以“今天深圳的天气怎么样?”为例,在意图识别时用文本分类的方法将其分类到“询问天气”这个意图。这项任务的早期方法集中于使用n-gram模型进行分类,例如,Reithinger等人假设每个意图都是由自己的语言模型生成的,他们在每个意图的话语上训练了一个n-gram语言模型,然后用贝叶斯计算每句话的意图。

然而,这种方法的一个主要问题是缺乏带有意图的数据集。Forgues等人最近的研究(2014)承认这一问题,并试图通过利用从其他大型文本语料库学习到的词嵌入来克服数据稀缺性问题。他们通过组合每个单词的词嵌入来创建一个话语级表示,例如,通过对词嵌入求和或取每个维度的最大权值。这些话语水平的表达,加上词频,作为输入,给一个线性分类器来分类对话行为。Forgues等人结果表明,通过利用另一个更大的语料库,他们能够提高原始任务的性能。

这使得意图识别的工作从数据驱动的角度非常有吸引力。首先,似乎可以通过利用其他数据源来提高准确性。第二,与对话状态跟踪模型不同,对话意图识别模型通常只涉及相对较少的手工特征,因此表明数据驱动方法可能对这些任务更强大。

你可能感兴趣的:(一起看论文:A Survey of Available Corpora For Building Data-Driven Dialogue Systems(2))