一、概述(知识图谱构建射雕人物关系)

如何快速梳理《射雕三部曲》中的人物关系,或者查看哪些人会什么武功?通常的思路是通过原著和网络上的解读分析,将人物,武功,门派等信息提取出来,并构建一个模型存储,提问时通过查询这个模型来获得解答。知识图谱(knowledge graph)就非常适合这一个任务。

知识图谱最早起源于 Google Knowledge Graph。它利用实体,关系,属性这些基本单位,以符号的形式描述了现实世界中不同概念之间的相互关系。目前,知识图谱已被广泛认为是实现认知智能的必备基础。知识图谱是一个前沿交叉性的学科,涉及到图论、机器学习、数据库等等领域。

在知识图谱中,通常用实体(Entity)来表达图中的节点,用关系(Relation)来表达图中的边。实体指的是现实世界的事物比如人、地名、书名等,关系则是不同实体之间到的某种联系。 在现实世界中,实体和关系也会拥有各自的属性,比如人有姓名和年龄。如下图为带属性的图,郭靖和黄蓉都是《射雕英雄传》的角色,郭靖性别男,生性单纯刚直,在第三次华山论剑中获得称号“北侠”。

知识图谱的构建是知识图谱应用的基础。在现实世界中,存在着大量非结构化的数据,如整套金庸小说,或者是百度百科等对金庸小说人物的介绍,如何将这些非结构化的数据提取成结构化的数据,就需要借助自然语言处理等技术了,需要的技术包括但不限于如下:

命名实体识别:命名实体识别是自然语言处理的一个基础任务,其目的是识别语料中人、地名、书名等命名实体。

关系抽取:文本经过实体抽取,得到的是一系列离散的命名实体,为了得到语义信息,还得从语料中提取出实体之间的关联关系,通过关系将实体联系起来,才能够形成网状的知识结构。

知识图谱的本质是一种图形数据库,图数据库的基本含义是以“图”这种数据结构存储和查询数据。图形数据库是 NoSQL 数据库的一种类型,它应用图形理论存储实体之间的关系信息。常见的图形数据库有 Neo4j,FlockDB,AllegroGrap 等。本项目中使用Neo4j ,Neo4j 是一个流行的开源图形数据库。Neo4j 基于 Java 实现,兼容 ACID 特性,也支持其他编程语言,如 Ruby 和 Python。

综合以上,本项目整理为六个部分,具体如下

  1. Neo4j 使用
  2. Cypher 使用
  3. 知识图谱建立
  4. Keras 使用
  5. 命名实体识别
  6. 关系抽取

本项目分两个环境

  • 容器环境:用于 Neo4j 相关实验
  • jupyter:用于机器学习相关实验
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值