Dynamic Entity Representation with Max-pooling Improves Machine Reading

来源:互联网 发布:wifi无线传输软件 编辑:程序博客网 时间:2024/05/20 16:12

关键词

Dynamic Entity Representation, Max-pooling

来源

2016.01.06 (published atNAACL-HLT 2016)

问题

之前的模型都是将实体表示成一个静态的向量,这样就没有利用上下文信息。本文基于这样的假设:如果阅读器不能使用 world knowledge,那么只能通过实体的上下文动态理解它的意思。


文章思路

这一模型可以分解成这样:

p(e|D,q)exp(v(e;D,q)Tu(q))
其中 exp(v(e;D,q)T 表示动态构建的实体向量,而 u(q) 表示 query 向量。

利用 Bi-LSTM 建模,动态实体向量由四部分构成:两个方向上的 hidden state 以及两个方向上的 last state。见下图

Dynamic Entity Representation

然后利用 attention 机制计算 query 与每个 entity 之间的权重,然后计算每个 entity 在 document 和 query 条件下的概率,找到最终答案。query 向量和实体向量表示类似,同样是四个部分组成。

本文期望实体在文档中不同位置出现,会有不同的意思,这也是“动态”的意思,所以采用 CNN 中常用的 max-pooling 方法来累积信息。对于每个实体,每个维度都取前文中该维度的最大值。见下图

Max-pooling


资源

论文地址:http://www.cl.ecei.tohoku.ac.jp/publications/2016/kobayashi-dynamic-entity-naacl2016.pdf
代码地址:https://github.com/soskek/der-network

相关工作

max-pooling 的作用 在下图中,相比较于不使用 max-pooling,使用后模型可以注意到第二句话和第三句话,因为在第一句话中 entity2(Iron Man) 和 entity0(Downey) 是由联系的。这帮助模型最终选择 entity2 而不是 entity26。

简评

本文提供一个不一样的思路,把实体看做是一个动态向量,尽可能地贴切原文找出该实体的意思,进而更好的理解原文。

0 0
原创粉丝点击