[NLP论文阅读]A Neural Knowledge Language Model(一)
来源:互联网 发布:淘宝怎么发布图片 编辑:程序博客网 时间:2024/04/29 04:21
原文地址:A Neural Knowledge Model
摘要
现有的语言模型(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个主题就可以表示为
文中为topic knowledge中的每一个事实a定义了knowledge words
那么什么样的词会在
a=(Barack Obama, Married-To, Michelle Obama)
在该事实中,married-to是非常常见的词,那么该词可以通过我们维护的一个全局词典
注意:所有Topic Knowledge都有一条特殊的事实(Topic, Topic_Itself, Topic),该事实是为了将topic与topic knowledge关联
我们用有监督的方法来训练模型,标签是单词及其基于的事实,那么这就需要将topic description中的单词与topic knowledge中的facts对齐。
举例来说,对于一个主题的F和W,我们使用字符串匹配的方法将W中的单词w与
那么标签Y可以表示为
其中
这样的表示是不是意味着每个基于事实产生的
文中给出了一个例子
例子中的fact embedding
模型
输入:
xt=fconcat(at−1,wvt−1,wot−1) 简单的进行连接。
如果zt−1=0 ,则wot−1=0 ,否则wvt−1=0 .
然后输入LSTM得到ht=fLSTM(xt,ht−1) 然后通过
ht 对wt 对应的事实at 进行预测,其中ek 是当前主题对应的可用事实,计算方式是取平均值。
通过ht,ek ,可以得到检索的键值kfact ,然后与当前所有可用的事实a进行概率分布的预测,找到使概率最大的事实at ,作为wt 要基于的事实。通过
ht,at 计算zt 来判断wt 是从事实单词中复制还是从词典中生成
如果
zt<0.5 ,那么就和普通语言模型一样,预测概率分布
如果zt>=0.5 ,那么wt 就要从Oat 中复制,这是作者没有采用预测概率的方式,而是对复制单词在Oat 中的位置就行了预测。
这个方法和之前寻找事实at 的方法很类似,就不在赘述。
目标函数
对于标签
这个目标函数好像看懂了,数学不好就不评论了,希望能开源代码。
实验
未完待续。
- [NLP论文阅读]A Neural Knowledge Language Model(一)
- 【论文阅读】A Neural Probabilistic Language Model
- 论文引介 | A Neural Knowledge Language Model
- NLP论文研读之路:A Neural Probabilistic Language Model
- 读论文《A Neural Probabilistic Language Model》
- 【论文阅读】A Neural Conversational Model
- [NLP论文阅读] The Fixed-Size Ordinally-Forgetting Encoding Method for Neural Network Language Models
- A Neural Probabilistic Language Model
- A Neural Probabilistic Language Model
- Language Model 论文阅读笔记
- 【nlp论文阅读】Adversal Neural Machine Translation
- A Knowledge-Grounded Neural Conversation Model
- A Knowledge-Grounded Neural Conversation Model
- Deep Learning 读书笔记(十二):A Neural Probabilistic Language Model
- A Neural Probabilistic Language Model笔记
- A Neural Probabilistic Language Model笔记
- 读论文《Recurrent neural network based language model 》
- 论文:Distilling the Knowledge in a Neural Network
- Spring Boot 学习13--使用Druid和监控配置
- shell find查找命令
- 图片懒加载
- sql server 性能问题总结
- Linux Shell编程case语句
- [NLP论文阅读]A Neural Knowledge Language Model(一)
- mediacodec surfaceview解码失败
- angularjs 的指令 和 事件 的小结
- Java开发中的23种设计模式详解(转)
- Java Web的数据库操作 一、JDBC技术
- java Swing我需要在鼠标点击的地方画一个字母m
- java 基础思维导图,让 java 不再难懂
- 嵌入式C编程的几个基础
- Spring Boot 学习14--使用Druid(编程注入)