面向机器理解的多视角上下文匹配

面向机器理解的多视角上下文匹配

图片

Abstract

基于SQuAD数据集,作者提出了一个多视角上下文匹配模型,可以直接预测答案在文章(passage)的起始位置和开始位置。首先,模型通过乘以针对问题计算的相关权重来调整passage中的每个词嵌入向量,然后,使用BiLSTM来对问题和加权后的passage进行编码,接着,针对passage中的每个点,模型结合编码后的问题对每个点的上下文进行多个视角的匹配,并产生一个匹配向量。在这些匹配向量上,再使用另一个BiLSTM对信息进行集成,最后预测开始和结束索引。

2. Model

2.1 Task Definition

MC模型需要理解段落中的问题、原因,然后确定答案范围。答案要限定于原文,模型只需要判断原文中哪些词是答案即可,是一种QA抽取任务。如果这个上下文与问题非常相似,则这个范围很可能是正确答案。
图片

形式上,将SQuAD数据集表示为三元组:

MC任务可以表示为基于训练集估计条件概率,通过以下方式预测测试实例的答案。

其中是P的一组候选答案。

对预测起点和终点进行简单的独立假设,将模型简化为:

2.2 Multi-Perspective Context Matching Model

图片

2.2.1 Word Representation Layer

通过glove、word2vec将词和字符映射为向量,并输入到LSTM中,输出为:

2.2.2 Filter Layer

大多数情况下,回答问题只需要文章的一小部分,因此采用filter layer来过滤掉文章中的冗余信息(「如果passage中的单词与该问题更相关,在后续步骤中应该考虑该单词的更多信息。」)。

首先,计算passage中的每个单词与question的每个单词的相关度:
图片

图片
其中表示passage的每个单词的相关度。

然后通过过滤掉每个单词向量,并将传递到下一层。

2.2.3 Context Representation Layer

该层的目的是将上下文信息整合到passage和questions中的每个时间步的表示中。图片图片

2.2.4 Multi-Perspective Context Matching Layer

「本篇文章的核心层,目标是从多个视角比较passage和questions的每个context embedding,主要将多视角匹配函数定义为两个方向。」

2.2.4.1 维数加权匹配

图片图片返回值m是一维向量,m是视角或者是选取特征的数量,是从第k个角度来看的匹配值。图片通过两个加权向量之间的协正弦相似度进行计算。

2.2.4.2 将passage的每个上下文嵌入与问题进行比较

采用三种匹配策略,将得到的向量连接后为

「Full-Matching」:将段落的每个前向(或后向)上下文嵌入与整个问题的前向(或后向)表示进行比较。
图片

「Max Pooling-Matching」:将段落的每个前向(或后向)上下文嵌入与整个问题的前向(或后向)表示进行比较,并且保留最大值。

图片

「Mean Pooling-Matching」:与上面类似,只是将max运算换成mean。图片

最终的匹配向量为:图片

2.2.5 Aggregation Layer

该层用于汇总匹配向量,以便passage的每个时间步都可以与周围的位置进行交互。本文将匹配向量与BiLSTM结合在一起,并为每个时间步生成聚集向量。

3. Experiments

3.1 Results

图片

3.2 Ablation Studys

图片

对于多视角层,max polling起的作用最大。

4. 启示

  1. 比较老的MC论文,采用的匹配机制,通过多视角的方法取得了不错的效果,但是现在在各种注意力的加持下,显得这种方法可能过于简单。

  2. 欢迎关注微信公众号:自然语言处理CS,一起来交流NLP。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值