【论文笔记】Knowledgeable Reader_ Enhancing Cloze-Style Reading Comprehension with External Commonsense Kg

 

Abstract和介绍

论文特点:引入了external commonsense knowledge, encode as key-value memory,并把知识和context representation(document-to-question)来answer;

数据集是Common Nouns dataset;CBT(common and named entities)

知识来源:CN5All,CN5WN3

任务类型是 cloze-style;

但我个人认为,做完形填空这种答案比较依赖context的任务类型,用kb的意义不是很大。

未来

由于attention机制(关注问题),我们可以调查不同的数据集和领域需要什么类型的kg sources.

Tighter intergration of attened kg 和更强的推理方法。

 

 

简称

Commonsense knowledge我简称CKG

Knowledge-base简称KB

Context representation简称CR.

 

Cloze-style RC + commonsense kb示例如下图,注意这里回答的问题是common nouns questions.

 

 

论文中的knowledge可以是CKG 或者factual backward knowledge。它们是在上下文里没有很好地被表示的entites and events(common nouns, named entities),但是它们可以在KB里被找到,比如 ConceptNet,Freebase, domain-specific KBs,因此定义一个神经模型来encodes memory中预先被选择的external KG,从而用于丰富CR。(涉及到key-value memory + KB检索了)

 

 

本论文的贡献

  1. 提出了一种能整合KG到简单有效RC model 的方法(AS Reader)
  2. 探索了两种CKG:WordNet, ConcepNet,这种类型的KG对于回答common nouns questions很重要,也轻微提高了named entities的效果。
  3. Knowledge facts可以直接添加进 text-only representation,来丰富CR.

(现在工作的利用CKG要从KB里retrieved,然后添加到CR里。)

 

模型简述

2个组件:knowledge Retrieval , knowledgable reader

Knowledge retrieval:fact retrieval,  facts集合{f1,f2,...fp} 可能与story, question and candidate answers相关。

Knowledgable reader:知识增强的神经模型。包括:

the story context tokens:{d1,...dm}

Question tokens:{q1,...qn}

Answer candidate:{a1,..ak}

Relevant background kb facts{f1,f2,...fp}

需要encode每个fact,然后使用attention在他们之中选择和每个story和question的token相关的facts。

 

具体

Knowledge retrieval

使用ConcepNet的子集OMCS,每个fact都是一个三元组:fi=(subject, relation, object)(主谓宾)

检索相关kg

Instance(D, Q, A1..10),检索出最相关的commonsense background facts.

首先,检索包含lemma的fact三元组,每个fact作为node添加weight value:

包含AD的lemma:4

包含Q的lemma:3

包含D的 lemma:2

所以权重在不同interactions可以根据这样的原则确定: A+A > A+Q > A+D > D+Q > D+D.

通过加权subject和object的从而获得包含对应lemma的fact的weight;

根据这些weight排序kg triples

 

实验tips

  1. 限制model的内存,可以从所有候选项中选择不同大小的最高事实数(P)进行实验,p∈{50,100,200}
  2. 每个候选答案fact的数量一样
  3. 避免answer candidate和kg srouce里的词频bias
  4. Candidates a.如果为ai已经添加了fact,则aj不再添加相同的fact。

 

 

用kg memory拓展the Attention Sum Reader(single-hop RC)

 

Nural model:叫做Knowledgeable Reader,

 

Kg Reader(context + knowledge), explict memory with the key-value approch.

 

模型具体结构

 

Base Attention Model. 看论文了解这个模型。

Word Embeddings Layer 查找embedding representation ei=Emb(wi)来表示输入的document和question的token wi。

Context Representations.

Ctx代表context-encoded representation。

上面的BiGRU是缩写,具体如下:

 

Question Query Representation.

构造下面的单向量r来检索在pl处的placeholder的token表示

 

 

 

Answer Prediction

动机:

1.kg fact编码到一个向量空间作为plain tokens

2.保存了三元组的方向

3.我们使用关系类型作为过滤主题信息以初始化对象的方式

 

Querying the Knowledge Memory

用单个加权fact表示的累加来抽取memory里的kg,

这之后document和question的csi(kn), csi(ctx)在同一向量空间!

Combine Context and Knowledge (ctx+kn)

Answer Prediction

 

 

数据和任务描述

CBT的common nouns 和 named entities,

20个句子,第21个是文件(包含挖掉的placeholder),然后选择document的10个候选词。

 

知识来源

Open Mind Common Sense part of ConceptNet 5.0(CN5All),有630k个fact triples.

CN5WN3,是WordNet 3 关于CN5All和 CN5Sel的子集,它去掉了wordnet的一些relations。

 

实验和结果

有不同的模型参数,

Facts的数量

Key-value的选择策略:Subj/Obj and Obj/Obj,前者更好些

Answer selection components: Full model——使用ctx和ctx+kn的组合来rank answers

超参数

 

 

 

其他

gating function

比如lstm里用sigmoid的遗忘门,输出门等

 

Single turn model:read the document once

Multi-turn reading:代表: GA Reader

 

Memory network记忆网络在nlp中

记忆网络有各个组件:

I(input feature map): 用于将输入转化为网络里内在的向量。我的理解就是在一个向量空间里的嵌入。

G(generalization):更新记忆。比如把对话组里的每一句话的向量空间,简单地插入记忆数组M:Mh(x)=I(x)。(m:记忆卡槽list)。

O(output feature map): 记忆+输入,把合适的记忆提取出来,返回一个向量。每次获得一个向量,代表了一次推理过程。

(如果是多层记忆网络,也就是对单层记忆网络循环多次,具体就是单层的输出o+输入问题的向量表示q,经过矩阵映射作为下一层输入)

R(response):将向量转化为所需格式,比如文字or answer.

O和R会有打分函数s

 

Key-value memory

Key-value Memory-network可以适用于KB和wiki数据文本资源。因为输入模块在数据处理上与memory network, end-to-end memory network不同。

 

单层Key-value memory network

 

Memory slot

存储记忆向量,记忆向量比如:输入的bow向量+位置向量。

Key-value

Key-value模型在求每个问题的时候会进行key hashing(理解为IR,信息检索)预处理操作,比如从KB source里选择出与之有关的记忆,然后所有记忆都被存储在key-value memory中。Key负责寻址look up,也就是对memory与question相关程度进行评分,而value负责reading,也就是对记忆的值进行加权求和得到输出。

 

key-value memory

 

key hashing

IR,信息检索,从wiki or KB中检索出与问题相关的内容,然后存入key-value memory

Key-Addressing

是end-to-end中的input memory作用,也就是计算memory对于question的相关程度评分,

Value reading

根据上一步的评分,对memory加权求和得到答案信息。

 

动态记忆网络DMN

在分成4个模块:input\question\episodic memory\answer module,其中有用到attention机制,GRU,来QA。

 

Feedforward Neural Network,FNN

前馈神经网络也经常称为多层感知器(Multi-Layer Perceptron,MLP)。 前馈神经网络其实是由多层的Logistic回归模型(连续的非线性函数)组成,由多层的感知器(不连续的非线性函数)组成。

发布了63 篇原创文章 · 获赞 13 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/changreal/article/details/103661864
今日推荐