哈工大 SCIR 博士生袁建华作者

AAAI 2019 使用循环条件注意力结构探索回答立场检测任务

论文名称:Exploring Answer Stance Detection with Recurrent Conditional Attention 论文作者:袁建华,赵妍妍,许静芳,秦兵

1. 引言

社区问答平台是社会媒体的重要组成部分,其中蕴含大量与人们生活息息相关的提问及回答文本。从这些社区问答QA对中提取人们对问题的观点立场倾向性是一个有意思的问题,用自动化方法挖掘某一问题下所有回答针对该问题的立场倾向性,能为人们提供合理、整体的参考信息。

在现有的研究立场分析的大部分工作中,立场表达针对的对象(target)要么是实体(entity),要么是声明(claim)。不同于以往的立场分析任务,在我们研究的答案立场分析任务中,立场针对的对象是整个问题,需要先理解问题中提问者关心的内容的语义。相比之前的研究问题,更难去建模依赖问题的(target-dependent)回答句表示。

图1 两类回答立场检测任务示例

为此,我们提出一种循环条件注意力结构(Recurrent Conditional Attention, RCA)。它包含:

  1. 问题句、回答句的建模网络,我们使用基于GRU结构的循环神经网络分别建模问题句和回答句的语义信息;

  2. 依赖于问题句信息的回答句表示网络,我们利用注意力机制(Attention)从回答句中提纯与问题句有关的表示,降低不相关词的权重

  3. 通过循环阅读问答对迭代更新真实立场倾向性表示的推敲网络。在循环阅读问题对的过程中,RCA模型交错提炼问题句、回答句语义表示,挖掘问题句-回答句之间的相互依赖关系,逐步推理获得回答对于问题真实的观点倾向情况。

我们人工收集标注了一个13000多条的社区问答立场倾向性数据集。在该数据集上,我们将RCA与多个性能优异的现有立场分析模型进行对比。相比四个强基线模型,我们的RCA模型在macro-f1值平均提高2.90%,在micro-f1值上平均提高2.66%,在Accuracy指标上也显著优于所有基线模型,证明了我们的模型循环阅读和交错更新结构的有效性。

2. 问题定义

这里,我们给出AnswerStance classification(回答立场分类)的任务定义,我们把它当做一个target-dependent任务来处理。

给定含N个词的问题句和含M个词的回答句,AnswerStance任务旨在判别回答句对于问题句的立场标签。例如,在图1的第2个例子中,回答句通过肯定“iPad 2018的定价”来表达favor立场。

在之前的立场分类工作中,一般将形如Donald Trump的实体或者整个tweet文本定义为target,判别评论对于target的立场倾向性。在AnswerStance任务上,我们并未给定这种形式的target,取而代之的是整个问题句。事实上,我们也可以类比之前工作,把问题句中涉及的实体或者观点申明作为target。由于把整个问题句作为target不会带来语义的歧义,也省去了人工标注问题句实体、观点片段的环节,因而在下文中,我们把整个问题句作为target。

3. 模型

模型主要包含3个模块,与模型图对应关系如下:

  1. 问题句和回答建模网络

  2. 依赖于问题句信息的回答句表示网络

  3. 立场倾向性表示迭代更新网络

图2 RCA整体架构

3.1 问题句和回答句建模

给定一个问题句和一个回答句,我们首先将其中每一个词转为低维稠密的词嵌入表示,具体地我们使用了一个在百科语料上使用word2vec训练得到的100维词向量。然后我们使用GRU(Gated Recurrent Unit)循环神经网络分别建模问题句和回答句,得到问题句和回答句中每个词在上下文中的特征表示。对于给定的一句话 ,在时刻t,GRU按如下公式更新其状态:

我们使用双向GRU兼顾上下文,对于句子中的第 i 个词,我们将双向GRU的隐层输出进行拼接,用表示问题句中的词的双向隐层表示,用表示回答句中的词的双向隐层表示。

3.2 条件注意力网络

显而易见,判别最终的立场应该同时考虑回答句和问题句的内容,需要利用二者的互相关系,发掘文本中与立场倾向相关的语义内容。下面介绍如何从问题句和回答句的表示中,构建立场倾向性的特征表示。

