APP下载

基于句内注意力机制的答案自动抽取方法

2017-11-08栾克鑫孙承杰刘秉权王晓龙

智能计算机与应用 2017年5期

栾克鑫+孙承杰+刘秉权+王晓龙

摘要:答案自动抽取是答案融合任务的关键技术,其效果直接影响答案融合任务结果的准确性。为了捕捉问题与答案之间的联系,提高答案自动抽取的准确性,本文引入句内注意力机制用来捕捉问题与答案之间的联系,进而提高答案自动抽取的准确性。实验结果表明,句内注意力机制能够有效发现问句与答案的关系,提升答案自动抽取效果。

关键词: 答案自动抽取; 句内注意力机制; 答案融合

中图分类号:TP391

[KG3]文献标志码: A

文章编号: 2095-2163(2017)05-0087-06

Abstract: The automatic answer extraction is the key technology of the answer fusion task, whose effect directly affects the accuracy of the answer fusion task results. In order to capture the relationship between the question and the answer and improve the accuracy of the automatic answer extraction, this paper introduces the innerattention mechanism to capture the connection between the question and the answer, and then improve the accuracy of the automatic answer extraction. Experimental results show that the innerattention mechanism can effectively find the relationship between the question and the answer, therefore improve the effect of automatically extracting the answer.

Keywords: automatic answer extraction; innerattention mechanism; answer fusion

收稿日期: 2017-06-14

0引言

答案融合[1]任务的核心问题是答案自动抽取[2],答案自动抽取结果的准确率影响任务结果的准确率。因此需要确保模型能够准确从各个文档中准确寻找到答案。

例如用户向系统输入一个问题“什么是低碳生活?”,候选答案中包括“低碳生活是一种健康的生活方式”,“低碳意指较低的温室气体”,“这股风潮逐渐在大城市兴起。”其中,“低碳生活是一种健康的生活方式”是能夠回答问题的答案。答案自动抽取是根据用户输入的问题“什么是低碳生活?”,从候选答案文档中得到正确答案,即“低碳生活是一种健康的生活方式”。

传统的答案自动抽取,依据问句以及答案中提取的多种特征对答案进行打分,并依据打分抽取答案。随着知识库[3]的出现,学者尝试将知识库技术应用于答案自动抽取任务中,并基于知识库的先验知识判断问句与候选答案之间具有相同实体的个数,同时计算问句与候选答案之间的相关度,由此将抽取出相关答案。随着深度学习的出现,人们尝试将深度学习技术应用于答案自动抽取中,从而减少人工特征的提取。

唐朝霞[4]提出了一种基于特种特征融合的答案自动抽取方法,从问题及答案中抽取出多种特征,如词形相似度特征、长度相似度特征、词序相似度特征、词语相似度特征以及问句语义相似度特征等。模型通过提取出多种特征,并进行融合输入到分类器中,得到句子评分,基于评分进行筛选。传统方法中的特征提取更多依赖于Hownet以及特征融合过程中的权值设置。Hownet对于很多新出现的词汇无法处理,同时权值设置过分依赖人工的选取。

余正涛[5]提出了一种基于答案模式的答案自动抽取,通过对问题进行分类,然后通过构建语料库,对不同类型的问题进行答案模式的训练,答案模式是一种对答案句法规则的形式化描述,针对不同类型的问题,答案模式都是不同的。在答案抽取的过程中,先对问题进行分类,然后利用训练好的模型,通过候选答案进行筛选,保留有限个最符合该答案模型的答案句子。与传统的基于多种特征的答案自动抽取相比,该方法依照模型学到的问题类型的回答规范进行筛选答案,同时辅以特征,能够较好地从文档中抽取出答案。

