领域知识图谱技术概览

一、 领域知识图谱的特点

与搜索引擎、百科等通用领域知识图谱不同,在垂直应用领域的知识图谱基于行业或领域数据构建,通常:

  • 具有更丰富、严格的数据模式(通常具备一定基础,具有多样的结构化、半结构化和结构化数据基础)
  • 具有更好的领域知识深度要求(知识内容要求更丰富、更专业、质量更高)
  • 具有更高的准确性要求(知识推理的准确性需求更高)

二、领域知识图谱的构建流程

与通用知识图谱的构建过程相似,大致包括以下几个阶段:

2.1 领域知识建模阶段

  • 前提条件:需要具备知识图谱模型的基础知识(掌握关系模型,虽然现在缺少统一的模型)
  • 主要目的:确定知识体系的结构(根据需求定义概念、实体、属性、关系、事件等基本要素)
  • 输入:业务应用需求
  • 输出:知识图谱的Schema(借助关系型数据库的概念)
  • 建模方法:与关系型数据库相似,存在自顶向下和自底向上两种设计思路,对于习惯关系型数据库的人肯能在思维方式上需要做转换;
  • 主要内容:知识图谱的语义描述框架、Schema与本体、知识交换语法、实体命名及ID体系等
  • 类比:类似于关系型数据库的早期概念设计和表结构设计

2.2 领域知识存储设计阶段

  • 前提条件:领域知识建模有了大致方案,且对知识图谱的永久存储需求(如:知识容量、用户访问量、访问频率、效率要求)有初步评估
  • 主要目的:根据需求确定永久存储方案,尽量避免后期变更带来的巨大的成本
  • 输入:领域知识图谱的Schema,系统对永久存储的需求
  • 输出:
    • (1)图谱数据库的选型方案(采用什么类型的数据库、是否需要分布式、可扩展性要求等)
    • (2)图谱数据库的基本结构
  • 常见数据库类型:关系型数据库、图数据库、RDF数据库等
  • 类比:类似于关系型数据库的选型和数据库创建阶段

2.3 领域知识抽取阶段

  • 前提条件: 清晰掌握自身知识图谱的Schema,掌握了各类知识来源并清楚其结构特征(或原来的Schema),对各类知识来源与知识库Schema之间的转换/映射关系有比较成熟的想法
  • 主要目的:按照知识模型要求对各种来源数据进行提取、转换和存储,尽量通过自动手段充实知识库
  • 输入:已有的结构化数据、半结构化数据、非结构化数据
  • 输出:对输入数据进行抽取后的初步知识库,是若干初级的知识图谱
  • 关键技术:半结构化(如:百科数据)和非结构化数据(如:DOCX、TXT、PDF等文本类型,JPG、PNG等各种图像数据类型等)的实体、属性、关系、事件等知识的高精度自动抽取是核心难点
  • 类比:类似于关系型数据库的数据录入/导入工作,但由于数据更复杂、量更大,需要自动化工具支持

2.4 领域知识融合阶段

  • 前提条件:各类数据源经过合理的抽取后,已经各自建立了自身的初级知识图谱
  • 主要目的:对各类数据源获得的知识图谱进行对齐、融合等处理,尽量提升知识图谱的质量
  • 输入:若干通过知识抽取获取的初级知识图谱
  • 输出:一个质量更优的经合并后的统一知识图谱
  • 关键技术:实体对齐(匹配)、实例匹配、信息融合等
  • 类比:传统的关系型数据库应用中类似情况较少,因为关系型数据库的数据字典比较明确,而不像知识图谱拥有不同来源、不同精度的数据

2.5 领域知识推理阶段

  • 前提条件:知识图谱数据库已经基本具备
  • 主要目的:基于基础图谱数据,通过推理进行类型补全或者实体关系补全。
  • 输入:知识图谱数据库
  • 输出:根据知识库中已有事实和关系,推断出未知的事实或关系
  • 关键技术:概念层次中的知识图谱补全机制、实例层次中的知识图谱补全机制
  • 类比:传统关系型数据库应用比较少,因为相对于挖掘和推理而言,其更关注数据本身的存储和管理。

