论文浅尝 | 打通推荐系统与知识图谱: 第一个公开的大规模链接数据集合

本文转载自:RUC智能情报站,知乎专栏链接:https://zhuanlan.zhihu.com/RucAIBox

前言:近年来,知识图谱(KB)被广泛应用于推荐系统(RS),但尚未有公开将推荐系统物品链接到知识图谱实体的数据集。本文结合SIGIR2018论文《Improving Sequential Recommendation with Knowledge-Enhanced Memory Networks》所用数据集 [1],公布了相关链接数据集 [2],希望能对大家有所帮助。

一、动机/引介

近年来,学术界和工业界都致力于利用结构化的知识信息和相关领域的已知事实来提升各项应用。在众多数据形式中,知识图谱高度结构化,能够有效组织和关联相关实体,被广泛运用到各个领域。推荐任务中利用知识图谱提升推荐的质量和可解释性,相关的推荐系统被称为knowledge-aware recommender systems。

为了适应推荐系统和知识图谱相关研究需求,本工作启发式地将推荐数据中的物品链接到大型知识图谱中的实体,为推荐系统的物品提供蕴含丰富语义的结构化知识信息。本工作将其整理,发布为公开的推荐系统-知识图谱链接数据集KB4Rec v1.0。

二、数据集概况

KB4Rec v1.0数据集,构建了推荐系统数据集物品(RS item)到知识图谱实体(KB entity)的链接。在推荐系统方面,选取了三个得到广泛使用的数据集:MovieLens 20M [3]、LFM-1b [4]、Amazon book [5],分别对应电影、音乐和书籍三个领域;在知识图谱方面,选取了研究者常用的Freebase [6]。

KB4Rec v1.0数据集由链接的ID对组成,包括推荐系统的物品ID和Freebase中的实体ID。链接文件片段(电影数据集合MovieLens 20M)如下所示:

25991 m.09pglcq

25993 m.0cjwhb

25994 m.0k443

25995 m.0b7kj8

通过此链接,能够找到部分推荐系统中物品在知识图谱内对应的实体,并通过读取与该实体相关的三元组,获取相应的属性。举个例子,电影“阿凡达”通过链接找到相应实体,读出与之相关的三元组能够在知识图谱中找到相应的演员、导演等属性。

链接数据集(三个领域)的数据统计见下表:

三、链接分析

可以看到不是所有推荐系统中的物品都能够在Freebase中找到对应的实体。对于各领域链接比例(linkage ratio),本工作参照各推荐领域内物品流行度做了相关分析,其中物品流行度由推荐数据中与物品有交互记录的用户数代表。首先,将推荐系统中的物品按流行度升序排序,等分到5个桶(bin)中,展示相应部分链接比例。如下图,可以发现:流行度高的物品更倾向于被Freebase所包含。

针对MovieLens 20M数据集,还对电影的发布时间与链接比例做了分析。对所有电影按发布时间升序排序,等分到10桶(bin)中,展示相应链接比例。如下图所示,可以发现:越早发布的电影越倾向于被Freebase所包含。

四、数据获取

本工作将相关项目部署在github上,数据的获取和使用需遵照相关证书(license)。更多链接和数据集构建的细节请参照我们的相关论文 [2]。

五、相关论文

[1] Jin Huang, Wayne Xin Zhao, Hong-Jian Dou, Ji-Rong Wen, Edward Y. Chang : Improving Sequential Recommendation with Knowledge-Enhanced Memory Networks. SIGIR 2018: 505-514

[2]  Wayne Xin Zhao, Gaole He, Hongjian Dou, Jin Huang, Siqi Ouyang and Ji-Rong Wen : KB4Rec: A Dataset for Linking Knowledge Bases with Recommender Systems. Arxiv 1807.11141.

[3] F. Maxwell Harper, Joseph A. Konstan : The MovieLens Datasets: History and Context. TiiS 5(4): 19:1-19:19 (2016)

[4] Markus Schedl : The LFM-1b Dataset for Music Retrieval and Recommendation. ICMR 2016: 103-110

[5] Ruining He, Julian McAuley : Ups and Downs: Modeling the Visual Evolution of Fashion Trends with One-Class Collaborative Filtering. WWW 2016: 507-517

[6] Google : 2016. Freebase Data Dumps. https://developers.google.com/freebase/ data.

本文作者:何高乐,2018级研究生,目前研究方向为网络表示学习、深度学习,来自中国人民大学大数据管理与分析方法研究北京市重点实验室。