我们假定,模型在阅读问答对前不持有立场,即初始立场特征表示0

3.2.1 问题句注意力网络

首先,CA模块阅读问题句内容。由于问题句中不同词对于理解问题句的语义重要性不同,像“了”、“的”、“呢”、“怎样”就不如“德国队”、“牛奶”这些词在本任务中来得重要,所以CA模块利用注意机制来筛选问题句对于立场分析比较重要的词,得到立场相关的问题句表示向量。具体地,我们使用已经累积的立场特征向量去attend问题句,得到问题句:

其中是本次阅读问题句得到的第 i 个词的权重归一化结果。问题句的表示是问题句所有词隐层向量的加权平均。

3.2.2 回答句注意力网络

同样地,回答句中不同词对于判断其立场倾向的贡献也存在差异。我们用类似的方法有侧重地学习回答句的表示。这里,CA模块先使用新的问题句信息更新立场状态向量,得到临时的立场表示

因为中融合了最新获取的问题句语义,接着CA模块通过Attention机制来构建考虑问题句信息的回答句表示。

其中是本次阅读回答句得到的第 i 个词的权重归一化结果。回答句的表示是回答句所有词隐层向量的加权平均。

3.3 立场表示迭代更新网络

显然,最终的立场类别直接依赖于最新的回答句内容,我们需要将融入我们的立场状态。为此,我们应用另一步GRU更新:

到此为止,我们完成了RCA模型对问答对的一次阅读过程。注意,这里的一次阅读过程对应两个GRU时刻更新。

但对于语义较为复杂的问题对,只对问答对进行一次阅读往往难以正确推断其立场倾向性。借鉴前人的工作,我们重复上述阅读过程k次。这里,我们根据实验结果将k设为3。

在多步阅读过程中,立场状态向量  作为桥梁,构建了间接依赖于回答句的问题句表示和间接依赖问题句的回答句表示,挖掘了立场分类时问答对之间的依赖关系,这样的交互模式使得RCA模型能从问答对中逐步推理出真实立场倾向情况。

4. 实验设置

4.1 数据集

我们从百度知道、搜狗问问、明医等网站爬取、清洗并标注数据,最终得到的13591条问答对语料,语料主要涉及怀孕、食品、安全、疾病等话题。语料的统计信息如下表:

表1 社区问答中带标注的回答立场数据统计

4.2 评价方法

参考SemEval2016上的立场分析任务,我们不考虑neutral类别的结果。我们采用favoragainst两类的宏平均和微平均F1值作为评价指标。另外我们也提供了所有标签的accuracy作为各模型对比的参考指标。

4.3 对比模型

实验中,我们对比了基础的词袋模型、双向LSTM模型、CNN模型,以及近年来在立场分类和QA等任务上取得较好成绩的TAN(IJCAI2017)、BiCond(EMNLP2016)、AoA(ACL2017)和RAM(EMNLP2017)模型。

5. 实验结果

从实验结果来看,我们的RCA模型在宏平均、微平均以及Accuracy等指标上,取得了优于所有基线模型的效果,证明了RCA模型的有效性。

表2 测试集上不同立场检测模型的性能比较

另外通过对Attention权重的可视化,我们可以看到不同模型在提取问题句和回答句语义的差别。这个例子中,只有RCA模型在判断立场类别时,能同时给问题句和回答句词合适的权重

图3 四个模型的注意力权重的可视化图。注意,只有RCA和AoA会在问题上产生注意力,而且我们只会在RAM和RCA模型的最后读取步骤中表示注意力。更深的颜色意味着更大的概率。

为了分析RCA模型各部分结构对于模型性能的影响,我们做了结构抹除测试。从表格中我们可以看出,问题句的表示对于模型性能影响很大;使用问题句信息从回答句中寻找重要的语义信息比用回答句从问题句提取信息来得更重要。

表3 RCA模型在测试集上的消融测试。呈现宏观和微观平均F1分数。

在下面的两个例子中,我们发现RCA模型的确能在多次阅读过程中,逐步调整问题句和回答句中词的权重,改变其对应的特征表示,并最终做出正确的立场倾向性判断。

