APP下载

基于密令位置信息特征的问题生成

2019-09-05董孝政朱芬红姚建民朱巧明

中文信息学报 2019年8期
关键词:陈述句解码语义

董孝政,洪 宇,朱芬红,姚建民,朱巧明

(苏州大学 计算机科学与技术学院,江苏 苏州 215006)

0 引言

问题自动生成是一项重要的自然语言研究课题,其核心问题是理解语句并自动地生成问句。评估所生成问句质量的条件是: 原陈述句能够恰当地回答所生成的问题。如例1中,原陈述句能够作为问题AP1和AP2的确切答案。那么,当两者为机器生成的问题时,则可归为问句生成的高质量样本。在具体评测过程中,生成的问句将与人工编辑的问题进行比对,并利用BLEU-4进行评价。

例1 问题生成实例(一对多)

Sourcenarrative:MauduaifoundedtheJamaat-e-IslamiPartyin1941andremaineditsleaderuntil1972.(译文: 原陈述句为“1941年,马杜赖创立了伊斯兰大会党,并在1972年之前,一直领导这一党派。”)

AP1:WhendidMauduaifoundtheJamaat-e-Islamiparty? (“马杜赖何时建立了伊斯兰大会党?”)

AP2:WhofoundedtheJamaat-e-IslamiParty?(“谁建立了伊斯兰大会党?”)

Rus等于2010年对问题自动生成任务进行了定义(如文献[1])。自此,该任务驱动了一系列围绕智能问答的生成模型研究,并使之在教育、医疗以及助残领域得到应用[2]。尤其,问题生成可针对自由文本中的大量语句进行处理,形成批量的问答对子,有助于自动构建问答知识库,使现有社区问答系统能在更为丰富的知识领域中进行服务[3-4]。

现有问题生成的主流方法主要包括两种。其一是依据预先制定的规则进行陈述句与问句的形式转换,这类方法受限于规则的低普适性,往往无法应用于开放域大规模数据的处理;其二是基于编码—解码架构[5]的神经问题生成策略。这类方法继承了机器翻译处理过程的诸多特点,例如,语义一级的语用变换、语序自适应调优和灵活的序列生成等。与传统规则的预定义方法相比,神经问题生成模型具有更好的适应性和开放性。尽管如此,最新的研究成果显示,这类模型生成的问句往往缺乏表述的严谨性,可读性也差强人意。

本文尝试在现有神经问题生成的架构上进行改进,并集中在一对一的陈述句-问句转换这一子任务上(即PQG)。特别地,本文提出一种融合了密令位置信息的端对端模型,能够根据密令位置信息,自动确定生成目标的问句类型,即认定“根据原句产生何种类型的问题更为适合”。例如,对于陈述句“星期五天气晴,温度30度。”的密令如设定为“星期五”,且在句子语义表示学习的过程中添加了密令位置信息,利用神经网络进行语义级解码时,可以聚焦于“星期五”这一密令,进而产生“哪天天气晴,温度30度?”的问题。同样地,设置不同的密令,将产生与密令相应的问题,设定密令为“30度”,进而产生“星期五的温度为多少度?”的问题。

本文采用的模型架构属于端到端的序列化生成模型。具体地,给定目标陈述句,编码端的隐含层将输出包括全句语义信息和位置局部信息的联合特征。在此基础上,使用双向长短时记忆网络(Bidirectional Long Short Term Memory,Bi-LSTM)[6]对句子进行表示学习;并使用卷积神经网络(Convolutional Neural Network,CNN)[7]对位置信息进行编码,以获取句子中每个单词相对答案密令的位置信息,位置信息有助于语义级解码时聚焦于不同的密令。由此,解码端对隐含层输出进行序列化解码,生成一个针对密令的具体问题。

