赞
踩
知识融合目标是融合各个层面(概念层、数据层)的知识,在合并两个知识图谱(本体)时,需要确认:
相关的术语:(不同维度的描述)
数据层的知识融合主要强调实体的知识融合
最主要的工作:实体对齐,即找出等价实例
下图是将猫王从YAGO
和ElvisPedia
进行融合的例子。
最主要的工作:实体对齐,即找出等价实例,图中的sameAs就是融合的关键步骤。
来源于不同知识库的“自由女神像”
示例:实体——扑热息痛
此外,还有跨语言等的知识融合。
Schema层的融合主要强调概念和属性等的融合。
示例:医疗知识图谱——如将中文医疗知识图谱与UMLS体系结构概念等的融合
知识融合需要:
注意:知识融合并不是合并两个知识图谱,而是发现两个知识图谱之间的等价实例、等价或为包含关系等概念或属性。
知识融合的主要技术挑战:
OAEI (Ontology Alignment Evaluation Initiative)本体对齐竞赛:用来评估各种本体对齐算法,以达到评估、比较、交流以及促进本体对齐工作的目的。
OAEI每年举办一次,结果公布在官网上。
Tracks:
知识融合一般分为两步:本体对齐 和 实体匹配,因为两者相关性,方法思路如下:
==》Pipeline方法、Joint方法
它们的基本流程相似,如下:
数据预处理阶段:原始数据的质量会直接影响到最终链接的结果,不同的数据集对同一实体的描述方式往往是不相同的,对这些数据进行归一化处理是提高后续链接精确度的重要步骤。
数据预处理相关技术:
假设两个实体的记录 x x x 和 y y y , x x x 和 y y y 在第 i i i 个属性上的值是 x i , y i x_i,y_i xi,yi,那么通过如下两步进行记录链接:
计算属性相似度的方法:编辑距离(基于字符)、集合相似度计算 和 基于向量的相似度计算。
Levenshtein distance (最小编辑距离):
Lvensshtain
转换成Levenshtein
Lvensshtain
转换成Levenshtein
,总共的操作 3 次,编辑距离也就是 3。Wagner and Fisher distance:(Levenshtein 的扩展)
del
和 ins
以及 sub
分别是删除、插入和替换的代价。Edit Distance with affine gaps:引入 gap penalty 概念
https://en.wikipedia.org/wiki/Gap_penalty
www.cs.cmu.edu/~ckingsf/bioinfo-lectures/gaps.pdf
Lvensshtain
转换成Levenshtein
Dice 系数——度量两个集合的相似性
Lvensshtain
转换成Levenshtein
为例
Jaccard 系数:
文本转换为集合:
n-gram
分割单词,用 n-gram
分割句子来构建集合Lvensshtain
分割为 {Lv},{ve},...,{in}
TF-IDF:
健康
的有2万篇,现有一篇文章,共1000个词, 健康
出现30次,则
T
F
−
I
D
F
=
30
/
1000
×
log
(
50000
/
(
20000
+
1
)
)
=
0.012
TF−IDF=30/1000 \times{\log(50000/(20000+1))}=0.012
TF−IDF=30/1000×log(50000/(20000+1))=0.012实体相似度的方法:聚合(加权平均、手动制定规则、分类器)、聚类(层次聚类、相关性聚类、Canopy + K-means)和表示学习。
相似度得分向量: [ s i m ( x 1 , y 1 ) , . . . , s i m ( x N , y N ) ] [ sim(x_1, y_1),..., sim(x_N, y_N)] [sim(x1,y1),...,sim(xN,yN)]
常用方法:
存在问题:
解决方法:
层次聚类 (Hierarchical Clustering) :
相关性聚类:
Canopy + K-means:
知识嵌入:
预链接的实体对
分块:从给定的知识库中的所有实体对中,选出潜在匹配的记录对作为候选项,并将候选项的大小尽可能的缩小。
动机:为了使数据可以分而治之,使每一块较小的同时要保证覆盖率,让显然不需要链接的、不相关的实体排除在block外。为了在保证覆盖率的情况下来减少精确匹配的必要性。
常用分块方法:
负载均衡 (Load Balance):来保证所有块中的实体数目相当,从而保证分块对性能的提升程度。
最简单的方法:多次 Map-Reduce 操作。
评价指标:
Falcon-AO:是一个基于Java的自动本体匹配系统,已经成为 RDF(S) 和 OWL 所表达的 Web本体 相匹配的一种实用和流行的选择。
其系统架构如下:
Dedupe:用于模糊匹配,记录去重和实体链接的Python库。
主要内容:属性的定义。Dedupe的输入需要指定属性的类型,在内部为给每个属性类型指定一个谓词集合以及相似度计算方法。
示例:下图是对 比尔盖茨
的 name
属性的简单描述,将每个属性都映射上去,会形成一个大的谓词集合。
训练Blocking :通过 Red-Blue set cover 找到最优谓词集合来分块。
最优谓词集合至少能覆盖95% (可以指定)的正样本对,负样本对被误分到同一个block中越少越好。
使用用户标记的正负样本对训练LR模型,来进行分类。
LR不能确定的会返回给用户进行标注(Active Learning)。
Limes:一个基于度量空间的实体匹配发现框架,适合于大规模数据链接,编程语言是Java。
整体框架:
流程:
- 三角不等式过滤: 给定 ( A , m ) (A, m) (A,m), m m m 是度量标准,相当于相似性函数, A A A 中的点 x , y x,y x,y 和 z z z
相当于三条记录,根据三角不等式有: m ( x , y ) ≤ m ( x , z ) + m ( z , y ) m(x, y) \le m(x, z) + m(z, y) m(x,y)≤m(x,z)+m(z,y) 上式通过推理可以得到:
m ( x , y ) − m ( y , z ) > θ → m ( x , z ) > θ m(x,y) - m(y, z)>\theta \rightarrow m(x, z)> \theta m(x,y)−m(y,z)>θ→m(x,z)>θ
其中, y y y 相当于样本点。因为样本点 E E E 的数量是远小于目标数据集 T T T 的数量,所以过滤这一步会急剧减少后续相似性比较的次数,因而对大规模的Web数据,这是非常高效的算法。
推理式说明 m ( x , z ) > θ m(x, z) > \theta m(x,z)>θ 的计算可以省去。
Silk:An open source framework for integrating heterogeneous data sources.
整体框架
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。