RUC 智能情报站由中国人民大学信息学院的赵鑫副教授 (微博 @赵鑫RUC) 所带领的研究小组维护。关注的领域是数据挖掘、社会计算和机器学习。该专栏会定期会分享相关学术内容,欢迎各位来邮件进行交流,也欢迎大家向该专栏投稿精品文章。知乎账号联系人为 窦洪健,负责资讯、投稿、宣传以及一切账号相关问题,邮箱为43404873@qq.com;企业和转载合作需求请致谢赵鑫老师,邮箱为 batmanfly@qq.com。赵鑫老师个人情况详见个人主页 http://playbigdata.com/batmanfly 和 http://info.ruc.edu.cn/academic_professor.php?teacher_id=55 。


OpenKG.CN

中文开放知识图谱(简称OpenKG.CN)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

 

论文浅尝 | 利用Lattice LSTM的最优中文命名实体识别方法

本文转载自公众号:机器之心

选自arXiv

作者:Yue Zhang、Jie Yang

机器之心编译

参与:路、王淑婷

近日,来自新加坡科技设计大学的研究者在 arXiv 上发布了一篇论文,介绍了一种新型中文命名实体识别方法,该方法利用 Lattice LSTM,性能优于基于字符和词的方法。与基于字符的方法相比,该模型显性地利用词和词序信息;与基于词的方法相比,lattice LSTM 不会出现分词错误。这篇论文已被 ACL 2018 接收。

作为信息抽取的一项基本任务,命名实体识别(NER)近年来一直受到研究人员的关注。该任务一直被作为序列标注问题来解决,其中实体边界和类别标签被联合预测。英文 NER 目前的最高水准是使用 LSTM-CRF 模型实现的(Lample et al., 2016; Ma and Hovy, 2016; Chiu and Nichols, 2016; Liu et al., 2018),其中字符信息被整合到词表征中。

中文 NER 与分词相关。命名实体边界也是词边界。执行中文 NER 的一种直观方式是先执行分词,然后再应用词序列标注。然而,分割 → NER 流程可能会遇到误差传播的潜在问题,因为 NE 是分割中 OOV 的重要来源,并且分割错误的实体边界会导致 NER 错误。这个问题在开放领域可能会很严重,因为跨领域分词仍然是一个未解决的难题(Liu and Zhang, 2012; Jiang et al., 2013; Liu et al., 2014; Qiu and Zhang, 2015; Chen et al., 2017; Huang et al., 2017)。已有研究表明,中文 NER 中,基于字符的方法表现要优于基于词的方法(He and Wang, 2008; Liu et al., 2010; Li et al., 2014)。

图 1:词-字符网格。

基于字符的 NER 的一个缺陷在于无法充分利用显性的词和词序信息,而它们是很有用的。为了解决这一问题,本论文研究者利用 lattice LSTM 来表征句子中的 lexicon word,从而将潜在词信息整合到基于字符的 LSTM-CRF 中。如图 1 所示,研究者使用一个大型自动获取的词典来匹配句子,进而构建基于词的 lattice。因此,词序如「长江大桥」、「长江」和「大桥」可用于语境中的潜在相关命名实体消歧,如人名「江大桥」。

由于在网格中存在指数级数量的词-字符路径,因此研究者利用 lattice LSTM 结构自动控制从句子开头到结尾的信息流。如图 2 所示,门控单元用于将来自不同路径的信息动态传送到每个字符。在 NER 数据上训练后,lattice LSTM 能够学会从语境中自动找到更有用的词,以取得更好的 NER 性能。与基于字符和基于词的 NER 方法相比,本论文提出的模型的优势在于利用利用显性的词信息而不是字符序列标注,且不会出现分词误差。

图 2:Lattice LSTM 结构。

结果显示该模型显著优于基于字符的序列标注模型和使用 LSTMCRF 的基于词的序列标注模型,在不同领域的多个中文 NER 数据集上均获得最优结果。

模型

研究者遵循最好的英文 NER 模型(Huang et al., 2015; Ma and Hovy, 2016; Lample et al., 2016),使用 LSTM-CRF 作为主要网络结构。形式上,指定输入句子为 s = c_1, c_2, . . . , c_m,其中 c_j 指第 j 个字符。s 还可以作为词序列 s = w_1, w_2, . . . , w_n,其中 w_i 指句子中的第 i 个词,使用中文分词器获得。研究者使用 t(i, k) 来指句子第 i 个词中第 k 个字符的索引 j。以图 1 中的句子为例。如果分词是「南京市 长江大桥」,索引从 1 开始,则 t(2, 1) = 4 (长),t(1, 3) = 3 (市)。研究者使用 BIOES 标记规则(Ratinov and Roth, 2009)进行基于词和基于字符的 NER 标记。

图 3:模型。

表 4:在开发集上的结果。

表 5:在 OntoNotes 上的主要结果。

