Incorporating Unstructured Textual Knowledge Sources into Neural

本文是Ubuntu Dialogue Corpus贡献者的一篇文章,是接着Ubuntu数据集benchmark的model继续改进了一下。本文的题目是Incorporating Unstructured Textual Knowledge Sources into Neural Dialogue。作者是来自麦吉尔大学的博士生Ryan Lowe

作者将bot任务定义为next utterance classification,有一点像question answering任务,给定一个context和一个response candidate list作为备选答案,通过context来从candidate list中选择正确的response。本文的贡献在于在context的基础上,引入了task相关的外部专业知识库,并且这个知识库是非结构化的。

Incorporating Unstructured Textual Knowledge Sources into Neural

这个模型是ubuntu corpus中的baseline模型,称为dual encoder,一个rnn来encode context,一个rnn来encode response,然后综合起来做预测。

Incorporating Unstructured Textual Knowledge Sources into Neural

本文模型相当于在dual encoder基础上增加了一个knowledge部分。模型是三个rnn encoder组成,一个rnn来encode context,一个rnn来encode response,还有一个rnn来encode knowledge,然后综合起来做预测,选出最合适的response。模型被称作knowledge encoder。

因为是ubuntu technical support相关的数据集,外部资源就选用了Ubuntu Manpages,各种命令的手册,通过从context中提取entity来匹配最相关的command manpage,为了快速定位manpage,用了hash的方法,先做了一个command entity hashtable和relation hashtable,一个是为了完全匹配,一个是为了相关匹配。得到相关的manpage之后,所包括的文本就是knowledge。效果如下图:

Incorporating Unstructured Textual Knowledge Sources into Neural

本文定义的问题太过简单,与实际应用相去甚远。但本文用非结构化的外部知识来解决task-oriented bot问题的思路值得借鉴,不仅仅是bot问题,在问答系统中,外部知识如何应用,如何与神经网络模型结合起来使用都是一个非常重要的topic,也是真正可以用来解决实际问题的一种重要手段。


来源:paperweekly


原文链接