本文利用SQuAD语料[8]进行问题生成实验,该语料提供了大量人工抽取的答案以及对应的问句。实验结果显示,本文所提方法显著优化了问题生成的性能,BLEU-4获得1.98%的提高。本文主要贡献包括: ①提出一种融合密令位置信息的问题生成模型; ②模型中的CNN结构用于获取密令位置信息,LSTM则获取句子语义信息表示。此外,将两者融合可以得到关注密令的句子信息表示;③优化了现有问题生成系统,使之达到了目前最优性能。

本文组织结构如下,第1节简要回顾相关工作;第2节介绍问题生成模型和方法;第3节给出数据和实验配置;第4节汇报实验结果并给予分析;第5节总结全文。

1 相关工作

目前,问题生成技术的研究思路主要分为两种,其一是基于规则转化进行问题生成;其二是基于编码-解码架构的神经问题生成策略。

预先制定大量的规则,例如,将人名替换成“谁”,根据语法调整语句可以得到大量的问题,对这些问题进行排序,获取topk的问题。因此,基于规则的问题转化得到的问题的可接受性较强,目前也取得了很多优秀成果。Heilman等[9]依据制定的规则将简化后的陈述句转化成问题,然后通过逻辑斯蒂回归模型[10]对生成问题进行重排序,并保留前20%的生成问题,人工评估生成问题的可接受率由27%提升到52%。Yao[11]通过查找答案短语的上位词,在问题转化过程中不单单使用问题词,而是由问题词和上位词共同组建新的问题词,使得生成的问题能够更加具体。而Liu等[12]将基于规则的问题生成应用到中文,其中转化过程使用了词法和句法信息。

随着深度学习方法在各个领域的突出表现,将此类方法应用于问题生成研究被逐渐关注。主要以端到端的序列化架构为主,摒弃大量的烦琐规则,并且生成的问题也具有更高的推理性。Du等[13]尝试使用基于Bi-LSTM的问题生成模型,分别对句子和添加段落信息的句子进行问题生成,在自动评估方法上取得很好的性能,且人工评价生成的问题也优于基于规则的问题,显得更加自然且具有较高的推理性。然后,Zhou等[2]又尝试使用基于Bidirectional Gated Recurrent Unit(Bi-GRU)的神经问题生成模型,并且在训练模型中加入词性(POS)特征和位置特征。Duan等[14]采用基于CNN的检索式模型和基于Bi-GRU的生成式模型产生问题模板,进一步生成问题。

基于规则的问题生成需要大量预制定的规则,由于制定的规则是针对特定任务,使得系统的可迁移性较差,并且规则的制定是一个烦琐而复杂的工程,使用此类方法的问题生成系统后期维护困难。使用深度学习进行问题生成,尤其是依据编码-解码的网络架构进行问题生成,模型具有语用变换、语序自适应调优和灵活的序列生成等优势,并且能够避免烦琐的规则。此外,Du等使用人工评测也验证了该架构生成的问题的可接受性高于使用规则问题生成方法的性能。因此,本文采用编码—解码的框架研究问题生成任务。

2 问题生成模型和方法

2.1 总体架构

为了针对一对一的陈述句—问句转换这一子任务,本文尝试对现有神经问题生成的架构进行优化: 密令位置信息的关注,目的在于解决现有的神经问题生成模型不能实现问题的丰富化(即一个陈述句仅能转换成一个问题,而不能像人类那样可针对该句子的不同成分提出多个问题或者对相同问题能进行多种形式的提问)。本文提出一种融合密令位置信息的问题生成模型。通过关注密令的位置信息,对整个句子的语义编码进行动态的调整,能够产生针对密令的特定问题。

下面介绍本方法的总体架构,如图1所示。

图1 系统总体架构

首先,对于一个待转换的陈述句S={s1,s2,…,sn}和需要关注的密令T={t1,t2,…,tm},其中T∈S,密令T是陈述句S中的一个片段,n和m分别表示陈述句和密令的长度,0

• 将句子向量X={x1,x2,…,xn}输入Bi-LSTM层,通过Bi-LSTM层的编码,获得各个单词包含的上下文信息的隐含层表示B={b1,b2,…,bn}。

