基于深度神经网络的自动问答系统概述
2018.8.3
记
成
养
机
掘
原创声明:本文为 SIGAI 原创文章,仅供个人学习使用,未经允许,不能用于
SIGAI特邀作者:穆文MuWen 扫二维码关注作者公众号
挖
据
商业目的。
SIGAI 数
1
目录
1、引子 ........................................................................................................................ 3
2、门派 ........................................................................................................................ 3
2.1. 背景 ................................................................................................................................ 3
2.2. 脉络 ................................................................................................................................ 4
3、章法 ........................................................................................................................ 6
3.1. GA-Reader .................................................................................................................... 6
3.2. Match-LSTM ................................................................................................................. 7
模型结构 ......................................................................................................................................................... 7
杀手锏 .............................................................................................................................................................. 8
3.3. Bi-DAF............................................................................................................................ 9
模型结构 ......................................................................................................................................................... 9
杀手锏 ............................................................................................................................................................ 10
养
机
记
成
掘
挖
据
3.4. R-Net ...........................................................................................................................11
杀手锏 ............................................................................................................................................................ 12
3.5. QA-Net ........................................................................................................................13
模型结构 ....................................................................................................................................................... 13
杀手锏 ............................................................................................................................................................ 13
3.6. S-Net ............................................................................................................................15
模型结构 ....................................................................................................................................................... 15
杀手锏 ............................................................................................................................................................ 16
3.7. R3 ..................................................................................................................................17
模型结构 ....................................................................................................................................................... 17
杀手锏 ............................................................................................................................................................ 18
SIGAI 数
4、参考文献链接 ...................................................................................................... 21
2
1、引子
学术圈的生存之道,无非『挖坑灌水』四字真言。大仙鼻祖挖坑,徒子徒孙灌水。
坑越挖越大,水越灌越多,终成一片繁荣的小江湖。而『深度神经网络+自动问答系
统』,就是这样一个好坑。而本文,将带着各位读者,趟一趟这个大坑,会一会各
路大仙们的套路。作为一篇科普文,
本文会探讨:模型结构和对比、简单的公式。
本文不会涉及:复杂的公式,比赛刷榜的奥义(包括:数据集、特征工程、调参技
巧)。
2、门派
2.1. 背景
记
成
养
机
掘
问答系统的实现机制多种多样,基于信息检索 (IR: Information Retrieval) 的、基
于问答知识库 (KB: Knowledge Base) 的、基于知识图谱 (KG: Knowledge Graph)
的等等,一个相对完善的问答系统往往是多种机制的组合。
而本文提到的问答系统,特指:
挖
给定一个问题 Q 和一个与 Q 相关的文档 D,自动得到 Q 对应的答案 A
这样的系统有一个更学术的名字: 机器阅读理解 (MRC: Machine Reading
Comprehension),它既可以作为一个独立的问答系统,也可以看成是一个完整问答
系统的一部分: 即,在 IR 检索出跟 Q 相关的文档 D 的基础上,机器去阅读并
理解 Q 和 D,得到答案 A。
将问答系统用一图以蔽之:
据
SIGAI 数
(图片来自网络,侵权请告知)
3
2.2. 脉络
用简单的数学符号来表达问答系统要做的事情:
f(Q, D) = A
(题外话: 如果我们去掉 Q,便成了 f(D) = A,也就是一个摘要系统。所以,问答系
统的模型稍加改造,可以无缝对接到『自动摘要』上去。)
回想一下,我们人类是怎么解决阅读理解问题的?
我们会仔细阅读问题和文章,带着问题去文章里找答案,如果文章里有现成的答案
片段,我们直接抽取出来,如果没有,我们需要组织自己的语言去生成一个回答。
机器其实跟我们的套路是一样的:
记
成
养
机
掘
挖
据
这,便是深度问答系统、机器阅读理解的『套路』,可以用一个更简单明了的
图来表示:
SIGAI 数
4
记
成
养
机
掘
挖
因此,按照模型各个组成部分的不同,可以将其大致分成以下几类『门派』:
据
SIGAI 数
每种模型都或多或少融合了不同门派的风格,既有各自的特色,更有相互的传承,
且待下文慢慢道来。
这里要说明一下,decoder 的不同主要因为数据集的不同,有些数据集里的答案 A
可以直接从 D 里面抽取出来,比如 SQuAD 数据集, 有些则需要抽取+生成,比如
MS-MARCO 、 DuReader 和最新的 SQuAD 2.0 数据集。(P.S. 我们在 DuReader
比赛中,用单模型(不做特征工程),刷到过第三)
5
3、章法
我们将一网打尽当前常见问答系统、阅读理解的各路模型,细数他们套路章法的特
别之处。 若有漏网之鱼,读者朋友务必留言指出。
为避免不必要的江湖纷争,特此声明:
模型有门派之异,但无优劣之分。以下模型的排序乃随机抽样的结果,与诞生
时间、模型先进性无任何关系。
鉴于每种模型的大框架都是上节提到的 『套路』,所以接下来我们只提及模
型的特别之处,具体的公式细节乃至源代码,请各位自行参考相关论文。
记
成
养
机
掘
挖
据
3.1. GA-Reader
秘籍传送门: GA-Reader
模型结构
SIGAI 数
杀手锏
1.) 在每层 encoder 里都加入了一个 『GA (Gated Attentnion)』 结构,其公式如
下:
6
记
成
养
机
顾名思义,GA 就是用 attention 的思想,用 Q 的 encoding 给 D 里每个词 di
的 encoding 加一个 『gate』 ai,再传入下一层。
2.) 加深 encoder 的深度,在每一层都设置 GA 结构,使得 Q 能在不同粒度上被
3.) decoder 用 softmax 函数来预测答案里的所有词,比如文档 D 是 [ '水', '能', '
载舟', '亦', '可', 'citing'], A 是 ['能', '载舟', '亦'],则 label 就是 [0, 1, 1, 1, 0, 0],本
质上就是个 multi-label 问题,损失函数用 cross entropy。
掘
挖
据
融合进 D。
3.2. Match-LSTM
SIGAI 数
秘籍传送门: Match-LSTM
模型结构
7
掘
挖
记
成
养
机
杀手锏
SIGAI 数
接着
1.) encoder 第一部分将 D (图中用 P 表示,代表 Passage) 、Q 分别经过 bi-
LSTM 得到的 hp、 hq 拼接在一起,实现 Q 和 D 的第一次融合 2.) encoder 第
二部分是重头戏,应用到前人提出的 match-LSTM 模块,公式如下:
据
通过 attention 机制,得到 D 中每个词 i 关于 Q 里所有词的权重,即公式中的 ai,
将 ai 作用到 Q 的 encoding Hq 上,得到一个新的向量,可以认为这个向量是 D
融合了 Q 之后的结果,再跟 Hp 拼接在一起,实现 Q 和 D 的第二次融合。
注意,这里的 attention 机制跟 GA-Reader 有区别,这里得到的是 D 里每个词对
Q 里每个词 两两的权重,而不像 GA-Reader 里 GA 的,得到的是整个 Q 对 D
里每个词的权重。 这也是 Match-LSTM 的特别之处。 输入到下一时刻的向量包含
三部分: attention vector, 上一层的 hidden state, 上一时刻的 hidden state,如下
所示:
8