基于Neo4j的育儿知识图谱构建研究与实践

2021-11-03 01:58曾红艳韦昌法
现代信息科技 2021年8期
关键词:知识图谱育儿

曾红艳 韦昌法

DOI:10.19850/j.cnki.2096-4706.2021.08.002

摘  要:文章闡述了构建育儿知识图谱的意义,对知识图谱和图数据库Neo4j进行了简要介绍。论述了育儿知识图谱的构建思路,开展了育儿知识图谱构建实践,详细介绍了育儿知识数据获取、育儿知识数据处理、育儿知识数据存储和育儿知识图谱数据展示等过程。基于Neo4j的育儿知识图谱构建实践,为进一步构建基于知识图谱的育儿知识服务系统,进而为用户提供高效便捷的育儿知识服务奠定了坚实的基础。

关键词:知识图谱;图数据库;Neo4j;育儿

中图分类号:TP391.1       文献标识码:A 文章编号:2096-4706(2021)08-0005-04

Research and Practice on the Construction of Childcare Knowledge Graph

Based on Neo4j

ZENG Hongyan,WEI Changfa

(School of Information Science and Engineering,Hunan University of Chinese Medicine,Changsha  410208,China)

Abstract:This paper expounds the significance of constructing childcare knowledge graph,and briefly introduces the knowledge graph and graph database Neo4j. It discusses the construction idea of childcare knowledge graph,carries out the construction practice of childcare knowledge graph,and introduces in detail the processes of childcare knowledge data acquisition,childcare knowledge data processing,childcare knowledge data storage and childcare knowledge graph data display,etc. The construction practice of childcare knowledge graph based on Neo4j has laid a solid foundation for further building a childcare knowledge service system based on knowledge graph and then provides users with efficient and convenient childcare knowledge services.

Keywords:knowledge graph;graph database;Neo4j;childcare

0  引  言

婴幼儿时期是人生中体格和智力发育最快的阶段,也是对疾病抵抗力较低的时期,而初为父母的家长普遍缺乏健康育儿知识[1]。因此如何向家长们全面而高效地传播科学育儿知识,减少由于无知和不正确的育儿方式带给儿童伤害,这是一个值得关注的问题。

目前,家长主要是从书籍、报纸、杂志和网络上获取育儿知识,也通过向老年人请教、与其他家长交流等人际传播方式学习育儿知识。介绍育儿知识的书籍和报纸、杂志虽然不少,但是质量上却良莠不齐;网络媒体虽然已经成为家长最喜欢的育儿知识学习渠道,但是家长却无法确认网络媒体所提供的育儿知识的可信度,丰富的网络育儿知识资源反而给家长们带来了选择上的困难[2,3]。因此,基于权威可靠的育儿知识来源开展育儿知识图谱的构建研究,进而基于育儿知识图谱为家长提供科学、健康的育儿知识服务,具有重要的价值和意义。

1  知识图谱和图数据库Neo4j简介

谷歌公司2012年提出了知识图谱这一新概念[4],它本质上是一种结构化的知识表示形式。现实生活中的事物和关系可以借助知识图谱的“实体、属性和关系”来进行描述。随着知识图谱技术体系的不断发展和完善,目前知识图谱已经在电商、金融、媒体、医药和司法等众多垂直领域得到广泛应用[5]

在医疗知识图谱的构建方面,研究者已经开展了不少有意义的研究工作。例如,侯梦薇等人[6]针对医疗领域大数据专业性强且结构复杂等特点,对医学知识图谱架构和构建技术进行了剖析。俞思伟等人[7]提出了医疗知识图谱的构建方法,以及将其应用于基于医疗知识库的疾病辅助诊断系统的方法。

图数据库是一种非关系型数据库,它是基于图论实现的一种数据库。不同于传统的关系型数据库将数据存在库表字段中,图数据库将数据和数据之间的关系存在节点和边中,称之为“节点”和“关系”。Neo4j是一款知名的图数据库产品,它凭借嵌入式、高性能和轻量级等优势,越来越受到关注[8]

目前,基于知识图谱技术来构建育儿知识图谱的工作尚未见报道,因此笔者拟利用人工智能技术从多源异构的育儿知识来源中采集育儿知识,基于Neo4j图数据库构建育儿知识图谱,为进一步构建基于知识图谱的育儿知识服务系统奠定基础。

2  育儿知识图谱构建思路