• 将位置信息向量Xn= {xn1,xn2,…,xnn}输入到CNN层,通过CNN对位置信息进行编码,可以获取每个单词相对密令的位置的隐含层表示Bn={bn1,bn2,…,bnn}。

• 在此基础上,通过密令语义融合模块,按序拼接上下文的隐含层表示B和位置信息的隐含层表示Bn,可以得到整个编码层的隐含表示H={h1,h2,…,hn},其中hi=[bi,bni];

• 如前文所述,密令信息有助于表示学习,但上述环节无法将其融入LSTM网络的信息传播过程。生成过程难以接触并利用密令信息,原因在于生成问题时需要实时调整对每个词的关注度。因此,本文使用动态注意力机制,在生成问题时能够动态关注每个单词的语义。通过门控动态注意力机制,按序(自句首至句尾)逐词地、动态地对各个单词(也称信道处理的各个时刻)的上下文分配不同的注意力权重,进而通过注意力权重与上下文词向量H,计算上下文注意力分布向量C={c0,c1,…,cn}。

• 将该向量输入LSTM层进行问题的生成,从而获取由陈述句转化的问题Q={y1,y2,…,ym}。

下面各个小节对每一层的计算模型给予详细介绍,主要包含密令位置信息的获取、Bi-LSTM层、CNN层和动态注意力机制四个部分。

2.2 密令位置信息的获取

本节主要介绍密令位置信息的确定,位置信息由密令和陈述句共同确定,密令是陈述句的部分连续单词。因此,密令所在句子中位置信息设置为0,而非密令的位置信息则根据与密令的相对距离确定。密令左边单词的位置信息每隔一个单词就减1,密令右边单词的信息每隔一个单词就加1。以例1(见引言)所示,设定密令为“in1941andremaineditsleaderuntil1972.”(译文: 从1941年到1972年一直都是执政者)。由于密令的所有单词所在位置为0,其他的单词位置依据密令的相对距离确定(左减右加),因此,例子的位置信息为[-5,-4,-3,-2,-1,0,0,0,0,0,0,0,0],其中,每个数字代表单词的位置序号。通过预训练词向量可将位置信息转化为向量表示Xn,用作模型的输入。

2.3 Bi-LSTM 层

2.4 Convolutional Neural Network层

本节主要介绍如何利用CNN获取每个单词与密令的关系的隐含层表示Bn={bn1,bn2,…,bnn}。

在该模块中使用的神经网络继承了Kim[7]的工作,但与其区别在于隐藏层仅由一个卷积神经网络组成,没有使用池化层。并且,为了防止其他单词信息的影响,将卷积核大小设定为1。因此,当一个密令位置向量xni输入到CNN网络,获得单词所对应的位置信息的隐含表示bni。计算模型如式(4)所示。

bni=f(w*xni+b)

(4)

其中,w和b是可训练的模型参数。

2.5 动态注意力机制

本节介绍如何通过门控动态注意力层获取陈述句中各个目标单词和位置信息的注意力向量(简称门控层)。首先,位置信息与句子的隐含特征形成联合表示;然后,门控层作用于该联合表示,即利用注意力机制动态获取与密令相关的特定语义;解码得到的问题过程中,门控层利用该特定语义进行问题生成,将会更加具体,从而形成一对一的特定问题,这也是模型能够进一步提高的重要原因。动态注意力机制如图2所示。

由上述过程,我们已经可以得到编码端的隐状态表示H={h1,h2,…,hn},其中hi=[bi,bni],包含了单词的隐状态和位置信息的表示。通过该表示,可以发现不仅含有每个单词的语义表示,还有每个单词与密令的相对位置信息表示。因此,编码端的信息输出是能够关注到密令,进而出色地完成一对一的陈述句—疑问句转换任务。

(5)

其中,Wb是可训练的模型参数,该得分表示隐状态注意力权重的分配。为了使权重在统一标准中进行公平计算, 本文对oi= {o1i,o2i,…,oni}进行归

