斯坦福有个很重要的比赛,就是让机器完成阅读理解题目,即给定一篇文章,让机器理解文章含义进行题目回复。每年这一比赛都是国际性的,引来了业界、学术界的广泛关注。其中微软、谷歌、腾讯、阿里等大型互联网公司每年都有参与。本文将从技术的角度,深入浅出、以口语性质的方式给大家传递机器进行阅读理解的过程。
SQuAD全称是"Stanford Question Answering Dataset",是用于机器阅读理解的一款数据集,也是斯坦福大学主办的机器阅读理解比赛。目前该数据集,有500+篇文章,总共有100000+组QA对数据。参赛队伍的目标是,理解文章、得到问题的回复结果。答案正确与否的主要评价指标有两个:EM值和F1值,直观理解为EM值表示答案与正确答案是否完全匹配,F1值表示答案之间的重合度。18年最新的比赛排行如下:
目前科大讯飞的哈工大联合实验室排名第一,谷歌大脑并联,阿里巴巴和微软名次紧跟其后。
本文将要介绍的是排名第三的国防科大与复旦大学的模型。论文在17年发表[1]。该文章大致将机器做阅读理解的过程分为三个步骤:第一:就是机器通读一遍全文,即对article进行序列编码;第二:就是机器带着问题再读文章,也就是机器带着Question的编码,再从头对article进行阅读,即Question与article进行交互;第三:就是机器找寻答案,通过带着问题读文章以后,紧接着就是在文章中找寻能够回答问题的答案了。模型结构如下:
目前用于机器阅读理解的深度学习框架很是单一,一般就是不断的Attention,再加上不断的迭代,去寻找答案。目前这种基于数据的阅读理解很受限制,感觉还是要跳出深度学习框架,才能真正地去做好理解。认知智能是一个很漫长的过程,还有待进一步的发展。
[1]Hu M, Peng Y, Qiu X. Reinforced Mnemonic Reader for Machine Comprehension[J]. 2017.