【论文笔记】 LSTM-BASED DEEP LEARNING MODELS FOR NONFACTOID ANSWER SELECTION

一、简介

这篇论文由IBM Watson发表在2016 ICLR,目前引用量92。这篇论文的研究主题是answer selection,作者在这篇论文基础上[Applying Deep Learning to Answer Selection: A Study and An Open Task] [ 论文笔记链接 ],对模型的网络结构进行了改进,使用双向LSTM对question和answer进行编码,在LSTM之后分别使用CNN和attention提取组合特征并做了对比试验,在InsuranceQA公开数据集上得到了提升。

二、模型

2.1 QA-LSTM

模型结构如上图所示,分别对question和answer使用Bi-LSTM,这样就得到了分布表示,然后使用cosine相似度计算两者的距离。损失函数使用hinge loss:

 其中a+是ground truth answer,a-是经过随机采样得到的错误answer。

在LSTM层之后可以采取三种方法得到question和answer的表示:

  1. Average pooling
  2. max pooling
  3. the concatenation of the last vectors on both directions

参考Applying Deep Learning to Answer Selection: A Study and An Open Task论文中的实验观测,对question和answer使用共享参数比分别单独使用一套参数的效果要好。这是因为在共享参数的网络中,question和answer中对应的部分的输出是一样的,而在单独使用参数训练的网络中没有此约束,而且单独使用参数的网络的参数数量是共享参数网络两倍,更不容易训练。

2.2 QA-LSTM/CNN

在前面这种模型中,只使用最大池化和平均池化得到question和anwser表示,在这个模型中对LSTM的输出使用CNN结构从而得到更为丰富的信息,网络结构如下图。对LSTM的输出进行卷积,然后使用max-k pooling,最终得到了question和answer的组合特征。

最终,作者使用了N个不同参数初始化的filter,配合使用max-k pooling 这样就得到了N*k维的向量。作者实验发现k=1效果最好,k>1并不能带来性能的提升。

 2.3 ATTENTION-BASED QA-LSTM

不同与上一个模型,这个模型不在使用CNN,而是在LSTM的输出后,基于question信息对answer向量使用attention机制。在对anwser向量使用pooling层之前,对LSTM的输出的每个向量分配一个权值,这个权值是由question经过LSTM得到向量而决定的。

如上模型所示,对于answer,LSTM层对于answer中每个词都会得到一个向量,而通过attention可以计算每个输出的词向量与question信息的匹配的权重。直觉上来看就类似给每个answer的词向量分配了一个tf-idf权重。

2.4 QA-LSTM/CNN WITH ATTENTION

这个模型的不同之处是在attention之后继续使用CNN,首先如上面模型方法对question的LSTM输出向量进行average pooling,得到向量o,基于o可以对answer输出计算attention。然后分别对原始的question向量和经过attention的answer向量使用CNN,后面的流程与以上模型就类似了。

三、实验

3.1 数据集

使用InsuranceQA数据集,其中测试集的pool size为500,数据规模如下表:

3.2 baseline

  1. Bag-of-word。基于预训练词向量,使用tf-idf作为权重加权求和得到question和answer的表示。然后通过计算cosine距离ranking。
  2. Metzler-Bendersky IR model。权重依赖模型(weighted dependency ),使用term-based和term proximity-based ranking features组合权重计算question和answer的分值。
  3. Architecture-II in(Feng et al., 2015) 
  4. Architecture-II with Geometricmean of Euclidean and Sigmoid Dot product (GESD)(Feng et al., 2015) 

结果如下表所示,使用共享参数的CNN+GESD效果最好,在test1上准确率为65.3 

 3.3 模型实验结果

实验结果如上表所示,一些实验的结论 :

  1. 对比结果A/B/C可以看出来,concatenate效果最差,max-pooling效果最好。原因是max-pooling能捕捉到更多的局部信息,这些局部信息更能表示输出的embedding
  2. 对比结果D/E/F,使用4000个filter在验证集上得到准确率最高
  3. 对比结果G/H,attention后使用avg pooling的效果比max pooling高很多。
  4. 模型I比模型F提升了1%,但是跟模型H比下降了。作者推测是因为CNN使前一步的attention结果失效了

作者 为了测试模型在长文本answer的效果,把测试集按照answer的长度分成了11个桶,在测试集上发现作者设计的模型的确能够解决长文本的answer问题,实验结果如下图:

最后,作者还是用多层感知机(MLP )代替cosine相似度,但发现准确率下降了。作者推测原因之一是使用MLP使得模型参数变多从而难以训练。

除此之外,作者还在TREC-QA数据集上进行了实验,也达到了SOTA结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值