当前位置:范文大全 > 公文范文 > 问题理解增强阅读理解方法研究论文设计

问题理解增强阅读理解方法研究论文设计

发布时间: 2021-10-28 13:11:52

  I 问题理解增强的阅读理解方法 研究

 Machine Reading Comprehension based on Question Understanding Enhancement

 中 中

 文

 摘

 要

 机器阅读理解是指基于给定上下文机器自动回答相应的问题[1] ,不仅是人工智能及自然语言处理领域的一个研究热点,更是一个挑战。机器是否正确、充分地理解问题是研究阅读理解任务的关键和基础。本文针对模型对问题理解不充分提出了相应的解决策略,主要工作如下:

 (1)提出一个基于多维度问题理解的阅读理解方法。本文通过问题类型识别、问题重要词识别、添加外部知识等多个维度提高模型对问题的理解。多维度问题理解的解答策略的主要思想是:a.人工标注部分数据训练一个初标注 TextCNN 模型并得到所有数据的问题类型;b.通过句法分析树和人工制定的规则获得问题的重要词;c.针对问题重要词在模型中加入外部知识;d.将之前所有的信息融入到阅读理解模型中。在 DuReader2.0 数据集上进行方法检验,融入多维度问题理解的阅读理解模型比基线模型的 Rouge-L 值和 Bleu-4 值分别提高了 8,2%、7%。

 (2)针对隐式问题提出了相应的理解策略。我们将不包含疑问词的问句定义为隐式问题,处理此类问题的主要思想为:a.首先判断问句是否为隐式问题;b.对隐式问题进一步分为两类:一般隐式问题和复杂隐式问题;c.针对一般隐式问题,基于规则的方法添加疑问词将其转换为显式问题;针对复杂隐式问题,依据问题答案使用TextRNN 模型识别问题中缺失的疑问词并将其转换为显式问题。实验结果表明:融入隐式问题处理的阅读理解模型比基线模型的

  II Rouge-L 值和 Bleu-4 值分别提高了 3.6%、2%,融入隐式问题处理和多维度问题理解方法的阅读理解模型比基线模型的 Rouge-L 值和Bleu-4 值分别提高了 9.5%、7.8%。

 (3)设计并实现了一个针对中文篇章片段抽取式的阅读理解原型系统。本文依据上述研究方法设计并实现了一个针对中文篇章片段抽取式的阅读理解系统。本系统解答的大致思路为:首先对问题和篇章进行预处理,并判断问题是否为隐式问题,如果是则先将其转换为显式问题,如果不是不做任何处理;然后对问题进行分类、识别问题中的重要词,针对问题中的重要词加入相应的外部知识,并将以上问题的特征一起输入到阅读理解模型中;最后,通过 attention 机制对篇章和问题交互建模,从篇章中找到与问题句关系较大的句子作为答案句输出。

 本文提出的融入隐式问题处理多维度问题理解的阅读理解方法在对真实问题的解答上取得了一定的效果,说明该方法使模型更有效的理解问题。

 关键词:多维度;隐式问题;问题理解;阅读理解

  III

  ABSTRACT Machine reading comprehension means that the machine automatically answers questions relevant to the given context. It is not only a research hotspot in the field of artificial intelligence and natural language processing, but also a challenging task. Whether the machine understands questions correctly and comprehensively is the key and foundation of reading comprehension. In this paper, we proposes corresponding solutions for the models do not fully understand questions. The main works of this article are as belows: (1) The reading comprehension method based on multi-dimensional questions understanding is proposed. This paper improves understanding of questions in the model through the multiple-dimensional method such as question types, question important words, and the external knowledge. Firstly, the TextCNN model is trained get all data types using the human-annotated data and; secondly, the question important words are obtained through syntax analysis tree and rules; then, add question important words’ external knowledge to the model; finally, we integrate all information about questions into the reading comprehension model. The experiments on relevant dataset show that: with the integration of multi-dimensional questions understanding, the metrics of Rouge-L and Bleu-4 of the reading comprehension model increase by about 8.2% and 7% respectively . (2) The reading comprehension strategy based on implicit questions is explored. We define implicit questions that the question excluding

  IV interrogative word. The main idea for dealing with this questions is to transform implicit problems into explicit problems. First of all, we judge whether a question is an implicit question. The next, the implicit problem is divided into general implicit problem and complex implicit problem.

 For general implicit questions, we add the missing interrogative words to question based on rules. For complex implicit questions, we use the TextRNN model to identify missing interrogative words to question based on the answer and turn it into an explicit question. Lastly, we incorporate it into the reading comprehension model. Experiments show that: the metrics of Rouge-L and Bleu-4 of the proposed method increase by 3.6% and 2%, respectively;the metrics of Rouge-L and Bleu-4 of the final model increase by 3.6% and 2%, respectively . (3) A prototype reading comprehension system for Chinese text is implemented. we implement a reading comprehension system based on the above methods. First, this system preprocesses the questions and the contexts and determines whether the question is implicit question. If the problem is an implicit problem, it will be converted to an explicit problem. If the problem is not an implicit problem, nothing will be done. Next, question types, question important words and external knowledgeis are integrated into the reading comprehension model. Finally, the informations of contexts and questions are obtained through the attention mechanism. And the sentences of context that has the most relationship with the question are found as the answer. The reading comprehension strategies are proposed in this article, which incorporates implicit problem processing and multi-dimensional questions understanding. The methods has achieved gerat results in reading comprehension model, indicating that the methods make the model understand questions more effectively.

 Key words :multidimensional;implicit problem;question understanding; reading comprehension

 第一章 绪论

 1 第一章

 绪论

 本章主要介绍研究任务的背景及意义,国内外针对阅读理解和问题理解两方面的研究现状,并简要介绍了论文主要的研究内容和组成结构。

 1.1 研究背景及意义 早在 20 世纪 70 年代,随着人工智能的发展,人们越来越意识到机器理解文本的重要性,机器阅读理解技术研究随之开始。所谓阅读理解,是指给定一段篇章和相关问题,要求机器准确理解问题和篇章所表达的信息并自动给出相应的答案。阅读理解是人工智能领域的一项重要任务,其研究可以极大的促进自然语言的进步。

 1999 年,Hirschman 提出了第一个阅读理解系统——Deep Read [2] ,该系统采用模式匹配技术和附加的自动化语言处理技术(词干提取、名称识别、语义类识别和代词解析),并发布了一个基于 3-6 年级小学生故事的阅读理解数据集,促进了机器阅读理解任务的发展。近年来,研究学者主要利用人工神经网络对阅读理解开展研究工作,主要思想是将问题和篇章共同作为输入进行嵌入式表示和编码,然后通过注意力机制对两者建模获得交互信息,最终从篇章中选取合适的片段作为答案输出。例如,Attentive Reader 模型、AOA Reader 模型、Match-LSTM模型等。除此之外,国内外许多科研机构、高校和公司对阅读理解的关注越来越多,创建了大量英文、中文阅读理解数据集,极大地促进了阅读理解技术的发展。例如:多项选择型数据集 MCTest;填空型数据集 CNN&Dailymail;片段抽取型SQuAD 数据集;中文大规模数据集 DuReader 等。

 随着大规模数据集发布和人工神经网络技术的快速发展,机器阅读理解渐渐成为自然语言处理研究领域的热门任务之一。阅读理解任务的发展不仅可以评估计算机对自然语言的理解情况,还可以推动自动问答任务的发展,帮助自动问答系统更好的理解文本信息。随着自动化的日益普及,阅读理解任务还可以为高考自动批阅系统提供服务,提升自动批阅系统的准确率。不仅如此,阅读理解任务的进步还可以帮助各类搜索引擎更精确地理解提问意图从而反馈给用户更准确的答案。

 但是,由于自然语言灵活性高复杂性大,而问题字数少语义信息丰富,深度学习模型只是将问题输入到模型通过注意力机制隐式建模,模型对问题的理解并不充分,进而影响答案句的筛选。

 问题理解增强的阅读理解技术研究

 2 1.2 国内外研究现状 1 1.2.1 阅读理解研究现状

 目前,阅读理解的研究主要从数据集和模型两方面开展。

 (1)阅读理解数据集 基于深度学习的阅读理解模型需要通过大量的数据进行训练学习。一些企业、学校和评测机构纷纷从不同角度提出了自己的数据集。

 表 1.1 各类数据集的规模大小 数据集 规模 语言 MCTest 2600 余个问题和 660 篇故事 英文 CNN&Dailymail CNN 数据集约有 90k 篇文章和 380k 个问题 英文 Dailymail 数据集约有 197k 篇文章和 879k 个问题 SQuAD 500 多篇文章和超过 100000 个问题答案对 英文 MS MARCO 10 万个问题和 20 万篇不重复的文档 英文 RACE 大约 28000 个文章和 100000 个问题 英文 CMRC 2017 18256 个问题和对应篇章 中文 SQuAD2.0 500 多篇文章和超过 150000 个问题答案对 英文 DuReader 约 100 万篇文章和 20 万个问题 中文 COQA 8000 个对话的 127000 问题答案对 英文 HotpotQA 113K 个问答对 英文 CJRC 约 10,000 篇文档和 50,000 个问答对 中文 DuReader2.0 约 100 万篇文章和 20 万个问题 中文 2013 年,微软建立了一个小规模基于儿童故事的多项选择阅读理解数据集 MCTest [3] ,其中数据集中的问题采用众包形式;Hermann 等人于 2015 年发布了一个填空型的大规模英文阅读理解数据集 CNN&Dailymail,其中 CNN 数据集和Dailymail 数据集分别来自美国有线电视新闻网的文章和每日新闻的文章 [4] ;2016 年,斯坦福大学建立了 SQuAD 数据集,阅读材料来自英文维基百科,问题和答案由人工标注 [5]

 ;同年微软发布了一个问题来自真实查询的英文数据集 MS MARCO [6] ,问题答案是由人工参考真实网页材料撰写 ;2017 年,卡内基梅隆大学发布了一个基于中国初中和高中学生英语阅读理解题目的数据集 RACE [7] ,问题答案并没有直接使用文章中的句子,更考验模型的推理能力;同年,科大讯

 第一章 绪论

 3 飞举办了第一个汉语阅读理解评测比赛并发布了中文阅读理解数据集 CMRC 2017,主要面向“儿童读物”领域的填空型阅读理解数据集;2018 年,斯坦福又提出 SQuAD2.0 数据集,该数据集在 SQuAD1.0 数据集的基础上添加了一些不可回答的问题 [8] ;2018 年,百度发布了中文阅读理解数据集 DuReader ,其问题和篇章均来源于百度搜索和百度知道用户真实搜索的问题 [9] ,是目前最大的中文阅读理解数据集。不仅如此,斯坦福大学还推出了衡量机器参与问答式对话能力的对话问答数据集 COQA [10] 和面向自然语言和多步推理问题的新型问答数据集 HotpotQA [11] 。2019 年,哈工大讯飞联合实验室提出了一个基于篇章片段抽取的中文法律阅读理解数据集 CJRC ,主要涉及民事一审判决书和刑事一审判决书,数据来源于中国裁判文书网 [12] ;同年,百度发布的面向真实应用的中文阅读理解数据集 DuReader2.0,与之前的数据集不同之处是在测试集中加入了不可回答问题。数据集详细的规模信息如上表所示。

 (2)主要方法 阅读理解方法主要有三种:基于规则的方法、基于传统机器学习的方法、基于神经网络的方法。

 基于规则的方法。早期的阅读理解技术多采用基于规则的方法。1999 年,Hirschman 提出了一个基于规则的词袋模型,并结词干提取、语义类识别、指代消解等浅层的自然语言处理技术 [13] ,提高了检索包含答案句子的准确率;2000年,Riloff 等人提出了一个基于不同类型的问题手动生成基于词汇和语义对应的规则的阅读理解系统 QUARC [14] ;同年,Charniak 等人将上述两个方法进行融合,使模型抽取包含答案的句子准确率在 30%-40%左右。

 基于规则的方法简单明了,但是制定规则的过程不仅依赖人工而且较为繁琐,只适用于符合规则的部分数据,迁移性差,准确率低。

 基于传统机器学习的方法。.2013 年,Richardson 等人在没有利用任何训练数据的情况下提出了一个基于规则的基线 [3] ,它采用启发式滑动窗口方法测量问题、答案和滑动窗口中单词之间的加权单词重叠/距离信息 [15] ;2015 年,Wang 等人在启发式滑动窗口方法的基础上提出了一个在 max-margin 学习框架之上通过将每个问答对转换为一个语句来运行现成的文本蕴涵系统,在 MCtest 数据集上模型性能从 63%提高到 70%左右 [16] 。

 基于传统机器学习方法通常基于离散的串匹配的和基于窗口匹配的,在解决表达的多样性问题上显得较为困难 [17] ,很难处理多个句子之间的长距离依赖问

 问题理解增强的阅读理解技术研究

 4 题,并且不适用于当前大规模的数据集。

 基于神经网络的方法。基于神经网络的方法主要从以下两部分开展研究:

 1)模型架构。阅读理解模型一般包含:嵌入式层、编码层、注意力层和预测层。在嵌入式层,大多数模型只是从字或词单一角度对问题和篇章进行嵌入式表示。而 Minjoon 等人提出一种将字、词嵌入相结合的多层次阅读理解模型Bi-DAF,主要思想为将利用字符级 CNN 得到的嵌入式表示和利用 GloVe 得到的词嵌入式表示进行拼接得到最终问题和篇章的嵌入式表示 [18] ;在编码层,大部分模型使用长短期记忆网络对问题和原文的嵌入式编码,而 Google 提出的BERT 模型使用多层双向 Transformer 编码器通过在所有层的上下文联合调节来预训练深层双向表示 [19] ,BERT 的提出推进了 11 项 NLP 任务的最新技术的发展;在答案预测层,大多数模型通过训练损失函数和softmax 归一计算篇章句子概率,而 Wang 等人提出了一个融合 Pointer Net 机制的阅读理解模型 Match-LSTM [20] ,在答案预测时采用 Pointer-Net 计算答案句在篇章中起始位置的概率,该模型是第一个在 SQuAD 数据集上测试的端到端神经网络模型且优于公布的基线模型;从模型整体框架来说,2019 年,Ran 等人提出了一个利用数字感知的图神经阅读理解的模型 NumNet 来实现了数字比较和数学推理 [21] ,其模型效果高于当前考虑了数字间关系的所有的阅读理解模型。

 2)注意力机制 2015 年,Hermann 等人提出了一个基于注意力机制的神经网络模型的 LSTM 模型 Attentive Reader [22] ,该模型在注意力机制层采用求点积的方法计算问题和篇章中词的相似度,在 CNN 数据集中上该模型的准确率达到了 63.8%;2017 年,哈工大与科大讯飞联合提出一种新的神经网络模型 attention-over-attention 注意模型 [23] ,主要思想是叠加注意力机制,即在原有的 attention 上添加一层 attention,不仅获得问题词对篇章词的 attention,还获得篇章词对问题词的 attention,在数据集 CNN 和 CBT 上取得了当时单模型最佳效果;2017 年,微软亚洲研究院借鉴 Match-LSTM 方法提出了一个神经网络模型 R-NET,主要改进是基于 GRU 的注意力的循环神经网络建模问题和篇章获取问题的相关段落表示 [24] ,基于自匹配注意力机制的循环神经网络将篇章和自己匹配得到整个篇章段落的高效编码[24] ,该模型利用 MS MARCO 数据集进行测试并取得了最好的结果;2018 年,Adams 等人提出了一种新的问答结构 QANet,它不需要递归网络,其编码器完全由卷积和自我注意组成 [25] ,其中卷积建模局部交互,自我注意建模全局交互,

 第一章 绪论

 5 在 SQuAD 数据集的测试集上 F 1 值达到了 84.6; 由上可以看出,研究者们主要针对注意力机制层、模型框架架构提出了各具特色的模型,但是我们发现目前大多数模型只是通过注意机制对篇章和问题隐式建模,并没有对问题本身进行建模,Mudrakarta 等人在问题中添加与问题无关词、助词模型效果反而有所提升 [26] ,表明深度学习模型并没有真正理解问题含义。

 2 1.2.2 问题理解研究现状

 问题理解又可以称之为问题解析,是问答系统和阅读理解任务的第一步工作,其解析的好坏直接影响整个问答系统或者阅读理解模型的性能。早在人工智能发展的第一个高潮 20 世纪 60 年代,人们就从问题的语义解析、问题分类、问题关键词的权重计算这几个方面理解问题。

 (1)语义解析:Hermjakob 等人认为在问答任务中语义解析树必须具有一定的丰富性,他们附加一个问题树库来增强语义,同时丰富 Penn 树库去训练语料,实验证明问题语义信息越充足越可以提高问题和篇章的匹配程度 [27] ;Zhang等人采用一个树结构的 LSTM 神经网络模型对问题建模,引入语法语义信息帮助模型对问题的编码,从而加强模型对问题的理解 [28] ;王智昊、刘培玉通过多层感知卷积来增强模型对问题语义特征的选择,实验证明,基于量子语义空间的卷积神经网络特征选择方法能够表示出更丰富的语义特征从而加强对问题语义理解 [29] 。

 (2)问题分类:早期的问题分类技术研究主要是基于人工制定的规则来实现,此方法在一些特定的数据集上获得了不错的效果。但是由于人工编写分类规则既浪费时间又浪费劳动力,满足分类规则的数据集存在局限性,此类方法的灵活性和迁移性较差。Hovy 等人有提出了一个有助于构建 weblopediaqa 的分类方法,主要思想是在问题中标注 72 个叶节点,不同的叶节点可以捕捉问题中不同的变量,从而更好的区分问题。这种问题分类方法试图表示用户的意图,而不是集中在疑问词或答案的语义上。Hermjakob 等人定义的包含 180 个问题类别的分类体系 [30] ,最典型的是 UIUC 的层次分类体系,包括 ABBR(缩写)、DESC(描述)、ENTY(实体)、HUM(人物)、LOC(地点)、NUM(数值)

 6 大类,共 50 小类 [27] 。该分类体系具有较广阔的类型覆盖面,比较适合开放域事实型问题。目前,中文问题分类体系还没有统一 [31] ,比较著名的是哈尔滨工业大学信息检索和社会计算中心在国外分类体系的基础上,结合汉语的语言特色所提出的问题分类体系,具体分类见表 1.2;Zhang 等人基于 SVM 算法利用 tree kernel 提

 问题理解增强的阅读理解技术研究

 6 取特征对问题进行分类 [32] ;文勖等人提出了一种贝叶斯分类器新的分类方法,该方法主要使用句法分析的结果提取问题的主干和疑问词及其附属成分作为分类的特征 [33] ,此方法极大地减少了问题中的干扰信息突出了问题的重要特征。

 表 1.2 哈尔滨工业大学的问题分类体系 大类(Coarse)

 小类(Fine)

 大类(Coarse)

 小类(Fine)

 描述(DES)

 abb,definition, expressio,judge,etc 实体(OBJ)

 animal,body,clothing, color,culture,currency, disease,event,etc 人物(HUM)

 desc,list,organizat-ion,other,person 数字(NUM)

 area,code,count,distance-frequency,list,money, multiple,other,etc 地点(LOC)

 addres,city, continent,country ,island,lake,etc 时间(TIME)

 age,day,holiday,list, month,other,etc (3)问题关键词的权重计算:Khashabi 等人提出了问题关键词概念[34] ,即当问题关键词被从问题中剔除时,人类回答问题的能力显著下降,并使用 SVM 分类器结合语义特征识别问题关键词,在模型中加入问题关键词对应权重,模型性能提高 5%。

 1.3 本文研究内容 本文主要针对用户真实问题的理解进行探索,研究工作主要从问题理解任务分析、基于外部知识多视角理解问题、针对隐式问题的理解两个部分开展,设计并构建了一个阅读理解原型系统。

 (1)问题理解任务分析

  首先,我们对该类任务进行了定义;其次,对任务研究的重难点进行了说明,说明该类任务有一定的挑战性;最后,简略介绍了本文所采用的实验数据集和评价指标。

 (2)基于多维度问题理解的阅读理解方法 问题理解是阅读理解的首要步骤,但是现有模型并没有直接针对问题建模,所以本文提出了一个多维度问题理解的解答策略。首先,利用 TextCNN 模型结合问题关键词对问题进行分类;然后,问题重要词通过句法分析获取,我们将问

 第一章 绪论

 7 题重要词定义为包含问题主要语义信息的词语,主要是由名词、动词组成,包含少量的形容词和限定性副词。其次,针对问题重要词加入对应的外部知识——字典释义和 Hownet 义元。最后,将问题类型作为问题的一个特征和问题一起输入到模型中,问题重要词外部知识的表示融入到模型的交互层,加强模型对问题的理解,从而提升模型解答效果。

 (3)基于隐式问题理解的阅读理解方法 通过分析发现,数据集中包含大量的隐式问题,且大多数隐式问题的回答评分较低,因此本文针对隐式问题的理解进行了探索。首先,提出了隐式问题的定义,并将其分为一般隐式问题和复杂隐式问题两类;其次,针对一般隐式问题采用基于规则的方法识别所缺疑问词,接着将其转换为显式问题;针对复杂隐式问题采用 TextRNN 模型识别所缺疑问词并补全问题输出。

 (4)实现了一个片段抽取式的阅读理解原型系统

 本文基于上述所提方法构建了阅读理解系统,主要包括预处理、隐式问题处理、问题理解、篇章理解,答案选择五个模块,其中问题理解模块包括问题类型识别、问题重要词识别、添加外部知识三部分。实现的主要功能是:输入题目及篇章,经过隐式问题判断、问题分类、识别问题重要词、添加外部知识等问题理解处理步骤,然后对篇章和问题建模,最后输出问题答案。

 1.4 论文的组织结构 第一章,绪论。本章主要介绍课题的研究背景及意义,总结国内外问题理解、阅读理解研究现状,并对本文的研究内容做了粗略介绍; 第二章,任务分析。本章对问题理解任务定义、研究难点进行了简要的分析,简要介绍了实验所用的数据集和相关的评价指标; 第三章,基于多维度问题理解的阅读理解方法。本章主要从加入问题类型、识别问题关键词、添加外部知识等多个视角加强模型对问题的理解,并详细介绍了不同问题特征融入模型对应的方法。

 第四章,基于隐式问题理解的阅读理解方法。本章主要提出了隐式问题的定义,并针对隐式问题的问题理解和解答上做了进一步的探索。

 第五章,片段抽取式阅读理解原型系统构建。本章基于上述所提方法构建了问题解答系统,主要包括五个模块分别为:预处理、隐式问题处理、问题理解、篇章理解,答案选择。

 第六章,结论与展望。本章主要对全文所提方法及实验结果做出总结,并指

 问题理解增强的阅读理解技术研究

 8 出所提方法的不足,提出了下一步的展望。

 第二章 任务分析

 9 第二章

 任务分析 本章主要从任务定义、任务研究的重难点、实验数据集和评价指标三个方面进行论述。

 2.1 任务定义

 阅读理解是指给定问题和篇章,要求模型获得问题和篇章中包含的信息,并给出相应的答案。我们将其形式化定义为:输入一个问题 Q = {q 1 ,q 2 ,„„q n }和对应篇章 D = {w 1 ,w 2 ,„„,w m },要求模型理解问题所含信息,通过对问题和篇章的建模从篇章中抽取作为答案的句子输出 A={a 1 ,a 2 ,„„,a o },其中 a i为篇章 D 中的子句。

 问题理解就是指模型剖析问题从中得到包含的信息,即明白问题在对什么在提问,提问的内容是什么。如表 2.1 所示,对于问题“牛排怎么做好吃”,模型在理解问题过程中需要获得是对牛排在提问,提问的是牛排的做法而不是牛排的价格、牛排的颜色等内容。我们问题理解从子任务入手对其进行形式化定义,理解问题主要是识别问题所含的语义信息主要包括问题类型、问题重要词,如表2.1 中示例。具体定义如下:

 (1)问题类型角度:输入一个问题 Q = {q 1 ,q 2 ,„„q n },以及问题类型集C ={c 1 ,c 2 ,„„,c m },模型计算每个类型对应的概率 P = {p c1 ,p c2 ,„„,p cl },选取概率最大 p cj 对应的类型 c i 作为输出。

 (2)问题重要词角度:输入一个问题 Q = {q 1 ,q 2 ,„„q n },通过规则或者机器学习的方法,从问题 Q 中选取 q i (1<i>n)作为问题重要词输出。

 表 2.1 问题理解示例

 问题 牛排怎么做好吃? 提问对象 牛排 提问内容 做法 问题类型 方法 问题重要词 牛排、做 问题回答 1、冷冻牛排自然解冻,用厨房纸巾吸干血水。

 2、撒上少许海盐和黑胡椒碎腌制片刻。

 3、牛排机接...

 问题理解增强的阅读理解技术研究

 10 2.2 任务分析

 2018 年,Mudrakarta 等人在问题中添加与问题无关词、助词模型效果反而有所提升[ 26 ] ,去掉问题中的一些关键词模型效果却没有什么变化,表明深度学习模型并没有真正理解问题含义。模型对问题的理解是阅读理解的第一个执行阶段,因此此阶段对问题的模糊理解甚至错误理解会直接影响后面的各个阶段,对后面的工作产生不充分以及错误的指导,最后使模型筛选答案不正确。

 模型理解问题不准确、不充分的主要原因有: (1)自然语言的复杂性。自然语言文本灵活性高,具有高度的复杂性,且自然语言的结构类型多种多样。对于提问意图相同的一个问题,问句的疑问词或问句的主谓宾结构可以不同,比如问题“为什么脸上会长痘痘?”、“脸上长痘痘的原因是什么?”和“脸上长痘痘是怎么回事?”。对于提问意图不同的问题,所用疑问词可以相同,而且句式多式多样,例如问题 “兰陵王的大结局是什么?”、“网络卡是什么原因?”和“挚友的意思是什么?”。

 (2)问题类型的多样性。提问者询问的内容往往涉及很多领域,如教育、娱乐、电子、影视、体育、食品等,提问意图也多种多样,如原因、方法、意义、目的等。对同一数据集学者往往使用一个模型,问句类型的多样使数据特征变得相对分散,会使模型不容易提取到相应特征,以至于不能准确获得问题的语义信息。

 (3)问句简短且包含许多抽象性的词。问句不会像文章那样大篇幅的描述提问内容,具有高度概括性。在 DuReader2.0 数据集中问题最长字数为 21,最短字数为 3,平均字数为 8.2。为了让较短的词描述提问对象和提问内容通常包含大量抽象性词,比如“结局”、“意义”、“原因”等,而这类抽象性词并不会直接在篇章中出现,但与篇章中的句子存在对应关系,极大的加强了模型对问题理解的难度。比如,问题“兰陵王的结局什么?”,篇章中并未出现结局一词,但篇章中包含“最后”一词的子句与之对应。系统对自然语言的理解,目前主要理解语义信息,抽象性词的存在使模型不能准确把握问题信息,进一步导致答案句筛选不准确,降低模型的性能。

 由此可以看出,问题理解是一个具有挑战的任务。

 2.3 相关数据

 本文实验数据来自百度和中文信息学会举办的“2019 年中文阅读理解挑战

 第二章 任务分析

 11 赛”中 DuReader2.0 数据集。数据集主要包含描述类(DESCRIPTION)、实体类(ENTITY)、是非(YES_NO)类三大类问题,分别占总数据的 63%、28%和9%。具体示例如表 2.2 所示。

 表 2.2 DuReader2.0 数据集各个类型样本示例 示例 1 【问题】如何查看路由器宽带密码? 【类型】DESCRIPTION 【原文】在路由器设置界面查看宽带密码方法:1、进入路由器。打开浏览器-输入 192.168.1.1(一般路由器地址是这个或者查看路由器背面的登录信息)进路由-输入用户名,密码 ,(默认一般是 admin)。2、在网络参数--WAN 设置里„„ 【答案】1、进入路由器。打开浏览器-输入 192.168.1.1(一般路由器地址是这个或者查看路由器背面的登录信息)进路由-输入用户名,密码„„ 示例 2 【问题】一般割双眼皮多少钱? 【类型】ENTITY 【原文】做双眼皮的价格与选择的技术、地区以及医院等因素有关。一般埋线双眼皮价格为 1200-3000 元,切开式双眼皮价格为 2000-5000 元。另外提醒您许多不具备条件或技术不成熟的机构或医生„„ 【答案】一般埋线双眼皮价格为 1200-3000 元,切开式双眼皮价格为2000-5000 元。

 示例 3 【问题】微博可以看最近访客嘛? 【类型】YES_NO 【原文】手机版个人主页最下面有个“常来与我互动”,拉到最下面,十个人组成一个小圈,多观察就会发现其实是按名次排的,这十个人也就是关注你的 top10,应该是把回复次数和来„„ 【答案】手机版个人主页最下面有个“常来与我互动”,拉到最下面,十个人组成一个小圈,多观察就会发现其实是按名次排的„„ DuReader2.0 是针对真实问答场景所提出的数据集,是迄今为止规模最大的中文阅读理解数据集之一,包含了超过 30 万个问题、140 万篇问题对应的文档

 问题理解增强的阅读理解技术研究

 12 和 66 万个人工生成的答案。DuReader2.0 中问题和证据文档都来源于百度搜索引擎和百度知道问答社区用户的真实查询[ 9 ] ,数据集中问题对应的答案由人工根据参考文档手工撰写的。与许多数据集不同之处是 DuReader2.0 数据集中包含是非类和观点类的问题,此类问题在之前少有研究。此类问题的加入进一步增强了研究的难度,选用此数据集检验论文中所提方法的有效性不仅可以可以满足现实世界的需要,对所提方法更具有检验性。

 2.4 评价指标

 1 2.4.1 问题类型、问题重要词识别评价指标

 问题类型、问题重要识别主要通过 precision(精确率)、recall(召回率)、F1-score 这三个值进行评价。

 假设当前样例仅包含 a、b 两种类型。

 精确率是指模型预测为 a 的样本中有多少是正确的 a 样本。样例被预测为 a类结果有两种可能:一种就是把 a 类样例正确预测为 a 类(用 TP 表示),另一种是把 b 类样例错误预测为 a 正类(用 FP 表示)。精确率是针对预测的结果来计算的,其公式可以表示为:

  Precision = TP / ( TP + FP )

  (2.1)

 召回率表示被正确预测为 a 类的样例占所有 a 类样例的比值。预测为 a 类的样例也有两种可能:一种是对原有的 a 类预测正确(用 TP 表示),另一种是把原有的 a 类样例预测为 b 类(用 FN 表示)。召回率是针对原始数据进行计算的,具体计算公式如下:

 Recall = TP / ( TP + FN )

  (2.2)

 F1-score 表示 precision、recall 的调和均值。具体计算公式如下:

 F1-score = 2 * Precision * Recall / ( Precision + Recall )

 (2.3)

 2.4.2 阅读理解问题解答评价指标

 目前,针对阅读理解模型采用的自动评价指标大多为机器翻译中常用的 Bleu和自动文摘中常用的 Rouge-L 指标。

 (1)Bleu 评价指标:Bleu 方法由 IBM 提出,是一种基于对 n-gram 优化的自动评价方法,主要思想是同时出现在系统答案和参考答案中的 n 元词的个数除以系统答案的单词总个数 m 的值(以下公式中用 P n 表示)作为评价结果[35] 。由于数据集样例较多,我们取数据集每一个样的精度分数的几何平均值并添加合适的长度惩罚因子。具体计算见公式(2.4):

 第二章 任务分析

 13

 (2.4)

  其中,w n 为权重值,BP 是长度惩罚因子计算公式见(2.5),P n 计算公式为(2.6)

 (2.5)

  (2.6)

 其中,c 为候选答案的长度,r 为有效参考答案的长度。

 (2)Rouge-L 评价指标:Rouge 是在 2004 年由 ISI 的 Chin-Yew Lin 提出的一种自动摘要评价方法[36] ,衡量方向是是参考答案相对系统答案的准确度和召回情况,主要偏向于召回情况。Rouge-L 针对候选答案和系统答案间最长的公共子列,具体计算见公式(2.7):

 (2.7)

 其中,lcs 表示最长公共子序列,R lcs 表示最长公共子序列对参考答案上的召回率,P lcs 表示最长公共子序列对系统答案上的准确率,其计算表达式分别为(2.8)和(2.9):

 (2.8)

 (2.9)

 其中,LCS(X,Y)表示序列 X 和序列 Y 的最长公共子序列的长度,m 表示参考答案长度,n 表示系统答案长度。

 2.5 本章小结 本章从任务定义入手,简要分析了问题理解技术研究的重点、难点内容,主要包括问题分类和问题抽象词理解这两个方面。由此可以看出,问题理解技术的研究是提高机器阅读理解的性能的重要部分之一,具有一定的挑战性。其次,还简要介绍了相关数据集和评价指标。 N1 nn np log w exp BP BLEU ) ngram candidate_

 ( countngram _ matched countP n  lcs2lcslcs2P α RP R α 1L - RougelcsmY) , LCS(XR lcs nY) , LCS(XP lcs  ; r

 c if

  1r; c if er/c) - (1BP

 问题理解增强的阅读理解技术研究

 14

 第三章 基于多维度问题理解的阅读理解方法

 15 第三章 基于多维度问题理解的阅读理解方法 机器是否正确理解问题所表达的含义是能否正确回答问题的基础,模型只有准确完整的理解问题,才能进一步根据篇章信息获得正确的答案。本章主要从研究动机,多维度理解问题策略,融入多维度理解问题的阅读理解模型三个方面进行介绍。

 3.1 研究动机

 提问者为了全面地描述提问意图,所提问题会包含一些形容词、语气助词、结构助词等,例如问句“好吃的牛排怎么做?”中“好吃”就一个描述牛排的一个形容词。“的”为结构助词。这类词共同的特点是不包含什么实际意义。

 模型理解问题主要是指获得问题所包含的信息,最直观的就是理解问题的语义信息。然而这些没有实际意义的词存在会干扰模型对问题的理解,降低模型对问题中重要信息的获取,所以我们需要识别问题中重要词,减少没有实际意义的词对模型理解的问题产生的干扰。

 问题类型可以作为问题的一个特征帮助模型理解问题。问题类型识别的准确率可以反映模型对问题的理解的程度,不仅如此问题类型还可以指导模型对答案的选取,缩小模型在篇章中筛选片段做为候选答案的范围,为答案的选取提供了一定意义上的约束。所以,我们需要识别问题类型。

 人在理解自然语言文本的过程中常常会涉及个人所积累的知识、理论、经验,对于复杂的文本时常会结合推理、融合、筛选等能力。然而机器并不具备和人一样的知识储备和推理融合的能力。因此,机器理解自然语言的程度仍未能像人理解自然语言一样智能,如果我们在模型中加入外部知识就可以帮助模型理解问题含义。

 3.2 多维度问题理解

 我们通过对问题进行分类、识别问题重要词、添加外部知识这三个维度来提升模型对问题的理解能力。

 1 3.2.1 问题类型识别

 (1)问题类型确定 阅读英文文献我们发现,研究学者常根据英文中的疑问词对问题进行分类,主要分为:“what”、“how”、“why”、“when”、“where”、“who”、“other”。结合本

 问题理解增强的阅读理解技术研究

 16 文所使用的数据集,我们将问题分为“what”、“how”、“why”、“where”、“who”、“comp”六类,其中“comp”表示对比类问题,初步分类示例如表 3.1 所示:

 表 3.1 问题初步分类示例

 问题类型 示例 what 市场推广策略有哪些? 游侠电影结局什么意思? 什么是电子邮件? how 意大利面做法是什么? 气虚肥胖如何补气减肥? 下载的字体怎么安装? why 网络卡是什么原因? 为什么脚后跟会疼? where IE 在哪里升级? 带父母去哪里旅游好? who 世界上头发最长的人是谁? comp 拉布拉多和金毛有什么区别? 二甲医院和三甲医院哪个好? 由表 3.1 可见,中文问题和英文问题存在很大区别:英文问题句式较单一且疑问词固定,而中文问题的提问方式种类繁多且复杂:1)疑问词不相同但可以表示意思相同的问题;2)意思相同的问题,问句中主谓宾可以不同;3)表达同一类问题,问法多式多样;4)疑问词相同但表示不同类的问题,,甚至有的问题并不包含疑问词,在“what”类和“how”类问题中此现象尤为明显。因此,英文问题的分类方式并不适合中文问题,不能仅依据疑问词对其分类。

 中文问题目前还没有统一的分类标准,有些学者将问题分为方式、比较、原因、解释、评价、简述、其他七类[37] 。通过数据分析发现该分类体系较粗糙,导致一些类别问题过多,占比不平衡。如,方式类、简述类问题分别占 49.45%与26.12%。为了缓解该问题,本文将方式类问题更细粒度分为方法、步骤、攻略三类,简述类问题分为简述类和影响类。将问题细化后,方法类、简述类问题分别下降了 20%、10%,剩余类型均在 7%左右,缓解数据不平衡现象。

 最终,本文将问题分为方法、步骤、攻略、原因、解释、对比、评价、影响、简述、其他。如表 3.2 所示。

 第三章 基于多维度问题理解的阅读理解方法

 17 表 3.2

 最终问题分类及示例 问题类型 示例 问题类型 示例 方法类 交管 12123 怎么交罚款? 原因类 威海为什么发展不起来? 步骤类 flash 动画制作步骤是什么? 解释类 纠缠的意思是什么? 毕业论文答辩流程有什么? 超声波洗牙的原理是? 攻略类 上海有什么旅游攻略? 简述类 男生喜欢一个人有什么表现? 立体几何有什么解题技巧? 曲筱绡的结局是什么? 对比类 截至和截止有什么区别? 评价类 太平样车险怎么样? 影响类 泻药有什么副作用? 其他类 北欧家具的特点有? (2)问题类型识别 近年来,在机器视觉领域有显著效果的 CNN 模型在文本分类中也被验证是可使用的且效果不错,所以我们采用 TextCNN 模型对问题进行分类。首先,将问句以字的形式输入模型中,得到问句的嵌入式表示;然后将问句的嵌入式表示依次通过卷积层、池化层和全连接层;最后通过 softmax 函数确定该问句对应每个类别的概率,输出概率最大的类型最为该问句类型最终的结果。具体模型结构图见 3.1。

  图 3.1 TextCNN 模型结构图

 问题理解增强的阅读理解技术研究

 18 3.2.2 问题重要词识别

 (1)问题重要词定义 问题理解的另一个关键是获取问题主要的语义信息。我们将问题重要词定义为包含问题主要语义信息的词语,主要是由名词、动词组成,包含少量的形容词和限定性副词。有些文献中,许多学者把问句中除疑问词、语气词、停用词以外的绝大部分词作为问题的重要词。

 我们根据其定义识别本文所使用数据集的问题重要词发现,字数稍多的问句中会包括形容词、助词、副词等一些没有实际语义信息的词语。通过对大量数据的观察,发现问题的主题词和焦点词通常包含问题的重要内容,也是模型理解问题的核心信息,所以我们进一步将问题句中的主题词与焦点词定义为问题重要词。其中,主题词是指能概括性地表现问题中话题的词语,一般是指反映某些特定主题的概念性、较规范性的词或词组;问题焦点是指围绕话题的问点,是一种提问者想要强调的重点的问题语义信息。例如,“曲筱绡的结局是什么?”中,“曲筱绡”和“结局”分别为问题的主题词和焦点词;“血压不稳定是由什么原因造成的?”中,问题主题词为血压不稳定,焦点词是原因。

 模型是否正确识别问题的重要词不仅是判断模型是否正确理解问题的一个指标。而且识别这两种信息,可加强模型对问题中关键信息的注意力,从而降低非重要词对模型的干扰,进一步可以提高模型对问题语义信息的解析,使模型更准确找到正确答案。

 (2)问题重要词识别 本论文通过句法分析获取问题的重要词。分析大量问句的句法依存树我们发现,问句的重要词和问句中的疑问词都存在某种直接或间接的关系,而且问句中的虚词一定不是问题重要词。所以,本文预先构建疑问词表 Interrogative_word = {什么,怎么,多少,多大,如何,为何,啥,哪,谁,几,吗} 、虚词词表 Function_word 包含助词、介词、连词、代词等和动词表 verb_word = {看、交、做、办、有}。然后通过句法分析获取问题 Q={q 1 ,q 2 ,…,q n }的重要词。主要基于以下的规则:

 规则 1:如果问句中的一个词 q i ∈Interrogative_word ,则于 q i 存在依存关系的词 q j 为问题重要词,若 q j 在虚词词表中,则于该词则存在依存关系的词 q o 和与 q o 存在依存关系的词作为问题重要词,其中前者为焦点词后者为主题词,如图 3.2 所示。

  规则 2:如果问句中的一个词 q i ∈Interrogative_word ,q j ∈Function_word

 第三章 基于多维度问题理解的阅读理解方法

 19 或者 q j ∈verb_word,且 q i 、q j 不存在依存关系,则与 q i 、q j 存在依存关系的词为问题重要词,其中与 q i 存在依存关系的为问题焦点词。如图 3.3 所示。

  (a)

 (b)

 图 3.2 问题重要词识别规则 1 示例

 图 3.3 问题重要词识别规则 2 示例

 规则 3:问题中 q i 和 q j 存在并列关系,则 q i 、q j 均为问题重要词,与 q i 存在依存关系的词是问题焦点词也是问题重要词,主要是对比类问题,如图 3.4 所示。

 图 3.4 问题重要词识别规则 3 示例 本文使用哈工大社会计算与信息检索研究中心研发的语言技术平台(LTP) 中的依存句法分析实现。

 3.2.3 加入外部知识

 (1)动机 问题字数一般较少,但却要描述出提问者想要知道的内容。通过分析发现,问题中常包含许多抽象性词,如表 3.3 所示,问句“兰陵王的结局是什么?”中,“结局”一词为抽象性词;问句“睡觉咬舌头的两侧有什么原因?”中“原因”也为抽象词。

 由表中的问题示例可以看出,问句字数较少且包含抽象性、概念性的词,对应答案由多个句子组成,字数较多。模型评分低说明模型并没有正确理解问题,理解此类问题的难点主要是:问句中抽象性词表达充足的语义信息,但这些抽象性词并不会在篇章中直接出现,而是与篇章中某些句子相对应,这些句子往往就是问题对应的答案,此类句子一般是对抽象性词具体地描述或者解释。如表 3.3,

 问题理解增强的阅读理解技术研究

 20 问句“兰陵王的结局什么”中“结局”为抽象词,但“结局”并没有直接出现在原文中,原文中包含“最后”的句子与之对应;问句“睡觉咬舌头的两侧有什么原因”中“原因”为抽象词,并没有直接出现在原文中,但原文中包含“由于”、“造成”、“导致”的句子与之相对应。

 表 3.3 包含抽象词的问题实例 【问题 1】兰陵王的结局什么? 【原文】兰陵王最后被郑儿设计假死锁在皇宫地下室里,让高纬以及所有的人都以为他死了。杨雪舞遭到追杀被宇文邕救回周国,郑儿一厢情愿妄图和兰陵王私奔,兰陵王用计逃了出来,在周齐边境假扮蒙面义士劫富济贫。雪舞生下孩子,几番波折后与兰陵王相认„„。

 【系统答案】兰陵王最后被郑儿设计假死锁在皇宫地下室里,让高纬以及所有的人...

相关热词搜索: 阅读理解 增强 理解

版权所有:杨帆范文网 2010-2024 未经授权禁止复制或建立镜像[杨帆范文网]所有资源完全免费共享

Powered by 杨帆范文网 © All Rights Reserved.。鲁ICP备16030136号