QA问题总结

最近看了一些QA任务关于《Lstm-based Deep Learning Models for Non- factoid Answer Selection》的体会

1.本文针对答案选择任务应用了通用的深度学习框架,该框架不依赖于手动定义的特征或语言工具。基本框架是建立BiLSTM模型的问题和答案的嵌入,并通过余弦相似度来衡量它们的相似程度。

2.文章在通用的框架上做了几点改进:通过将卷积神经网络CNN与基本框架相结合,为问题和答案学习更复合的表示,通过简单而有效的注意力机制来根据问题上下文生成答案表示。

3.给定一个(q,a)对,q是问题,a是一个候选答案,首先生成问题和答案的词向量,然后将两个词向量序列分别输入到BiLSTM中,生成问题和答案的固定长度的的向量,然后利用余弦相似度来衡量它们的距离,将训练目标定义hinge loss:

L=max(0,M - cosine(q,a+) + cosine(q,a-)),其中a+是真实答案,a-为采样的错误答案,M是常量。

基础模型:

4.模型在基础版本的BiLSTM输出基础上加入CNN结构,以便给出问题和答案的更多复合表示。CNN用在BiLSTM后面可以获取biLSTM输出的向量之间的局部信息。这里还做了一个变换,将BiLSTM输出的 矩阵以每个词为中心向两边扩展k个(这也是卷积层的filter gram size),得到 矩阵再做卷积,这样做可以增强对局部信息的利用,在模型复杂度不是很高的情况下,确实有更好的效果。经过卷积层以后(c个卷积核),得到 的输出矩阵,接着利用max pooling得到,

5.当BiLSTM模型必须在问题和答案上长距离传播依赖关系时,隐藏向量的固定宽度成为瓶颈。通过动态调整问题答案的更多信息部分,可以使用注意力机制来缓解这种弱点。这一策略已被用于许多其他自然语言处理任务中。在max或mean pooling之前,每个BiLSTM输出向量将乘以softmax权重,该权重由BiLSTM的问题嵌入确定。具体来说,就是将 与 之间做一个特征的交互,给定在时间t时答案侧的BiLSTM的输出向量 和问题嵌入 。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章