Zihang Dai, Lei Li, and Wei Xu. 2016. CFO: Conditional focused neural question answering with large-scale knowledge bases. In Proceedings of ACL, pages 800–810.
链接:http://aclweb.org/anthology/P/P16/P16-1076.pdf
GitHub 项目地址:https://github.com/zihangdai/CFO
本文主要关注基于知识库的可答单事实(single-fact)问题,并针对大规模 KB 造成的训练困难做了一系列优化。这类 QA 可以转化为实体和关系抽取的问题,从问题中抽出实体𝑠和关系𝑟,再到知识库中去找答案。进一步转换为概率问题:对给定的问题 𝑞,找到使联合条件概率 𝑝(𝑠,𝑟|𝑞) 最大的 (𝑠,𝑟) 对。
在知识库较大时,(𝑠,𝑟) 对非常多,难以直接获取联合条件概率 𝑝(𝑠,𝑟|𝑞) 。因此先做转换 𝑝(𝑠,𝑟│𝑞)=𝑝(𝑟|𝑞)∙𝑝(𝑠,𝑞|𝑟),然后对两个部分分别建模。利用 KB 中关系的数量远小于实体数量的特典,先根据问题 𝑞 推理出关系 𝑟,再根据问题 𝑞 和关系 𝑟 推理出主语实体 𝑠。
对 𝑝(𝑟|𝑞) 建模的部分用两层的双向门控循环单元(BiGRU)来构建 q 的特征表示向量,把 q 看成是一个词序列,用事先训练好的词向量作为输入,得到 q 的特征表示向量 f(q),再和 r 的特征向量 E(r) 乘积,E(r) 为模型的参数,随机初始化。
对建模的部分为简单起见,分开计算 𝑞 和 𝑟 对 𝑠 选择的影响,再线性加和。和前半部分相比,q 的特征表示向量 g(q) 的和 f(q) 一样,都是 BiGRU,而 𝑠 的特征表示向量 E(s) 则不同,文中采用了两种方法:
pretrained embeddings:这里借鉴了他人的一种通过知识库训练 E(s)(E(s)+ E(r) = E(o)) 的方法预先训练 E(s) 向量,然后再微调。
type vector representation:直接用 s 的类别属性表示,假设知识库中有 K 类 s,s 的向量就是 K 维,如果 s 属于第 i 类,E(s) 的第 i 位就为 1,否则为 0。
此外,文中还提出了一种f ocused pruning method 来减少(s,r)对的候选空间,基于 N-Gram 方法做了改进,相对减少了噪声,使候选空间更小。
实验使用了 SIMPLE-QUESTIONS 和 Freebase 的一个子集,比当时的最好结果高 11.8%。
论文笔记整理:张宇轩,浙江大学硕士,研究方向为知识图谱,物联网。
OpenKG.CN
中文开放知识图谱(简称OpenKG.CN)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。
转载须知:转载需注明来源“OpenKG.CN”、作者及原文链接。如需修改标题,请注明原标题。
点击阅读原文,进入 OpenKG 博客。