计算机应用   2017, Vol. 37 Issue (6): 1741-1746  DOI: 10.11772/j.issn.1001-9081.2017.06.1741
0

引用本文 

王元龙. 面向阅读理解的句子组合模型[J]. 计算机应用, 2017, 37(6): 1741-1746.DOI: 10.11772/j.issn.1001-9081.2017.06.1741.
WANG Yuanlong. Sentence composition model for reading comprehension[J]. Journal of Computer Applications, 2017, 37(6): 1741-1746. DOI: 10.11772/j.issn.1001-9081.2017.06.1741.

基金项目

国家863计划项目(2015AA015407);山西省自然科学基金资助项目(201601D102030)

通信作者

王元龙, ylwang@sxu.edu.cn

作者简介

王元龙(1983-), 男, 山西大同人, 讲师, 博士, CCF会员, 主要研究方向:虚拟现实、自然语言处理、高性能计算

文章历史

收稿日期:2016-11-21
修回日期:2017-02-06
面向阅读理解的句子组合模型
王元龙    
山西大学 计算机与信息技术学院, 太原 030006
摘要: 阅读理解任务需要综合运用文本的表示、理解、推理等自然语言处理技术。针对高考语文中文学作品阅读理解的选项题问题,提出了基于分层组合模式的句子组合模型,用来实现句子级的语义一致性计算。首先,通过单个词和短语向量组成的三元组来训练一个神经网络模型;然后,通过训练好的神经网络模型来组合句子向量(两种组合方法:一种为递归方法;另一种为循环方法),得到句子的分布式向量表示。句子间的一致性利用两个句子向量之间的余弦相似度来表示。为了验证所提方法,收集了769篇模拟材料+13篇北京高考语文试卷材料(包括原文与选择题)作为测试集。实验结果表明,与传统最优的基于知网语义方法相比,循环方法准确率在高考材料中提高了7.8个百分点,在模拟材料中提高了2.7个百分点。
关键词: 自然语言理解    句子组合模型    阅读理解    语义相似度计算    
Sentence composition model for reading comprehension
WANG Yuanlong     
School of Computer and Information Technology, Shanxi University, Taiyuan Shanxi 030006, China
Abstract: The reading comprehension of document in Natural Language Processing (NLP) requires the technologies such as representation, understanding and reasoning on the document. Aiming at the choice questions of literature reading comprehension in college entrance examination, a sentence composition model based on the hierarchical composition model was proposed, which could achieve the semantic consistency measure at the sentence level. Firstly, a neural network model was trained by the triple consisted of single word and phrase vector. Then, the sentence vectors were combined by the trained neural network model (two composition methods:the recursion method and the recurrent method) to obtain the distributed vector of sentence. The similarity between sentences was presented by the cosine similarity between the two sentence vectors. In order to verify the proposed method, the 769 simulation materials and 13 Beijing college entrance examination materials (including the source text and the choice question) were collected as the test set. The experimental results show that, compared with the traditional optimal method based on HowNet semantics, the precision of the proposed recurrent method is improved by 7.8 percentage points in college entrance examination materials and 2.7 percentage points in simulation materials respectively.
Key words: natural language comprehension    sentence composition model    reading comprehension    semantic similarity computation    
0 引言

阅读理解(Reading Comprehension, RC)的任务是能够读懂单篇文档,理解文中的意思且作适当的处理用于回答设计的问题,它是自然语言处理和知识表示的一个重要应用领域,驱动着该领域相关技术的发展[1-2]。近年来,随着人工智能的浪潮,阅读理解技术也越来越受到了众多自然语言处理研究机构及人工智能研究机构的关注[1]。中文阅读理解中选择题的目标在于理解单篇文档,选出最符合文意的选项。阅读理解中选择题求解归结为语义一致性分析任务,它注重的是背景材料与选项的语义一致性分析,因此语义一致性分析成为了解决中文阅读理解中选择题的关键技术。

阅读理解中选择题可形式化的描述为:给定选项C和背景材料D={S1, S2, …, Sn},首先检索选项C在背景材料中相关的句子SiD,进一步对选项和选项相关句的语义一致性进行分析。例如:

选项为:朋友为小说《白鹿原》没有写老腔的笔墨而感到遗憾,作者对此深有同感。

检索到的两个相关句为:Si=“后来, 有作家朋友看过老腔的演出,不无遗憾地对我说过这样的话,你的小说《白鹿原》是写关中大地的,要是有一笔老腔的画面就好了”;Sj=“朋友跟我说老腔如何如何,我却很难产生惊诧之类的反应”。

