关键词
Dynamic Entity Representation, Max-pooling
来源
2016.01.06 (published atNAACL-HLT 2016)
问题
之前的模型都是将实体表示成一个静态的向量,这样就没有利用上下文信息。本文基于这样的假设:如果阅读器不能使用 world knowledge,那么只能通过实体的上下文动态理解它的意思。
文章思路
这一模型可以分解成这样:
利用 Bi-LSTM 建模,动态实体向量由四部分构成:两个方向上的 hidden state 以及两个方向上的 last state。见下图
然后利用 attention 机制计算 query 与每个 entity 之间的权重,然后计算每个 entity 在 document 和 query 条件下的概率,找到最终答案。query 向量和实体向量表示类似,同样是四个部分组成。
本文期望实体在文档中不同位置出现,会有不同的意思,这也是“动态”的意思,所以采用 CNN 中常用的 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。
简评
本文提供一个不一样的思路,把实体看做是一个动态向量,尽可能地贴切原文找出该实体的意思,进而更好的理解原文。