这里介绍了一种可以端到端训练的记忆网络MemN2N,可以利用额外的知识库。
代码地址:https://github.com/facebook/MemNN
贡献
- 可以端到端训练
- multiply hop attention
- 许多实现细节可以参考
任务
任务描述如下,文章使用问答数据集,给定一组句子作为知识库,然后根据问题进行回答,答案为1个word。
模型
模型的架构如下所示:
左边(a)表示单hop attention的架构,右边(b)为多hot attention的结构。
左图架构描述如下:
-
定义知识库所有句子包括的单词、query包含的单词以及answer包括的单词总数为V,每个单词用纬度为d的向量表示。
-
对于知识库,每个句子表示为xi,整个知识库表示为{xi}。
-
定义三个d*V的Embedding矩阵A、C、B,矩阵A将{xi}的每个句子映射成input向量{m