SV-LSTM(2016AAAI)

在这里插入图片描述

问题提出:

现有的方法仅限于通过直接涉及单词和短语级别的表示来很好地捕捉上下文化的本地信息。单词/短语级别的表示是局部的(通常取决于固定窗口大小的上下文),从整个句子的观点看,反应词/短语的意思是受限的。

Idea

两个句子之间的匹配程度需要从语境化的局部视角进行句子表征。可以从一个句子的多个角度进行匹配。也就是说,在匹配过程中,可以使用多个句子表示,每个句子表示关注不同的局部信息。

本文提出了一种新的深层神经网络结构,用于多位置句子表示的语义匹配,即MV-LSTM。首先,每个位置句表征被定义为一个位置上的一个句子表征。本文采用BiLSTM来生成这种位置句表征。从两个方向上看,两个方向都能反映出各自的位置。位置句表示可以通过直接连接来生成。第二步是对这些位置句表征之间的交互作用进行建模。本文采用了余弦、双线性和张量层三种不同的运算来模拟相互作用。最后,采用k-Max池策略自动选取前k个最强的交互信号,通过多层感知器(MLP)对其进行聚合,得到最终的匹配分数。模型是端到端的,所有的参数都是通过反向传播和随机梯度下降从训练数据中自动学习出来的。

方法

在这里插入图片描述
MV-LSTM由三个部分组成:首先,每个位置句子表示是一个位置上的句子表示,由Bi LSTM产生;其次,不同位置句子表示之间的交互作用通过不同的相似函数形成一个相似矩;最后,匹配分数是通过k-Max池和多层感知器将这些交互作用聚合起来得的。

Step 1: Positional Sentence Representation

给定一个输入句子 S S S=( x 0 x_0 x0 x 1 x_1 x1,····, x T x_T xT),其中 x T x_T xT是在位置 t t t处的单词嵌入。LSTM为位置 t t t输出一个表示 h t h_t ht,如下所示。

在这里插入图片描述
其中 i i i f f f o o o分别表示输入门、遗忘门和输出门。 c c c是存储在存储单元中的信息, h h h是表示。与单向LSTM相比,双向LSTM利用了以前和将来的上下文,通过两个独立的LSTM处理来自两个方向的数据。一个LSTM在正向处理输入序列,而另一个LSTM在反向处理输入序列。因此,我们可以得到每个位置的两个向量 h t h_t ht → ^→ h t h_t ht ← ^← 。从直觉上看, h t h_t ht → ^→ h t h_t ht ← ^← 在注意这个位置时,从两个方向反映了整个句子的意义,因此将位置句表征定义为它们的组合是合理的:在这里插入图片描述

Step 2: Interactions Between Two Sentences

在位置句表征的基础上,我们可以对来自不同位置的一对句子之间的相互作用进行建模。其中 p p p X _X X i _i i p p p Y _Y Y j _j j分别代表 S X S_X SX S Y S_Y SY两个句子的第 i i i和第 j j j个位置句表示。在本文中使用了三个相似函数,包括Cosine 、Bilinear和Tensor Layer。给定两个向量 u u u v v v,这三个函数将输出相似性得分 s s s u u u v v v):

  1. Cosine :在这里插入图片描述
  2. Bilinear:进一步考虑了不同维度之间的相互作用,从而可以捕捉到比余弦更复杂的相互作用。式中, M M M是重塑不同维度之间相互作用的矩阵, b b b是偏差。当用Bilinear来计算 S X S_X SX S Y S_Y SY两个对应的位置句表示 p p p X _X X i _i i p p p Y _Y Y j _j j之间的交互作用时,显然双线性可以很好地捕捉 h h h X _X X i _i i → ^→ h h h Y _Y Y j _j j ← ^← 之间的交互作用,而余弦则不能。因此,与余弦相比,双线性能更有效地捕捉两个位置句表征之间的相互作用。

在这里插入图片描述

  1. Tensor Layer