答案的选择需要分析选项与检索相关句的一致性。本文重点关注句子的组合模型,且采用句子向量的相似度计算进行语义的一致性分析,句子相似度为Sim (ScSr)。其中:Sc表示选项的句子分布式向量表示,Sr表示从原文中检索到的相关句句子分布式向量表示。

词汇的分布式向量表示是基于在语料库中相似的词有相似上下文的思想,通过在语料库中预测词共现来构建的表示模型[3]。词汇间的语义相似度可以通过词汇的分布式表示计算得到,更深层次的短语或句子语义理解,还需要对短语及句子进行分布式表示,组合句子的分布式向量表示在自然语言处理方面的各个领域越来越受到重视。目前存在两种词汇语义的句子组合形式:一种是基于语义元素操作的组合形式,如函数组合、形态组合等[4];另一种是基于语义分布式向量空间的组合形式[5-17]。前者通常依据已有的语义词典或标注语料,而后者基于依赖专业语料训练获得的分布式表示空间。基于语义分布式向量空间的组合形式首先需要采用分布式向量表示每个词,即给定两个单个词的词向量v1、v2。然后通过语义组合方法,把两个单个词的词向量组合成一个新的短语向量v3。再把短语向量当作词向量和另外一个词组合成向量,直到组合成整个句子的分布式向量,其中合成规则直接影响计算语义合成性质的好坏。向量加[6]和点乘方法[7]组合规则较简单,容易造成精度下降问题。向量矩阵模型[13-16]局限于动词与名词、形容词与名词的合成语义表示,对其他组合词的合成没有涉及。深度学习方法[17]需要大量的训练数据集训练大规模的参数,在数据量较小的情况下容易出现过拟合。对于中文阅读理解材料,目前缺乏句子组合的训练集。本文针对中文阅读理解材料提出了基于神经网络的短语组合模型,通过词共现的方法在训练材料中构建训练数据集,详细过程见第3章。该方法有以下优点:1) 方便自动构造训练集;2) 训练参数相对较少,适合小规模训练数据集。

基于短语组合模型,针对高考语文阅读理解中选择题的选项一致性分析,提出了两种计算句子语义组合方法:一种为递归方法;另一种为循环的方法。首先,采用了基于词频-逆向文件频率(Term Frequency-Inverse Document Frequency, TF-IDF)的方法计算原文中和每个选项最相关的句子集;然后通过本文所提计算句子语义合成方法分别计算选项和相关句的句子分布式向量;最后通过比较每个选项与其句子间的余弦值判断选择题的答案。本文收集了769篇阅读理解+13篇北京高考语文试卷材料(包括原文与选择题)作为测试集,在该测试集中相比于Baseline方法,本文方法能够获得更优的结果。

1 相关研究

目前,很多研究人员越来越关注如何组合词汇,获得短语及句子的分布式向量表示。下面介绍基于语义分布式向量空间的组合方法。

1) 向量加方法。

向量加方法在Widdows[6]的论文中有详细的描述。该方法组合短语向量v3的值是通过单个词的词向量对应值相加获得:v3i=v2i+ v1i

2) 点乘方法。

Mitchell等[7]提出了用点乘的方法组合词向量,该方法采用单个词向量对应值相乘来计算组合短语向量中相应的元素值:v3i=v2i × v1i。该方法在语义相似度计算任务上优于向量加方法[6]

向量加和点乘方法简单易用,且在一些任务中效果明显[8],但也存在由于词序造成的精度下降问题,如无法区分“如果/没有”和“没有/如果”这类短语。

