知识图谱的技术与应用-笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/greenqingqingws/article/details/80893695

知识图谱的技术与应用

原文链接

概论

只要有关系分析的需求,就能用上“知识图谱”

场景

  • 社交网络图谱
  • 风控知识图谱

知识图谱应用的前提是已经构建好了知识图谱

知识图谱是一个比较新的工具,主要作用在于分析关系,尤其是深度的关系。

知识图谱领域最重要的是知识的推理。

知识图谱工程本身还是业务为中心,以数据为中心。

什么是知识图谱

知识图谱本质上是语义网络的知识库

  • 知识图谱也可以认为是一个知识库

知识图谱也可以算是 多关系图。

  • 多关系图:包含多种类型的节点和多种类型的边

实体:现实世界中的事物。

  • 比如人、地名、概念、药物、公司等

关系

  • 表达不同实体之间的某种联系

当一个知识图谱拥有属性时,可以用属性图来表示

存储方式

  • RDF
    • 学术界
    • 很多三元组来组成
    • 特点
    • 易于发布和分享数据,但不支持实体或关系拥有属性
  • 图数据库
    • 工业界
    • 存储属性图
    • 增长最快的存储系统
  • RDF和图数据库对比
    • RDF
    • 存储三元组
    • 标准的推理引擎
    • W3C标准
    • 易于发布数据
    • 代表框架:Jena
    • 图数据库
    • 节点和关系可以带有属性
    • 没有标准的推理引擎
    • 图的遍历效率高
    • 事务管理
    • 代表框架:Neo4j、OrientDB、Janus Graph

知识抽取

难点在于处理非结构化数据

数据源渠道

  • 业务本身的数据,公司内部数据库
  • 网络上公开抓取的数据,网页数据
    • NLP
    • 实体命名识别
      • 从文本里提取出实体,并对每个实体做分类/打标签
      • 比较成熟的技术,有现成的工具
    • 关系抽取
      • 把实体间的关系从文本中提取出来
      • 两个问题
      • 实体统一(实体对齐)
        • 作用:降低稀疏性
      • 指代消解
    • 实体统一
    • 指代消解

金融知识图谱的搭建

搭建一个知识图谱,最重要的核心在于对业务的理解以及对知识图谱本身的设计

构建知识图谱的步骤

  • 1、定义具体的业务问题
  • 2、数据的收集和预处理
  • 3、知识图谱的设计
  • 4、把数据存入知识图谱
  • 5、上层应用的开发以及系统的评估

步骤一:定义具体的业务问题

  • 需明确:业务问题到底需不需要知识图谱系统的支持
  • 如果满足下列条件,用更简单的方式~
    • 对可视化需求不高
    • 很少涉及到关系的深度搜索
    • 关系查询效率要求不高
    • 数据缺乏多样性
    • 暂时没有人力或者成本不够
  • 如果满足下列条件,选择知识图谱
    • 有强烈的可视化需求
    • 经常涉及到关系的深度搜索
    • 对关系查询效率有实时性要求
    • 数据多样化、解决数据孤岛问题
    • 有能力、有成本搭建系统

步骤二:数据的收集和预处理

  • 确定数据源
    • 我们已经有哪些数据?
    • 虽然现在没有,但是可能拿到哪些数据?
    • 其中哪部分数据可以用来降低风险?
    • 哪部分数据可以用来构建知识图谱?

步骤三:知识图谱的设计

  • 先考虑三个问题
    • 1、需要哪些实体、关系和属性?
    • 2、哪些属性可以作为实体,哪些实体可以作为属性?
    • 3、哪些信息不需要放在知识图谱中?
  • 设计知识图谱原则-BAEF
    • 业务原则 Business Principle
    • 一切要从业务逻辑出发,并且通过观察知识图谱的设计也很容易推测其背后业务的逻辑,而且设计时也要想好未来业务可能的变化。
    • 分析原则 Analytics Principle
    • 关系分析无关的实体不需要放在知识图谱中
    • 效率原则 Efficiency Principle
    • 效率原则让知识图谱尽量轻量化,并决定哪些数据放在知识图谱,哪些数据不需要放在知识图谱。
    • 把常用的信息放在知识图谱中,把那些访问频率不高,对关系分析无关紧要的信息放在传统的关系型数据库中。
    • 效率原则的核心在于把知识图谱设计成小而轻的存储载体。
    • 冗余原则 Redundancy Principle
    • 有些重复性信息、高频信息可以放到传统数据库中

10亿节点以下规模的知识图谱,用Neo4j图形数据库就够了

知识图谱在金融领域上层应用的开发

静态图谱分析

  • 静态关系图谱
    • 不考虑图谱结构本身随时间的变化,只聚焦在当前知识图谱结构上。
  • 从算法的角度,有2种不同的场景
    • 基于规则的应用
    • 不一致性验证
      • 通过一些规则去找出潜在的矛盾点。
      • 规则是人为提前定义好的,需要一定的业务知识
    • 基于规则提取特征
      • 基于深度的搜索提取的特征,可以作为模型的输入。
      • 如果特征不涉及深度的关系,传统的关系型数据库可以满足需求
    • 基于模式的判断
      • 适用于找出团体欺诈,通过一些模式来找到有可能存在风险的团体或者子图,对这部分子图做进一步的分析。
      • 多点共享信息,共享了多个实体
      • 强连通图,标记出来,做进一步的分析
        • 强连通图:每一个节点都可以通过某种路径达到其他的点,这些节点之间有很强的关系。
    • 基于概率的应用
    • 社区挖掘
      • 社区挖掘算法的目的在于从图中找出一些社区。
      • 社区内节点之间关系的密度要明显大于社区之间的关系密度。
    • 标签传播
      • 标签传播算法的核心思想在于节点之间信息的传递。通过这种关系会不断地吸取高质量的信息。
    • 聚类
    • 基于规则的方法和基于概率的方法比较
    • 基于概率的方法需要足够多的数据。如果数据量很少,而且整个图谱比较稀疏,基于规则的方法会更加适用。

动态图谱分析

  • 在两个时刻中间,图谱结构(或部分结构)发生了很明显的变化。
  • 如何判断结构变化?
    • dynamic network mining

知识图谱在其他行业中的应用

教育行业

  • 个性化教育
    • 理解学生当前的知识体系,知识体系依赖于我们所获取到的数据(交互数据、评测数据、互动数据等)
    • 为了分析学习路径以及知识结构,需要针对于一个领域的概念知识图谱
    • 知识图谱的好处就是把我们所需要关注的范围很快给我们圈定。
展开阅读全文

没有更多推荐了,返回首页