比上述两个函数更强大,它可以回滚到其他相似性度量,如Bilinear和点积。它在模拟两个向量之间的相互作用方面也显示出了极大的优越性。这就是我们在本文中选择它作为交互函数的原因。除了像Bilinear和Cosine那样输出标量值,Tensor Layer输出一个向量,如下所述。在这里插入图片描述
其中 M i M^i Mi i i i ∈ ∈ [ 1 1 1,…, c c c]是张量参数的一个切片, W W W u _u u v _v v b b b是线性部分的参数。 f f f是一个非线性函数,在本文中使用 f f f z z z)=max( 0 0 0 z z z) ,因为它总是输出一个与相似性兼容的正值。我们可以看到,前两个相似函数(余弦和双线性)的输出都是交互矩阵,而张量层将输出一个交互张量,如图1所示。

Step 3: Interaction Aggregation

k-Max Pooling

两个句子之间的匹配通常是由一些强烈的交互信号决定的。因此,使用k-Max池自动提取矩阵/张量中的前 k k k强相互作用。

  1. 对于交互矩阵,扫描整个矩阵,并直接返回前 k k k值,按照降序形成一个向量 q q q

  2. 对于交互张量,则返回张量每片的前k值,形成一个向量。最后,将这些向量进一步串联成一个向量q。

     假设使用余弦相似性,当k=1时,它直接输出最大的交互作用,这意味着在我们的模型中只考虑“最佳匹配位置”;而k大于1意味着利用了前k个匹配位置进行语义匹配。因此,很容易发现最佳匹配位置在哪里,以及是否需要从不同位置聚合多个交互进行匹配。实验表明,最佳匹配位置通常不是第一或第二个位置,利用多个位置的匹配可以获得更好的结果。
    

MultiLayer Perception

最后,使用MLP将k-Max池过滤后的强交互信号聚合,输出匹配分数。具体来说,通过k-Max池得到的特征向量 q q q首先被输入到全连接隐藏层以获得更高层次的表示 r r r,然后通过线性变换得到匹配分数 s s s
在这里插入图片描述
其中 W r W_r Wr W s W_s Ws代表参数矩阵, b r b_r br b s b_s bs是相应的偏差

Model Training

对于不同的任务,需要使用不同的损失函数来训练模型。例如,如果任务被形式化为一个排序问题,可以利用铰链损失等成对排序损失进行训练。给定三重( S X S_X SX S S S + ^+ + Y _Y Y S S S − ^- Y _Y Y),其中 S S S + ^+ + Y _Y Y在与 S X S_X SX匹配时排名高于 S S S − ^- Y _Y Y,损失函数定义为:
在这里插入图片描述
该模型训练的所有参数包括单词嵌入、bilstm、交互函数和MLP均采用反向传播和随机梯度下降相结合的方法训练。具体来说,我们在训练的所有参数上都使用了Adagrad。

实验、

两个任务:QA和sentence completion

实验设置

词嵌入都是由word2vec的SkipGram初始化的。对于SC,单词嵌入是在Wiki Corpus上训练的,对于QA,在整个QA数据集中训练单词嵌入。尺寸都设置为50。此外,LSTM的隐藏表示维数也设置为50。SGD的批处理大小都设置为128。所有其他可训练参数均采用相同尺度的均匀分布随机初始化。AdaGrad的初始学习率也通过验证得到(QA为0.03,SC为0.3)。

评价指标

在这里插入图片描述

数据集

QA:Yahoo!
整个数据集包含142627对问题-----答案,其中每个问题都有其最佳答案。去除长度不在5到50之间的QA。之后,共有60564对问题-----答案组成了正对。采用负采样构造负对。特别是对于每个问题,首先使用它的最佳答案作为一个查询,使用Lucene从整个答案集中检索前1000个结果。然后从中随机选择4个答案来构造负对。最后,将整个数据集按8:1:1的比例分离到训练、验证和测试数据中。表1给出了一个数据示例。
在这里插入图片描述
k值影响
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值