文献[9-12]把结构编码的操作应用到相邻两个词向量加的组合方法中,避免了相邻两个词词序不同造成的组合精度影响。该方法对于组合短语级的向量效果明显,但组合句子组的向量还是无法避免词序的影响。Socher等[13]提出一种采用递归神经网络训练每个词汇的向量-矩阵表示方法,通过句法分析树来组合句子向量。该方法每个词汇都用一个向量和一个功能矩阵表示,如果一个词汇在句子不是功能词汇,那么该词汇的功能矩阵为单位矩阵,如果词汇在句子中作为主要的功能,如形容词“非常”,那么该词汇自身的向量接近零向量,而相应的功能矩阵发挥着重要的作用。组合短语采用的方法为:p=fA, B(a, b)=f (Ba, Ab)。Guevara[14]提出了一种计算形容词-名词组合分布式向量表示的偏最小二乘回归模型,他们用回归模型估计形容词和名词的组合系数。Baroni等[15]把形容词当作一个功能函数用矩阵表示,名词用向量表示,用形容词功能矩阵和名词向量的乘积来获取形容词-名词的组合分布式向量表示。Paperno等[16]对文献[13-15]功能矩阵作了进一步完善,功能矩阵的功能分为:主语、宾语、名词、形容词、副词等。每个词汇采用1个向量和n个矩阵表示。该方法采用组合短语方法为:{〈a, A1, A2, …, An, …, An+k 〉, 〈b, B1, B2, …, Bn〉} $ \Rightarrow ${〈a+An+k*b, A1+B1, A2+B2, …, An+Bn, …〉}。该方法组合短语及句子效果非常好,但消耗的存储量以及计算量均无法满足实用的要求;且由于该方法采用句法树分析句子结构,组合句子采用相邻节点组合方法,因此对于任意长的句子,组合的效果就有所下降。

针对组合任意长度句子的问题,Tai等[17]在长短时记忆网(Long Short-Term Memory Network, LSTM)[18]的基础上,提出了树结构的LSTM。该论文提出两种树结构LSTM (Child-Sum Tree-LSTM, N-ary Tree-LSTM)。具体形式如图 1所示。其中:cj表示记忆单元;hj表示隐层节点的状态;fj表示激活函数;ijoj分别表示输入和输出门。

图 1 树结构LSTM示意图[17] Figure 1 Schematic diagram of tree structure LSTM[17]

本文受到文献[17]的启发,提出利用两种中文句子的组合方式来获取句子的分布式向量表示,在阅读理解任务上实验验证了本文方法的效果。

2 句子组合模型及句子间的一致性分析

本文所提句子的分布式表示是通过句子中的词向量组合句子向量,采用两种方法来组合句子向量,分别是递归的方法和循环的方法。句子s由一个词序组成:s={w1, w2, …, wn},其中n为句子中词的个数。每个词通过word2vector训练得到词向量we={ew1, ew2, …, ewk},k为词向量的维数。最后通过组合的方法计算得到句子向量se={es1, es2, …, esk}。为了解决训练数据受限的问题,本文把共现次数大于30次的相邻两个词合并为一个词,通过word2vector训练得到该短语的向量,用来训练神经网络的样本数据采用三元组表示M (w1, w2, p),其中:w1w2表示单个词向量,p表示两个词组合成的短语向量。最后采用训练好的神经网络来组合获取句子向量。

2.1 句子组合模型

构造句子分布式表示向量的基本思想是:组合两个词的分布式向量成为短语向量,再把短语向量当作词向量和另外一个词组合成向量,直到组合成整个句子的分布式向量表示。本文所指的短语并非严格意义上的短语,是指两个词经常一块组合使用的组合词,例如“没有/那么”“告诉/我们”“坐/下来”“过/会儿”“天地/间”等,组合短语向量采用神经网络模型。

2.1.1 神经网络模型

为了达到理解单篇文档,选出最符合文意选项的阅读理解目标,训练模型共分为两个阶段:离线预训练阶段和在线调整阶段。首先采用从6 117篇文学作品语料中抽取短语集合来离线训练组合短语向量的模型,该阶段的模型属于整体模型;然后针对具体的测试文档细微的调整该整体模型,如图 2所示。对于单篇文档,采用的抽取短语集方法为:去掉停用词后的词前后两两组合。

图 2 训练短语向量示意图 Figure 2 Schematic diagram of training phrase vector

组合短语向量模型采用三层的神经网络模型,如图 3所示。神经网络模型的核心是组合短语的分布式表示,具体描述如下:

图 3 神经网络模型 Figure 3 Neural network model
$\mathit{\boldsymbol{X}} = f(\mathit{\boldsymbol{U}} \times {\left( {\matrix{ {{\mathit{\boldsymbol{w}}_1}} & {{\mathit{\boldsymbol{w}}_2}} \cr } } \right)^{\rm{T}}} + \mathit{\boldsymbol{b}})$ (1)
$\mathit{\boldsymbol{p}} = g(\mathit{\boldsymbol{V}} \times {\left( {\matrix{ {{\mathit{\boldsymbol{x}}_1}} & {{\mathit{\boldsymbol{x}}_2}} \cr } } \right)^{\rm{T}}})$ (2)