论文:Chinese NER Using Lattice LSTM

  • 论文链接:https://arxiv.org/abs/1805.02023
  • 项目链接:https://github.com/jiesutd/LatticeLSTM

摘要:我们研究了用于中文命名实体识别(NER)的 lattice LSTM 模型,该模型对输入字符序列和所有匹配词典的潜在词汇进行编码。与基于字符的方法相比,该模型显性地利用词和词序信息。与基于词的方法相比,lattice LSTM 不会出现分词错误。门控循环单元使得我们的模型能够从句子中选择最相关的字符和词,以生成更好的 NER 结果。在多个数据集上的实验证明 lattice LSTM 优于基于词和基于字符的 LSTM 基线模型,达到了最优的结果。

OpenKG.CN

中文开放知识图谱(简称OpenKG.CN)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

 

论文浅尝 | 问题生成(QG)与答案生成(QA)的结合

本文转载自公众号:徐阿衡

梳理一下 MSRA 3 篇关于 QG 的 paper:

  • Two-Stage Synthesis Networks for Transfer Learning in Machine Comprehension
  • Question Answering and Question Generation as Dual Tasks
  • A Joint Model for Question Answering and Question Generation

QG 系列其他的笔记(见徐阿衡公众号):

  • 论文笔记 – Machine Comprehension by Text-to-Text Neural Question Generation
  • 论文笔记 – Semi-Supervised QA with Generative Domain-Adaptive Nets

目前的 QA 大多是 抽取式(extractive)的任务,答案是文本中的一个连续片段,通常是命名实体这类语义概念,而 QG 是生成式的(abstractive),问句是完整句子,部分单词可能是文档中没出现过的,很多情况下,问句和答案的语言结构不同,因此甚至可以看做两种不同类型的数据。所以第 1 篇 SynNet 就把答案生成当作序列标注任务,把 QG 当作生成任务;第 3 篇 Joint Model 从另一个角度出发,把 QA 和 QG 都当作生成任务,放到同一个 encoder-decoder 框架下,用转变输入数据来实现联合训练,用 pointer-softmax 来处理抽取/生成问题。

另外,QA 和 QG 任务在概率上是有联系的,可以通过 q、a 的联合概率分布联系起来,P(q|a) 就是 QG 模型,P(a|q) 类似 QA 模型,于是第 2 篇 dual tasks 就把这两个任务当做对偶任务,用一个正则项把两个任务联合在一起。

Two-Stage Synthesis Networks for Transfer Learning in MC

我们知道 MRC 系统的输入是 (passage, question, answer) 三元组,q 和 a 依赖人工标注,这是制约 MRC 落地应用的最大问题之一,这篇 paper 提出了 SynNet,利用已有领域中可用的监督数据为基础进行训练,训练完成后迁移到新的领域中,根据新领域的文档,模型能自动合成与文档 p 相关的 (q, a) 对,替代昂贵的人工标注,为 MRC 的迁移落地提供了便利。

SynNet 把 QA 对(question-answer pair)的生成过程 P(q,a|p) 分解为条件概率 P(a|p) P(q|p,a) ,也就是下面两个步骤:

  1. 基于文档生成答案 P(a|p)
学习文档中的 potential “interestingness” pattern,包括文章中可作为常见问题答案的关键知识点、命名实体或语义概念
由于答案是文档的片段,所以看做序列标注任务
  2. 基于文档和答案生成问题 P(q|p,a)
学习生成自然语言的完整问句
作为生成任务

答案合成模块(Answer Synthesis Module),序列标注问题,训练了一个 IOB tagger (4 种标记,start, mid, end, none)来预测段落里的每个单词是不是答案。结构很简单,BiLSTM 对 p 的词向量进行编码,然后加两个 FC 层和一个 Softmax 产生每个单词的 tag likelihoods,选择连续的 span 作为 candidate answer chunks,喂给问题生成模块。

问题合成模块(Question Synthesis Module)学习的是 。模型结构是 encoder-decoder + attention + copy mechanism。通过在段落词向量中加入一个 0/1 特征来表示单词是不是出现在答案中。

训练算法:

在源领域上训练 SynNet,产生新领域的 QA 对,然后和源领域的数据一起来 finetune 源领域的 MC 模型(用 SGD),源领域和新领域的数据采样比是 k:1(paper 里设的 k=4),这主要是为了处理合成数据的噪音问题而进行的正则化操作。

测试阶段也就是用 finetune 完成的 MC 模型回答新领域的问题时,可以对不同时刻的 checkpoints 的 answer likelihoods 做平均,然后用 DP 找到最佳的 answer span ,最大化 ,复杂度是 linear,和 BiDAF 的逻辑相同。

