知识图谱嵌入与法律文本上位关系挖掘
发布时间: 2025-08-17 01:29:16 阅读量: 1 订阅数: 3 

### 知识图谱嵌入与法律文本上位关系挖掘
#### 1. 知识图谱嵌入模型概述
语义匹配模型通过基于乘积的函数对嵌入进行操作以获得得分。不同的模型在实体和关系的表示以及得分计算方式上有所不同:
- **RESCAL**:将每个实体表示为向量,每个关系表示为矩阵,通过 $f_r(h, t) = h^{\top}M_r t$ 来定义三元组的得分,与 TransE 中的平移距离不同。
- **DistMult**:为了减少参数数量,用对角矩阵替代了 RESCAL 中的关系矩阵。
- **ComplEx**:引入复值嵌入,扩展了 DistMult,能更好地建模不对称关系。
- **MLP**:先将实体和关系的嵌入映射到隐藏表示,然后通过点积获得得分。
- **ConvKB**:使用卷积神经网络(CNN)生成特征图,再通过点积计算得分。
部分常见模型的得分函数如下表所示:
| 模型 | 得分函数 $f(h, r, t)$ |
| --- | --- |
| TransE | $-\|v_h + v_r - v_t\|_{1/2}$ |
| ComplEx | $Re (\langle v_h, v_r, v_t \rangle)$ |
| DistMult | $\langle v_h, v_r, v_t \rangle$ |
| MLP | $w^{\top}\tanh (M_1h + M_2r + M_3t)$ |
| ConvE | $f(vec(f([r, h] * \Omega))W)t$ |
| RotatE | $-\|h \circ r - t\|_2$ |
#### 2. 提出的模型
知识图谱 $G$ 可看作是包含有效三元组 $(h, r, t)$ 的集合,其中 $h, t \in E$,$r \in R$,$E$ 是实体集合,$R$ 是关系集合。每个嵌入模型的目标是为三元组定义得分,使有效三元组的得分高于无效三元组。
我们有实体查找表 $E \in R^{|E|×d}$ 和关系查找表 $R \in R^{|R|×d}$,$d$ 表示嵌入大小。对于给定的三元组 $(h, r, t)$,操作步骤如下:
1. 使用 $h$ 和 $r$ 在实体表和关系表中查找对应的嵌入,得到矩阵 $L = [v_h, v_r] \in R^{d×2}$。
2. **多头部注意力机制**:给定查询向量矩阵 $Q \in R^{n×d}$、键矩阵 $K \in R^{n×d}$ 和值矩阵 $V \in R^{n×d}$,多头部注意力根据以下公式计算注意力得分:
- $F = MultiHead(Q, K, V ) = Concat (head_1, ..., head_h) W^O$
- $head_i = Att (QW^Q_i, KW^K_i, VW^V_i) = f (\frac{(QW^Q_i)(KW^K_i)^{\top}}{\sqrt{d}})(VW^V_i)$
这里 $Q, K, V$ 相同且等于 $L^{\top}$,$f$ 是 softmax 函数,$\frac{1}{\sqrt{d}}$ 是缩放因子,注意力层的输出是矩阵 $F \in R^{2×d}$。使用 $\frac{k}{2}$ 个多头部注意力层,将这些层的输出与 $L$ 拼接后得到输入矩阵 $I \in R^{d×(k + 2)}$。
3. **CNN 替代方案**:也可以用 CNN 替代多头部注意力层来获得输入矩阵 $I$。将嵌入矩阵 $L$ 输入到 CNN 中,使用 $k$ 个形状为 $[f_h, 2]$ 的滤波器,每个滤波器产生大小为 $[d + 2n_p - f_h + 1, 1]$ 的特征图($n_p$ 是零填充数量,确保特征图高度为 $d$),将这些特征图与 $L$ 拼接得到 $I \in R^{d×(k + 2)}$。
4. **全连接层处理**:
- 将输入矩阵 $I$ 输入到全连接层(FC):$\overline{I} = f (I^{\top}W^i + b^i)$,其中 $W^i \in R^{d×d}$ 是权重矩阵,$b^i \in R^{d}$ 是权重向量,$f$ 是激活函数。
- 将实体表 $E$ 输入到 FC:$\overline{E} = f (EW^e + b^e)$,其中 $W^e \in R^{d×d}$ 是权重矩阵,$b^e \in R^{d}$ 是权重向量,$f$ 是激活函数。
5. **交互矩阵计算**:采用向量点积作为交互函数,交互矩阵 $D = \overline{E} \overline{I}$,$D \in R^{|E|×(k + 2)}$,$D$ 的 $(i, j)$ 项是 $\overline{E}$ 的第 $i$ 行和 $\overline{I}$ 的第 $j$ 列的点积,表示第 $i$ 个实体和 $\overline{I}$ 的第 $j$ 个特征之间的匹配得分。
6. **实体对数计算与概率归一化**:
- 为了得到所有实体的对数,先将 $D$ 输入到 FC:$\overline{D} = f (DW^d + b^d)$,其中 $W^d \in R^{(k + 2)×(k + 2)}$ 是权重矩阵,$b^d \in R^{(k + 2)}$ 是权重向量,$f$ 是激活函数。
- 采用点积进行聚合(为简单起见,更复杂的聚合策略留作未来工作):$l = \overline{D}w^a$,其中 $w^a \in R^{(k + 2)×1}$ 是可训练参数,$l \in R^{|E|×1}$ 是所有实体
0
0
相关推荐








