图谱构建流程
导读:
1.知识提取
从原始数据语料中自动识别出命名实体。实体是知识图谱中最基本的元素。Kaikai:知识图谱—知识提取zhuanlan.zhihu.com
2.知识表示(一)
介绍了知识表示学习的常见的代表模型:距离模型、单层神经网络模型、能量模型、双线性模型、张量神经网络模型、矩阵分解模型。Kaikai:知识图谱—知识表示(一)zhuanlan.zhihu.com
3.知识表示(二)
介绍翻译模型(Trans模型),TransH模型、TransR模型、TransD模型、TranSpare模型、TransA模型、TransG模型、KG2E模型、Kaikai:知识图谱—知识表示(二)zhuanlan.zhihu.com
本篇文章,我们介绍实体对齐的相关内容,包括实体消歧和共指消歧。、
1.实体消歧
含义:实体消歧的本质在于一个词有很多可能的意思,也就是在不同的上下文中所表达的含义不太一样。
例子:“苹果”实体描述
“我的手机是苹果”和"我喜欢吃苹果"这两个句子中的“苹果”代表的含义是不一样的。前者代表是手机、后者代表是水果。
具体实现:
“美国一家高科技公司,经典的产品有Iphone手机”转换为向量
;“水果的一种,一般产自于…”转换为向量
;然后将“今天苹果发布了新的手机”中“苹果”的上下文“今天,发布了新的手机”转换为向量
;我们只要将
分别与
和
计算相似度,然后对比
和
;相似度高的,我们则将其看作“苹果”的真实语义。
2.共指消歧
共指消解,也叫指代消解。很难因为自然语言充满歧义,因此必须使用多种信号和知识来消除歧义。需要基于对周围世界的了解才能明白这些指代,而这种知识很难编码到计算机中。举个例子:乔布斯改变了我们听音乐、购买音乐、打电话、使用手机、看电影等各方面的体验。当他去世时,奥巴马称他为最伟大的创新者。
上面这句话中的他指代的是乔布斯。乔布斯改变了我们听音乐、购买音乐、打电话、使用手机、看电影等各方面的体验。当他听到这个消息,奥巴马致电慰问他的妻子。
那这段话中的他指代的是奥巴马。
指代消解主要有两个步骤。第一步是指代识别(mention detection),即找出句子中所有的指代,这一步相对简单。第二步才是进行真正的指代消解(coreference resolution),这一步比较难。
(1)指代识别
指代识别阶段尽量保召回率,保留所有找到的可能是指代的词,都参与后期的指代消解。如果一个指代没有找到它的共同指代(coreference),则说明这个指代是孤立的(singleton mention),有可能是指代识别阶段找到的不是指代的词,直接舍弃。
(2)指代消解
指代消解发展至今,经历了四种不同的方法,分别是Rule-based、Mention pair、Mention Ranking。
Rule-based方法:1976年,Hobbs提出了基于规则的朴素算法,被后人称为Hobbs算法。该方法有9个步骤,包含了很多规则,非常繁琐。Hobbs算法虽然是基于规则的,但在当时取得了不错的效果,现在也常常作为该领域的baseline模型。但是因为该方法是基于规则的,有很多指代消解没法解决。
Mention pair方法:该方法把指代消解问题转化为一个二分类问题。从左到右遍历句子,每找到一个指代,就把它和前面找到的每个指代作为一个pair,问分类器这个pair是否指代同一个实体,如果是的话,就把它们连起来。二分类的损失就是交叉熵。很简单的一个模型。
Mention Ranking:每个指代同时和前面所有指代打分,用softmax归一化,找出概率最大的先行词,添加一条连边。注意需要添加一个NA节点,因为有的指代可能第一次出现,前面没有先行词,或者这个指代根本就不是一个真正的指代。
前面的内容都是假设我们计算好了任意两个指代是coreference的概率,那么,如何来计算这个概率呢?主要有三种方法,分别是Non-neural statistical classifier、Simple neural network和More advanced model using LSTMs, attention。
A. Non-neural statistical classifier。统计机器学习方法,抽取每个指代的各种特征,然后用机器学习分类器来计算两个指代是coreference的概率。这里面的特征包括人称、性别一致性,语义相容性等等。
B. Neural Coref Model。输入是候选先行词和当前指代词的词向量,还需要加入一些额外的特征(Additional Feature),也就是上面统计机器学习方法里用到的一些特征。中间是FFNN,即全连接网络,最后输出两个指代是coreference的概率。
C. End-to-end Model。end2end模型是目前指代消解的SOTA模型,它把指代识别和指代消解两个任务融合到一起,用一个模型来解决。