其中:X是中间层结果;p表示短语向量;UV为需要训练的权值矩阵;b为对应偏置向量。神经网络在本质上是一种输入到输出的映射,它能够学习大量的输入与输出之间的映射关系。因此,本文的样本集为(输入向量、理想的输出向量),即上文提到的三元组M (w1, w2, p)。

2.1.2 句子组合模型

本文通过训练好的神经网络模型采用两种方法来组合句子向量,分别是递归的方法和循环的方法,如图 4所示。

图 4 组合句子向量示意图 Figure 4 Schematic diagram of combined sentence vectors

1) 递归的方法。如图 4(a)所示,该方法从句子中的词开始按顺序每两个词通过训练好的神经网络组合得到上一层节点的分布式表示,同样的方法逐层计算各节点的分布式表示,直到计算得到顶层的根节点的分布式表示作为句子的分布式向量表示。如果词的个数是单数,最后一个词自动被当作上一层的节点。具体计算式如下:

${\mathit{\boldsymbol{p}}_i}^l = g(\mathit{\boldsymbol{V}} \times f(\mathit{\boldsymbol{U}} \times {\left( {\matrix{ {{\mathit{\boldsymbol{p}}_j}^{l - 1}} & {\mathit{\boldsymbol{p}}_{j + 1}^{l - 1}} \cr } } \right)^{\rm{T}}} + \mathit{\boldsymbol{b}}))$ (3)

其中:pil表示第l层中第i个组合分布式向量表示;VUb为已训练好的权值矩阵。

2) 循环的方法。该方法从句子中的第一个词开始逐步组合其后的每个词。与LSTM类似,本文方法在组合过程中加入细胞状态(如图 4(b)上cell层),cell层水平线在图 4上方贯穿运行。细胞状态类似于传送带,直接在整个链上运行,信息在上面流传保持不变会很容易。具体过程如下所示:

${\mathit{\boldsymbol{h}}_t} = g(\mathit{\boldsymbol{V}} \times f(\mathit{\boldsymbol{U}} \times {\left( {\matrix{ {{\mathit{\boldsymbol{h}}_{t - 1}}} & {{\mathit{\boldsymbol{w}}_i}} \cr } } \right)^{\rm{T}}} + \mathit{\boldsymbol{b}}))$ (4)
${\mathit{\boldsymbol{c}}_t} = g(\mathit{\boldsymbol{V}} \times f(\mathit{\boldsymbol{U}} \times {\left( {\matrix{ {{\mathit{\boldsymbol{c}}_{t - 1}}} & {{\mathit{\boldsymbol{h}}_t}} \cr } } \right)^{\rm{T}}} + \mathit{\boldsymbol{b}}))$ (5)

其中:h0为整个句子的开始向量,因此h0通过w0w1计算获得; VUb为已训练好的权值矩阵。

本文循环的方法与传统LSTM[17-18]方法的不同之处在于,循环的方法采用2.1.1节训练好的神经网络去组合两个向量而不是直接训练句子组合模型,有效地缓解了缺乏训练数据情况下训练大规模参数的困境。

2.2 句子间的语义一致性分析

利用句子的分布式表示,可以快速计算句子间的语义相似度,这对于阅读理解中的很多任务具有重要的意义。与文献[19]类似,阅读理解中选择题的方案首先要解决的问题也是答案句的检索,与问答不同的是,选择题是通过选项检索答案句。

具体来讲,选择题通过选项检索原文中和选项相关的部分(可能是句子集、段落或全文的主线等),然后再计算选项与相关部分的相似度,得到最终的答案项。

对于选项与选项相关部分,本文通过2.1.2节介绍的两种方法分别获得句子对应的向量分别为Sc=(w1, w2, …, wn)和Sr=(w1, w2, …, wn),其中n为句子向量的维度。句子间的相似度利用两个向量之间的夹角余弦值来表示:

$Sim({\mathit{\boldsymbol{S}}_c}, {\mathit{\boldsymbol{S}}_r}) = \sum\limits_{i = 1}^n {({{w'}_i} \times {{w''}_i}} )/\sqrt {\sum\limits_{i = 1}^n {{{w'}_i}^2 \times \sum\limits_{i = 1}^n {{{w''}_i}^2} } } $ (6)
3 实验结果与分析

