CN112364091A - 一种基于知识图谱的人物关系可视化查询方法及系统 - Google Patents
一种基于知识图谱的人物关系可视化查询方法及系统 Download PDFInfo
- Publication number
- CN112364091A CN112364091A CN202011239021.0A CN202011239021A CN112364091A CN 112364091 A CN112364091 A CN 112364091A CN 202011239021 A CN202011239021 A CN 202011239021A CN 112364091 A CN112364091 A CN 112364091A
- Authority
- CN
- China
- Prior art keywords
- relation
- data
- knowledge graph
- information
- character
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000000007 visual effect Effects 0.000 claims abstract description 48
- 230000002441 reversible effect Effects 0.000 claims abstract description 31
- 238000012545 processing Methods 0.000 claims abstract description 30
- 230000009193 crawling Effects 0.000 claims abstract description 14
- 238000012800 visualization Methods 0.000 claims abstract description 12
- 238000010606 normalization Methods 0.000 claims description 21
- 230000011218 segmentation Effects 0.000 claims description 12
- 238000010276 construction Methods 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 10
- 238000013507 mapping Methods 0.000 description 4
- 238000000547 structure data Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 235000014347 soups Nutrition 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/26—Visual data mining; Browsing structured data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/288—Entity relationship models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于知识图谱的人物关系可视化查询方法及系统,方法包括:采用Scrapy框架从互联网中爬取与当前人物相关的网页信息;对网页信息进行解析,提取与当前人物有关的人物信息和关系信息;对人物信息和关系信息进行规范化处理,构建所有人物与当前人物相关的五元组数据;对五元组数据进行人物关系反向推理,获得反向五元组数据;根据向五元组数据构建人物关系知识图谱,并将人物关系知识图谱存于图数据库中;从图数据库中获取待查询人物对应的人物关系知识图谱并进行可视化展示。本发明采用图数据库存储人物关系知识图谱,进而提高查询速度。另外本发明通过可视化技术将图谱中的知识展现出来,产生一种视觉的冲击感,能更高的认识和理解人物关系。
Description
技术领域
本发明涉及人工智能自然语言处理技术领域,特别是涉及一种基于知识图谱的人物关系可视化查询方法及系统。
背景技术
随着社会及科学技术的发展,互联网行业也蓬勃发展,促使了数据的迅速增长。在当前,各类搜索引擎的成熟,人们能够很快的在互联网上获取很多自己想要的信息。但是互联网上的大量信息隐藏半结构化网页中或者是非结构化的文本中,面对庞大的数据,人们需要自己提取所需的知识并去理解它。在面对抽象的数据时,人们无法直观的看到或者查询到自己想要的信息,人们更加的期望能够用其他方法来更直观的观察和获取自己所需的知识。因此需要一种智能的查询方法在获取不是结构化数据的基础上经过处理这些数据,使这些数据快速查询以及直观展示出来。
为了满足这种需求,基于数据处理之后的数据构建知识图谱,人们可以从知识图谱中查询想要的信息。关系型数据库由于其特定的表结构,在存储知识的时候会有局限性,面对大量的数据需要构建很多的索引,在提升查询效率的同时也会降低更新的效率。
发明内容
基于此,本发明的目的是提供一种基于知识图谱的人物关系可视化查询方法及系统,以提高查询效率。
为实现上述目的,本发明提供了一种基于知识图谱的人物关系可视化查询方法,所述方法包括:
步骤S1:采用Scrapy框架从互联网中爬取与当前人物相关的网页信息;
步骤S2:对所述网页信息进行解析,提取所述网页信息中的与当前人物有关的人物信息和关系信息;
步骤S3:对所述人物信息和所述关系信息进行规范化处理,构建所有人物与当前人物相关的五元组数据;
步骤S4:对所述五元组数据进行人物关系反向推理,获得反向五元组数据;
步骤S5:根据所述反向五元组数据构建人物关系知识图谱,并将所述人物关系知识图谱存于图数据库中;
步骤S6:从所述图数据库中获取待查询人物对应的人物关系知识图谱并进行可视化展示。
可选地,所述从所述图数据库中获取待查询人物对应的人物关系知识图谱并进行可视化展示,具体包括:
步骤S61:采用前端搜索方式从所述图数据库中获取待查询人物对应的人物关系知识图谱,采用Flask框架将所述人物关系知识图谱在Web中存储以及可视化展示;
步骤S62:采用可视化问答方式从所述图数据库中获取待查询人物对应的人物关系知识图谱,采用Flask框架将所述人物关系知识图谱在Web中存储以及可视化展示。
可选地,所述采用可视化问答方式从所述图数据库中获取待查询人物对应的人物关系知识图谱,采用Flask框架将所述人物关系知识图谱在Web中存储以及可视化展示,具体包括:
步骤S621:对输入的问句进行分词操作,获得多个词语;所述问句中包括待查询人物的名称以及人物关系。
步骤S622:对每个词语进行词性标注;
步骤S623:根据词性标注的结果进行实体与关系识别,获得人物名称和关系词;
步骤S624:通过人物名称和关系词从图数据库中查询人物关系知识图谱,采用Flask框架将所述人物关系知识图谱在Web中存储以及可视化展示。
可选地,所述对所述人物信息和所述关系信息进行规范化处理,构建所有人物与当前人物相关的五元组数据,具体包括:
步骤S31:对所述人物信息和所述关系信息进行规范化处理,删除与知识图谱无关的无关数据;
步骤S32:将规范化处理后的所述人物信息和所述关系信息存储在表格文件中,根据表中每列的数据索引提取与当前人物有直接关系的人物名称,建立所有人物与当前人物相关的三元组数据;
步骤S33:将所有人物对应的单位属性加入到三元组数据,获得五元组数据。
本发明还提供一种基于知识图谱的人物关系可视化查询系统,所述系统包括:
爬取模块,用于采用Scrapy框架从互联网中爬取与当前人物相关的网页信息;
解析模块,用于对所述网页信息进行解析,提取所述网页信息中的与当前人物有关的人物信息和关系信息;
规范化处理模块,用于对所述人物信息和所述关系信息进行规范化处理,构建所有人物与当前人物相关的五元组数据;
人物关系反向推理模块,用于对所述五元组数据进行人物关系反向推理,获得反向五元组数据;
人物关系知识图谱构建模块,用于根据所述反向五元组数据构建人物关系知识图谱,并将所述人物关系知识图谱存于图数据库中;
可视化展示模块,用于从所述图数据库中获取待查询人物对应的人物关系知识图谱并进行可视化展示。
可选地,所述可视化展示模块,具体包括:
第一可视化展示单元,用于采用前端搜索方式从所述图数据库中获取待查询人物对应的人物关系知识图谱,采用Flask框架将所述人物关系知识图谱在Web中存储以及可视化展示;
第二可视化展示单元,用于采用可视化问答方式从所述图数据库中获取待查询人物对应的人物关系知识图谱,采用Flask框架将所述人物关系知识图谱在Web中存储以及可视化展示。
可选地,所述第二可视化展示单元,具体包括:
分词子单元,用于对输入的问句进行分词操作,获得多个词语;所述问句中包括待查询人物的名称以及人物关系。
词性标注子单元,用于对每个词语进行词性标注;
识别子单元,用于根据词性标注的结果进行实体与关系识别,获得人物名称和关系词;
可视化展示子单元,用于通过人物名称和关系词从图数据库中查询人物关系知识图谱,采用Flask框架将所述人物关系知识图谱在Web中存储以及可视化展示。
可选地,所述规范化处理模块,具体包括:
规范化处理单元,用于对所述人物信息和所述关系信息进行规范化处理,删除与知识图谱无关的无关数据;
三元组数据构建单元,用于将规范化处理后的所述人物信息和所述关系信息存储在表格文件中,根据表中每列的数据索引提取与当前人物有直接关系的人物名称,建立所有人物与当前人物相关的三元组数据;
五元组数据构建单元,用于将所有人物对应的单位属性加入到三元组数据,获得五元组数据。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明采用图数据库存储人物关系知识图谱,使用图数据库相对于传统的关系型数据库,存储关系型数据的效果较好,且其查询速度更快。另外本发明通过可视化技术将图谱中的知识展现出来,产生一种视觉的冲击感,能更高的认识和理解人物关系。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例基于知识图谱的人物关系可视化查询方法流程图;
图2为本发明实施例基于知识图谱的人物关系可视化查询具体流程图;
图3为本发明实施例基于知识图谱的人物关系可视化查询系统结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种基于知识图谱的人物关系可视化查询方法及系统,以提高查询人物关系的速度,实现可视化展示图谱。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1-图2所示,本发明公开一种基于知识图谱的人物关系可视化查询方法,所述方法包括:
步骤S1:采用Scrapy框架从互联网中爬取与当前人物相关的网页信息;
步骤S2:对所述网页信息进行解析,提取所述网页信息中的与当前人物有关的人物信息和关系信息。
步骤S3:对所述人物信息和所述关系信息进行规范化处理,构建所有人物与当前人物相关的五元组数据。
步骤S4:对所述五元组数据进行人物关系反向推理,获得反向五元组数据。
步骤S5:根据所述反向五元组数据构建人物关系知识图谱,并将所述人物关系知识图谱存于图数据库中。
步骤S6:从所述图数据库中获取待查询人物对应的人物关系知识图谱,采用Flask框架将所述人物关系知识图谱在Web中存储以及可视化展示。
下面对各个步骤进行详细论述:
步骤S1:采用Scrapy框架从互联网中爬取与当前人物相关的网页信息;同时使用requests请求库从百度百科中爬取人物的简介。
网页信息中存在当前人物的各类数据,这些数据中包括人物的图像、家族资料、历史评价、基本生平信息、样貌信息、历史年表以及家族资料中的任务关系信息。
步骤S2:对所述网页信息进行解析,提取所述网页信息中的与当前人物有关的人物信息和关系信息;并将人物信息和关系信息存储在本地csv文件中;所述人物信息为:与当前人物有直接人物关系的人物姓名以及属性数据,其中属性数据主要包括当前该人物的家族资料、生平信息、所在年代、所属国家等信息。此时csv文件中的第一列为人物名称,每一行数据代表一个人物的属性数据,基本构成人物与其有关系的人物姓名和属性数据之间的映射关系。
本发明使用python提供的BeautifulSoup解析器对所述网页信息进行解析,这里BeautifulSoup解析器使用了python标准库提供的“html.parser”,解析器根据网页中数据的结构及数据对应所在的标签类型数据,以此获取其中在构建知识图谱时需要的与该人物有关的人物关系信息,关系信息包含在家族资料数据中,关系类型包括父亲、母亲、兄弟姐妹等各种常见的关系类型。得到较为结构化的数据,便于数据的管理和使用。
步骤S3:对所述人物信息和所述关系信息进行规范化处理,构建所有人物与当前人物相关的五元组数据,具体包括:
步骤S31:对所述人物信息和所述关系信息进行规范化处理,清洗和过滤与知识图谱无关的无关数据;所述无关数据包括:一、当前人物不是所要构建的人物对象,即在本实例中获取的人物中可能存在不是三国时期的人物,可通过该人物所在历史时期进行判断;二、对于当前人物不需要的某些属性数据,如生平信息中的年龄、字号等信息,因此通过年龄和字号字段名或者说是索引进行判断,即将所有人物的不需要的共性属性数据进行删除处理。
步骤S32:将规范化处理后的所述人物信息和所述关系信息存储在表格文件中,根据表中每列的数据索引提取与当前人物有直接关系的人物名称,建立所有人物与当前人物相关的三元组数据。三元组数据的格式为{实体1,实体2,关系},其中实体1的关系是实体2;例如{刘备,刘禅,儿子},即刘备的儿子是刘禅。具体的存储在csv表格文件中或者是xls表格文件中。
步骤S33:将所有人物对应的单位属性加入到三元组数据,获得五元组数据。
为了方便管理后续知识图谱中的数据,将提取每个人物对应的单位属性,并加入到三元组数据中,获得五元组数据;所述五元组数据的格式为{实体1,实体2,关系,属性1,属性2},其中属性1是实体1的属性,属性2是实体2的属性;例如[(刘备,刘禅,父亲,蜀,蜀)]。
步骤S4:对所述五元组数据进行人物关系反向推理,获得反向五元组数据。
例如A->B是C关系,则应该存在B->A为D关系,其中C和D为反关系;对此进行反向推理,设置关系反向词,针对每一个关系词进行推理,得到反向五元组数据;除此之外执行步骤S33所述操作,构建实体与实体节点之间的关系和两个实体的属性,加入结构化数据列表中,得到当前人物与当前人物有关系的人物之间的关系映射,以及与其属性之间的人物到属性的映射。例如,C为父亲、D为儿子,则构成的反向五元组数据为[(刘禅,刘备,儿子,蜀,蜀)]。
步骤S5:根据所述反向五元组数据构建人物关系知识图谱,并将所述人物关系知识图谱存于图数据库中。所述图数据库为Neo4j图数据库。
在步骤S4中提取到的反向五元组数据中,除了有实体之间的关系之外,也加入了两个实体的单位属性;将当前人物的单位属性一并存入Neo4j中,单位属性指当前人物的所属单位或所属国家。
将步骤S4中除了当前人物的单位属性之外剩余的实体之间的关系存入图数据库中;对于每一个实体可以视为一个节点,实体之间的关系视为一条边,构成{节点,边,节点}的形式。
对于每个节点,尤其对应的节点的值,所属的单位,当前节点称之为源节点,与之关系的节点称之为目标节点,边为关系,且每个边对应一个ID。根据上述规则,从图数据库中提取json数据之后,将其赋值于Echarts之后,对所有节点进可以可视化的展示。
步骤S6:从所述图数据库中获取待查询人物对应的人物关系知识图谱并进行可视化展示。
本发明利用Html5和Echarts技术结合Neo4j数据库,使用Flask框架实现人物关系图谱在Web中存储以及可视化呈现。使用LTP语言技术平台进行自然语言处理实现人物关系的问答功能。系统整体采用B/S结构,后端采用FlaskWeb应该框架,前端采用Bootstrap框架。
步骤S6:从所述图数据库中获取待查询人物对应的人物关系知识图谱并进行可视化展示,具体包括:
步骤S61:采用前端搜索方式从所述图数据库中获取待查询人物对应的人物关系知识图谱,采用Flask框架将所述人物关系知识图谱在Web中存储以及可视化展示,具体包括:
通过在系统前端搜索框中或者是设置的其他类型的搜索方式中,根据人物名称向Neo4j图数据库中匹配,返回的是以待查询人物为中心的图结构数据,包括该待查询人物的单位属性,与该人物有直接关系的人物关系及人物名称。从图数据库中获取的数据为json格式,通过组织json数据传到前端,前端使用Echarts组件进行渲染,显示在前端提供给用户查看。
步骤S62:采用可视化问答方式从所述图数据库中获取待查询人物对应的人物关系知识图谱,采用Flask框架将所述人物关系知识图谱在Web中存储以及可视化展示,具体包括:
步骤S621:对输入的问句进行分词操作,获得多个词语;所述问句中包括待查询人物的名称以及人物关系。
步骤S622:对每个词语进行词性标注;
步骤S623:根据词性标注的结果进行实体与关系识别,获得人物名称和关系词;
步骤S624:通过人物名称和关系词从图数据库中查询人物关系知识图谱,采用Flask框架将所述人物关系知识图谱在Web中存储以及可视化展示。
如图3所示,本发明还提供一种基于知识图谱的人物关系可视化查询系统,所述系统包括:
爬取模块1,用于采用Scrapy框架从互联网中爬取与当前人物相关的网页信息。
解析模块2,用于对所述网页信息进行解析,提取所述网页信息中的与当前人物有关的人物信息和关系信息。
规范化处理模块3,用于对所述人物信息和所述关系信息进行规范化处理,构建所有人物与当前人物相关的五元组数据。
人物关系反向推理模块4,用于对所述五元组数据进行人物关系反向推理,获得反向五元组数据。
人物关系知识图谱构建模块5,用于根据所述反向五元组数据构建人物关系知识图谱,并将所述人物关系知识图谱存于图数据库中。
可视化展示模块6,用于从所述图数据库中获取待查询人物对应的人物关系知识图谱并进行可视化展示。
作为一种实施方式,本发明所述可视化展示模块6,具体包括:
第一可视化展示单元,用于采用前端搜索方式从所述图数据库中获取待查询人物对应的人物关系知识图谱,采用Flask框架将所述人物关系知识图谱在Web中存储以及可视化展示。
第二可视化展示单元,用于采用可视化问答方式从所述图数据库中获取待查询人物对应的人物关系知识图谱,采用Flask框架将所述人物关系知识图谱在Web中存储以及可视化展示。
作为一种实施方式,本发明所述第二可视化展示单元,具体包括:
分词子单元,用于对输入的问句进行分词操作,获得多个词语;所述问句中包括待查询人物的名称以及人物关系。
词性标注子单元,用于对每个词语进行词性标注。
识别子单元,用于根据词性标注的结果进行实体与关系识别,获得人物名称和关系词。
可视化展示子单元,用于通过人物名称和关系词从图数据库中查询人物关系知识图谱,采用Flask框架将所述人物关系知识图谱在Web中存储以及可视化展示。
作为一种实施方式,本发明所述规范化处理模块3,具体包括:
规范化处理单元,用于对所述人物信息和所述关系信息进行规范化处理,删除与知识图谱无关的无关数据。
三元组数据构建单元,用于将规范化处理后的所述人物信息和所述关系信息存储在表格文件中,根据表中每列的数据索引提取与当前人物有直接关系的人物名称,建立所有人物与当前人物相关的三元组数据。
五元组数据构建单元,用于将所有人物对应的单位属性加入到三元组数据,获得五元组数据。
本发明采用Neo4j图数据库存储知识图谱中的大量知识,使用图数据库相对于传统的关系型数据库,存储关系型数据的效果较好,且其查询速度更快。通过知识图谱可以很好的建立起知识之间的联系,但是人们无法很好的观察图谱中的知识,因此通过可视化技术将图谱中的知识展现出来,产生一种视觉的冲击感,能更高的认识和理解知识。为了更加方便的检索到自己想要的知识,通过设计问答功能满足需求,可以方便、快捷、准确的获取知识并阅读和理解。
以三国人物关系为例进行分析:
(1)从互联网中爬取与三国人物有关的网页信息:
首先获取存在三国人物关系的网页信息网站或者网页中的数据,并对获取到的网页信息进行解析,获取人物的各类属性数据。通过对人物的各类属性数据进行规范化,包括获取到的人物关系数据中可能存在不是三国的人物,例如西晋,东汉等年代的人物,该类数据通过其年代列表进行判别,若为真将其删除处理,得到较为干净的人物数据;通过自然语言技术从所获取到的信息中提取人物关系数据,将所述人物与其关联人物进行映射形成关联关系,即两者正式建立起关系,形成了{实体1,实体2,关系}的形式,此形式便于对Echarts进行赋值呈现可视化效果;并根据人物信息中的属性,将各人物进行细化类别和标签自动归类,并将类别进行统一。
在获取互联网数据是采用分布式爬虫爬取方式,所述的分布式爬虫采用Scrapy框架,网络爬虫的关键技术在于网页获取、网页解析、数据存储、主题判别和网页搜索策略,为了将爬虫各部分流程统一化,将通用的功能进行抽象,减少重复工作,网络爬虫框架不失为一个好方法。本实施例中数据的获取从三国在线网站中爬取。
(2)对网页信息进行解析以及规范化处理:
在从网页中提取到的数据信息中,包含人物以及人物信息和关系信息。为构建人物关系知识图谱做准备,因此对数据信息进行清洗和过滤,将与人物关系无关的数据进行清除,留下与当前人物有人物关系的数据属性。在进行本体类的关系构建是采用自底向上的方法,根据数据中各个属性之间的关键,构建本体中的抽象类关系,其中每个属性至少对应一个实体,每个实体至少属于一个类,形成人物本体模型文件。
将获取的网页信息进行解析,获取该人物的所有信息,其中包括人物名称、与之关系的人物名称、所属单位等信息;将这些基本信息进行整合和格式检查,对不符合规定的数据,主要是指网页信息解析到的数据中存在人物的其他信息,例如年龄,历史评价等,将这些不需要的信息通过其索引查找并采取删除操作,得到相对较为结构化和较为规范的数据。
(3)构建五元组数据:
将规范化处理后的所述人物信息和所述关系信息存储在表格文件中,根据表中每列的数据索引提取与当前人物有直接关系的人物名称,建立所有人物与当前人物相关的三元组数据;每个人物可能对应多个人物关系,每个关系设置为一个单独的列表,该列表主要是指,某个人物可能存在多个兄弟或者某个人物存在多个儿子的情况,因此兄弟关系与父亲或者是儿子关系将会多次的发生在同一个人物身上。所以为了方便管理每个人的多种关系,将每个人的每一种关系都单独的存放在一个列表中,此列表为python语言中所表达的列表,而不是实际中如csv这种的数据表。每提取一条关系数据将其加入对应关系类型的列表中形成三元组数据;例如[(刘备,刘禅,父亲)],实现了两个实体刘备和刘禅,关系父亲;即节点为两个实体,边由关系来体现。
为了数据管理和后续可视化展示的需要,提取每个人物的所属单位属性,将其加入到三元组数据之中,构成五元组数据。例如[(刘备,刘禅,父亲,蜀,蜀)]。
(4)根据五元组数据构建人物关系知识图谱:
根据五元组数据确定了节点和边,节点即人物实体,边即关系属性。将人物属性对应存入Neo4j中,例如:run("merge(p:Person{cate:'%s',Name:'%s'})"%(shuxing,name));这样就为每一个节点设置了一个唯一的属性;将实体和实体之间的关系存入Neo4j中,例如:match(e:Person),(d:Person)where e.Name='%s'and d.Name='%s'create(e)-[r:%s{relation:'%s'}]->(d)return r"%(name1,name2,relation,relation);这样在图数据库中形成了节点-边-节点的关系图;即在图数据库中将会存储人物1-关系-人物2这样的网络图,其中每个人物代表一个节点且其ID为唯一的;同时在存储过程中对应ID有唯一的所属单位属性;因此对于每条数据对于其属性信息标记为data,data中有每个节点的name和category;对于其人物关系信息标记为links,links中包含当前节点的ID,目标节点的ID和关系类型。例如:{data:[name:刘备,category:蜀],links:[source:1,target:2,values:儿子]};即对于刘备这条人物信息,data存储的是其人物名称和所属单位,links存储的是当前人物的id,目标人物的id,根据关系类型的不同,目标节点的id发生对应的变化;且每个关系类型可以对应多个target,只要其id不同即可;根据上述规则,从图数据库中获取规则数据,使用Echarts技术,在Echarts组件的option中设置数据的接收类型(data和links),结合Neo4j数据库,将返回的json数据传给option,实现人物关系知识图谱的可视化。
(5)实现人物关系的可视化问答:
1、人物关系检索时通过在系统前端搜索框中或者是设置的其他类型的搜索方式中,根据人物名称向Neo4j图数据库中匹配,返回的是以此人物为中心的图结构数据,包括该人物的单位属性,与该人物有直接关系的人物关系及人物名称。从图数据库中获取的数据为json格式,通过组织json数据传到前端,前端使用Echarts组件进行渲染,显示在前端提供给用户查看。
2、人物关系的可视化问答是指通过自然语言的形式输入问句,对问句进行解析,根据解析出的人物名和关系从Neo4j中查询,返回查询结果进行可视化呈现。包括:
1)、输入问句之后,首先对问句进行分词操作。例如,问句为:“刘备的儿子是谁”,经过分词操作之后得到“['刘备','的','儿子','是','谁']”。
2)、分词之后对每次词进行词性标注,例如对于上述步骤5.1的例句,词性标注结果如:['刘备','的','儿子','是','谁'],['nh','u','n','v','r']。
3)、根据词性标注的结果进行命名实体识别。在人物关系可视化问答中主要是通过人物名称和关系词从数据库中进行查询;词性标注中人物名的词性标签为nh,关系词的词性标签为n,在词性标注的结果中检查每个词的词性,根据两种标签类型提取人名和关系词。例如对于上述例子,实体识别之后的结果如:['刘备','儿子']。
经过命名实体识别之后将会得到人物名和关系,利用该信息从图数据库中查询与该人物有关的所有信息并返回;将返回的结果使用Echarts工具进行可视化展示,呈现方式为关系网络图的形式;同时显示当前查询到的人物的图像及简介,当查询到的结果中存在多个人物时,例如问句“曹操的儿子”,返回的人物为多个时,首先在人物资料显示部分呈现的是返回结果中的最后一个人物;对于当前显示的关系图,点击其中任一节点,可对应显示对应节点人物的简介资料。
将上述功能进行一个整合,设计成了一个可交互的人物关系可视化问答系统;系统后台使用FlaskWeb应用框架,前端界面采用Bootstrap框架,可视化展示使用Echarts组件进行渲染呈现,在可视化问答中使用LTP语言技术平台提供的pyltp识别实体命名。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种基于知识图谱的人物关系可视化查询方法,其特征在于,所述方法包括:
步骤S1:采用Scrapy框架从互联网中爬取与当前人物相关的网页信息;
步骤S2:对所述网页信息进行解析,提取所述网页信息中的与当前人物有关的人物信息和关系信息;
步骤S3:对所述人物信息和所述关系信息进行规范化处理,构建所有人物与当前人物相关的五元组数据;
步骤S4:对所述五元组数据进行人物关系反向推理,获得反向五元组数据;
步骤S5:根据所述反向五元组数据构建人物关系知识图谱,并将所述人物关系知识图谱存于图数据库中;
步骤S6:从所述图数据库中获取待查询人物对应的人物关系知识图谱并进行可视化展示。
2.根据权利要求1所述的基于知识图谱的人物关系可视化查询方法,其特征在于,所述从所述图数据库中获取待查询人物对应的人物关系知识图谱并进行可视化展示,具体包括:
步骤S61:采用前端搜索方式从所述图数据库中获取待查询人物对应的人物关系知识图谱,采用Flask框架将所述人物关系知识图谱在Web中存储以及可视化展示;
步骤S62:采用可视化问答方式从所述图数据库中获取待查询人物对应的人物关系知识图谱,采用Flask框架将所述人物关系知识图谱在Web中存储以及可视化展示。
3.根据权利要求2所述的基于知识图谱的人物关系可视化查询方法,其特征在于,所述采用可视化问答方式从所述图数据库中获取待查询人物对应的人物关系知识图谱,采用Flask框架将所述人物关系知识图谱在Web中存储以及可视化展示,具体包括:
步骤S621:对输入的问句进行分词操作,获得多个词语;所述问句中包括待查询人物的名称以及人物关系。
步骤S622:对每个词语进行词性标注;
步骤S623:根据词性标注的结果进行实体与关系识别,获得人物名称和关系词;
步骤S624:通过人物名称和关系词从图数据库中查询人物关系知识图谱,采用Flask框架将所述人物关系知识图谱在Web中存储以及可视化展示。
4.根据权利要求1所述的基于知识图谱的人物关系可视化查询方法,其特征在于,所述对所述人物信息和所述关系信息进行规范化处理,构建所有人物与当前人物相关的五元组数据,具体包括:
步骤S31:对所述人物信息和所述关系信息进行规范化处理,删除与知识图谱无关的无关数据;
步骤S32:将规范化处理后的所述人物信息和所述关系信息存储在表格文件中,根据表中每列的数据索引提取与当前人物有直接关系的人物名称,建立所有人物与当前人物相关的三元组数据;
步骤S33:将所有人物对应的单位属性加入到三元组数据,获得五元组数据。
5.一种基于知识图谱的人物关系可视化查询系统,其特征在于,所述系统包括:
爬取模块,用于采用Scrapy框架从互联网中爬取与当前人物相关的网页信息;
解析模块,用于对所述网页信息进行解析,提取所述网页信息中的与当前人物有关的人物信息和关系信息;
规范化处理模块,用于对所述人物信息和所述关系信息进行规范化处理,构建所有人物与当前人物相关的五元组数据;
人物关系反向推理模块,用于对所述五元组数据进行人物关系反向推理,获得反向五元组数据;
人物关系知识图谱构建模块,用于根据所述反向五元组数据构建人物关系知识图谱,并将所述人物关系知识图谱存于图数据库中;
可视化展示模块,用于从所述图数据库中获取待查询人物对应的人物关系知识图谱并进行可视化展示。
6.根据权利要求5所述的基于知识图谱的人物关系可视化查询系统,其特征在于,所述可视化展示模块,具体包括:
第一可视化展示单元,用于采用前端搜索方式从所述图数据库中获取待查询人物对应的人物关系知识图谱,采用Flask框架将所述人物关系知识图谱在Web中存储以及可视化展示;
第二可视化展示单元,用于采用可视化问答方式从所述图数据库中获取待查询人物对应的人物关系知识图谱,采用Flask框架将所述人物关系知识图谱在Web中存储以及可视化展示。
7.根据权利要求6所述的基于知识图谱的人物关系可视化查询系统,其特征在于,所述第二可视化展示单元,具体包括:
分词子单元,用于对输入的问句进行分词操作,获得多个词语;所述问句中包括待查询人物的名称以及人物关系。
词性标注子单元,用于对每个词语进行词性标注;
识别子单元,用于根据词性标注的结果进行实体与关系识别,获得人物名称和关系词;
可视化展示子单元,用于通过人物名称和关系词从图数据库中查询人物关系知识图谱,采用Flask框架将所述人物关系知识图谱在Web中存储以及可视化展示。
8.根据权利要求5所述的基于知识图谱的人物关系可视化查询系统,其特征在于,所述规范化处理模块,具体包括:
规范化处理单元,用于对所述人物信息和所述关系信息进行规范化处理,删除与知识图谱无关的无关数据;
三元组数据构建单元,用于将规范化处理后的所述人物信息和所述关系信息存储在表格文件中,根据表中每列的数据索引提取与当前人物有直接关系的人物名称,建立所有人物与当前人物相关的三元组数据;
五元组数据构建单元,用于将所有人物对应的单位属性加入到三元组数据,获得五元组数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011239021.0A CN112364091A (zh) | 2020-11-09 | 2020-11-09 | 一种基于知识图谱的人物关系可视化查询方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011239021.0A CN112364091A (zh) | 2020-11-09 | 2020-11-09 | 一种基于知识图谱的人物关系可视化查询方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112364091A true CN112364091A (zh) | 2021-02-12 |
Family
ID=74509879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011239021.0A Pending CN112364091A (zh) | 2020-11-09 | 2020-11-09 | 一种基于知识图谱的人物关系可视化查询方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112364091A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113641884A (zh) * | 2021-08-10 | 2021-11-12 | 南方电网数字电网研究院有限公司 | 基于语义的电力计量数据处理方法、装置和计算机设备 |
CN113849579A (zh) * | 2021-09-27 | 2021-12-28 | 支付宝(杭州)信息技术有限公司 | 一种基于知识视图的知识图谱数据处理方法和系统 |
WO2023141900A1 (zh) * | 2022-01-27 | 2023-08-03 | 基建通(三亚)国际科技有限公司 | 新闻图文类数据知识图谱的建立方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110222199A (zh) * | 2019-06-20 | 2019-09-10 | 青岛大学 | 一种基于本体和多种神经网络集成的人物关系图谱构建方法 |
CN110555153A (zh) * | 2019-08-20 | 2019-12-10 | 暨南大学 | 一种基于领域知识图谱的问答系统及其构建方法 |
US20200012738A1 (en) * | 2018-07-06 | 2020-01-09 | Accenture Global Solutions Limited | Orchestrated hydration of a knowledge graph |
-
2020
- 2020-11-09 CN CN202011239021.0A patent/CN112364091A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200012738A1 (en) * | 2018-07-06 | 2020-01-09 | Accenture Global Solutions Limited | Orchestrated hydration of a knowledge graph |
CN110222199A (zh) * | 2019-06-20 | 2019-09-10 | 青岛大学 | 一种基于本体和多种神经网络集成的人物关系图谱构建方法 |
CN110555153A (zh) * | 2019-08-20 | 2019-12-10 | 暨南大学 | 一种基于领域知识图谱的问答系统及其构建方法 |
Non-Patent Citations (1)
Title |
---|
王瑞萍;刘峰;杨媛琦;邢春玉;: "审计知识图谱的构建与研究――基于Neo4j的图谱技术", 中国注册会计师, no. 09 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113641884A (zh) * | 2021-08-10 | 2021-11-12 | 南方电网数字电网研究院有限公司 | 基于语义的电力计量数据处理方法、装置和计算机设备 |
CN113849579A (zh) * | 2021-09-27 | 2021-12-28 | 支付宝(杭州)信息技术有限公司 | 一种基于知识视图的知识图谱数据处理方法和系统 |
WO2023141900A1 (zh) * | 2022-01-27 | 2023-08-03 | 基建通(三亚)国际科技有限公司 | 新闻图文类数据知识图谱的建立方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109189942B (zh) | 一种专利数据知识图谱的构建方法及装置 | |
US11003636B2 (en) | Generating and reusing transformations for evolving schema mapping | |
CN112364091A (zh) | 一种基于知识图谱的人物关系可视化查询方法及系统 | |
CN110781315B (zh) | 一种食品安全知识图谱及相关智能问答系统的构建方法 | |
KR20160125375A (ko) | 지능 문답 구현 방법, 시스템 및 저장 매체 | |
CN106663125A (zh) | 提问句生成装置以及计算机程序 | |
CN109657068B (zh) | 面向智慧博物馆的文物知识图谱生成与可视化方法 | |
CN111475623A (zh) | 基于知识图谱的案件信息语义检索方法及装置 | |
US20120117500A1 (en) | Method for the extraction, combination, synthesis and visualisation of multi-dimensional data from different sources | |
CN113987212A (zh) | 一种数控加工领域工艺数据的知识图谱构建方法 | |
CN109710935B (zh) | 一种基于文物知识图谱的博物馆导览与知识推荐方法 | |
CN111241212B (zh) | 知识图谱的构建方法及装置、存储介质、电子设备 | |
CN111813956A (zh) | 知识图谱构建方法、装置、信息穿透方法和系统 | |
CN111813961B (zh) | 基于人工智能的数据处理方法、装置及电子设备 | |
CN114691831A (zh) | 一种基于知识图谱的任务型汽车故障智能问答系统 | |
CN113569023A (zh) | 一种基于知识图谱的中文医药问答系统及方法 | |
CN112507139B (zh) | 基于知识图谱的问答方法、系统、设备及存储介质 | |
Kuppevelt et al. | Answering legal research questions about dutch case law with network analysis and visualization | |
CN109522396B (zh) | 一种面向国防科技领域的知识处理方法及系统 | |
CN112000790B (zh) | 一种法律文本精确检索方法、终端系统和可读存储介质 | |
CN112667821A (zh) | 基于百科数据的军事知识图谱构建和问答方法 | |
CN114077705A (zh) | 一种对社交平台上的媒体账号进行画像的方法和系统 | |
CN114637740A (zh) | 一种基于知识表示和知识提取的新型图谱平台构建方法 | |
WO2022032685A1 (en) | Method and device for constructing multi-level knowledge graph | |
CN111460119A (zh) | 经济知识智能问答方法、系统及智能设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20240510 |