论文阅读笔记 | 《Context-aware Path Ranking for Knowledge Base Completion》

摘要:

主要做的是知识库补全(根据知识库已有的facts推断缺失的facts。知识库中的一个三元组就可以理解为一个facts)。做知识库补全的方法主要是路径排序(path ranking, PR)算法,这个算法是枚举知识库中实体对之间的路径,利用这些路径作为特征训练一个模型去预测缺失的facts。现存的方法可扩展性差(占用大量内存RAM),还存在特征爆炸的现象。本文提出Context-aware Path Ranking(C-PR)的方法,采用随机路径探索策略。C-PR利用word embedding学习实体的全局语义,利用实体语义的知识,通过双向随机游走去枚举上下文相关的路径

1. 引言:

知识库补全的方法主要有:路径排序(path ranking), 向量化表示(embedding), 概率图模型(graphical models)还有张量/矩阵分解方法。

路径排序PR方法是将KB看做是由一组三元组组成的多关系图,做法是:对于一个给定的关系r,PR方法枚举用关系r连接起来的路径,然后将这些路径作为特征去训练一个二分类器,当遇到一个新的实体对时,利用模型预测它们是否可以用关系r连接。(PR可以处理多跳连接预测问题)

现有的PR方法存在两个问题:1.可扩展性差(占用大量内存),因为对于一个实体对,需要判断它们是否满足每一种存在的关系。2.特征爆炸:因为有很多很多的路径,将这些路径作为特征,特征向量的长度就会呈指数增长。

有三个常用的大规模知识库:Freebase, WordNet, ConceptNet

2. 相关工作:

  • PR(Path ranking)是基于随机游走的一个对知识库进行推理的技术。第一次由Lao and Cohen提出,后续又有很多对KB推理技术的扩展。其中,扩展工作包括:使用潜在句法线索进行推理[Gardner et al., 2013];将向量空间相似性引入随机游走[Gardner  et al., 2014];引入子图特征提取[Gardner and Mitchell, 2015];利用双向随机游走生成更多的预测路径和学习关系特性[Lao et al., 2015]......这些工作没有充分利用实体的上下文信息。

[Lao and Cohen, 2010] Ni Lao and William W Cohen. Relational retrieval using a combination of path-constrained random walks. In Machine learning, 2010.

  • 实体语义建模:Freitas提出利用术语共现的模式对实体语义进行建模,并提出一种使用相似阈值和最大路径长度来查找两个术语之间路径的算法DNA。DNA和C-PR的一个重要区别在于embedding的 不同,C-PR使用word emdding,而DNA使用传统的向量空间建模方法。

[Freitas et al., 2014] Andr´e Freitas, Joao Carlos Pereira da Silva, Edward Curry, and Paul Buitelaar. A distributional semantics approach for selective reasoning on commonsense graph knowledge bases. In International Conference on Applications of Natural Language to Data Bases/Information Systems, 2014.

3. Path Ranking 算法

对于一个给定的实体对(h,t),PR利用RW(随机游走)找出实体对之间的连接路径,根据一定策略选择一部分路径作为特征,计算P(t|h,\pi),即给定一个RW,从h开始经过路径\pit的概率,将这个值作为路径\pi的特征值。

对于一个关系 r,训练数据为D_r,标签为正的数据为由关系 r 连接的实体对,标签为负的数据为不是由关系 r 连接的实体对。PR针对D_r中每个实体对提取的路径特征,在D_r构造的特征矩阵上训练二分类器。(特征矩阵的形式还需要再思考。

4. Context-aware Path Ranking(C-PR)

将知识库补全问题转化为二分类问题,即预测实体对(h,t)是否能用关系 r 连接。

C-PR在利用图结构的同时,还利用目标实体对的上下文。分为两步:上下文相似度计算;基于上下文(context-aware)的路径查找。

1). 计算上下文相关性:利用word embedding的skip-gram方法,计算出实体对(h,t)的词向量W_hW_t。利用公式(1)计算相似性。

                                                      sim(h,t)=\frac{W_h \cdot W_t}{\left \| W_h \right \| \cdot \left \| W_t \right \|} \qquad (1)

2). Context-aware path finding:利用双向的RW(Bidirectional random walk)枚举实体对(h,t)之间的路径。

