【Python+中文NLP】知识图谱系列(1)——构建流程

目录

  • 前言
  • 领域知识图谱构建
    • 一、知识图谱基本定义
      • 1.1 三元组
      • 1.2 两个层次
    • 二、构建流程
      • 2.1 四个阶段
      • 2.2 五个环节
        • 1. 知识建模
        • 2. 知识存储
        • 3. 知识抽取
          • ①实体抽取/命名实体识别
          • ②关系抽取
          • ③属性抽取
        • 4. 知识融合
        • 5. 知识计算
    • 三、知识应用
  • 后话
  • 参考文献

前言

人工智能与行业结合的应用中,因行业领域的差异,存在大量数据模式不同,“领域知识图谱”以其更加符合实际应用需求的特性在工业领域得到了广泛应用。本文主要讲解特定领域知识图谱的构建流程。

领域知识图谱构建

一、知识图谱基本定义

1.1 三元组

知识图谱由多个“实体(Entity)-关系(Relationship)-实体(Entity)”三元组构成。

1.2 两个层次

在逻辑上,知识图谱可划分为两个层次:数据层和模式层。

  • 数据层:存储真实的数据。
    如: C罗-足球运动员-皇家马德里;C罗-金靴奖-世界杯。
  • 模式层:在数据层之上,存储经过提炼的知识,通常通过本体库来管理。
    如:实体-关系-实体,实体-属性-性值。

二、构建流程

【Python+中文NLP】知识图谱系列(1)——构建流程_第1张图片 图片来源

2.1 四个阶段

构建知识图谱是一个迭代更新的过程,根据知识获取的逻辑,每一轮迭代包含四个阶段:

  • 知识储存
  • 信息抽取
  • 知识融合
  • 知识计算

2.2 五个环节

1. 知识建模

通俗来讲就是做定义。
基于行业的应用属性、知识特点、实际需求,依据知识图谱的模式进行业务抽象和业务建模,包括实体定义、关系定义、属性定义。

2. 知识存储

知识获取源一般包括三类:
· 结构化数据,如关系数据库;
· 非结构化数据,如图片、音频、视频;
· 半结构化数据,如xml、json、百科。

3. 知识抽取

知识抽取是一种从半结构化和无结构数据中抽取实体、关系以及实体属性等结构化信息的技术。
关键技术包括:

①实体抽取/命名实体识别
  • 概念:命名实体一般包括三大类(实体类、时间类和数字类)和七小类(人名、地名、机构名、时间、日期、货币和百分比)。
  • 评判一个命名实体是否被正确识别包括两个方面:
    • 实体的边界是否正确;
    • 实体的类型是否标注正确。
②关系抽取
③属性抽取

4. 知识融合

从原始数据中获取到了实体、关系以及实体的属性信息后,就需要通过知识融合对数据进行逻辑归属冗杂/错误过滤
需要实体链接知识合并两个流程实现。

  • 实体链接
    主要针对非结构化/半结构化数据处理。
    实体链接利用给定的实体指称项,通过相似度计算进行实体消歧和共指消解,确认正确实体对象后,再将该实体指称项链接到知识库中对应实体。其中实体消歧解决同名实体产生歧义问题,共指消解解决多个指称对应同一实体对象的问题。
  • 知识合并
    主要针对结构化数据处理。·
    知识合并主要涉及“合并外部知识库”,处理数据层和模式层的冲突;以及用RDB2RDF等方法“合并关系数据库”。

5. 知识计算

在通过信息抽取和知识融合后已经实现从原始杂乱数据中获得到一系列基本的事实表达。之后一步就是通过知识计算获得结构化,网络化的知识体系以及更新机制
包含以下4个方面:

  • ①本体构建
    目的:完成自动化的本体构建,实现将数据归类成人工的概念集合/概念框架,如“人”、“事”、“物”等
    方法:通过实体并列关系相似度计算、实体上下位关系抽取、本体的生成。
  • ②知识推理
    目的:处理知识图谱之间关系值缺失,完成进一步的知识发现
    方法:基于逻辑的推理、基于图的推理和基于深度学习的推理
  • ③质量评估
    目的:对知识的可信度进行量化
    方法:通过舍弃置信度较低的知识来保障知识库的质量
  • ④知识更新
    目的:更新概念层和数据层
    方法:概念层的更新是指新增数据后获得了新的概念,需要自动将新的概念添加到知识库的概念层中。数据层的更新主要是新增或更新实体、关系、属性值,对数据层进行更新需要考虑数据源的可靠性、数据的一致性(是否存在矛盾或冗杂等问题)等可靠数据源,并选择在各数据源中高频出现的事实和属性加入知识库。

至此经过上述流程的处理,知识图谱的初始化已经构建成功了。

三、知识应用

  • 信息检索:搜索引擎中对实体信息的精准聚合和匹配、对关键词的理解以及对搜索意图的语义分析等;
  • 自然语言理解:知识图谱中的知识作为理解自然语言中实体和关系的背景信息;
  • 问答系统:匹配问答模式和知识图谱中知识子图之间的映射;
  • 推荐系统:将知识图谱作为一种辅助信息集成到推荐系统中以提供更加精准的推荐选项;
  • 电子商务:构建商品知识图谱来精准地匹配用户的购买意愿和商品候选集合;
  • 金融风控:利用实体之间的关系来分析金融活动的风险以提供在风险触发后的补救措施(如联系人等);
  • 公安刑侦:分析实体和实体之间的关系以获得线索等;
  • 司法辅助:法律条文的结构化表示和查询来辅助案件的判决等;
  • 教育医疗:提供可视化的知识表示,用于药物分析、疾病诊断等;
    … …
    事实上,知识图谱的应用远不止于此。这个世界就是一张巨大的知识图谱,是无数个实体关系对,在未来工业界对图数据库、知识图谱将展现出巨大需求和应用契机!

后话


本人为国内某厂NLP算法工程师,近期重新整理知识图谱的相关知识,后续会针对每个技术点更新,敬请期待…

参考文献

[1]知识图谱构建流程详解. 知乎.

你可能感兴趣的:(知识图谱,自然语言处理,自然语言处理)