面向高考语文阅读理解的篇章标题选择研究
2018-07-18吕国英郭少茹谭红叶
关 勇,吕国英,李 茹,2,3,郭少茹,谭红叶
(1. 山西大学 计算机与信息技术学院,山西 太原 030006;2.山西大学 计算智能与中文信息处理教育部重点实验室,山西 太原 030006;3. 山西省大数据挖掘与智能技术协同创新中心,山西 太原 030006)
0 引言
阅读理解(reading comprehension,RC)作为问答任务的一个重要分支,受到越来越多的关注[1-2]。阅读理解式问答系统是从一篇给定的背景材料中查找答案,要求系统在“阅读”完一篇材料后,根据对材料的“理解”给出问题的答案[3]。
高考语文阅读理解中,背景材料相对较短且极具隐藏性,答案可能无法在背景材料中直接找到,因此,更注重考查机器对文章理解和概括的能力。高考语文阅读理解科技文分为选择题和问答题两大题型。选择题题型划分为五种,分别为“文意理解”、“观点支持”、“拟写标题”、“指代消解”和“补写句子”[4]。目前,选择题主要针对“文意理解”、“观点支持”类题目展开研究,解答这两类题目需要通过对与选项相关句子或片段的理解选出答案。标题选择题目的解答则需要对整个篇章进行理解概括,分析标题与篇章的相关性,进而选出答案。
篇章标题选择类题目可形式化描述为: 篇章、题干和选项三元组
针对高考语文阅读理解科技文篇章标题选择类题目,本文提出基于标题与篇章要点相关性分析模型。该模型构建了基于标题与篇章要点的相关度矩阵(2.1节),并融入标题结构特征(2.2节)进一步优化模型。在全国近10年高考真题和测试题上进行实验,对实验结果进行分析,最后对本文工作进行总结。
表1 篇章标题选择题目示例
1 相关工作
针对阅读理解任务提出的相关技术可以分为两种: 基于特征的方法[5-7]和基于深度学习的方法[8-11]。
基于特征的方法通常使用特征工程、语言工具、外部资源等来解决这类问题。文献[3]针对高考语文阅读理解文意理解类题型,提出一种多维度投票算法。该算法将Word2Vec、HowNet、词袋模型、框架语义场景四个方面作为度量标准,运用投票算法的思想,选取最佳答案。文献[4]针对高考语文阅读理解题干支持类题目,通过对篇章、题干、选项三者的关系进行建模,制定联合打分函数,加入句子相似度特征、反义匹配特征、否定特征三个语义特征信息,提出基于题干与选项一致性判别模型。文献[12]提出一种答案蕴含策略,把问题、正确选项和文章之间的关系用一个答案蕴含结构表达,通过模型获得该答案蕴含结构,选出正确选项。
基于深度学习的方法主要是通过构建神经网络模型。在基于词向量表示基础上,利用深度神经网络模型学习句子的向量表示,然后把任务转换成分类或排序问题。文献[13]针对MCtest数据集机器理解任务,构建一个基于Attention机制的分层的卷积神经网络模型。通过对文章、问题、答案进行建模,发现与回答问题相关的关键短语、关键句和关键片段。文献[14]针对阅读理解任务提出一个循环神经网络模型,学习词和短语的向量表示进行实体推理,用逻辑回归分类器对篇章预测类别,类别标签就是问题的答案。文献[15]基于分布式表达的思想,将问题与候选答案都映射到一个分布式的语义表达中,然后,基于二者的表达来学习问题与候选答案的匹配程度。
基于特征的方法需要人工构建不同的特征,耗费大量的时间,而基于端到端的神经网络模型虽然可以自动学习特征,但是由于数据的稀疏性、问题的复杂性,效果提升不是很明显。因此,本文结合基于特征的方法和神经网络的方法,提出标题与篇章要点相关性分析模型。
2 标题与篇章要点相关性分析模型
2.1 标题与篇章要点相关度矩阵
篇章由不同的段落组成,篇章各段落涉及不同的要点内容,标题是对篇章中各要点内容的高度理解概括。恰当的标题覆盖篇章各个要点内容,如何判断标题对各要点的覆盖程度是解决标题选择题的关键问题。针对此问题,提出了标题与篇章要点相关度矩阵。矩阵由选项和篇章要点相似度组成,行表示选项与各篇章要点相似度值,列表示篇章要点与各选项相似度值。根据相关度矩阵选取覆盖篇章要点内容最全面的一项作为最恰当的标题。图1为2015年北京高考题(第三题)相关度矩阵示意图。矩阵维度为4*5,分别表示四个选项和五个段落,颜色的深浅代表相似度值的大小,颜色越深代表相似度值越大。可以看出选项B覆盖篇章要点内容最全面,为最恰当的标题。具体公式如式(1)、式(2)所示。
其中,Sim(Ak,Seni)表示选项Ak与篇章要点Seni的相似度值,Ak,k∈[1,n],Seni表示篇章要点,m表示篇章要点的个数,Answermatrix表示选项与篇章要点相关度最高的一项。
图1 标题与篇章要点相关度矩阵
2.1.1篇章要点抽取
篇章要点的获取是形成标题与篇章要点相关度矩阵的关键。篇章各段落涉及不同的要点内容,段落主旨句是段落的中心句或者主题句,具有概括段落的作用,是段落的中心所在,所以,选取段落主旨句作为篇章要点。针对篇章要点获取问题,提出了基于相关因素的段落主旨句抽取方法。该方法对同义、上下位概念进行归并,同时,综合语句所在位置、文章标题、语句中所含重要词汇等多种度量方式,综合评估句子反映主题的价值,从而更精确地抽取出段落的主旨句。在文献[16-17]方法基础上,针对高考科技文的特点进行了改进。
(1) 段首、段尾句权值优化。高考科技文的段落中,段首句或者段尾句一般是总结段落内容的句子,所以段落的段首、段尾句包含的主题信息量比重比较大。对语句权值的调整如式(3)、式(4)所示。
其中,W(Si)表示语句的位置权值,Lnum表示段落中句子数量,j表示当前句子在段落中的位置,W(SLnum)表示段落尾句的权值。
(2) 长句权值优化。主旨句大多包含说明文章主题或关键内容的主题概念字串,所以包含主题字串多的语句可作为主旨句。长句所包含的主题字串的数量一般要高于短句,因而长句计算出来的权值较高,因此需要减弱语句长度对权值的影响,对语句权值的调整如式(5)、式(6)所示。
选取段落中语句权值最大的语句作为段落的主旨句,语句的权值可由不同的度量方式组合得到,如式(7)所示。
(7)
其中,σ1+σ2+σ3=1,F(Pi,Sj)表示段落Pi的第Sj句话的语句权值,WTitle(Sj)表示第Sj句话的标题权值。
2.1.2基于LSTM的选项与篇章要点的相关性计算
2.1.1节中,抽取了段落主旨句作为篇章要点。如何计算标题与篇章要点的相关性是生成相关度矩阵的难点。针对该问题,提出了基于LSTM的选项与篇章要点相关性计算方法,模型如图2所示。
基于神经网络的方法大多是在基于词向量表示的基础上,利用深度神经网络模型学习句子的向量表示,把任务转换成分类或排序问题。模型结构与文献[18-19]类似。
输入层是由篇章要点(集合SK)和选项(集合A)组成的二元组
图2 基于LSTM的选项与篇章要点的相关性计算
LSTM层使用bi-LSTM获取选项和篇章要点的向量表示[21]。bi-LSTM会提供给输入序列每一个节点过去和未来的上下文信息,相对于单向LSTM来说能提供更多的特征信息。具体公式如下:
池化操作有最大池化、平均池化等,本文使用的是最大池化k-Maxpooling(k=1)方式。hsk和ha分别表示篇章要点和选项的向量表示,篇章要点和选项之间的相关性用篇章要点和选项的向量的余弦相似度表示。损失函数和文献[22]类似,如式(11)所示。
(11)
其中,cos(hsk,ha+)表示文章和正确选项的相似度,cos(hsk,ha-)表示文章和错误选项的相似度,hsk表示篇章要点,ha+表示正确选项,ha-表示错误选项,Q表示阈值。训练集中,每条数据中只有一个正例标题和一个负例标题。在测试集上,每条数据中有四个候选选项,分别输出每个选项和各个篇章要点的相似度值,形成标题和篇章的相关度矩阵。
2.2 篇章标题结构分析
标题作为读者阅读文章的第一项内容,对理解文章内容具有重要的作用。本文参考文献[23-25]的分类体系,分析了5 872篇高考科技文标题结构和语言特点。根据高考科技文标题的特点,制定了相应的结构体系,如(1)~(5)所示。具体类别比例如表2所示,其中以名词短语结构为主。
(1) 名词短语+名词短语标题(n+n): 由一个以上的名词短语构成。例如,“围棋与国家”。
(2) 动词短语+名词短语标题(v+n): 由动词和名词短语构成。例如,“拯救阅读”。
(3) 名词短语+动词短语标题(n+v): 由名词和动词短语构成。例如,“太空行走”。
(4) 完整句子结构标题(s): 指从语法角度讲符合句子构成的标题。例如,“企业家为什么越来越重视书画文化?”。
(5) 名词标题(n): 由单一名词短语或是专有名词构成。例如,“古琴”。
表2 标题类别比例
对标题结构进行分析统计,形成标题结构权值,如式(12)所示。
(12)
其中,FT(Ai)表示标题类别为i的权值,Ki表示标题类别为i所占的比例。
2.3 融合标题结构权值
标题具有高度归纳概括篇章内容、结构鲜明的特点。标题与篇章要点相关度矩阵方法主要考虑了对篇章内容的概括、标题与篇章内容的相关性分析。篇章标题结构分析方法主要研究了标题的结构特点,对标题进行分类。因此,将以上两种方法进行融合来获得更好的实验结果。具体如式(13)、式(14)所示。
其中,Answerfuse表示融合标题结构信息后最终的答案,FW(Ai)表示选项Ai融合标题结构信息后的答案。
标题与篇章要点相关性分析模型具体思路为: 先抽取段落Pi的主旨句作为段落的要点,计算每个选项Ak与各个要点的相关性,形成相关度矩阵。再根据标题结构的特点对标题进行分类,形成标题结构权值,融合相关度矩阵和标题结构权值选出最佳选项A*。如算法1所示。
算法1标题与篇章要点相关性分析
输入: 篇章D={P1,P2,…,Pi,…,Pm};选项A={A1,A2,…,Ak,…,An};
输出: 最佳选项A*
初始化 集合Dyd中存储篇章各要点,集合Fstruct存储标题结构权值,集合Fbd存储选项与篇章要点的相似度,S*临时存储段落要点,F*临时存储选项与篇章要点的相似度,T*临时存储标题结构权值
FORPiIND
S*=MAX{F(Pi,Sj)}
//获取段落要点S*,将S*添加到Dyd中;
ENDFOR
FORAkINA
ENDFOR
//获取选项与篇章要点的相似度F*,将F*添加到Fbd中;
T*=FT(Ak)
//获取标题结构权值T*,将T*添加到Fstruct中;
ENDFOR
FORAkINA
//融合标题结构权值