KG子任务划分

首先我们需要考虑的是目前的搜索存在的问题。

当我们打开一个搜索引擎的时候,目前其实是想得到答案。然而,现在的互联网是一个基于HTML的网页结构以及相互直接通过URL相互链接。这种链接中有太多的无用信息,在其中寻找所需的信息往往是一个费时费力的过程。基于知识图谱的问答或搜索系统,可以从一定程度上解决这个问题。

KG的本质

  • Web角度:像建立文本之间的超链接一样建立数据之间的语义链接,并支持语义搜索
  • NLP视角:怎样从文本中抽取语义和结构化数据
  • KR视角:怎样利用计算机符号来表示和处理知识
  • AI视角:怎样利用知识库来辅助理解人的语言
  • DB视角:用图的方式去存储知识

传统KE的问题

传统知识工程在规则明确、边界清晰、应用封闭的应用场景取得了巨大成功。缺点是体系是自上而下的:严重依赖专家和人的干预

解决方式:大规模自动知识获取 。基于大数据、ML,充分利用现代计算机的强大算力,从大量数据中自动进行信息挖掘。

这种数据驱动的知识获取是自下而上的,以维基百科页面内容为例:

graph LR

A[Wikipedia] -->B(预处理器 
schema定义
训练数据构造) B --> C{是否分类} C -->|未分类| D[分类器
文本,句法分类] C -->|已分类| E[抽取器
CRFmodel] D --> E E --> F[infobox]

以其为基础建立的数据库有:YAGO、 CN-DBpedia(以后仔细学习下API)等

知识图谱富含实体、概念(is)、属性(has)、关系等信息。以RDF或图的形式存储

领域知识图谱的三个问题:

需要哪些业务知识? ——分析实际应用需求

已有知识如何用最好的方式在计算机中存储?——建立从数据到知识库中实体、概念、关系的映射

如何基于问题寻求答案?—— 利用知识库中实体、概念、 关系解释现象的过程

知识表示

怎样用计算机符号来表示人脑知识,及如何用符号运算进行推理

基于数理逻辑的知识表示

现在主流的是RDF:

  • RDF三元组语义模型
  • RDF图:有向标记图——存整图(多元关系)
  • RDFS: 更加细分

通过OWL(本体论)对RDF模式进行拓展,能表示更复杂的类和属性

基于向量空间学习的分布式知识表示

在保留语义的同时,将KG中的实体和关系映射到连续的稠密和低维向量空间。

KG-Emdedding: 要用到张量分解、神经网络、距离模型等知识

知识抽取

  1. 文本预处理
  2. 分词,词性标注,语法解析,依存分析
  3. 命名实体识别,实体链接
  4. 关系抽取,事件抽取

抽取方法

  • 知识工程: 用正则表达式、模板匹配、规则约束——人工干预较多
  • 基于本体的抽取:对应KR中的图、Embedding—— 主要是为了后续知识推理
  • 基于模型的抽取:模型有SVM/Logistic/CRF/LSTM 等,训练有有监督学习、无监督聚类、远程监督——自学习

知识存储

用关系型数据库存抽取完的三元组数据,然后导入到图数据库中是主流做法,不做深入对比。

知识问答

问句 –> 语义解析 –> 问题语义表示

语义表示方法:

  • 基于符号
  • 基于问题模板
  • 基于子图
  • 基于分布式

知识推理

有些问题并不是一步就可以获得答案的,需要进行多步推理才能知道。

按解决方法分类:

  • 基于描述逻辑:本体推理
  • 基于统计规则挖掘
    • 基于路径排序学习方法(PRA)
    • 基于关联规则挖掘犯法(AMIE)
  • 基于表示学习与神经网络: 将实体和关系都表示为向量,用向量计算代替图遍历