难得的是这篇 paper 还提供了实现细节,其中一个 trick 是,在训练问题合成模块时,他们只用了 SQuAD 的训练集,但是在答案合成模块,还引入了 NER Tagger 来增强答案数据,基本假设任何命名实体都可以被当做某个问题的潜在答案。

在 Ablation Studies 和 Error Analysis 中还提到了一些有趣的发现,具体可以看论文。待解决的问题一个是 copy 机制导致的产生的问句和 paragraph 高度相似的问题,可以通过改进 cost function 在促进解码过程的多样化,另一篇 paper 有提到。还有一个问题是 SynNet 在解决比如数字、人名这种问题的效果很好,但是在需要一些推理的问题,像是 what was / what did 这些问题就很弱了,这也是后续的研究方向。

这篇 paper 个人非常喜欢,实现细节和一些结果的分析都很赞。

Question Answering and Question Generation as Dual Tasks

把 QA 和 QG 当作对偶任务。关键还是下面这个式子:

P(q|a) 即 QG 模型,和 P(a|q) 即 QA 模型可以通过联合概率联系起来,于是这里把 QA 和 QG 当作对偶任务,Seq2Seq 实现 QG,RNN 实现 QA,通过一个正则项把两个任务联系起来,联合训练一起学习 QA 和 QG 的参数,损失函数服从下面的条件:

其中 分别对应答案句和问句的语言模型。

这里 QA 任务不再是在 context 里选 answer span 的任务,而被看作是在一组候选答案句集合中选择可能性最高的 answer sentence 的一个排序任务。也就是说,这里的 a 是答案所在的句子,而不是前一篇 paper 提到的简单的语义概念/实体。

QG 任务还是一个生成任务,输入是答案句 a。要注意的是这里 QA 和 QG 的输入都没有 p,都只考虑了句子层面的信息。

和之前介绍的 GDAN 不同的是,这里 QA 和 QG 的地位是相同的,也并不需要预训练 QA。

下面看一下模型细节:QA 模型 分别用 BiGRU 对 q 和 a 进行编码,拼接 last hidden state 作为向量得到 v_q 和 v_a,question-answer pair 的表达由四个向量拼接构成 , c(q,a) 表示 q,a 的共现词,对应的词向量表达通过引入额外的 embedding 矩阵  实现,d_c 表示词共现向量的维度 |V_c| 则是词汇表大小, 也就是 qa 相关性函数通过对 v(q,a) 进行线性变换加 tanh 激活得到,最后 softmax 得到概率,损失函数还是 negative log-likelihood。

QG 模型 还是经典的 encoder-decoder + attention 模型,输入是 answer sentence,还是用 BiGRU 进行编码,连接两个方向的 last hidden state 作为 encoder 的输出以及 deocder 的初始状态。对 attention 做了改进,希望模型能记住 answer sentence 中哪些 context 被使用过了,在产生 question words 的时候就不再重复使用。

拼接 s_t 和 c_t,接一个 linear layer 和 softmax 得到输出单词在词汇表上的概率分布,一个 trick 是 softmax 输出维度取 top frequent question words,OOV 用 attention probability 最高的词替换,相当于对文档单词的一个 copy 机制,当然也可以用 pointer network 来做。

模型每次输入 m 个 QA 对正例和 m 个负例,通过 QG 和 QA 各自模型计算各自 loss,再加上一个正则化项一起计算参数梯度并更新参数。

正则化 dual 项利用了 QA 和 QG 的对偶关系:

考虑到  和 QA 模型的输出有差异,因此给定 q,sample 一系列 answer sentences A’,从中得到 

在实现细节里提到模型对 question words 和 answer words 用了不同的 emebdding 矩阵来学习特定的语义。另外 sampled answer sentence 来自其他的 passage,这降低了 QA 的难度。

结果分析再次证明了 word co-occurrence 是一个简单但非常有效的特征。

实验设计部分不大能看出模型的实际效果,不明白为什么不直接刷榜看一下结果。另外 QG 部分的评价指标也只用了 BLEU-4 分数,对 fluency 没有进行说明。

We first report results on the MARCO and SQUAD datasets. As the dataset is splitted by ourselves, we do not have pre- viously reported results for comparison.

A Joint Model for Question Answering and Question Generation

这篇和上篇都是讲怎么同时生成答案和问题,不同的是上篇通过一个 dual regularization term 将两者联合起来训练,这里把 QA 和 QG 任务都作为生成任务,模型基本结构还是 Seq2Seq + Attention + Pointer Softmax,和之前提到的一篇 论文笔记 – Machine Comprehension by Text-to-Text Neural Question Generation 差不多。输入是文档,以及一个 condition sequence,在 QA 任务里表现为 question word sequence,给定 question 生成 answer;QG 任务里表现为 answer word sequence,给定 answer 生成 qestion,condition 由一个 0/1 变量来控制,表示收到的数据是给 a-gen 还是给 q-gen。Joint training 通过对输入数据的转换实现。