2.6 领域知识应用阶段

  • 前提条件:知识图谱数据库已经具备,推理或挖掘模型可用
  • 主要目的:利用知识图谱数据库和机器学习生成的模型,向应用领域提供服务功能,如:智能搜索、语义搜索、自动问答等。
  • 输入:用户输入的自然语言
  • 输出:具有优先级的返回答案
  • 关键技术:自然语言的语意解析、返回结果的自动优先级排序等
  • 类比: 小娜等各种语音助手

三、知识图谱的主要构建工具

3.1 领域知识建模阶段

需要完成的主要工作:

  • 确定知识表示框架:定义知识图谱的表示方法
    • 目前没有一统天下的表示框架,形势比较混乱
  • 确定Schema与本体:定义知识图谱包含的类集合、属性集合、关系集合、词汇集合
  • 确定交换语法:定义知识图谱的交换物理格式,如:Turtle、JSON等
  • 确定实体命名及ID体系:定义实体的命名规则以及唯一标识规范

需掌握的主要知识点:

  • 掌握知识图谱管理的主要对象,如:词、实体、关系、事件
  • 清楚两条技术路线:
    • 基于三元组的表示框架是主流方法,其中RDF、OWL相对占据主导地位
    • 基于向量的表示框架是衔接下游图计算和挖掘的新发展方向(研究热点)
  • 三元组表示框架:
    • 掌握语义网表示框架,如:RDF、RDF(S)、OWL等定义语言或规范
    • 了解语义Markup表示语言,如:JSON-LD、RDFa、HTML5 MicroData
    • 了解Freebase、Wikidata、ConceptNet5等知识图谱中已经使用的个性化知识表达框架
  • 向量表示框架
    • 理解知识图谱向量表示、知识图谱嵌入、知识图谱表示学习等相关概念

常见工具:

  • Protege

3.2 领域知识存储阶段

需要完成的主要工作:

  • 确定采用的知识图谱数据库
  • 在数据库中实现Schema

需要掌握的知识点:

  • 了解目前常见的两种图数据模型:RDF图数据模型、属性图数据模型
  • 掌握一种以上图数据查询语言:SPARKQL、Cypher、Gremlin等
  • 了解三种知识图谱的存储方法
    • 基于关系型数据库
    • 基于三元组(RDF)数据库
    • 基于图数据库
  • 了解底层的关键技术:
    • 物理存储方案
    • 图的索引技术
    • 分布式存储与索引结构设计

常见工具:

  • 关系型数据库:DB2RDF
  • 三元组数据库:Apache Jena、RDF4J、RDF-3X、gStore、Virtuoso、AllegroGraph、GraphDB、BlazeGraph、StarDog等
  • 图数据库:Neo4J、JanusGraph(分布式)、OrientDB、Cayley

3.3 领域知识抽取阶段

需要完成的主要工作:

  • 完成各种数据类型的信息抽取和导入
  • 对于结构化数据源,将相关属性字段映射到知识库中,并导入数据
  • 对于网页、百科等半结构化数据,设计专用的包装器提取兴趣字段,并导入知识库
  • 对于文本内容、图片等非结构化数据,完成自然语言处理或OCR等信息抽取任务,并通过实体连接、规则挖掘等技术丰富知识库

需要掌握的主要知识点:

  • 理解三种数据的信息抽取方法
    • 结构化数据:以映射为主要方法
    • 非结构化数据:以自然语言处理为基础的OpenIE和CloseIE(研究热点)
    • 半结构化数据:以定制的包装器为主要方法
  • 非结构化数据的信息抽取是难点,其核心是对自然语言的分词和语义分析,主要内容包括:
    • 文本实体的抽取:
      • 从文本中提取出人名、地名、组织机构名、地理位置、时间、日期、金额等实体信息元素的片段
    • 文本关系的抽取:
      • 从文本中提取出两个或多个实体之间的语义关系片段
    • 文本事件的抽取:
      • 从文本中提取具有时间、地点、参与者等属性的用户感兴趣的事件信息片段,是一种复合抽取。
  • 信息抽取阶段的知识挖掘
    • 目标实体链接(研究热点):
      • 文本实体链向给定知识库中目标实体的过程,建立文本语料与知识库的联系
      • 涉及:实体指称识别、候选实体生成、实体消歧等技术
    • 规则挖掘:
      • 待了解。