本文实验所用的阅读理解语料由山西大学中文信息处理课题组收集,来自全国高中语文模拟试卷(共6 104篇)以及近13年的北京高考语文试卷材料。其中,769篇阅读理解语料包含选择题,每一篇包含一道选择题。测试所用语料包括769篇模拟材料+13篇北京高考语文试卷材料,选择题共782道(单项选择题46个,双项选择题729个)。为了测试模型的泛化能力,训练所用语料去掉测试所用的769篇语料,共5 335篇阅读理解语料的原文用来构建训练数据集。本文利用词共现的方法获得训练神经网络所需的三元组,具体做法为在阅读理解语料的原文中搜索两个词的共现次数,如果共现次数大于30次,就认为其适合组成短语。本文采用词共现的方法收集了2 531对短语,短语和单个词共同构成了三元组M作为神经网络的训练数据。

3.1 训练单个词和短语向量

词汇的分布式表示在自然语言处理领域中得到广泛的应用起源于Mikolov等[20]提出的两个模型(连续词袋(Continuous Bag of Words, CBOW)模型, 连续Skip-gram模型)。利用这两个模型训练词汇的分布式向量表示能够捕捉到词汇之间的某种隐含语义关系。本文采用CBOW模型来训练词向量和短语向量。首先,将文学作品经过分词作为语料,获得单个词的词向量;然后,把短语中的两个词作为一个整体,再用CBOW模型进行训练,获得短语向量。

3.2 实验设置

为了验证本文基于句子分布式向量表示在汉语阅读理解选择题中的有效性,实验设置了相关句检索和句子相似度计算(即答案选择)两个阶段。

相关句检索阶段,本文采用TF-IDF方法从原文中检索与每个选项相关的句子。对于原文,按句子划分成句子集。对于选项,计算其中每个词在原文中每一句子的TF-IDF值。选TF-IDF值最大的两个句子作为选项相关的句子,用于下一个阶段句子相似度计算。

句子相似度计算阶段,为了验证本文组合句子分布式向量表示方法的优势,实验设置了相关文献中常用方法的比较分析,包括:

1) 基于词袋模型方法[21]

首先通过6 117篇文学作品构建一个词表,对于选项和选项相关句子,分别计算其每一个关键词的出现次数,得到的对应向量分别为Sc=(f1, f2, …, fn)和选项相关句子Sr=(f1, f2, …,fn),其中n为词表的大小。选项和选项相关句子的相似度利用两个向量之间的夹角余弦值来表示:

$Sim({\mathit{\boldsymbol{S}}_c}, {\mathit{\boldsymbol{S}}_r}) = \sum\limits_{i = 1}^n {({f_i} \times {{f'}_i}} )/\sqrt {\sum\limits_{i = 1}^n {{f_i}^2 \times \sum\limits_{i = 1}^n {{{f'}_i}^2} } } $ (7)

2) 向量加方法[6]