Pointer-softmax 一定程度上能解决 extractive/abstractive 的混合问题,通过选择 copy 文档的单词还是生成词汇表的单词来产生下一个单词,表达了 extractive/abstractive 的切换。这带来的一个额外好处是可以产生 abstractive answer。

具体来讲,Encoder 里,词向量和字向量拼接得到 word embedding,其中字向量用 BiLSTM 产生,word embedding 经过另一个 BiLSTM 编码得到文档编码 h^d_i 和条件序列的编码 h^c_j。

条件序列的另一种编码是“抽取式的”,也就是从 document encoding 中直接抽取出出现在 condition sequence 中的单词的对应部分,这和 论文笔记 – Machine Comprehension by Text-to-Text Neural Question Generation 原理相同。然后抽取的向量经过 BiLSTM 产生对应编码 h^e_k。两种条件序列的编码 h^c_j 和 h^e_k 的 final state 分别为 h^c_J 和 h^e_K。在 a-gen mode 也就是对问句进行编码是采用 h^c_J,在 q-gen mode 也就是对答案进行编码时采用 h^e_K,相当于模拟了 extractive 和 abstractive 的特性。

Decoder 用了 pointer-softmax mechanism,比之前的工作复杂一些,具体可以戳阅读原文或者看 paper。

损失函数

实现细节里,encoder 用了整个词表,decoder 用了训练数据里 gold question 中的频率最高的 100 个单词的词表。另外一个 trick 是 decoder 保留了之前产生的单词的历史来防止输出的重复。

联合训练下,a-gen 的表现有显著提升,q-gen 略有下降。一个直观结论是,模型并没有提高 QA 任务的效果,但是增加了 QG 的能力。

过去大多模型都把 QA 当做 point to answer span within a document 而不是 NLG 任务,这一篇的创新之处就在于把 QA 也当作了生成问题,与 QG 放到同一个框架下,用 pointer-softmax 来调节生成/抽取的比率,给 QA 也增加了“生成”的能力。

一个显著优势是,和上一篇 paper 相同,这里不需要预训练 QA,可以直接用 QG 辅助 QA 的实现同时给模型提供QG 的能力。

a key distinction of our model is that we harness the process of asking questions to benefit question answering, without training the model to answer the generated questions.

MSRA 出品的 QG 系列的 paper 在各自模型及实现上有共性也有个性,一些 trick 基本是通用的,具体的实用性能还待具体领域的实践检验。


OpenKG.CN

中文开放知识图谱(简称OpenKG.CN)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

 

文章转载自公众号

徐阿衡

 

论文浅尝 | 近期论文精选

本文转载自公众号 PaperWeekly, 对我们近期的论文浅尝进行了精选整理并附上了相应的源码链接,感谢 PaperWeekly

TheWebConf 2018

■ 链接 | https://www.paperweekly.site/papers/1956

■ 解读 | 花云程,东南大学博士,研究方向为自然语言处理、知识图谱问答

动机

对于 KBQA 任务,有两个最为重要的部分:其一是问题实体识别,即将问题中的主题实体识别出来,并与 KB 做实体链接;其二是谓词映射

对于主题实体识别任务,之前的做法多为依靠字符串相似度,再辅以人工抽取的特征和规则来完成的。但是这样的做法并没有将问题的语义与实体类型、实体关系这样的实体信息考虑进来。

实体类型和实体关系,很大程度上,是与问题的上下文语义相关的。当只考虑实体关系时,会遇到 zero-shot 的问题,即测试集中某实体的关系,是在训练集中没有遇到过的,这样的实体关系就没法准确地用向量表达。

因此,为了解决上述问题,本文首先利用 entity type(实体类型)的层次结构(主要为实体类型之间的父子关系),来解决 zero-shot 的问题

如同利用 wordnet 计算 word 相似度的做法一般,文章将父类型的“语义”视为所有子类型的“语义”之和。一个实体总是能够与粗颗粒的父类型相关,例如一个实体至少能够与最粗颗粒的 person、location 等类型相连。这样,利用实体所述的类型,在考虑实体上下文时,就可以一定程度上弥补实体关系的 zero-shot 问题。

此外,本文建立了一个神经网络模型 Hierarchical Type constrained Topic Entity Detection (HTTED),利用问题上下文、实体类型、实体关系的语义,来计算候选实体与问题上下文的相似度,选取最相似的实体,来解决 NER 问题。

经过实验证明,HTTED 系统对比传统的系统来说,达到了目前最优的实体识别效果

贡献