常见工具:

  • 面向结构化数据的信息抽取工具(D2R)

    • D2RQ、Mastro、DB2triples、D2R server、Triplify、OpenLink、SparqlMap、Ontop等
  • 面向半结构化数据的信息抽取工具(Wrapper)

    • STALKER、Wargo等包装器自动生成工具
  • 面向非结构化数据的信息抽取工具

    • Open IE工具:Reverb、TextRunner等
    • Close IE工具:DeepLive

3.4 领域知识融合阶段

需要完成的主要工作:

  • 确定本体映射/实体匹配方法(跟大海一样深)
  • 完成不同知识图谱中的本体映射和实体匹配,最终实现异构知识图谱的融合
  • 目前该问题解决的并不好,也是影响多来源知识图谱在更大范围内知识融合的主要瓶颈

需要掌握的知识点:

  • 理解本体异构问题
    • 不同系统中本体描述的内容之间可能有重叠或者关联,但由于各自对本体的表示语言和模型有差异,造成了大量信息交互和互操作问题,更影响知识库的质量
    • 表现形式主体为:模型层不匹配、语言层不匹配
  • 理解实体异构问题
    • 不同名实例可能指代同一概念实体
    • 同名实例可能指代不同概念实体
  • 本体异构问题的核心技术:本体映射
  • 实体异构问题的核心技术:实体匹配或实体对齐(研究热点)
    • 基于相似度、基于规则等的实例匹配(实体对齐)技术
    • 基于机器学习的实例匹配(实体对齐)技术

常见工具:

  • 成熟工具不多,大多根据需求设计专门的算法

类比:类似于关系型数据库应用中,多个数据系统之间表与表、表与字段之间的优化、合并

3.5 领域知识推理阶段

需完成的主要工作:

  • 确定知识推理的基本机制
  • 完成知识图谱的概念补全和实例补全

需要掌握的知识点:

  • 两类推理
    • 基于演绎的知识图谱推理
    • 基于归纳的知识图谱推理
  • 基于演绎的知识图谱推理
    • 基于逻辑编程的推理方法
    • 基于查询重写的推理方法
    • 基于产生式规则的推理方法
  • 基于归纳的知识图谱推理
    • 基于图结构的推理方法
    • 基于规则学习的推理方法
    • 基于表示学习的推理方法(新热点)
  • 新进展:
    • 时序知识图谱的推理方法(新热点)
    • 基于强化学习的推理方法(新热点)
    • 基于元学习的少样本知识推理方法(新热点)
    • 图神经网络与知识图推理(新热点)

常见工具:

  • Jena、Drools、AMIE(规则学习)、OpenKE(表示学习)等。

类比:类似于其他数据库的查询检索,不同之处在于知识型数据库具备联想式检索功能(自己的理解)

3.6 领域知识应用阶段

常见于语义搜索、知识问答等应用,后面有专门文章,此处略。

四、总结

(1)所谓知识图谱,可以理解为知识型数据库,相关技术体系可以理解为知识型数据库原理。现有的文献资料和书籍把问题抽象化、概念化,出发点很好,但效果却很差,造成门槛无形被提高,受众数量大大降低;

(2)知识图谱两个最独特的功能:一是数据管理的终极链接引擎,二是机器学习/人工智能等方法的新型驱动器。上述两个与传统技术完全不同的能力,有可能带来更多的应用想像空间和经济效应。

(3)知识图谱采用的数据模型与关系型数据库的ER模型类似,只是核心为图模型。相对于ER模型来说,图模型的深度和广度更大,所蕴含的潜在价值更高。

(4)知识抽取、知识融合、知识推理、知识应用应当是知识图谱的四个核心点,知识抽取解决数据转换和知识注入问题、知识融合解决知识链接/补全/优化/扩容问题、知识推理解决深层次知识自动分析和自动挖掘问题、知识应用解决实际应用问题。

(5)知识图谱的构建依然是当前非常关键的点,与大数据技术领域相似,未来的局面也基本是谁掌握了知识图谱,谁就占据了知识推理和挖掘技术的制高点。

(6)各阶段的技术成熟度似乎都不高,但研究热度很高,在解决垂直领域问题时,可能要充分考虑哪些行、哪些不行的问题。