Introduction to AI: Knowledge Graphs

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

概念

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

组成:

显然为了确定一种联系,我们需要一个三元组形式<节点,边,节点>,即为<实体,关系,实体>,因此知识图谱以三元组的形式保存。

研究历程

起源于符号主义,从知识工程到知识图谱,克服了专家系统的缺点
大数据+知识图谱的特点:

应用场景

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

构建与应用

知识抽取

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

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

方法:

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

方法:

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

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

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

知识表示

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

逻辑表示法

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

基本成分:

形式演绎推理: 过程为命题符号化、等价变换为已有知识可推出的形式、利用逻辑蕴含式(已有知识)推出结论

产生式表示法
框架表示法
向量表示法

通过向量描述实体

怎么描述关系?

基于平移的模型:

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

GNN(图神经网络)

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

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

表示:

核心:聚合邻居节点的特征来学习中心节点的表示 $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)})\]

排列不变性:

Enjoy Reading This Article?

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

  • Computer Vision: Image Generation
  • Computer Vision: Multi-View Stereo (MVS)
  • Computer Vision: Structure from Motion (SFM)
  • Introduction to AI: Statistical Language Models and Word Representation
  • Introduction to AI: RNN and Transformer