图1展示了育儿知识图谱构建思路。笔者首先通过查阅权威可靠的育儿书籍和相关文献来了解育儿知识,梳理育儿知识体系;利用人工智能技术将电子版育儿书籍和文献中的育儿知识提取为文本数据,并将采集到的育儿知识数据存储到MySQL数据库中,完成数据的结构化处理;借助Neo4j数据库存储育儿知识数据,构建育儿知识图谱。

3  育儿知识图谱构建实践

根据上述的育儿知识图谱构建思路,笔者开展了育儿知识图谱构建实践,具体步骤包括:育儿知识数据获取、育儿知识数据处理、育儿知识数据存储和育儿知识图谱数据展示。

3.1  育儿知识数据获取

为了确保育儿知识图谱的质量,笔记从权威可靠的育儿书籍和相关文献中获取育儿知识。相关的权威育儿书籍包括:《儿科学:第9版(国家卫生健康委员会“十三五”规划教材)》《中医儿科学:第10版(全国中医药行业高等教育“十三五”规划教材)》和《美国儿科学会育儿百科:第7版》。相关的权威文献包括:WS/T 678-2020《婴幼儿辅食添加营养指南》(中华人民共和国卫生行业标准)、《婴幼儿喂养与营养指南》(中华预防医学会儿童保健分会发布)等。

通过查阅上述权威育儿书籍和文献,根据家长所关心的育儿问题,将育儿知识分为营养知识、穿着知识、保健护理知识、生长发育知识、儿童教育知识和常见儿科疾病知识等六大类。

利用人工智能技术将电子版育儿书籍和文献中的育儿知识提取为文本数据,具体过程为:利用Python编程技术对电子版育儿书籍和文献进行处理,如果能够从电子版文档中直接复制文本,则快速复制出文本;如果无法从电子版文档中直接复制文本,则对文档进行截图处理,将育儿知识条目保存为图片文件,并调用百度AI开发平台的通用文字识别功能对图片文件进行文字识别,从而获取育儿知识文本数据。

3.2  育儿知识数据处理

上述的育儿知识数据获取步骤获得的是育儿知识文本数据,为了构建育儿知识图谱,需要对这些数据进行结构化处理。利用Python编程技术从育儿知识文本数据中提取出育儿知识条目,将知识条目归入营养知识、穿着知识、保健护理知识、生长发育知识、儿童教育知识和常见儿科疾病知识中的某一类别。

因笔者将基于Neo4j来构建育儿知识图谱,而Neo4j存储的数据主要有两类,即节点和关系,故育儿知识数据存入MySQL数据库进行结构化处理时,MySQL数据库表设计为节点表和关系表两大类。节点表如表1所示,包含id、node_name和node_category属性;关系表如表2所示,包含id、id_start、node1_name、id_end、node2_name和relationships属性。

3.3  育儿知识数据存储

将MySQL数据库中的育儿知识数据以CSV文件格式导出,然后将整理好的节点CSV文件和节点关系CSV文件通过Cypher语言导入到Neo4j数据库中,构建出存储育儿知识的知识图谱,为进一步构建基于知识图谱的育儿知识服务系统奠定基础。

从MySQL数据库中导出的CSV文件的SQL语句形式及详细说明:

select * from 数据库表 into outfile '导出的目录和文件名' character set gbk fields terminated by '字段间分隔符' optionally enclosed by '字段包围符';

#into outfile '导出的目录和文件名'命令用来指定导出的目录和文件名。

#fields terminated by '字段间分隔符'命令是对字段间的分隔符进行定义。

#optionally enclosed by '字段包围符'命令指出包围非数值型字段的字符。

從MySQL数据库中导出的CSV文件如图2所示。

最后通过Cypher LOAD CSV命令将所有CSV文件导入Neo4j数据库中,共计1 239个节点数据和2 086个关系数据。利用Neo4j的Python API包py2neo连接好Neo4j数据库后,即可将所有节点和关系文件载入Neo4j,以导入“宝宝”节点和“对象”关系为例,其命令格式为:

graph = Graph("http://localhost:7474", username="neo4j",password="123456")#连接Neo4j

#1.节点文件载入

cql='''USING PERIODIC COMMIT 100 LOAD CSV FROM 'file:///baby_info.csv' AS line CREATE (g:宝宝 { baby_id:  line[0], node_name: line[1], node_cate: line[2],baby_stage: line[3], baby_age_message: line[4]  });'''

result = graph.run(cql)

print(result,"宝宝实体 存储成功")

#2.关系文件的载入

cql='''USING PERIODIC COMMIT 300 LOAD CSV FROM 'file:///baby_age_info.csv' AS line MATCH (a:宝宝), (m:年龄) WHERE a.baby_id = line[1] AND m.idbaby_age = line[3] CREATE (a) - [r:对象{relationships:line[5]}] -> (m) RETURN r;'''

result = graph.run(cql)

print(result,"宝宝<-->年龄 存储成功")

表3对部分知识图谱实体类型进行了说明,表4对部分知识图谱关系属性类型进行了说明。

3.4  育儿知识图谱数据展示

育儿知识图谱构建完成后,即可在图数据库Neo4j的浏览器端查看构建知识图谱的成果。如图3所示,Neo4j浏览器端将不同的实体类别用不同的颜色进行区分,其中第1种颜色节点表示育儿信息实体,第2种颜色节点表示年龄实体,第3种颜色节点表示儿童营养实体,第4种颜色节点表示儿童穿着属性实体,第5种颜色节点表示保健护理属性实体,第6种颜色节点表示生长发育属性实体,第7种颜色节点表示教育属性实体,第8种颜色节点表示儿科疾病属性实体。连接育儿信息实体与属性实体之间的边则表示相应的育儿阶段所包含的各方面育儿知识,这在一定程度上模拟了查阅“育儿百科”的过程。

Neo4j数据库提供了Cypher语言对数据库进行CRUD(Create,Read,Update,Delete)操作,從而实现对育儿知识的快捷检索和遍历等功能,为进一步构建基于知识图谱的育儿知识服务系统奠定基础。

4  结  论

本文研究了一种基于Neo4j的育儿知识图谱构建方法,通过查阅权威可靠的育儿知识来源,对育儿知识体系进行梳理,利用人工智能技术将电子版育儿书籍和文献中的育儿知识提取为文本数据,将采集到的育儿知识数据存储到MySQL数据库中,完成数据的结构化处理,借助Neo4j数据库存储育儿知识数据,实现育儿知识图谱的构建。笔者将进一步利用命名实体识别和关系抽取技术自动从育儿知识数据中抽取实体与关系,以扩充现有的知识图谱,并构建基于知识图谱的育儿知识服务系统,为广大用户提供权威可靠、高效便捷的育儿知识服务。

参考文献:

[1] 李沛霖,王茜,刘凯佳.浅析健康育儿知识普及中存在的问题及对策——基于传播学的角度 [J].改革与开放,2017(5):53-57.

[2] 柏莹,周彤.关于幼儿家长利用新媒体平台学习的调查 [J].现代交际,2019(8):15-16.

[3] 张晨.育儿微信公众号与城市家长育儿理念及策略研究——以渭南市临渭区为例 [J].今传媒,2021,29(4):24-28.

[4] 漆桂林,高桓,吴天星.知识图谱研究进展 [J].情报工程,2017,3(1):4-25.

[5] 刘烨宸,李华昱.领域知识图谱研究综述 [J].计算机系统应用,2020,29(6):1-12.

[6] 侯梦薇,卫荣,陆亮,等.知识图谱研究综述及其在医疗领域的应用 [J].计算机研究与发展,2018,55(12):2587-2599.

[7] 俞思伟,范昊,王菲,等.基于知识图谱的智能医疗研究 [J].医疗卫生装备,2017,38(3):109-111+126.

[8] 杨振,万为清.图数据库的研究和应用 [J].电脑编程技巧与维护,2020(12):91-93.

作者简介:曾红艳(1998—),女,汉族,湖南娄底人,本科在读,研究方向:医学信息工程;通讯作者:韦昌法(1982—),男,壮族,广西巴马人,副教授,博士研究生在读,研究方向:中医智能辅助诊疗。

收稿日期:2021-04-15

基金项目:湖南省自然科学基金资助项目(20 20JJ4461);湖南省教育厅资助科研项目(20B431)

猜你喜欢
知识图谱育儿
国内图书馆嵌入式服务研究主题分析
国内外政府信息公开研究的脉络、流派与趋势
基于知识图谱的产业集群创新绩效可视化分析
基于知识图谱的产业集群创新绩效可视化分析
基于知识图谱的智慧教育研究热点与趋势分析
从《ET&S》与《电化教育研究》对比分析中管窥教育技术发展
育儿神器
育儿Q&A
育儿Q&A
育儿博客