对于选项(W1, W2, …, Wm)和选项相关句子(W1, W2, …,Wn)里的每一个关键词的词向量分别作加运算获得句子向量,为了减小句子长度带来的影响,取句子中词向量和的平均作为该句子的向量,因此选项和选项相关句的句子向量分别表示为${\mathit{\boldsymbol{S}}_\mathit{\boldsymbol{c}}} = {1 \over m}\sum\limits_{i = 1}^m {{\mathit{\boldsymbol{W}}_i}} $${\mathit{\boldsymbol{S}}_\mathit{\boldsymbol{c}}} = {1 \over m}\sum\limits_{i = 1}^m {{{\mathit{\boldsymbol{W'}}}_i}} $。选项和选项相关句子的相似度利用两个向量之间的夹角余弦值来表示。

3) 点乘方法[7]

与向量加方法相比,点乘方法将关键词的词向量加运算改为点乘运算,其他操作与向量加方法相同。

4) 基于知网语义(HowNet Semantics, HNS)的方法[22]

对于选项Sc和选项相关句子Sr中的任意单个词AiBi,基于HowNet计算其相似度S (AiBi),取ai=max{S (AiB1), S (AiB2),…,S (AiBm)},bi=max{S (A1Bi), S (A2Bi),…,S (AnBi)}。选项和选项相关句子的相似度通过式(8) 计算获得:

$Sim({\mathit{\boldsymbol{S}}_c}, {\mathit{\boldsymbol{S}}_r}) = \left[ {{1 \over m}\sum\limits_{i = 1}^m {{a_i}} + {1 \over n}\sum\limits_{i = 1}^n {{b_i}} } \right]/2$ (8)
3.3 结果分析 3.3.1 相关句检索

本文采用TF-IDF方法从原文中检索与每个选项相关的句子,综合考虑了选项中的每个词在文档中的重要性和整个文档中的区分能力。对于原文,按句子划分成句子集,具体计算如下:

$Rat({S_c}, {S_{si}}) = T{F_{si}}*ID{F_{si}} = {1 \over n}\sum\limits_{i = 1}^n {T{F_i}} *ID{F_i}$ (9)

其中:n为选项Sch中去掉停用词后的关键词个数;TFi为选项Sch中与原文中句子Ssi匹配的词数,采用式(10) 计算原文中每个词的IDF值。

$ID{F_i} = \ln (S/{S_{w'i}})$ (10)

其中:S表示原文中句子总数;Swi表示词wi在原文中出现过的句子数。

实验中发现使用TOP-2作为检索的相关句,就可以很好地覆盖整个选项。例如,运用TF-IDF方法在2016年北京高考语文阅读理解选择题中进行相关句检索结果实例:

[′A′, ′作者′, ′产生′, ′神秘感′, ′的′, ′原因′, ′是′, ′看见′, ′演唱′, ′老腔′, ′白发′, ′白眉′, ′老汉′, ′等′, ′一′, ′群′, ′关中′, ′农民′]

我在入座时也看见了白发白眉老汉和他跟前的十多个人,一眼就能看出他们都是地道的关中乡村人,也就能想到他们是某个剧种的民间演出班社,也未太注意,赵季平重新归位坐定,便很郑重地对我介绍说,这是华阴县的老腔演出班社,老腔是了不得的一种唱法,尤其是那个白眉老汉…老腔能得到赵季平的赏识,我对老腔便刮目相看了,再看白发白眉老汉,安静地在台角下坐着,我突然生出神秘感来

屁股刚挨着椅子,他忽然站起,匆匆离席赶到舞台左侧的台下,和蹲在那儿的一位白头发白眉毛的老汉握手拍肩,异常热乎,又与白发白眉老汉周围的一群人逐个握手问好,想必是打过交道的熟人了

[′B′, ′演员′, ′以′, ′木砖′, ′连续′, ′敲击′, ′长条′, ′板凳′, ′发出′, ′的′, ′响声′, ′经常′, ′掩盖′, ′了′, ′观众′, ′掌声′, ′与′, ′叫好声′]

观众顿时沸腾起来

然而,令人惊讶的一幕出现了,站在最后的一位穿着粗布对门襟的半大老汉找着长条板凳走到台前,左手拎起长凳一头,另一头支在舞台上,用右手握着的一块木砖,随着乐器的节奏和演员的合唱连续敲击长条板凳,任谁也意料不及的这种举动,竟然把台下的掌声和好声震哑了,出现了鸦雀无声的静场,短暂的静默之后,掌声和欢呼声骤然爆响,经久不息

[′C′, ′朋友′, ′为′, ′小说′, ′《′, ′白鹿原′, ′》′, ′没有′, ′写′, ′老腔′, ′的′, ′笔墨′, ′而′, ′感到′, ′遗憾′, ′,′, ′作者′, ′对′, ′此′, ′深′, ′有′, ′同感′]

后来,有作家朋友看过老腔的演出,不无遗憾地对我说过这样的话,你的小说《白鹿原》是写关中大地的,要是有一笔老腔的画面就好了

朋友跟我说老腔如何如何,我却很难产生惊诧之类的反应

[′D′, ′老腔′, ′从′, ′宋代′, ′唱′, ′到′, ′现在′, ′,′, ′乡野′, ′音乐厅′, ′说明′, ′这种′, ′表演′, ′形式′, ′一直′, ′很′, ′流行′]

朋友跟我说老腔如何如何,我却很难产生惊诧之类的反应

我第一次看老腔演出,是前两三年的事

从上面的例子可以发现选项ABCD检索到的相关句均可以蕴含选项。如选项A,“作者产生神秘感的原因”能够从相关句“老腔能得到赵季平的赏识,我对老腔便刮目相看了,再看白发白眉老汉,安静地在台角下坐着,我突然生出神秘感来”中找到。

3.3.2 答案生成

考虑到高考语文题比模拟题更加规范,且本文主要针对北京高考语文阅读理解所提的解决方案,因此对高考材料和模拟材料分开进行测试。

由于选择题有准确的答案,因此本文采用的评价指标为准确率:

$P = \frac{{CorrectAnswer(k)}}{k} \times 100\% $ (11)

其中:CorrectAnswer (k)表示k个选择题中正确的答案数目,对于双项选择题通常认为只对一项答案情况时,正确答案数目加0.5。表 1分别给出了本文两种方法(方法1:递归的方法;方法2:循环的方法)与相关方法在高考材料和模拟材料两个数据集上的准确率比较。

表 1 不同方法的准确率比较 % Table 1 Precision comparison of different methods %

表 1中可以看出,与传统最优的基于知网语义方法相比,本文两种方法在高考题和模拟题两个数据集上的准确率均有所提高,方法2在高考材料中提高了7.8个百分点,在模拟材料中提高了2.7个百分点,但在高考题上的准确率略高于模拟题上的准确率,可能的原因是高考题比模拟题更加规范。本文方法2与方法1相比,在组合句子向量时有所改进,从实验结果也可以看出,改进后的方法2在高考题数据集上的准确率提高了近4个百分点。

3.3.3 错误分析

错误原因主要集中于分布相似性到语义相似性的差距,语义理解仍然是阅读理解最困难的技术。一方面,选项与相关句子的分布式表示非常相似,但由于句子中一个词语义相反,本文方法无法检测到其语义不相似,如2015年北京高考语文阅读理解选择题:

“B.文中那位意大利人对梅花有很好的艺术感受力,作者期待他写出“梅花四弄”。”

其检索到的相关句为:“第三个问的是意大利人,是搞音乐的,我想这人是有艺术感受力的,反正他没见过梅花,就信口开河起来”。

两个句子的分布式表示非常相似,但由于“期待”与“信口开河”其语义无法检测,此题结果错误。

另一方面,选项与相关句子的分布式表示非常相似,但仅仅从相关句中无法理解其选项的本意,如2014年北京高考语文阅读理解选择题:

“A.作者写作本文的目的之一是纠正《现代汉语词典》中对“废墟”这一语词的错误理解。”

理解选项中“本文的目的”需要理解全文或了解全文的主旨才能做到。

总之,对于选项分析除了相关句起主要作用,其他因素也会影响准确率,如全文主旨、段落主题以及情感分析等。采用更好的融合模型可以降低分布相似性到语义相似性的差距,这也是下一步的工作方向。

4 结语

句子的分布式向量表示在自然语言处理中的各个领域越来越受到重视。针对汉语阅读理解中选择题的特点,本文提出了一种新的句子组合模型应用到选择题的解决方案。本文采用TF-IDF方法检索与选项相关的相关句,实验结果发现使用TOP-2作为检索的相关句,可以很好地覆盖整个选项。对于句子分布式向量的组合本文提出两种方法,一种是递归的方法,另一种是循环的方法。与Baseline方法相比,本文两种方法的准确率均有所提高,其中循环的方法在高考题数据集上的准确率可以达到57.8%。下一步的工作将考虑全文主旨、段落主题以及情感要素的分布式向量表示,并将其融合到本文算法中,进一步减小分布式表示与语义理解的差距。

参考文献
[1] CHEN D Q, BOLTON J, MANING C D. A thorough examination of the CNN/Daily Mail reading comprehension task[C]//Proceeding of the 2016 54th Annual Meeting of the Association for Computational Linguistics. Stroudsburg, PA:ACL, 2016:2359-2367.
[2] 刘知远, 孙茂松, 林衍凯, 等. 知识表示学习研究进展[J]. 计算机研究与发展, 2016, 53(2): 247-261. ( LIU Z Y, SUN M S, LIN Y K, et al. Knowledge representation learning:a review[J]. Journal of Computer Research and Development, 2016, 53(2): 247-261. doi: 10.7544/issn1000-1239.2016.20160020 )
[3] TURNEY P D, PANTEL P. From frequency to meaning:vector space models of semantics[J]. Journal of Artificial Intelligence Research, 2010, 37(1): 141-188.
[4] WIDDOWS D. Semantic vector products:some initial investigations[C/OL]//Proceedings of the 2008 Second AAAI Symposium on Quantum Interaction.[2016-10-09]. http://www.puttypeg.net/papers/semantic-vector-products.pdf.
[5] MARELLI M, BENTIVOGLI L, BARONI M, et al. Semeval-2014 Task 1:evaluation of compositional distributional semantic models on full sentences through semantic relatedness and textual entailment[C]//Proceedings of the 2014 8th International Workshop on Semantic Evaluation. Stroudsburg, PA:ACL, 2014:1-8.
[6] WIDDOWS D. Geometry and Meaning[M]. Stanford, CA: CSLI Publications, 2004 : 23 -28.
[7] MITCHELL J, LAPATA M. Vector based models of semantic composition[C]//Proceedings of the 2008 Annual Meeting of the Association for Computational Linguistics. Stroudsburg, PA:ACL, 2008:236-244.
[8] BLACOE W, LAPATA M. A comparison of vector-based representations for semantic composition[C]//Proceeding of the 2012 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning. Stroudsburg, PA:ACL, 2012:546-556.
[9] GUEVARA E. A regression model of adjective-noun compositionality in distributional semantics[C]//Proceedings of the 2010 Workshop on GEometrical Models of Natural Language Semantics. Stroudsburg, PA:ACL, 2010:33-37.
[10] MITCHELL J, LAPATA M. Composition in distributional models of semantics[J]. Cognitive Science, 2010, 34(8): 1388-1429. doi: 10.1111/cogs.2010.34.issue-8
[11] SOCHER R, HUANG E, PENNINGTON J, et al. Dynamic pooling and unfolding recursive autoencoders for paraphrase detection[C]//Proceedings of the 2011 International Conference on Neural Information Processing Systems. Cambridge, MA:MIT Press, 2011:801-809.
[12] ZANZOTTO F M, KORKONTZELOS I, FALLUCCHI F, et al. Estimating linear models for compositional distributional semantics[C]//Proceedings of the 2010 23rd International Conference on Computational Linguistics. Stroudsburg, PA:ACL, 2010:1263-1271.
[13] SOCHER R, HUVAL B, MANNING C D, et al. Semantic compositionality through recursive matrix-vector spaces[C]//Proceedings of the 2012 Joint Conference on Empirical Methods in Natural language Processing and Computational Natural Language Learning. Stroudsburg, PA:ACL, 2012:1201-1211.
[14] GUEVARA E. A regression model of adjective-noun compositionality in distributional semantics[C]//Proceedings of the 2010 Workshop on GEometrical Models of Natural Language Semantics. Stroudsburg, PA:ACL, 2010:33-37.
[15] BARONI M, ZAMPARELLI R. Nouns are vectors, adjectives are matrices:representing adjective-noun constructions in semantic space[C]//Proceedings the 2010 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, PA:ACL, 2010:1183-1193.
[16] PAPERNO D, PHAM N, BARONI M. A practical and linguistically-motivated approach to compositional distributional semantics[C]//Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics. Stroudsburg, PA:ACL, 2014:90-99.
[17] TAI K S, SOCHER R, MANNING C D. Improved semantic representations from tree-structured long short-term memory networks[C]//Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing. Stroudsburg, PA:ACL, 2015:1556-1566.
[18] ZAREMBA W, SUTSKEVER I. Learning to execute[EB/OL].[2016-10-09]. http://www.cs.nyu.edu/~zaremba/docs/Learning%20to%20Execute.pdf.
[19] 王智强, 李茹, 梁吉业, 等. 基于汉语篇章框架语义分析的阅读理解问答研究[J]. 计算机学报, 2016, 39(4): 795-807. ( WANG Z Q, LI R, LIANG J Y, et al. Research on question answering for reading comprehension based on Chinese discourse frame semantic parsing[J]. Chinese Journal of Computers, 2016, 39(4): 795-807. doi: 10.11897/SP.J.1016.2016.00795 )
[20] MIKOLOV T, CHEN K, CORRADO G, et al. Efficient estimation of word representations in vector space[EB/OL].[2016-10-09]. https://core.ac.uk/download/pdf/24794691.pdf.
[21] 张志昌, 张宇, 刘挺, 等. 基于浅层语义树核的阅读理解答案句抽取[J]. 中文信息学报, 2008, 22(1): 80-86. ( ZHANG Z C, ZHANG Y, LIU T, et al. Answer sentence extraction of reading comprehension based on shallow semantic tree kernel[J]. Journal of Chinese Information Processing, 2008, 22(1): 80-86. )
[22] 朱征宇, 孙俊华. 改进的基于《知网》的词汇语义相似度计算[J]. 计算机应用, 2013, 33(8): 2276-2279. ( ZHU Z Y, SUN J H. Improved vocabulary semantic similarity calculation based on HowNet[J]. Journal of Computer Applications, 2013, 33(8): 2276-2279. )