随着深度学习的日趋成熟,深度学习的诸多方法被引入到答案自动抽取任务中,如长短期记忆网络(Long Short-Term Memory, LSTM)[6]和卷积神经网络(Convolutional Neural Networks, CNN)[7]等。Yu[8]尝试了基于卷积神经网的答案排序方法,将答案排序作为二分类问题来处理,利用模型得到问题与答案相关度的分数。在给定文档中,将候选文档切分成句子,将句子和问题分别用预训练好的词向量进行句子表示,并利用CNN提取句子表示,将问题与答案的句子表示进行拼接,并添加词共现特征形成一个新的特征,最终输入到前馈神经网中,得到候选答案与用户问题的相关度打分,判断候选答案与用户问题的匹配程度,按匹配程度从大到小排列,最终抽取出答案。

Fu[9]提出了一种基于CNN及注意力模型的答案排序算法,将答案排序作为二分类问题来处理,利用模型得到用户问题与候选答案之间的相关度打分。将给定的包含候选答案的文档进行句子切分,并用词向量对候选答案及用户问题进行词向量句子表示。

近几年,注意力机制[10]逐渐走入学界视野,被广泛应用于图像识别[11]以及机器翻译[12]领域,在机器翻译领域,注意力机制能够有效发现2个句子间的词与词的联系,从而翻译得更加精准。常见的注意力机制有静态注意力机制[10]、动态注意力机制[10]。Liu[13]提出了一种句内注意力机制(inner-attention),该机制被用于文本蕴含中,能够有效发掘句子间的语义逻辑关系。endprint

本文将句内注意力机制应用于答案自动抽取任务中,同时结合深度学习技术,仅用少量人工特征即可实现答案自动抽取,提高答案自动抽取效果。

1基于句内注意力机制的答案自动抽取

1.1问题描述

答案自动抽取算法是答案自动抽取及融合任务中的核心问题,答案自动抽取算法的准确性直接影响任务结果的准确性。句内注意力机制能够很好地挖掘句子间和词间的关系,从而发现问题与答案的关系。本文将句内注意力机制应用于答案自动抽取任务中,使用句内注意力机制尝试寻找问答对之间词的关系,从而寻找问题与答案之间的联系,减少人工特征,实现答案自动抽取。同时针对基于句内注意力的答案自动抽取模型中存在的问题,引入了人工特征,提高答案自動抽取效果。

1.2.2词共现特征

由于语料库的限制,只使用深度学习方法解并不能很好地对答案自动进行抽取。本文对语料进行分析,如“双重人格有什么基本特征?”,“多重人格的基本特征是,虽然同一个体具有2种或更多完全不同的人格,但在某一时间,只有其中之一明显。”这是语料库中的一个问答对,前句是问题,后句是答案。问句与答案句中有很明显的相同点,如人格、基本特征等。这些词都在问句与答案句中共同出现。经过分析发现,语料库中大部分语料都有与例句相同的特点,因此本文引入词共现特征。词共现特征举例如表1所示。

由表1得到问题特征向量:[0,1,1,1],答案特征向量:[1,1,1,0,0,0,1,0]。

在表1中列是问句“什么是低碳生活”的分词结果,行是答案“低碳生活是一种健康的生活方式” 的分词结果。表中的1代表着问句与答案之间存在着词共现现象。比如“低碳”、“生活”、“是”。因此本文将问句与答案句中出现词共现的位置上的值设置为1,其他位置设置为0。如问题句有4个词,因此特征向量长度为4,问题与答案之间共现了3个词,分别是“低碳”、“生活”、“是”,其中“是”出现在句子第2个位置上,所以将问题特征第2个位置置为1,“低碳”出现在问题第3个位置上,问题特征第3个位置置为1,“生活”出现在问题第4个位置上,问题特征第4个位置置为1,其他位置置为0。答案特征也做相同的操作。

1.2.3文档倒数特征

为了区分共现词的重要程度,引入文档倒数特征。

如表2所示,由此得到问题文档倒数[0,1,0.5,1]以及答案文档倒数特征[0.5,1,1,0,0,0,1,0]。