经过 k 步的双向RW,正向得到:F_{seq}=<h, v_f^1, v_f^2, \cdots, v_f^k>,反向得到B_{seq}=<t, v_b^1, v_b^2, \cdots, v_b^k>

正向的路径查找(其实是扩充F_{seq},初始时序列应该是为空的)的步骤为:

Step-1: 寻找与v_f^k 上下文相关的邻居:在v_f^k 的所有邻居中找到 v 使得用 v 连接(h,t)更紧密。即满足公式(2):

                                          Relv(v, h, t)\geq sim(h,t) \qquad \qquad (2)

其中:    Relv(v,h,t)=\theta \times sim(v,h)+(1-\theta)\times sim(v,t).     \theta是一个可以调节的参数。

得到上下文相关的邻居后,选择其中一个邻居 v 进行step-2。

如果v=v_b^l\in B_{seq},则进行step-2,否则进行step-3

Step-2:所选邻居节点 v 也是属于后向序列的,那么就可以连接前向和后向形成一个完整的路径,即:

                                           P_{seq}=\left \langle h,v_f^1,\cdots,v,v_b^{l-1},\cdots, v_b^1,t \right \rangle

Step-3: 所选节点不在后向序列中,则计算节点 v 和节点 v_f^k 对实体对(h,t)的上下文相关性的差别,如公式(3)。

                                  \bigtriangleup (v,v_f^k)=Relv(v,h,t)-Relv(v_f^k,h,t) \qquad (3)

如果\bigtriangleup (v,v_f^k)\geq 0,则将 v 加入到F_{seq}的后面,否则丢弃。

用相同的步骤对后向序列进行处理。

下面给出一个案例说明以上算法:

5. 实验

数据集:(1) FB15k   (2) WordNet  (3) one dataset created by us from ConceptNet 5 triples.

Baselines: state-of-the-art PR-based 算法

Binarized Two-sided PR (B-PR);Binarized Bidirectional PR(BB-PR);B-PR+Bi;BB-PR+Bi;SFE-PR;SFE-PR+AR;DNA-PR;DNA-PR+Bi

评价标准:MAP,平均F1-score

Evaluation-I: Scalability.

Evaluation-II: Predictive Performance.

Evaluation-III:ModelInterpretablity.

 


总结:

strong points:

s1. 在路径搜索中第一个使用上下文信息的(其实就是word embedding),提高了准确率。

s2. 使用双向随机游走,通过连接双向路径减少路径数目,从而减少特征数,易于扩展。

s3. 模型可解释性强(文中没有具体分析,知识给了一个案例)这个方面不知道该怎么分析。

weak points:

w1. 可解释性的论证不充分

w2. 从上下文相关的邻居中随机选择一个节点,进行步骤2和3,为什么不尝试选择最优的节点呢?

引用该论文的论文:

Towards an Engine for Lifelong Interactive Knowledge Learning in Human-Machine Conversations(人机对话互动知识学习)

Towards a Continuous Knowledge Learning Engine for Chatbots(聊天机器人的持续学习)


补充:ACL2016上发表的一篇paper《Knowledge Base Completion via Coupled Path Ranking》说,在利用PRA进行关系推理时,以往的方法都是在推理阶段,利用PRA为每个关系独立建模,也就是为每个关系学习一个独立的分类器。

那么如果使用PRA对某些关系集体建模是否会得到更好的效果,尤其是当这些关系彼此紧密联系的时候,比如,“出生”和“生长于”这两个关系极有可能共同拥有一些关系路径:“国籍->首都”等。很多研究表明这种多任务学习相比单任务学习而言,往往具有更好的效果。本文提出CPRA的方法,该方法所要解决两个问题:(1)哪些关系需要组合在一起学习?(2)如何组合在一起学习?

(1)哪些关系需要组合在一起学习?本文提出了一种基于公共路径的相似度度量方法,并在此基础上将关系聚成不同的组,同组的关系共同学习。公共路径的相似度具体值依据两个关系(或簇)的路径交集数量占比。

(2)如何组合在一起学习?依循多任务学习的原则,对于共同训练的分类器使用两部分参数,即共享参数和私有参数。共享参数可以体现相似关系之间的得共性,私有参数用于描述不同关系之间的特性。这两类参数在训练过程中是联合学习的。

 

 

 

 

 

 

 

 

 

 

 

 

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值