王勇 林景彦 王瑛
摘 要:阅读理解是考试中一个基本题型,其一般形式是给定一段文本,考生在阅读完文本后根据文本内容解答题目。如果机器也有阅读理解的能力,能帮助我们从众多的文本中找到我们需要的答案。近年来,深度学习发展迅猛并应用到机器阅读理解领域中,取得了很好的效果。本文首先阐述了机器阅读理解的基本概况,基于深度学习机器阅读理解模型的基本架构。然后介绍了基于深度学习的机器阅读理解研究现状,包括数据集和经典模型。
关键词: 机器阅读理解;深度学习;自然语言处理
中图分类号: TP391 文献标识码:A
文章编号:1009-3044(2019)19-0203-02
1 机器阅读理解概要
机器阅读理解就是让机器像人一样能阅读文本,让计算机阅读一篇文章,随后让计算机解答与文中信息相关的问题,一般题型包括选择题、填空题和分析题。机器阅读理解,是当前自然语言处理研究的核心任务之一[1]。与传统分词、命名实体识别和句法分析等任务相比包含更长的篇章,更深层次的语义信息,需要综合运用文本表示、检索、指代消解和推理等方法,具有很强的挑战性。机器阅读理解无论是在工业界还是学术界都有着很高的研究价值。当前研究热门主要在文本表示、相关片段检索和答案生成三个方面。
机器阅读理解能力的提高可辅助医疗诊断、阅卷、法官判决、智能客服、知识问答和搜索引擎等。传统的机器阅读理解做法是手工提取特征和设计规则需要大量的人工劳动力。基于深度神经网络的机器阅读理解可自动学习与任务相关的特征和规则,能捕获更多特征信息,包括一些人工很难理解到的信息。取得与传统方法相当甚至更好的效果,同时避免了传统方法中需要人工提取特征以及一些预处理工具的问题。
2 基本模型架构
典型的基于深度学习机器阅读理解模型包括词向量层、表征层、交互层和输出层。模型的输入一般是一个三元组{P, Q, A},其中P表示原文,Q代表问题,A表示答案。
词向量层就是将原文、问题与答案的词映射成低维词向量。一般都是通过词表查词操作获得词向量。使用Word2vec、ELMo和BERT等词向量工具大规模的文本上训练,可以获得含有丰富语义和文法信息的词向量表。
表征层就是用CNN和LSTM等深度神经网络对原文、问题和答案每个单词及其上下文语义进行编码。最常用的编码器是双向LSTM和双向GRU,它们都有很强的语义序列建模能力。双向LSTM和双向GRU能从正向和反向两个方向获取整个句子的语义信息,并将这两个方向的隐层状态拼接起来表征句子的整体语义。
交互层主要是通过注意力机制实现文本信息的交互,得到交互后文本的表示。在基于深度学习机器阅读理解任务中,主要运用自注意力和互注意力两种机制。自注意力机制一般针对原文,原文间的词交互得到原文中的关键信息。互注意力机制一般是原文与问题词向量进行交互,得到基于原文问题的表示和基于问题原文的表示。
输出层是模型的最后一层,输出层一般是输出答案在原文中的起始位置与终止位置。主要是通过sigmoid函数或指针网络对答案起始位置和终止位置预测。
模型评价指标与题型相关。对于选择题,评价标准是准确率。对于填空题和分析题,评价指标有EM、F1、BLEU和Rouge-L。
3 研究现状
3.1 数据集
目前大部分大规模的机器阅读理解数据集都是英文数据集,包括SQuAD、MS-MARCO和RACE。其中最流行的是SQuAD数据集[2],它是由斯坦福大学于2016年发布的,被称为是自然语言处理的“ImageNet”数据集。SQuAD通过众包的方式,从wikipedia上的536篇文章切出了23215个自然段,每个段落提五个问题,贴近实际。数据集答案的类别包括日期、人名、地点、数字和名词词组等。文本片段及答案如图1所示。2018年SQuAD发布了2.0版本[3],增大了数据集的难度,新增了超过五万个由人类众包者设计的无法回答的问题,模型在回答问题时需要判断哪些问题是在文本中没有证据支持的,并拒绝回答这些问题。
3.2 经典模型
Seo[5]等提出了多层次、多粒度模型Bi-Directional Attention Flow(BiDAF),该模型在注意力层上同时计算问题与原文和原文与问题的相似度,通过数据流动保留更多信息,更好地实现原文和问题的交互。通过softmax函数和BiLSTM输出答案的起始和结束位置。
Cui Y[6]等提出了Attention Over Attention模型(AOA),原文向量和问题向量后相乘得到原文-问题矩阵,然后分别从列和行两个维度进行softmax操作得到原文注意力矩阵和问题注意力矩阵,其中问题注意力矩阵是每一列元素求均值,将两个注意力矩阵相乘,得到每个词作为答案的概率。
Wang[7]等模仿人类做阅读理解过程,提出了R-Net。使用了词和字两种embedding使文本输入特征更丰富。通过门机制与注意力机制实现了原文与问题交互,原文自身重要信息提取。最后通过指针网络输出答案起始和終止位置。
Shen[8]等提出了ReasoNet。模型在推理答案阶段运用增强学习的方法,模拟人类阅读的过程,带着问题多次阅读原文,当从已知信息得出答案后,可动态决定是否需要后续的推理或立刻停止阅读把当前答案作为最终答案输出。
4 总结
随着深度学习的发展,机器的阅读理解能力跟人类越来越接近,但仍存在较大的差距。当前很多机器阅读理解的方法仍然基于文本匹配而不是真正通过理解原文与问题得出答案。下一步研究重点将包括外部知识(常识)的引入、基于多段落多文本的阅读理解和可解析推理机制这三个方面。
参考文献:
[1] 刘飞龙, 郝文宁, 陈刚,等. 基于双线性函数注意力Bi-LSTM模型的机器阅读理解[J]. 计算机科学, 2017(S1):102-106,132.
[2] Rajpurkar P, Zhang J, Lopyrev K, et al. SQuAD: 100,000+ Questions for Machine Comprehension of Text[C]// Conference on Empirical Methods in Natural Language Processing. 2016:2383-2392.
[3] Rajpurkar P, Jia R, Liang P. Know What You Don't Know: Unanswerable Questions for SQuAD[C]// Meeting of the Association for Computational Linguistics. 2018:784-789.
[4] He W , Liu K , Lyu Y , et al. DuReader: a Chinese Machine Reading Comprehension Dataset from Real-world Applications[J]. arXiv preprint arXiv:1711.05073.
[5] Seo M, Kembhavi A, Farhadi A, et al. Bidirectional Attention Flow for Machine Comprehension[C]// International Conference on Learning Representations, 2017.
[6] Cui Y, Chen Z, Wei S, et al. Attention-over-Attention Neural Networks for Reading Comprehension[C]// Meeting of the Association for Computational Linguistics. 2017:593-602.
[7] Wang W, Yang N, Wei F, et al. Gated Self-Matching Networks for Reading Comprehension and Question Answering[C]// Meeting of the Association for Computational Linguistics. 2017:189-198.
[8] Shen Y, Huang P S, Gao J, et al. ReasoNet: Learning to Stop Reading in Machine Comprehension[C]// ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM, 2017:1047-1055.
【通聯编辑:唐一东】