文章的贡献有:

  • 利用父子类型的层次结构来解决稀疏类型训练不充分的问题;
  • 设计了基于 LSTM 的 HTTED 模型,进行主题实体识别任务;
  • 提出的模型通过实验验证取得了 state-of-art 的效果。

方法

本文首先对于父子类型的层次结构进行解释和论述,也是 HTTED 的核心思想。

本文认为,父类型的语义视为接近于所有子类型的语义之和。例如父类型 organization 的语义,就相当于子类型 company、enterprise 等语义之和。如果类型是由定维向量表示,那么父类型的向量就是子类型的向量之和。

此外,由于在数据集中,属于子类型的实体比较稀疏,而父类型的实体稠密,如果不采用文中的方法,那么稀疏的子类型将会得不到充分的训练。若将父类型以子类型表示,那么父子类型都可以得到充分地训练。

▲ 图1:HTTED模型图

其次是对文中模型的解释。如上图 1 所示,HTTED 使用了三个编码器来对不同成分编码。

其一,是问答上下文编码器,即将问题经过分词后得到的 tokens,以预训练得到的词向量来表示,并依次输入双向 LSTM 进行第一层的编码;此后,将双向 LSTM 得到的输出拼接,再输入第二层的 LSTM 进行编码,即得到表示问题上下文的 d 维向量 q。

其二,是实体类型编码器,即对于某个候选实体 e,得到其连接的类型,并将父类型以所有子类型向量之和表示,再将这些类型对应的向量输入一个 LSTM 中进行编码,得到实体类型的 d 维向量 et。

其三,是实体关系编码器,即对于某个候选实体 e,得到其所有实体关系,并表示成向量。此外,对于实体关系,将其关系名切割为 tokens,并以词向量表示。然后将实体关系和实体关系名这两种向量,输入一个 LSTM 中进行编码,得到实体关系的d维向量 er。

得到三个向量后,文章认为实体的语义可以由实体类型、实体关系近似表达,所以有:

而在训练时,设置一个 margin,则 ranking loss 为:

其中 γ 为超参数。

实验结果

文章使用单关系问答数据集 SimpleQuestions 和知识图谱 FB2M,并有 112 个具有层次父子关系的实体类型。

HTTED 的词向量为经过预训练的,关系向量是初始随机的,而类型向量中,叶子类型初始随机,父类型的向量由子类型的向量累加得到。如下图 2 所示,为 HTTED 与其他系统的效果对比,其中 -Hierarchy表示 HTTED 去除了实体类型的层次结构表示。

▲ 图2:主题实体识别效果对比图

由图 2 可见,HTTED 为 state-of-art 的效果。并且,将实体类型的层次结构去除,HTTED 的准确性下降很多。可见层次类型约束对于该模型的重要性。

由下图 3 可见,由于使用了层次结构的类型,同名的实体被识别出来,但是与问题上下文更相关的实体都被挑选出来,所以能够正确识别到主题实体。

▲ 图3:主题实体识别示例图

总结 

这篇文章,主要有两个主要工作:其一,是引入了层次结构的实体类型约束,来表达实体的语义,使得与问题上下文相关的实体,更容易被找到;其二,是建立了基于 LSTM 的 HTTED 模型,提高了主题实体识别的效果。

AAAI 2018

■ 链接 | https://www.paperweekly.site/papers/1957

■ 解读 | 张文,浙江大学博士生,研究方向知识图谱的分布式表示与推理

动机

知识图谱的分布式表示旨在将知识图谱中的实体和关系表示到连续的向量空间中,本文考虑的问题是如何将知识库的分布式表示和逻辑规则结合起来,并提出了一个新的表示学习方法 RUGE (Rule-Guided Embedding)

贡献

1. 本文提出了一种新的知识图谱表示学习方法 RUGE,RUGE 在向量表示 (embeddings) 的学习过程中迭代地而非一次性地加入了逻辑规则的约束;

2. 本文使用的是已有算法自动挖掘的规则,RUGE 的有效性证明了算法自动挖掘的规则的有效性;

3. 本文提出的方法 RUGE 具有很好的通用型,对于不同的逻辑规则和不同置信度的规则的鲁棒性较好。

方法 RUGE 

RUGE 方法的输入有三个部分:

  • 已标记的三原组:知识库中已有三元组;
  • 未标记的三元组:知识库中不存在的三元组。在这篇论文中未标记的三元组只考虑了能够由逻辑规则推导出的三元组;
  • 概率逻辑规则:本文主要考虑了一阶谓词逻辑规则,每一个逻辑规则都标有一个成立的概率值。实验中使用的概率规则来自于规则自动挖掘系统 AMIE+。

模型核心想法如下:

三元组表示:

本文采用了 ComplEx 作为基础的知识库分布式表示学习的模型,在 ComplEx中,每一个实体和关系都被表示为一个复数向量,一个三元组 (e_i,r_k,e_j) 的得分函数设计如下:

其中 Re<x> 表示取 x 实部的值,bar{e}_j 为 e_j 的共轭向量。正确的三元组得分函数值会较高而不正确的三元组得分函数的值会较低。

逻辑规则的表示:

本文借鉴了模糊逻辑的核心思想,将规则的真值看作其组成部件真值的组合。例如一个已经实例化的规则 (e_u, e_s,e_v) =(e_u, e_t,e_v) 的真值将由 (e_u, e_s,e_v) 和 (e_u, e_t,e_v) 的真值决定。根据(Guo et al. 2016)的工作,不同逻辑算子的真值计算如下:

由上三式可推出规则真值计算公式:

此规则计算公式是后面规则应用的一个重要依据。

未标记三元组标签预测:

这一步是整个方法的核心,目的在于对未标记三元组的标签进行预测,并将这些三元组添加到知识图谱中,再次进行知识图谱的分布式表示学习训练,修正向量结果。

标签预测的过程主要有两个目标:

目标一:预测的标签值要尽可能接近其真实的真值。由于预测的三元组都是未标记的,本文将由当前表示学习的向量结果按照得分函数计算出的结果当作其真实的真值。

目标二:预测的真值要符合对应逻辑规则的约束,即通过规则公式计算出的真值要大于一定的值。其中应用的规则计算公式如下:

其中 φ(e_u, e_s,e_v) 是当前向量表示计算的结果,s(e_u, e_t,e_v) 是要预测的真值。真值预测的训练目标如下:

通过对上式对求 s(x_u) 导等于 0 可得到 s(x_u) 的计算公式:

向量表示结果的修正:

将预测了标签的三元组添加到知识图谱中,和已由的三元组一起进行训练,来修正向量学习,优化的损失函数目标如下:

上式前半部分是对知识图谱中真实存在的三元组的约束,后半部分为对预测了标签的三元组的约束。

以上步骤在模型训练过程中迭代进行。

实验

链接预测:

从实验结果可以看出,规则的应用提升了表示学习的结果

EMNLP 2017

■ 链接 | https://www.paperweekly.site/papers/713

■ 解读 | 刘兵,东南大学在读博士,研究方向为自然语言处理

动机

近年来基于深度学习方法的远程监督模型取得了不错的效果,但是现有研究大多使用较浅的 CNN 模型,通常一个卷基层加一个全连接层,更深的 CNN 模型是否能够更好地解决以有噪声的标注数据为输入的远程监督模型没有被探索。

为了探索更深的 CNN 模型对远程监督模型的影响,本文设计了基于残差网络的深层 CNN 模型。实验结果表明,较深的 CNN 模型比传统方法中只使用一层卷积的简单 CNN 模型具有较大的提升。

方法

本方法的模型结构如下图所示:

输入层:每个单词使用词向量和位置向量联合表示;

卷基层:为了得到句子更高级的表示,采用多个卷基层堆叠在一起。为了解决训练时梯度消失的问题,在低层和高层的卷基层之间建立捷径连接;

池化层和 softmax 输出层。

实验

实验在远程监督常用的数据集 NYT-Freebase 上进行。实验结果表明:

本文提出的方法采用 9 个卷基层时达到最好的效果,这时不适用注意力机制和 piecewise pooling 性能也接近了使用注意力和 piecewise pooling 的方法。结果如下表所示。

不使用残差网络的深层 CNN 模型,当层数较深时效果变差。使用残差网络可以解决其无法传播的问题,效果改善很多;结果如下图所示。

EMNLP 2017

■ 链接 | https://www.paperweekly.site/papers/1960

■ 源码 | http://github.com/LiyuanLucasLiu/ReHession

■ 解读 | 刘兵,东南大学博士,研究方向为自然语言处理

动机

现有的关系抽取方法严重依赖于人工标注的数据,为了克服这个问题,本文提出基于异种信息源的标注开展关系抽取模型学习的方法,例如知识库、领域知识。

这种标注称作异源监督(heterogeneous supervision),其存在的问题是标注冲突问题,即对于同一个关系描述,不同来源的信息标注的结果不同。这种方法带来的挑战是如何从有噪声的标注中推理出正确的标签,以及利用标注推理结果训练模型。

例如下面的句子,知识库中如果存在 <Gofraid,born_in, Dal Riata> 这个三元组,则将下面的句子标注为 born_in 关系;而如果使用人工模板“* killed in*”进行匹配,则会将该句子标注为 kill_in 关系。

Gofraid(e1) died in989, said to be killed in Dal Riata(e2).

为了解决这个问题,本文提出使用表示学习的方法实现为关系抽取提供异源监督

