知识图谱融合

Views: --

对应 PPT:第7讲 重点:异构、本体映射、字符串相似度(Dice/Jaccard)、实例匹配、消歧、实体对齐。


1. 知识图谱异构

1.1 背景

  • 不同领域、不同方法、不同语言构建的 KG 大量出现
  • 早期知识工程的理想:“构建一个统一的知识库”——失败
  • 原因:知识体系复杂、主观性、动态演化、跨领域独立构建

结论:知识具有共享性 + 自治性 + 动态性,异构是自然现象,不能完全消除

1.2 异构的 2 大类(必背)

异构类型含义4 小类
语言层异构语法和表述方式异构①语法 ②逻辑 ③元语 ④表达能力
模型层(本体层)异构描述相交/相关领域时的不匹配①概念化不匹配 ②解释不匹配

语言层 4 小类

  • 语法异构:采用不同描述语言(RDF vs OWL)
  • 逻辑异构:逻辑表示不匹配(如不相交:disjoint A B vs A subclass-of (NOT B)
  • 元语异构:同一原语定义不同(如 rdfs:domain 在两处定义不同)
  • 表达能力异构:不同语言表达能力差异

模型层 2 大类

  • 概念化不匹配
    • 概念范围不匹配:同名概念在不同领域含义不同
    • 模型覆盖范围不匹配:建模主观性导致
  • 解释不匹配
    • 范例不匹配:同一概念用不同范例表述
    • 建模术语不匹配:同义术语、多义术语、编码格式不同

1.3 4 层概念辨析(必考)

作用例子
本体层(模型层)抽象概念、属性、公理”哺乳动物” Subclass “动物”
实例层(实体层)具体实体、关系、事实”姚明” 出生于 “上海”
语言层构建 KG 的语法/表述方式RDF、OWL、属性图

DBpedia 数据规模示例:685 概念、2795 属性、423 万实例


2. 知识图谱融合

2.1 为什么需要融合

场景原因
数据清洗构建的 KG 可能存在异构 → 融合是预处理
数据集成需要同时利用多个 KG
重用现有知识避免重复造轮子

2.2 融合的目标

合并多个知识图谱
  ├── 解决本体层匹配
  │   ├── 等价类 / 子类
  │   └── 等价属性 / 子属性
  └── 解决实例层匹配
      └── 等价实例

3. 本体层融合:本体映射

3.1 概念

  • 本体集成:将多个本体合并成 1 个大本体(耗时长、可扩展性差
  • 本体映射:寻找本体间的映射规则(主流

3.2 本体映射过程

① 导入本体:解析、数据清洗、构造基础数据
② 发现映射:相似度计算 + 寻找异构本体间的联系
③ 表示映射:根据应用需求组织映射

3.3 3 大类映射算法

类型思路适用
基于术语比较名称、标签、注释的相似性文本信息丰富
基于结构利用图结构 + 邻居信息文本信息少/不规范
基于实例用实例数据辅助映射有大量实例

4. 基于术语的映射方法

4.1 两子类

子类思路
基于字符串直接比较术语字符串
基于语言借助 NLP(词干、词形、词典)

4.2 4 个字符串相似度度量(必背公式)

① 最小编辑距离

  • 把字符串 A 转成 B 所需的最少编辑操作次数
  • 编辑操作:插入、删除、替换
  • 变种 Wagner-Fisher distance:不同操作不同权重(del, ins, sub)

② 汉明距离

  • 相同长度字符串,对应位置字符不同的个数
  • 例:“1011101” vs “1001001” = 2

③ Dice 系数(必考公式)

Dice(S,T)=2STS+T\text{Dice}(S, T) = \frac{2 |S \cap T|}{|S| + |T|}

计算步骤(用 bigram 二元分词)

例:Lvensshtain vs Levenshtein

  • S = {Lv, ve, en, ns, ss, sh, ht, ta, ai, in}(10 个)
  • T = {Le, ev, ve, en, ns, sh, ht, te, ei, in}(10 个)
  • STS \cap T = {ve, en, ns, sh, ht, in}(6 个)
  • Dice = 2×6 / (10+10) = 0.6

④ Jaccard 系数(必考公式)

Jaccard(S,T)=STST\text{Jaccard}(S, T) = \frac{|S \cap T|}{|S \cup T|}
  • 例:上面例子中 STS \cup T = 14 个元素
  • Jaccard = 6 / 14 = 0.429

速记:Dice 重视交集(×2),Jaccard 重视并集。

4.3 字符串匹配器

  • Edit Distance、TF-IDF + Cosine、Jaro-Winkler、SoftTFIDF 等

4.4 基于语言的方法

子类思路工具
内部方法利用词语形态和语法词干提取(Stemming)、lemmatization
外部方法利用词典等外部资源WordNet、HowNet

5. 基于结构的映射方法

5.1 核心思想

相似度传播模型:元素的邻居相似,则元素本身也相似。

5.2 Fixpoint Computation(期末爱考)

  • 已知两个本体 A, B
  • 假设 σ(x,y)0\sigma(x, y) \geq 0 表示 xAx \in AyBy \in B 中对应实体的相似度
  • 步骤
    1. 初始化σ(a,b)=1\sigma(a, b) = 1,其他为 0
    2. 迭代计算:根据邻居相似度更新 σ\sigma
    3. 停止条件:n 轮迭代后,残差向量 Δ(σn,σn+1)ϵ\Delta(\sigma_n, \sigma_{n+1}) \leq \epsilon

5.3 适用场景

  • 文本信息少、文本信息不规范、文本编码不一致、跨语言匹配
  • 弱信息场景的有效方法

5.4 问题

  • 相似度传播模型无法衡量边之间的相似性 → 改进:考虑边属性

6. 实例层的融合与匹配

6.1 核心术语(必背 5 个)

术语定义例子
指代(mention)对真实世界实例的某种描述方式ID、名字、URI
匹配(match)判断两个指代是否描述同一实例e1 = e2 ?
实例匹配对 KG 中实例进行匹配的过程
命名实体消歧实体指称 → 真实世界实体”苹果” → 公司/水果
命名实体链接(NEL)文本中实体提及 → KG 中无歧义实体m ∈ M → e ∈ E
实体对齐(EA)两个 KG 中含义相同的实体e1G1e_1 \in G_1e2G2e_2 \in G_2 含义相同

关系:实体消歧 ⊂ 实体链接 ⊂ 实体对齐(范围从小到大)。

6.2 2 大挑战(必背)

现象含义例子
多义(polysemy)一个指代对应多个实体”苹果” = 公司/水果
同义(synonym)一个实体有多个指代”北航” = “北京航空航天大学”

6.3 实例层融合方法(3 大类)

基于规则    → 人工写规则,置信度
基于分治    → 聚类/倒排索引先分块,再块内匹配
基于机器学习 → 表示学习 + 聚类

7. 基于规则的实例匹配

7.1 思路

  • 从已知匹配种子学属性等价 → 推导实例等价
  • 例(CIKM 2012):
    • 属性等价:rdfs:label ≈ gs:hasCommonName
    • 属性等价:foaf:name ≈ gs:hsCanonicalName
    • 属性等价:dbpedia:phylum ≈ gs:inPhylum
  • 推导规则:
    • e1,p1,o1\langle e_1, p_1, o_1 \ranglee2,p2,o2\langle e_2, p_2, o_2 \rangle,且 p1p2p_1 \simeq p_2o1o2o_1 \simeq o_2e1e2e_1 \simeq e_2(等价实例)

优点:可解释。缺点:依赖人工。

7.2 文本匹配器(TF-IDF + 余弦)

TF-IDF 算法 8 步(PPT 经典例题):

① 分词
② 列所有词
③ 计算每词词频(TF)
④ 计算每词逆文档频率(IDF)= log(总文档数 / 含该词的文档数)
⑤ 计算 TF-IDF = TF × IDF
⑥ 选 TF-IDF Top-N 作为关键词
⑦ 构建词频向量
⑧ 计算余弦相似度

TF 公式

TF(t,Di)=词 t 在文档 Di 中出现次数文档 Di 总词数TF(t, D_i) = \frac{\text{词 } t \text{ 在文档 } D_i \text{ 中出现次数}}{\text{文档 } D_i \text{ 总词数}}

IDF 公式

IDF(t)=logN{i:tDi}IDF(t) = \log \frac{N}{|\{i : t \in D_i\}|}

PPT 例题:“我喜欢看小说” vs “我不喜欢看电视,也不喜欢看电影”

  • 关键词 A:{我、喜欢、小说};关键词 B:{电视、电影、不}
  • 向量 A = [1 1 1 0 0 0],向量 B = [1 2 0 1 1 2]
  • cos θ = 3/√33 ≈ 0.5222

8. 基于分治的实例匹配

8.1 核心思想

分块减少匹配计算量。把”所有实例两两比”变成”块内实例两两比”。

8.2 两种分块方式

方式思路例子
基于属性规则用某个属性值划分用”姓的首字母”分块
基于倒排索引(VMI)清华提出,先建倒排索引再分块见下

8.3 VMI 算法(清华)

3 个向量

  • 名称向量:分词 + 词频向量(基于 rdfs:label
  • 邻居信息向量 NBI:互为邻居的实例(互为属性值)
  • 本地描述向量 LD:描述性属性(性别、邮件)

分块规则

  • 规则 1:名称向量维数都 > 5,且至少 2 个关键词相同
  • 规则 2:名称向量维数都 < 5,且至少 1 个关键词相同
  • 规则 3:虚拟文档向量至少 1 个相同关键词

匹配:加权求和名称相似度 + 虚拟文档相似度 → 阈值过滤。


9. 基于机器学习的实例匹配

9.1 AMiner 作者消歧(KDD 2018)

任务:同名作者消歧

3 个步骤

① 全局度量学习(Global Metric Learning)

  • Word2vec 获得每篇文章每特征的嵌入 x~n\tilde{x}_n
  • 文章嵌入 xi=xnDianx~nx_i = \sum_{x_n \in D_i} a_n \tilde{x}_nana_n = IDF 权重)
  • 三元组损失:正对 (Di,Di+)(D_i, D_i^+) 靠近、负对 (Di,Di)(D_i, D_i^-) 远离

② 局部链接图(Local Linkage Graph)

  • 构建图 Ga=(Da,Ea)G_a = (D_a, E_a)
  • 节点 = 文章,边 = 共享特征相似度 W(Di,Dj)>W(D_i, D_j) > 阈值
  • 图自编码器 Z=g1(Y,A)Z = g_1(Y, A) → 局部表示 ziz_i

③ 聚类

  • 聚类数目 h,每个聚类 = 1 个真实作者

9.2 实体对齐案例:OAG(清华 KDD 2019)

OAG(Open Academic Graph) = MAG(微软学术) + AMiner(清华) 合并,亿级。

挑战(3 个)

  1. 实体异构:作者名格式不同(“Quoc Le” vs “Le, Quoc”)、发表地点全称/缩写
  2. 实体歧义:AMiner 中 10000+ 个 “Jing Zhang”,MAG 中 7000+
  3. 大规模匹配:各自 ~2 亿篇论文

LinKG 框架(3 个匹配模块)

模块方法
出版地点匹配全名直接匹配 + LSTM 处理语序倒置和多前缀/后缀
论文匹配LSH(局部敏感哈希)快速匹配 + CNN 精确匹配(相似度矩阵 → 卷积 → MLP → softmax)
作者匹配HGAT(异构图注意力网络)在子图上判断作者对是否匹配

9.3 重要概念:HGAT

HGAT = Heterogeneous Graph Attention Network 异构图注意力网络——在异构图(不同类型节点和边)上用注意力机制学节点表示。


10. 知识融合案例

10.1 学术知识图谱融合

  • Schema 局部(学术活动、论文信息、学者族谱)
  • 解决方案:基于半监督学习的大规模学术 KG 消解
  • 候选匹配集合的确定:名字消解判定规则
  • 对结构信息的利用:学术社群发现
  • 基于学术社群的自学习消解
  • KDD-CUP 2013 评测结果

10.2 OpenKG 百科知识融合

  • OpenKG 收录 291 个中文数据集
  • 已融合 Zhishi.me、CN-DBpedia、PKU-PIE、Belief Engine
  • 链接结果:http://openkg.cn/dataset/links-encyclopedia

11. 本章脑图

知识图谱融合
├── 异构(语言层+模型层)
│   ├── 语言层:语法/逻辑/元语/表达
│   └── 模型层:概念化/解释
├── 本体层融合
│   ├── 本体映射(导入→发现→表示)
│   └── 3 类算法
│       ├── 术语(字符串相似度)
│       │   ├── 最小编辑距离
│       │   ├── 汉明距离
│       │   ├── Dice 系数 = 2|S∩T|/(|S|+|T|)
│       │   └── Jaccard 系数 = |S∩T|/|S∪T|
│       ├── 结构(相似度传播 / Fixpoint)
│       └── 实例

└── 实例层融合
    ├── 术语:指代/匹配/消歧/链接/对齐
    ├── 3 类方法
    │   ├── 规则(属性等价推导)
    │   │   └── 文本匹配:TF-IDF + 余弦
    │   ├── 分治(分块)
    │   │   └── VMI:倒排索引+名称/虚拟文档向量
    │   └── 机器学习
    │       ├── AMiner 消歧:全局度量+局部链接图+聚类
    │       └── OAG 实体对齐:LinKG 3 模块
    │           ├── 出版地点:LSTM
    │           ├── 论文:LSH+CNN
    │           └── 作者:HGAT
    └── 案例:学术 KG 融合、OpenKG 百科