图4 通过softmax分类器和针对示例的每个问题和答案词的注意权重在每个读取步骤中的立场状态的可视化。更深的颜色意味着更大的概率。具有3个读取步骤的RCA模型用于说明。

6. 结论

在本文中,我们针对社区问答中的立场分析任务(AnswerStance),开发了RCA模型,它通过建模问题句和回答句之间的相互表示,在多次阅读过程中不断提炼问答对的语义表示,逐步更新立场状态,并最终做出更准确的立场判断。

在未来的工作中,RCA模型既可以应用到句对作为输入的任务上,如文本蕴含、句子匹配等任务;也可以结合强化学习方法,根据句对输入的语义复杂程度,动态决定阅读次数。

哈工大SCIR
哈工大SCIR

哈尔滨工业大学社会计算与信息检索研究中心

理论问答系统语义分析注意力模型AAAI 2019
相关数据
搜狗机构

搜狗成立于2003年,是中国搜索行业挑战者,AI领域的创新者。目前搜狗月活跃用户数仅次于BAT,是中国用户规模第四大互联网公司。2004年8月,搜狗推出搜狗搜索,现已成为中国第二大搜索引擎。2006年6月,推出搜狗输入法,重新定义了中文输入,目前搜狗输入法覆盖超5亿用户,是国内第一大中文输入法。2017年11月9日,搜狗在美国纽约证券交易所正式挂牌上市,股票交易代码为“SOGO”,开盘价为13.00美元,市值超50亿美元。

http://corp.sogou.com/
权重归一化技术

权重归一化是一个深度神经网络训练的技巧,从字面意思看来Weight Normalization就是对每一层网络权重进行归一化。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

词嵌入技术

词嵌入是自然语言处理(NLP)中语言模型与表征学习技术的统称。概念上而言,它是指把一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个单词或词组被映射为实数域上的向量。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

词袋模型技术

词袋模型(英语:Bag-of-words model)是个在自然语言处理和信息检索(IR)下被简化的表达模型。此模型下,像是句子或是文件这样的文字可以用一个袋子装着这些词的方式表现,这种表现方式不考虑文法以及词的顺序。最近词袋模型也被应用在电脑视觉领域。

word2vec技术

Word2vec,为一群用来产生词向量的相关模型。这些模型为浅而双层的神经网络,用来训练以重新建构语言学之词文本。网络以词表现,并且需猜测相邻位置的输入词,在word2vec中词袋模型假设下,词的顺序是不重要的。 训练完成之后,word2vec模型可用来映射每个词到一个向量,可用来表示词对词之间的关系。该向量为神经网络之隐藏层。 Word2vec依赖skip-grams或连续词袋(CBOW)来建立神经词嵌入。Word2vec为托马斯·米科洛夫(Tomas Mikolov)在Google带领的研究团队创造。该算法渐渐被其他人所分析和解释。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

百度机构

百度(纳斯达克:BIDU),全球最大的中文搜索引擎、最大的中文网站。1999年底,身在美国硅谷的李彦宏看到了中国互联网及中文搜索引擎服务的巨大发展潜力,抱着技术改变世界的梦想,他毅然辞掉硅谷的高薪工作,携搜索引擎专利技术,于 2000年1月1日在中关村创建了百度公司。 “百度”二字,来自于八百年前南宋词人辛弃疾的一句词:众里寻他千百度。这句话描述了词人对理想的执着追求。 百度拥有数万名研发工程师,这是中国乃至全球最为优秀的技术团队。这支队伍掌握着世界上最为先进的搜索引擎技术,使百度成为中国掌握世界尖端科学核心技术的中国高科技企业,也使中国成为美国、俄罗斯、和韩国之外,全球仅有的4个拥有搜索引擎核心技术的国家之一。

http://home.baidu.com/
F1值技术

为了能够评价不同算法的优劣,在Precision和Recall的基础上提出了F1值的概念,来对Precision和Recall进行整体评价。F1的定义如下: F1值 = 正确率 * 召回率 * 2 / (正确率 + 召回率)

推荐文章
暂无评论
暂无评论~