1. 评分函数的定义和作用
知识图谱评分函数(Scoring Function for Knowledge Graphs) 是知识图谱嵌入技术中的核心部分。在知识图谱中,三元组( h h h, r r r, t t t)表示两个实体 h h h (头实体)和 t t t (尾实体)通过关系 r r r 连接。评分函数的作用是为每个三元组分配一个分数,该分数反映三元组中实体与关系是否符合逻辑。
- 正例三元组:三元组是正确的,例如“比尔·盖茨创立了微软”,评分函数应给予高分。
- 负例三元组:三元组是错误的或不存在的,例如“比尔·盖茨创立了谷歌”,评分函数应给予低分。
2. 评分函数的使用场景
评分函数广泛应用于以下知识图谱任务:
- 链接预测(Link Prediction):预测知识图谱中可能缺失的关系或实体。例如,预测“某人”可能“创立了某公司”。
- 知识补全(Knowledge Completion):自动补充知识图谱中的缺失信息,例如补全“创立了”的公司创始人。
- 三元组分类(Triple Classification):判断某个三元组是否为正确的事实。
3. 常见的评分函数类型
评分函数通常分为两大类:基于距离的评分函数和基于相似性的评分函数。不同的评分函数采用不同的方式来评估实体和关系的匹配度。
a. 基于距离的评分函数
这类评分函数的核心思想是:通过计算实体和关系嵌入向量之间的距离,来评估三元组的合理性。距离越小,表示三元组越合理。
i. TransE
TransE 是一种最简单的评分函数之一。它的基本假设是:关系可以看作从头实体到尾实体的“平移”,即对于一个三元组 ( h , r , t ) (h, r, t) (h,r,t),要求头实体和关系的向量之和接近尾实体的向量:
h + r ≈ t h + r \approx t h+r≈t
- 评分函数:
f ( h , r , t ) = ∥ h + r − t ∥ 2 f(h, r, t) = \| h + r - t \|_2 f(h,r,t)=∥h+r−t∥2
其中, h h h、 r r r、 t t t 分别是头实体、关系、尾实体的嵌入向量, ∥ ⋅ ∥ 2 \| \cdot \|_2 ∥⋅∥2 是 L 2 L2 L2 范数(即欧氏距离)。 - 优点:计算简单,适用于一对一关系(如“国籍”)。
- 缺点:对于复杂关系(如一对多或多对多关系)处理效果较差。
ii. TransH
TransH 是对 TransE 的改进,解决了一些复杂关系(如一对多、多对多关系)的问题。TransH 假设每个关系 r r r 存在一个超平面,实体可以在该超平面上进行投影,使得关系映射更具表现力。
- 评分函数: