基于Python的海贼王知识图谱构建设计
《海贼王》知识图谱构建
- 项目背景
- 项目内容
- 数据采集
3.1… 数据来源
3.2… 人物知识图谱构建
3.2.1. 抽取通用知识图谱中已有的目标域知识
3.2.2. 抽取网页中半结构化的知识
3.3… 关系抽取数据集构建
3.1. 数据集统计信息
3.4… 实体关系知识图谱构建 - 知识存储
4.1… 基于RDF 三元组数据库:Apache Jena
4.1.3 SPARQL查询示例
4.2… 基于原生图数据库:Neo4j
4.2.1. Neo4j简介
4.2.3. Cypher查询示例 - 知识抽取
5.1… 数据转换&标注统计
5.2… 训练
5.3… 训练结果
6.1. 图计算
6.1.1. 人物网络分析
6.1.2. 关键节点
6.1.3. 节点中心度
6.1.4. 社区发现
6.1.5. PageRank 6.2. 知识推理 - 知识应用
7.1… 智能问答
7.1.1. 支持的问题类型
7.1.2. 查询示例
7.2… 知识图谱可视化
参考资料
1.项目背景
《海贼王》(英文名ONE PIECE) 是由日本漫画家尾田荣一郎创作的热血少年漫画,因为其宏大的世界观、丰富的人物设定、精彩的故事情节、草蛇灰线的伏笔,受到世界各地的读者欢迎,截止2019年11 月7日,全球销量突破4亿6000万本 1 ,并被吉尼斯世界纪录官方认证为“世界上发行量最高的单一作者
创作的系列漫画” 2 。
《海贼王》从1997年开始连载至今,以及将近22年,在900多话的漫画中大量性格鲜明的角色相继登 场,故事发生的地点也在不断变化,本文转载自http://www.biyezuopin.vip/onews.asp?id=15228这既给我们带来阅读的乐趣,同时也为我们梳理故事脉络带来了挑 战。
本次任务试图为《海贼王》中出现的各个实体,包括人物、地点、组织等,构建一个知识图谱,帮助我 们更好的理解这部作品。
2.项目内容
本项目内容包括数据采集、知识存储、知识抽取、知识计算、知识应用五大部分
1.数据采集
本次项目主要采集构建了两个知识图谱和一个关系抽取数据集
人物知识图谱:主要包含各个人物的信息
关系抽取数据集:标注出自然语言中存在的实体以及他们之间的关系实体关系知识图谱:构建《海贼王》中各个实体之间关系的知识图谱
2.知识存储
尝试使用了三元组数据库Apace Jena和原生图数据库Neo4j,并分别使用RDF结构化查询语言
SPARQL和属性图查询语言Cypher,在知识图谱上进行查询。
3.知识抽取
基于之间构建的关系抽取数据集,利用deepke中提供的工具进行关系抽取实践,测试了包括
PCNN、GCN、BERT等模型在我们构建数据集上的效果
4.知识计算
图计算:在Neo4j上对实体关系知识图谱进行了图挖掘,包括最短路径查询、权威结点发 现、社区发现等
知识推理:在Apache Jena上对关系知识图谱进行了知识推理,补全了一部分的数据
5.知识应用
智能问答:基于REfO实现一个对于《海贼王》中人物的知识库问答系统(KBQA)。
可视化图片:通过D3对实体关系图片进行可视化,并整合了人物知识图谱中的信息,进行展 示。
3.数据采集
3.1.数据来源
本次项目中所使用的数据主要来源为两个:一个是从别的知识图谱中获取已经存在的知识信息,另一个 是从相关网页中爬取解析半结构化的自然语言文本信息。
# encoding=utf-8"""@author: SimmerChan@contact: hsl7698590@gmail.com@file: word_tagging.py@time: 2017/12/20 15:31@desc: 定义Word类的结构;定义Tagger类,实现自然语言转为Word对象的方法。"""
import jieba
import jieba.posseg as psegclass Word(object):def __init__(self, token, pos):self.token = tokenself.pos = posclass Tagger:def __init__(self, dict_paths):# TODO 加载外部词典for p in dict_paths:jieba.load_userdict(p)# TODO jieba不能正确切分的词语,我们人工调整其频率。jieba.suggest_freq(('喜剧', '电影'), True)jieba.suggest_freq(('恐怖', '电影'), True)jieba.suggest_freq(('科幻', '电影'), True)jieba.suggest_freq(('喜剧', '演员'), True)jieba.suggest_freq(('出生', '日期'), True)jieba.suggest_freq(('英文', '名字'), True)@staticmethoddef get_word_objects(sentence):# type: (str) -> list"""把自然语言转为Word对象:param sentence::return:"""return [Word(word, tag) for word, tag in pseg.cut(sentence)]# TODO 用于测试
if __name__ == '__main__':tagger = Tagger(['./external_dict/movie_title.txt','./external_dict/person_name.txt','./external_dict/vivre_zhpname.txt','./external_dict/onepiece_place_terminology.txt'])while True:s = input()for i in tagger.get_word_objects(s):print(i.token, i.pos)
基于Python的海贼王知识图谱构建设计相关推荐
- 基于Neo4j的网络安全知识图谱构建分析
摘要: 网络上大量安全情报知识以多源.异构.碎片化的形式存在,为使这些信息表达成安全人员能够有效管理.理解.组织的形式,构建了基于Neo4j的网络安全知识图谱.首先,设计了网络安全本体模型:其次,将权 ...
- 基于深度学习的知识图谱构建(简要综述)
1 简介 信息技术的发展不断推动着互联网技术的变革,Web技术作为互联网时的标志性技术,正处于这场技术变的核心.从网页的链接到数据的链接,Web技术正在逐步朝向Web之父Berners-Lee设想中 ...
- 中国人工智能学会通讯——KS-Studio:一个知识计算引擎 1.2 知识图谱构建
1.2 知识图谱构建 知识图谱由实体.实体的属性描述以及实体和实体之间的关联构成.尽管其对于大数据人工智能的实现意义非凡,但其构造过程却极为困难.在早期,知识图谱构建单纯依赖于人类专家.在这一方法中, ...
- 基于深度学习的知识图谱综述
基于深度学习的知识图谱综述 摘要:随着现如今计算机设备的更新,计算能力的不断提高促使深度学习再一度推上热门技术,深度学习已经广泛应用于图像处理.文本挖掘.自然语言处理等方面,在医学.交通.教育.旅游等 ...
- dbpedia知识图谱java_一种基于DBpedia的水务领域概念知识图谱构建方法与流程
本发明涉及的是领域知识图谱构建技术领域,涉及到一种基于DBpedia的水务领域概念知识图谱构建方法,特别涉及到一种基于Jaccard相似度算法与随机游走相似度算法结合的协同过滤模型框架,用于补全概念模 ...
- 知识图谱实战应用9-基于neo4j的知识图谱框架设计与类模型构建
大家好,我是微学AI,今天给大家介绍一下知识图谱实战应用9-基于neo4j的知识图谱框架设计与类模型构建.我将构建KnowledgeGraphs的类,用于操作Neo4j图数据库中的知识图谱数据.方便管 ...
- 一站式了解多模态、金融、事理知识图谱构建指南 | AI ProCon 2020
整理 | 许爱艳 出品 | AI科技大本营(ID:rgznai100) [导读]7 月 3-4 日,由 CSDN 主办的第三届 AI 开发者大会(AI ProCon 2020)在线上举行.本次大会有超 ...
- 虚拟专题:知识图谱 | 医学知识图谱构建关键技术及研究进展
来源:<大数据> 医学知识图谱构建关键技术及研究进展 谭玲1, 鄂海红1, 匡泽民2, 宋美娜1, 刘毓1, 陈正宇1, 谢晓璇1, 李峻迪1, 范家伟1, 王晴川1, 康霄阳1 1 北京 ...
- 中医药人工智能-知识图谱-开发设计案例
中医药人工智能-知识图谱-开发设计案例 ●概述: <智慧中医药大脑>是基于知识工程技术,应用 人工智能算法开发的:面向医生.医学生和中医药爱好者,用于学习科研目的的中医药"辨证论 ...
- 基于 Python 的电信领域电信领域设计与实现-毕业设计程序
一.课题内容及研究意义 随着互联网的发展,上网人数越来越多,电信业务也随之增加.,然而就出现客服难以应付如此庞大的业务咨询量,电信领域自动问答软件就很好的解决了这个问题.在这样一个大数据时代,人们对于 ...
最新文章
- C语言的基础题目,几个c语言的基础题目
- 进入Xcode4,选择菜单“Product”-“Profile”,快捷键Command+I 监测内存泄露
- C# 使用Epplus导出数据到Excel
- 通信行业力推零信任标准,蔷薇灵动微隔离首批获证
- BZOJ 1076: [SCOI2008]奖励关 [DP 期望 状压]
- lazada铺货模式的选品_Lazada的商业模式有哪些?要怎么做?
- android cocos 二次启动 崩溃,基于cocos2dx 1.0.1 0.12.0的第二次运行时android...
- Mac电脑没声音的解决方法
- C# 实现阴历阳历互转
- 测试两台计算机网络情况,使用iperf测试两台电脑之间的网速
- 利用计算机的认识与感受制作海报,手绘pop海报在大学中的应用和现实意义
- 第十五天 13-linux防火墙
- MySQL并发insert因唯一键导致的DeadLock
- 米兰2:2战平巴萨 席尔瓦最后关头致命一击
- 如何设置虚拟机为静态IP
- 着急上市的喜马拉雅FM,进退两难
- PTA 7-42 《图书目录管理系统》(初级修订版)
- 大学计算机专业学校实践,大学生计算机专业实习报告
- 线性代数 or 量子力学 ? (外传:傅里叶级数 与 傅里叶变换学习笔记)
- 盘点7款应用最广泛的 Linux 桌面环境
热门文章
- 【前端学习-函数】js基础学习笔记
- 为什么编c语言总有一个错误,为什么程序最后总会显示有1个错误
- 微信投票软件制作代码
- html怎么创建页面书签链接,如何:在“设计”视图中为 Web 窗体页插入 HTML 超链接和书签...
- Android studio使用SVN
- OPC服务器简介和入门介绍
- 时钟系统:时钟系统倍频分频配置--时钟系统分析案例
- 代码覆盖率分析 - VectorCAST/CBA
- 铁路警方启用AI眼镜,当场抓逃犯!外媒惊叹不已!
- 虚拟服务器和vdi,比较瘦客户端和VDI