创新点

本文首次提出使用表示学习的方法为关系抽取提供异源监督,这种使用表示学习得到的高质量的上下文表示是真实标签发现和关系抽取的基础。

方法

文章方法框架如下:

▲ 关系描述表示方法

1. 文本特征的向量表示。从文本上下文中抽取出文本特征(基于pattern得到),简单的one-hot方法会得到维度非常大的向量表示,且存在稀疏的问题。为了得到更好的泛化能力,本文采用表示学习的方法,将这些特征表示成低维的连续实值向量;

2. 关系描述的向量表示。在得到文本特征的表示之后,关系描述文本依据这些向量的表示生成关系描述的向量表示。这里采用对文本特征向量进行矩阵变换、非线性变换的方式实现;

3. 真实标签发现。由于关系描述文本存在多个可能冲突的标注,因此发现真实标签是一大挑战。此处将每个标注来源视为一个标注函数,这些标注函数均有其“擅长”的部分,即一个标注正确率高的语料子集。本方法将得到每种标注函数擅长的语料子集的表示,并以此计算标注函数相对于每个关系描述的可信度,最后综合各标注函数的标注结果和可信度,得到最终的标注结果;

4. 关系抽取模型训练。在推断了关系描述的真实标签后,将使用标注的语料训练关系抽取器。

值得指出的是,在本方法中,每个环节不是各自独立的,真实标签发现与关系抽取模型训练会相互影响,得到关系上下文整体最优的表示方法。

实验结果

本文使用 NYT 和 Wiki-KBP 两个数据集进行了实验,标注来源一方面是知识库,另一方面是人工构造的模板。每组数据集进行了包含 None 类型的关系抽取,和不包含 None 类型的关系分类。

结果如下表所示,可见本文的方法相比于其他方法,在两个数据集的四组实验中均有较明显的性能提升。

ACL 2017

■ 链接 | https://www.paperweekly.site/papers/1961

■ 源码 | https://github.com/stanfordnlp/cocoa

■ 解读 | 王旦龙,浙江大学硕士,研究方向为自然语言处理

本文研究了对称合作对话(symmetric collaborative dialogue)任务,任务中,两个代理有着各自的先验知识,并通过有策略的交流来达到最终的目标。本文还产生了一个 11k 大小的对话数据集

为了对结构化的知识和非结构化的对话文本进行建模,本文提出了一个神经网络模型,模型在对话过程中对知识库的向量表示进行动态地修改。

任务

在对称合作对话任务中,存在两个 agent,每个代理有其私有的知识库,知识库由一系列的项(属性和值)组成。两个代理中共享一个相同的项,两个代理的目标是通过对话找到这个相同的项。

数据集

本文建立了一个对称合作对话任务数据集,数据集中知识库对应的 schema  中包含 3000 个实体,7 种属性。数据集的统计信息如下所示:

模型

针对对称合作对话任务,本文提出了 DynoNet (Dynamic Knowledge GraphNetwork),模型结构如下所示:

Knowledge Graph 

图谱中包含三种节点:item 节点,attribute 节点,entity 节点。图谱根据对话中的信息进行相应的更新。

Graph Embedding 

t 时刻知识图谱中每个节点的向量表示为 V_t(v),向量表示中包含了以下来源的信息:代理私有知识库的信息,共享的对话中的信息,来自知识库中相邻节点的信息。

Node Features 

这个特征表示了知识库中的一些简单信息,如节点的度(degree),节点的类型。这个特征是一个 one-hot 编码。

Mention Vectors 

Mentions vector M_t(v) 表示在 t 时刻的对话中与节点 v 相关的上下文信息。对话的表示 u_t 由个 LSTM 络计算得到(后文会提到),为了区分 agent 自身产生的对话语句和另一个代理产生的对话语句,对话语句表示为:

Mentions Vector 通过以下公式进行更新:

Recursive Node Embeddings 

一个节点对应的向量表示也会受到相邻其他节点的影响:

其中 k 表示深度为 k 的节点,R 表示边对应的关系的向量表示。

最后节点的向量表示为一系列深度的值的连接结果。

本文中使用了:

Utterance Embedding 

对话的向量表示 u_t 由一个 LSTM 网络计算得到。

其中 A_t 为实体抽象函数,若输入为实体,则通过以下公式计算:

若不为实体,则为文本对应的向量表示进行 zero padding 的结果(保证长度一致)。

使用一个 LSTM 进行对话语句的生成:

输出包含字典中的词语以及知识库中的实体:

实验结果


OpenKG.CN

中文开放知识图谱(简称OpenKG.CN)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

转载须知:转载需注明来源“OpenKG.CN”、作者及原文链接。如需修改标题,请注明原标题。