一化处理,以获得规整的注意力得分Ai={a1,i,a2,i,…,an,i},,如式(6)所示。

(6)

为了获得注意力分布不同的注意力向量,本文将注意力权重乘以对应的上下文向量h1,h2,…,hn并进行累加如式(7)所示。

(7)

通过计算可得到当前步的语义编码ci,将语义编码输入到LSTM网络中,可以获取到问题中的第t个词。具体产生词的过程通过式(8)计算。

p(yt|y

(8)

其中,f是softmax激活函数,Ws和Wt是可训练的模型参数。st是通过LSTM获取的隐含层输出,可通过式(9)进行计算。

st=LSTM(yt-1,st -1)

(9)

通过以上Bi-LSTM层、CNN层及动态注意力层的表示学习,得到每个目标词对应的隐状态表示c={c1,c,…,cn}。在此基础上,本文将其输入到LSTM层进行问题生成Qw={y1,y2,…,yn},最终获得一个问题。需要注意的是,目标端在产生问题时,如果产生单词,则终止生成过程。

3 实验配置

3.1 数据集

为了测试本文所提方法的有效性,我们在SQuAD数据集上进行了实验,该数据集由众包工作者提出问题,其中每个问题的答案来自相应阅读文章中的一段文本,即密令,如例1(详见引言),实验是依据句子进行问题生成,输入包括句子和依据答案密令确定的位置信息,目标端输出是人工问题。其中训练集、开发集和测试集数据划分参照Du实验数据的切分,具体的数据统计如表1所示,其中句子的平均长度为32.9个单词,问题的平均长度为11.3个单词,答案短语的平均长度是3.2个单词。

表1 语料统计

3.2 超参数设置

预训练词向量的维度为300,词向量来源Glove[16],并且在模型的训练过程中进行微调处理,使得词向量表示更加适合问题生成任务,序号向量维度也为300。学习率(Learning Rate)设置为固定的0.5,衰减率设置为0.6,并且,当困惑度增加学习率根据衰减率进行改变。批量(Batch Size)输入大小设置为64,模型优化使用的随机梯度下降(Stochastic Gradient Descent,SGD)。此外,模型的损失函数是对数似然损失函数(1)https://scikitlearn.org/stable/modules/generated/sklearn.metrics.log_loss.html#sklearn.metrics.log_loss,计算如式(10)所示,其中X表示输入句子,Y表示输出问题。

L(Y,P(Y|X))=-logP(Y|X)

(10)

模型的参数配置如表2所示。编码端的参数设置,句子长度max_len为100,卷积层数设置为1层,卷积网络的隐含层单元数为100;编码端和解码端LSTM的隐藏层设置均为两层,维度为600。其网络中残差项设置为“true”。另外,在编码端保留高频词为45 000个,解码端保留高频词为28 000个,序号设置大小为-100到100的范围,保证密令在句子中任意位置的可能性。

表2 参数设置

在解码过程中,Beam_search设置为5,并且,在解码时产生UNK词时,则使用注意力机制中分数(aj,i)最高的相应的源端词替换UNK。

3.3 实验配置

为了与本文所提出的融合密令注意力机制的端对端PQG模型做对比,验证所提方法的有效性,我们设置了以下对比系统。

DirectIn: 该方法主要是利用分句的最长子句作为检索源,即作为句子的问题。

H&S: 该系统是基于规则的问题生成系统,通过排序,在实验中我们对句子生成多个问题,选择排名第一的生成问题,对于没有生成问题的句子不予考虑,测试集数据共保留10 646条。

NQG+LSTM: 该系统是使用基于Bi-LSTM的深度学习模型[9],模型结构与本文中的问题生成模型结构一致。

NQG++: 论文中未完全达到Zhou[2]论文中的实验性能,仅仅参照论文的最好结果的模型,该模型是一个基于Bi-GRU的深度学习模型,另外在该模型中添加copy机制,使用预训练的词向量,以及在编码端和解码端共用一个词向量表。

Dongetal[17]: 该系统对NQG+LSTM利用了问题类型的语义特征,使用问题分类模型对答案短语的预测类型加入问题生成过程,进而产生具体的问题。

3.4 评价方法

实验结果采用的评价标准是BLEU值[18]、METEOR值[19]和ROUGEL[20]。BLEU是自动翻译的评估的方法,METEOR是依据评价指标中的召回率的意义提出的评估方法,计算对应最佳候选译文和参考译文之间的准确率和召回率的调和平均,ROUGEL基于最长公有子句共线性精确率和召回率Fmeasure统计。BLEU值包括BLEU-1、BLEU-2、BLEU-3和BLEU-4。

4 实验结果与分析

通过实验,各个系统的问题生成性能和我们的方法对比如表3所示。我们的方法性能有显著性提高,达到了目前最优性能。与基准系统NQG+LSTM对比,BLEU-4分数提高了1.98%。同样地,与最好的系统Dong相比,我们系统仍然具有优势。

基于规则的问题生成方法(DirectIn和H&S)与神经问题生成系统(NQG+LSTM,NQG++,Dong,Ours)相比,基于编码-解码架构[5]的神经问题生成策略具有更好的优势,其中我们系统的BLEU-4分数比H&S系统高了约3.5个百分点,也说明了基于深度学习的方法在问题生成任务中具有更好优势,所产生的问题与人类问题更加相似。此外,由于深度学习方法是基于整个句子语义表示进行问题生成,因此产生的问题具有更好的推理性,与使用规则形成的简单问题是有差别的,形成高推理性的问题具有更高的意义。

表3 问题生成结果

Dong系统通过融入问题类型特征进行问题生成,评价指标显示,其BLEU-4性能达到13.76%。但是,与我们的方法相比,我们仍然有0.32个百分点的提高,也说明了通过关注密令位置信息特征的方法是有效的,达到了最优的性能。证明了该方法利用答案密令位置信息和句子语义信息能够有效提高问题生成任务的性能。

同时我们定性分析了各个系统的输出结果,其中对比测试结果的系统有H&S、NQG+LSTM、QC+LSTM和Dong,并且也参照了人工提问的源问题。具体示例如例2和例3所示,通过对比发现,基于神经网络的模型进行问题生成可以避免基于规则方法的烦琐过程,并且也使得生成问题的推理性更强;另外,通过我们的方法关注句子中的特定内容,优化了问题生成模型,使模型达到目前最优的性能。

例2Begunasaone-pagejournalinSeptember1876,thescholasticmagazineisissuedtwicemonthlyandclaimstobetheoldestcontinuouscollegiatepublicationintheunitedstates.(译文: 1876年9月,学术杂志以一页期刊的方式开始出版,每周两次,并声称它是美国历史最悠久的学院出版物。)

Human:WhendidthescholasticmagazineofNotreDwamebeginpublishing?(译文: 圣母大学的学术杂志什么时候开始出版的?)

H$S:Whatisbegunasaone-pagejournalinSeptember1876?(译文: 1876年9月,什么以一页杂志的形式开始的?)

NQG+LSTM:Whenwasthescholasticjournalpublished?(译文: 学术期刊是什么时候出版的?)

Dongetal.:Whendidthescholasticjournalbegin? (译文: 学术期刊是什么时候出版的?)

Ours:Whendidthescholasticmagazinebegin?(译文: 同上)

从例2中可以发现,基于规则的系统H&S产生一个比较简单的‘what’类型的问题,且该问题的正确答案是“thescholasticmagazine”,根据该问题可以知道答案密令是“inSeptember1876”,提出的问题也应该是以时间为主题的问题。但是,基于规则的系统产生的问题与人工问题相差较大,问题类型有误。对于深度学习方法所产生的问题,我们发现这些问题与人工问题很相似。并且,使用规则进行转化时有部分长句是不能转化成问题的,因为句子的长度超过了系统的处理能力,在实验中10 000条数据中有10%的数据没有转化成问题,而使用深度学习网络的模型,能为每一个句子产生一个推理性的问题。很明显,基于编码-解码的深度学习模型优于基于规则策略的生成方式。

在深度学习模型中,由于我们的系统对位置信息进行卷积表示,与隐层句子语义合并得到一个关注密令的丰富语义表示,利用该语义表示能够生成具体的问题。与Dong系统类似,其通过使用问题分类的结果替换密令生成问题,生成的问题也比较类似。不过我们的方法不需要具体的分类模型,而通过一个问题生成模型进行问题转化,简化了烦琐的过程。

例3Greenhousesconvertsolarlighttoheat,enablingyear-roundproductionandthegrowth-lrb-inenclosedenvironments-rrb-ofspecialtycropsandotherplantsnotnaturallysuitedtothelocalclimate.(译文: 温室将太阳能转化为热能,使其能够全年生产和生长(在封闭的环境中)特殊作物和其他不适合当地气候的植物。)

Human:Whatdogreenhousesdowithsolarenergy?(译文: 温室用太阳能做什么?)

NQG+LSTM:Whatisthegrowthofthesolargrowth?(译文: 太阳能增长的增长是什么?)

Dongetal.:Whatdoesgreenhousesdo?(译文: 温室是做什么的)

Ours:Whatdogreenhousesconvertsolarlight?(译文: 温室将太阳能转化成什么?)

根据例3,我们的方法与基于深度学习方法的模型相比,我们系统产生的问题“温室将太阳能转化成什么”与人工问题“温室用太阳能做什么”具有很近的语义,其他模型生成的问题虽然语法规则问题较小,但语义上与人工问题不同。另外,我们方法产生的问题具有较高的推理性,因此该问题在应用上将更有价值。

另外,模型根据密令的不同,可以生成不同问题,而一般的端到端模型不具有这样的特点,比如NQG++和NQG+LSTM两个模型针对句子都仅能生成唯一问题。因为它们无法关注到句子的焦点,模型仅通过学习确定句子中最重要的部分,而忽视了句子中含有其他导致问题产生的密令,生成的问题是唯一不变的。我们的模型却能够通过关注密令的位置信息获取句子不同的语义表示,进而生成一对一的特定问题,优化了神经问题生成模型。例如,针对例2中的陈述句,密令设为“thescholasticmagazine”进行问题生成,其他模型的结果依然与例2相同,我们的问题生成结果如下所示,证明了我们的方法在一对一的特定问题的生成上具有优势。

Ours:Whatisthenameofthejournalclaimstobetheoldestcontinuouscollegiatepublication?

因此,通过我们的方法能够产生更加具体的问题,与人工问题更为接近,本文所具有的优势包括以下两点:

(1) 提出一个融合密令位置信息的问题生成模型,简化了问题生成的烦琐过程;

(2) 将句子语义信息和密令位置信息融合,获取特定语义表示,优化了现有问题生成系统,使之达到了目前最优性能。

5 总结与展望

针对一对一的陈述句—问句转换问题生成任务,本文提出了一种基于密令位置信息的神经网络模型。该模型克服了传统的神经网络模型无法关注密令的弊端,实验性能有明显的提升,优化了现有的神经问题生成模型。但是,目前的模型还存在一些问题,对于较长句子的问题生成,模型进行语义理解的效果并不能很好地体现,因此,需要进一步优化句子,比如抽取句子的重要部分,然后对精简的句子进行语义编码,得到更加精确的语义表示,进而产生更好的问题。

猜你喜欢

陈述句解码语义
真实场景水下语义分割方法及数据集
《解码万吨站》
满文简单句式之陈述句
语言与语义
西夏语陈述句到一般疑问句的转换方式
解码eUCP2.0
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
附加疑问句要点搜索
批评话语分析中态度意向的邻近化语义构建