表示学习与嵌入
第 26 章 · 知识图谱
把实体和关系「压」成向量 ,就能用距离或相似度做链接预测、检索和各类下游任务——这就是知识图谱嵌入(Knowledge Graph Embedding, KGE) 。TransE 用「h + r ≈ t」的平移假设;RotatE 用复数旋转建模对称与反对称关系;ComplEx 用复数内积同时刻画对称/反对称与逆关系。学到的嵌入既可做补全与检索 ,也可与预训练语言模型 结合,做知识增强的表示。本章介绍 KGE 思路、TransE/RotatE/ComplEx 等代表模型、嵌入的应用、以及 KG 与 LM 的结合。
一、知识图谱嵌入(KGE)概述
知识图谱嵌入 的目标是:为每个实体和关系学习一个低维向量表示 ,使得「真实成立」的三元组 (h, r, t) 在向量空间中有较高的得分 ,不成立的有较低得分。得分由得分函数 φ(h, r, t) 定义,不同模型对应不同的 φ。
训练时使用正样本(图中的三元组)与负样本(随机替换头或尾得到的假三元组),通过排序损失 (如 margin-based、负采样交叉熵)或交叉熵 让正样本得分高于负样本。预测时对候选 (h, r, t') 或 (h', r, t) 计算 φ 并排序,用于链接预测。嵌入维度、负采样数量、正则化等是常见超参数。
KGE pipeline: triple to embedding to score
(h, r, t)
triple
Embed
h, r, t → vectors
Score φ
e.g. −‖h+r−t‖
Rank
/ Loss
Train: positive triples + negative samples (replace h or t); minimize margin loss or cross-entropy
Predict: score all candidates, sort by φ; use for link prediction, retrieval, downstream tasks
KGE: triple → embed → score function φ(h,r,t) → train & rank
KGE 流程:三元组 → 嵌入 → 得分函数 → 训练/排序
二、TransE、RotatE、ComplEx 等代表模型
TransE :假设关系 r 对应一个平移 ,即 h + r ≈ t。得分函数为 φ = −‖h + r − t‖(L1 或 L2),得分越高表示三元组越可信。简单高效,但对 1-N、N-1、N-N 等复杂关系模式建模能力有限。
RotatE :在复数空间 中把关系表示为旋转:t ≈ h ◦ r(◦ 为逐元素复数乘法,即旋转)。能自然表达对称、反对称、逆关系与组合关系。得分函数为 φ = −‖h ◦ r − t‖。
ComplEx :用复数向量 表示实体与关系,得分函数为 Re(⟨h, r, t̄⟩)(三元复数内积的实部)。可同时建模对称、反对称与逆关系,且参数量适中。还有 DistMult(实部特例)、RESCAL 等变体。
TransE: φ = −‖h + r − t‖ | RotatE: φ = −‖h ◦ r − t‖ | ComplEx: φ = Re(⟨h, r, t̄⟩)
TransE
h + r ≈ t; translation; simple, weak on 1-N/N-N.
RotatE
Rotation in complex space; symmetric, inverse, composition.
ComplEx
Complex inner product; symmetric/antisymmetric/inverse.
Others
DistMult, RESCAL, R-GCN, ConvE, etc.
TransE vs RotatE: translation vs rotation
TransE: h + r → t
h
r
t
translation in space
RotatE: h ◦ r → t
h
◦r
t
rotation (complex)
TransE: one vector r per relation; RotatE: relation = rotation (phase); ComplEx: score = Re(<h,r,t̄>) in complex space
Different score functions capture different relation patterns (symmetric, inverse, composition); choose by dataset and task
Extensions: ConvE (CNN on h,r), R-GCN (GNN), box embeddings, etc.
Left: TransE translation. Right: RotatE rotation. Both map (h,r,t) to a scalar score.
TransE 用平移 h+r→t;RotatE 用复数旋转 h◦r→t;ComplEx 用复数内积
三、嵌入用于补全、检索与下游任务
链接预测(补全) :对 (h, r, ?) 或 (?, r, t) 给候选实体打分排序,取 Top-k 作为预测结果;上一章已述。
检索 :实体嵌入可用于实体检索 (按语义相似度找相近实体);关系嵌入可用于关系聚类或检索。三元组嵌入也可用于「与 (h,r,t) 最相似的三元组」检索。
下游任务 :将实体或关系的嵌入作为特征输入到分类、推荐、问答、对话等模型;或与图神经网络结合做节点分类、图分类。嵌入提供稠密、可微的表示,便于与神经网络端到端训练。
应用小结
Completion: rank candidates for link prediction. Retrieval: entity/relation similarity search. Downstream: use embeddings as features for classification, QA, recommendation, GNN, etc.
四、与预训练语言模型的结合
知识图谱与预训练语言模型(LM) 的结合大致有几类:KG 增强 LM ——在预训练或微调时注入实体/关系信息(如 ERNIE、K-BERT、KEPLER),让模型「知道」实体间关系;LM 增强 KG ——用 LM 生成实体描述或关系解释,再与嵌入融合;联合表示 ——同一空间表示文本与 KG 实体,用于检索或对齐。
典型做法:用 LM 编码实体名称或描述得到文本向量,与 KGE 向量拼接或对齐;或在 LM 的注意力中引入「实体-关系」偏置。这样既保留 KG 的结构信息,又利用 LM 的语言与上下文能力,适合需要「文本+知识」的问答、推荐与推理任务。
KG and pretrained language model combination
KG Embedding
Entity / relation vectors
Structure, link prediction
Pretrained LM
Text, context, semantics
BERT, GPT, etc.
Fuse
ERNIE
K-BERT
KG-enhanced LM: inject entity/relation into LM (e.g. entity embedding + attention); LM-enhanced KG: use LM for description, align with KGE
Joint space: align text and KG embeddings for retrieval, QA, reasoning. Enables knowledge-aware NLU and generation.
KG + LM: combine structure (KGE) and language (LM) for downstream tasks
KG 嵌入与预训练 LM 融合:KG 提供结构,LM 提供语言;融合用于知识增强的表示与下游任务
一句话: KGE 将实体与关系映射为向量,用得分函数 φ(h,r,t) 衡量三元组可信度。TransE (h+r≈t)、RotatE (复数旋转)、ComplEx (复数内积)等模型各有适用关系模式。应用 :补全、检索、下游分类/推荐/QA。与 LM 结合 :KG 增强 LM(ERNIE、K-BERT)、LM 增强 KG、联合表示,实现知识感知的文本理解与生成。
实践: 用 PyKEEN 或 OpenKE 在 FB15k-237 上训练 TransE 与 RotatE,比较 MRR 与 Hit@10;再尝试用学到的实体嵌入做「与实体 x 最相似的 Top-5 实体」检索,观察语义是否合理。
五、小结
知识图谱嵌入 学习实体与关系的向量表示及得分函数;TransE、RotatE、ComplEx 等代表模型适用于不同关系模式。嵌入 用于链接预测、检索与下游任务;与预训练 LM 结合 可做知识增强的表示与应用。下一章进入知识图谱在搜索与问答中的应用 :实体卡片、知识面板、KBQA 与多跳推理。
← 返回目录
上一章:知识图谱补全与链接预测
下一章:知识图谱在搜索与问答中的应用 →