由表2提取的是文档倒数特征,在表1中提取了词共现特征,但词共现特征中,不能区分出每个词之间的重要程度,例如在表2所举的例子中,“低碳”在2个候选答案中都出现了,“生活”只在第1个答案中出现,而第1个答案是正确答案,第2个并不能很好解释低碳生活。由此可见“低碳”和“生活”的重要程度是不一样的。“生活”在寻找答案时是更重要的成分,因此本文加入文档倒数特征,区分共现词的答案,使模型能够更好地依据重要词对候选答案进行打分。

2实验

2.1数据及数据预处理

2.1.1数据集介绍

答案自动抽取及融合任务中使用的NLPCC于2016年4月发布的开放域中基于文档的问答语料。DBQA语料库中包含181 882条问答对,数据正负例比例接近1∶20。语料格式如表4所示。

首句为问题句,第2句为答案句,最后的数字表示是否是候选答案,0表示不是答案,1为是答案。

NLPCC的DBQA语料库主要用于问答系统,用来回答用户问题,其答案是从文档中的检索,并将答案排序,最终返回给用户。

2.1.2数据预处理

本文将答案自动抽取转换为从包含答案的多个候选文档中根据用户给定的问句由其中抽取出最能回答问题的相关档案。因此答案自动抽取选用NLPCC的DBQA语料库。

对于训练数据,首先在读取语料时对来自于同一文档的问答对进行归类,方便后期进行特征提取。对问答对进行分词处理,同时对未登录词进行初步过滤,将分词后的问答对转化为index形式的句子。训练模型使用gensim工具在百度百科语料上训练的词向量,词向量维度保存200维。

2.4平衡语料库

因为语料过于不平衡,本文采用随机采样的方法对语料进行平衡。随机采样方法是通过某种策略改变数据集的样本分布,使数据从分布不平衡达到分布平衡。随机采样算法是最简单且容易实现的采样方法。主要分为2种:一种是随机欠采样,另一种是随机过采样。其中,随机过采样是指对于少数据量的样本集进行多次有放回的采样,通过随机的方法将少数据量的样本进行扩大,最终达到一个平衡,从而解决样本不平衡的问题。而随机欠采样是训练时随机从多数样本中按照采样率进行采样。随机欠采样包括:有放回的随机欠采样以及无放回的随机欠采样。

文本尝试随机过采样以及随机欠采样结合的方式解决数据不平衡问题。对正例进行有放回的随机过采样,对负例进行有放回的随机负采样。

平衡数据实验结果如表5所示。

经过实验,发现正例采用16倍过采样、负例采用随机采样时模型效果最好,因此本文所有实验都采用正例16倍过采样,负例随机采样。

2.5基线

本文除了基于句内注意力机制的答案自动抽取模型,还使用了基于词对齐注意力机制的答案自动抽取模型、基于相似度矩阵的答案自动抽取、基于句子匹配的答案自动抽取等。[JP+2]

其中,基于相似度矩阵的答案自动抽取模型是在句内注意力机制的基础上引入相似度矩阵打分。在基于相似度矩阵的答案自动抽取模型实现中,对于输入的句子Si,Sj先利用句内注意力机制计算出句内注意力特征Fi,Fj,利用Fi,Fj做句子匹配特征计算,得到特征T1,提取词共现特征T2以及文档倒数特征T3,然后通过相似度矩阵计算得到特征T4。将4个特征拼接得到最终特征[T1;T2;T3;T4]。基于相似度矩阵的答案自动抽取模型如图上述所有实验结果都是基于正例16倍过采样,负例随机采样。endprint

由实验结果可以看出句子匹配模型、词对齐注意力模型和句内注意力模型没有额外特征,句内注意力模型的表现效果最好,MAP达到0.567 4,MRR达到0.568,高于句子匹配模型的0.388 6和0.392 7,同时高于词对齐注意力模型的0.477 4和0.478。说明在只使用模型提取的特征中句内注意力机制能够更好地找到问句与答案间的关系。

由于语料库大小的关系,很多答案不能被很好地判断,因此在基于句内注意力机制的答案自动抽取模型中加入人工特征,加入词共现特征、文档倒数特征、相似度打分特征以及词相似度特征。

