A Neural Conversational Model 读后感

目录

摘要

1、介绍

2、相关工作

3、模型

4、数据(后面都是具体的东西,不赘述)

5、总结


使用微软翻译得到的中文原文:

摘要

会话建模是自然语言理解和机器智能中的一项重要任务。尽管存在以前的方法,但它们通常仅限于特定领域(例如,预订机票)并且需要手工制定的规则。在本文中,我们为这项任务提出了一种简单的方法,它使用最近提出的序列到序列框架。

我们的模型通过在给定前一个句子或对话中的句子的情况下预测下一个句子来进行对话。我们模型的优势在于它可以进行端到端的训练,因此需要的手工规则要少得多。

我们发现这个简单的模型可以在给定大型会话训练数据集的情况下生成简单的会话。我们的初步结果表明,尽管优化了错误的目标函数,但该模型能够很好地进行对话。它能够从特定领域的数据集以及大型、嘈杂和一般的电影字幕领域数据集中提取知识。在特定领域的 IT 帮助台数据集上,该模型可以通过对话找到技术问题的解决方案。在嘈杂的开放域电影脚本数据集上,该模型可以执行简单形式的常识推理。正如预期的那样,我们还发现缺乏一致性是我们模型的常见故障模式。

1、介绍

神经网络端到端训练的进步已经在语音识别、计算机视觉和语言处理等许多领域取得了显着进展。 最近的工作表明,神经网络可以做的不仅仅是分类,它们可以用来将复杂的结构映射到其他复杂的结构。这方面的一个例子是将一个序列映射到另一个在自然语言理解中具有直接应用的序列的任务(Sutskever et al., 2014)。该框架的主要优点是它几乎不需要特征工程和领域特异性,同时匹配或超过最先进的结果。我们认为,这一进步使研究人员能够针对哪个领域开展任务。知识可能不容易获得,或者对于手动设计规则太难的任务。

会话建模可以直接从这个构想中受益,因为它需要查询和响应之间的映射。 由于这种映射的复杂性,会话建模以前被设计为在非常狭窄的领域,并主要通过特征工程来辅助实现。在这项工作中,我们使用先前序列或者RNN生成的序列来预测下一个序列,来尝试建立一个对话模型任务。 我们发现这种方法在生成流利和准确的对话回复方面可以做得非常好。

我们在来自 IT 问答帮助台对话数据集的聊天会话上测试该模型,发现该模型有时可以跟踪问题并为用户提供有用的答案。 我们还对从嘈杂的电影字幕数据集中获得的对话进行了实验,发现该模型可以进行自然对话,有时还可以执行简单形式的常识推理。在这两种情况下,与 n-gram 模型相比,循环网络获得了更好的适应度,并捕获了重要的长期相关性。 从定性的角度来看,我们的模型有时能够产生自然的对话。

2、相关工作

我们的方法基于最近提出的使用神经网络将序列映射到序列的工作(Kalchbrenner & Blunsom,2013;Sutskever 等人,2014;Bahdanau 等人,2014)。 该框架已用于机器翻译,并在 WMT'14 数据集的英法和英德翻译任务上取得了改进(Luong 等人,2014;Jean 等人,2014)。 它还被用于其他任务,例如解析 (Vinyals et al., 2014a) 和图像加字幕 (Vinyals et al., 2014b)。由于众所周知普通 RNN 存在梯度消失的问题,因此大多数研究人员使用长短期记忆 (LSTM) 递归神经网络的变体 (Hochreiter & Schmidhuber, 1997)。

我们的工作也受到最近神经语言建模成功的启发(Bengio 等人,2003;Mikolov 等人,2010;Mikolov,2012),这表明递归神经网络是自然语言的相当有效的模型。最近,Sordoni 等人的工作和Shang等人,使用循环神经网络对简短对话中的对话进行建模(在 Twitter 式聊天中训练)。

在过去的几十年中,许多研究人员一直在追求构建机器人和会话代理,提供详尽的参考文献列表超出了本文的范围。 然而,这些系统中的大多数都需要一个相当复杂的多阶段处理流程(Lester 等人,2004;Will,2007;Jurafsky & Martin,2009)。我们的工作与传统系统不同,它提出了一种端到端的方法来解决缺乏领域知识的问题。 原则上,它可以与其他系统相结合,对候选回答的短名单进行重新评分,但我们的工作是基于通过概率模型生成答案,该模型经过训练以在某些情况下最大化答案的概率。

3、模型

我们的方法利用了(Sutskever et al., 2014)中描述的序列到序列(seq2seq)框架。该模型基于循环神经网络,一次读取输入序列一个标记,并预测输出序列,也是一次一个标记。在训练过程中,将真实的输出序列赋予模型,因此可以通过反向传播来完成学习。 该模型经过训练以在给定上下文的情况下最大化正确序列的交叉熵。 在推理过程中,假设没有观察到真实的输出序列,我们只需将预测的输出标记作为输入来预测下一个输出。 这是一种“贪婪”推理方法。一种不那么贪婪的方法是使用束搜索,并在上一步将几个候选者提供给下一步。 可以根据序列的概率来选择预测的序列。

A Neural Conversational Model 读后感_第1张图片

具体来说,假设我们观察到有两个回合的对话:第一个人说“ABC”,第二个人回答“WXYZ”。 我们可以使用循环神经网络,并训练将“ABC”映射到“WXYZ”,如图 所示。模型在接收到序列结束符号“”时的隐藏状态可以看作是思想向量,因为它存储了句子或思想“ABC”的信息。

该模型的优势在于其简单性和通用性。 我们可以将此模型用于机器翻译、问答和对话,而无需对架构进行重大更改。将此技术应用于对话建模也很简单:输入序列可以是迄今为止已对话内容(上下文)的串联,输出序列是回复。

然而,与翻译等更简单的任务不同,像序列到序列这样的模型将无法成功“解决”建模对话的问题,因为有几个明显的简化:被优化的目标函数没有捕捉到通过人工实现的实际目标沟通,这通常是长期的,并且基于信息交换而不是下一步预测。缺乏确保一致性和一般世界知识的模型是纯无监督模型的另一个明显限制。

4、数据(后面都是具体的东西,不赘述)

在我们的实验中,我们使用了两个数据集:一个封闭域IT 帮助台故障排除数据集和开放域
电影成绩单数据集。两个数据集的详细信息。

5、总结

个人感觉,这篇报告就是一个成果展示报告,大致了解一下就行

你可能感兴趣的:(ChatBot,机器人,深度学习)