知识图谱

知识图谱的概念、构建方法与应用,包括知识抽取、表示学习与 GNN

概念

知识图谱旨在利用图结构建模、识别和推断出事物之间的复杂关联关系和沉淀领域知识。本质上是一种大规模语义网络。

组成

研究历程

起源于符号主义,从知识工程到知识图谱,克服了专家系统的缺点。

大数据+知识图谱的特点:

应用场景

辅助搜索、辅助问答交互、辅助推荐系统、辅助大数据分析、辅助视觉理解……

构建与应用

知识抽取

从非结构化或半结构化的数据(如文本、网页、数据库等)中自动识别并提取出有意义的结构化知识的过程。是构建知识图谱的关键步骤。

实体抽取:从文本中抽取实体信息元素

方法:

关系抽取:从文本中抽取出两个或多个实体之间的语义关系

方法:

指标 含义 高值代表什么
Precision 预测为“关系”的结果中,有多少是对的 模型判断更准确
Recall 所有真正的关系中,模型找出来了多少 模型更“全面”
F1 综合考虑准确性和覆盖率 模型总体质量更好

事件抽取:从文本中获得发生的事情

事件抽取分为事件发现和分类、事件要素提取两个过程

知识表示

为了表示复杂的关系、事件等自然语言成分,我们引入了知识表示(KR)的概念。将抽取到或已有的知识,转化为一种可以被计算机理解、存储、推理和操作的形式(如图结构、逻辑语言等),进而进行推理等应用。

逻辑表示法

一阶谓词逻辑(经典逻辑),最常用也最精准 基本成分

产生式表示法

框架表示法

向量表示法

通过向量描述实体 怎么描述关系? 基于平移的模型: 自然语言空间中属性差别相近的实体,其词向量差在词向量空间中呈现平移不变性,受到启发,也许可以使用向量差作为关系的向量化表达。详见对于向量差作为实体关系的研究

GNN(图神经网络)

对于知识图谱的构建,我们看到需要在一张”图”中进行学习,那么对于这种数据结构,通常使用GNN。

目标:学习节点的表示或全图的表示(包括节点自身的特征与图的连接特征)。

表示

\[\begin{aligned} V & \text{为节点集合} \\ A & \in \{0,1\}^{|V|\times|V|} \text{ 为邻接矩阵(} A_{ij} \text{ 表示节点 i,j 存在边)} \\ X & \in \mathbb{R}^{|V|\times d} \text{ 为节点特征矩阵} \\ v & \in V \text{ 为节点,} N(v) \text{ 是 } v \text{ 邻居节点的集合,} d \text{ 为特征维度} \end{aligned}\]

核心:聚合邻居节点的特征来学习中心节点的表示。

$A \times X$ 即为最简单的一种方式,用中心节点所有邻居节点的特征和作为中心节点的表示。可见最关键的就是设计不同的聚合方式

消息聚合

多层GNN

计算消息

节点传出消息的公式模型为:

\[m_v^{(l)} = \sum_{u \in \mathcal{N}(v)} \text{Message}^{(l)}(h_v^{(l-1)}, h_u^{(l-1)}, e_{uv})\]

接收节点再通过更新函数(Update Function)结合节点自身的状态更新节点特征:

\[h_v^{(l)} = \text{Update}^{(l)}(h_v^{(l-1)}, m_v^{(l)})\]

排列不变性:GNN 不依赖节点顺序,下一个节点的邻居总是固定的。

Enjoy Reading This Article?

Here are some more articles you might like to read next:

  • 计算机视觉-图像生成模型
  • 计算机视觉-Multi-View Stereo (MVS)
  • 计算机视觉-Structure from Motion (SFM)
  • 自然语言处理-统计语言模型与词表示
  • 自然语言处理-RNN&Transformer