实验表明,加入词共现以及文档倒数的模型比只使用句内注意力机制的模型能够更好地抽取答案。加入相似度矩阵的模型比词共现-文档倒数模型效果差,說明相似度矩阵并不能很好地发现问句与答案句之间的特点。

而引入词相似度的模型比上述所有模型效果都要好,模型更多地考虑了词之间的相关度,解决了没有共现词情况的答案判断,进一步提高了模型抽取答案的准确率。

3结束语

基于句内注意力机制的答案自动抽取模型能够有效地从候选文档中提取候选答案,相对于其它深度学习模型,能更好地从文档中抽取候选单。而引入人工特征后,进一步提升了模型的效果。同时由于模型只使用了句内注意力机制、词共现特征、文档倒数特征和词相似度特征,使得模型能够在多种语言上使用,而不仅限于某种特定的语言。

基于句内注意力机制的答案自动抽取模型能够有效地发现问句与答案之间词与词的联系,发掘问句与候选答案之间的关系,得到了良好的答案自动抽取效果。

参考文献:

刘秉权, 徐振, 刘峰, 等. 面向问答社区的答案摘要方法研究综述[J]. 中文信息学报, 2016, 30(1): 1-7,15.

[2] 郑实福, 刘挺, 秦兵, 等. 自动问答综述[J]. 中文信息学报, 2002, 16(6): 46-52.

[3] NAKAI K, KANEHISA M. A knowledge base for predicting protein localization sites in eukaryotic cells[J]. Genomics, 1992, 14(4): 897-911.

[4] 唐朝霞. 多特征融合的中文问答系统答案抽取算法[J]. 贵州大学学报(自然科学版), 2011, 28(5): 80-83.

[5] 余正涛, 毛存礼, 邓锦辉, 等. 基于模式学习的中文问答系统答案抽取方法[J]. 吉林大学学报 (工学版), 2008, 38(1): 142-147.

[6] SIMARD P Y, STEINKRAUS D, PLATT J C. Best practices for convolutional neural networks applied to visual document analysis[C]// International Conference on Document Analysis and Recognition, 2003. Proceedings. Edinburgh, UK:IEEE, 2003:958.

[7] HOCHREITER S, SCHMIDHUBER J. Long short term memory[J]. Neural Computation,1997,9(8):1735-1780.

[8] YU L, HERMANN K M, BLUNSOM P, et al. Deep learning for answer sentence selection[J]. arXiv preprint arXiv: 1412.1632v1, 2014.

[9] FU Jian, QIU Xipeng, HUANG Xuanjing. Convolutional deep neural networks for document-based question answering[C]// LIN C Y, XUE N, ZHAO D, et al. Natural Language Understanding and Intelligent Applications. ICCPOL 2016, NLPCC 2016. Lecture Notes in Computer Science. Cham:Springer, 2016:790-797.

[10]ROCKTSCHEL T, GREFENSTETTE E, HERMANN K M, et al. Reasoning about entailment with neural attention[J]. arXiv preprint arXiv:1509.06664, 2015.

[11]杨健, 杨静宇, 金忠. 最优鉴别特征的抽取及图像识别[J]. 计算机研究与发展, 2001, 38(11): 1331-1336.

[12]刘群. 统计机器翻译综述[J]. 中文信息学报, 2003, 17(4):1-12.

[13]LIU Yang, SUN Chengjie, LIN Lei, et al. Learning natural language inference using bidirectional LSTM model and inner-attention[J]. arXiv preprint arXiv:1605.09090, 2016.

[14]MOU Lili, RUI Men, LI Ge, et al. Recognizing entailment and contradiction by treebased convolution[J]. arXiv preprint arXiv:1512.08422, 2015.

[15]IOFFE S, SZEGEDY C. Batch normalization: Accelerating deep network training by reducing internal covariate shift[J]. arXiv preprint arXiv:1502.03167, 2015.endprint