摘要
现有的语言模型(Language Model)在对factual knowledge的编码(encode)和解码(decode)方面存在着明显的局限。原因是语言模型主要通过统计共现的方式来获得knowledge,但是大部分和知识有关的词是极少出现的。在本文中,作者提出了一个Neural Knowledge Language Model(NKLM),该模型将知识图谱提供的symbolic knowledge和RNN语言模型结合在一起。通过预测要生成的单词是否具有潜在的事实,模型可以通过从预测的事实描述中复制的方式来生成与知识相关的单词(knowledge-related words)。实验表明NKLM与现有模型相比,产生的未知单词数量更少。
我的理解就是一般的语言模型遇到训练时没有遇到过的单词时,就会出现unknown words,而NKLM希望通过将知识图谱与语言模型结合,当模型遇到训练是没有遇到的单词时,就能从知识图谱中得到附加的信息,从而减少预测中unknown words。
本文的主要贡献
- 提出NKLM模型使用知识图谱来解决传统语言模型处理事实类知识(factual knowledge)的不足;
- 提出了一个新的数据集 WikiFact ;
- 通过实验说明NKLM能显著提升性能,能生成在传统模型中被当成unknown words对待的命名实体;
- 提出了一个新的评价指标,用来解决传统的困惑度(perplexity)指标不能有效处理unknown words的问题。
模型
1. 一些定义
一个topic可以由两部分组成:
topic knowledge是由一系列事实组成的集合,其中的每一个事实a都可以表示为一个三元组(subject, relationship, object),例如(Barack Obama, Married-To, Michelle Obama)。topic knowledge可以从Freebase这样的知识图谱中获得;
注意:同一个topic knowledge的所有fact的subject都是相同的,就是topic本身。
topic description是由一系列单词组成的序列,可以从维基百科中获得。
那么K个主题就可以表示为 {
(Fk,Wk)}Kk=1 .
文中为topic knowledge中的每一个事实a定义了knowledge words Oa=(oa1,oa2,...,oaN) ,NKLM在产生输出的时候可能会直接复制该单词序列中的单词。
那么什么样的词会在 Oa 中呢?
a=(Barack Obama, Married-To, Michelle Obama)
在该事实中,married-to是非常常见的词,那么该词可以通过我们维护的一个全局词典 V 来生成而不需要复制,作者将knowledge words限制在了三元组的Object这项中,那么上例中,