基于Neo4j 图数据库的产业政策知识图谱构建

2022-12-31 11:30于小涵舒畅
科海故事博览 2022年33期
关键词:产业政策图谱实体

于小涵 韩 筱 舒畅

(济南大学,山东 济南 250002)

1 前言

在信息技术革命的推动下,如何实现各种活动的电子化已然成为一种热潮,电子政务也在这一背景下应运而生。电子政务是政府顺应时代发展,利用信息网络技术实现自我改革的一种举措。政府通过这种方式对组织结构和运作方式进行优化,从而提高工作效率,为公众提供更加便捷满意的服务[1]。政府之间以及政府与公民、企业进行互动的过程中,往往会产生大量的数据,这些数据与国民经济、公众生活息息相关。在建设电子政务的过程中,政府部门会希望高效利用这些数据,从中挖掘有效信息,但政务数据分散、缺乏深度分析的现象却普遍存在[2]。政策文本作为政务数据的一种,是政府部门日常办公处理的重要工具,具有传达国家法规、条例和指导等信息的作用。但这些政策文本散布在各个政府网站,不利于政府部门之间的信息互通,也不便于公众对政策内容的全面掌握,而数据的整合分析、深度挖掘也很难在这种情况下开展。

知识图谱等技术的发展,为政策文本的数据存储、信息整合以及知识发现提供了重要支撑。知识图谱的主要目的是描述各种实体和概念以及他们之间的关系,进而以图网络形态展现领域知识,甚至通过推理发现新的知识。构建政策知识图谱能够将政策文本中存在的大规模、碎片化的知识整合成以实体为基本单位的网络结构,不仅能提高政府内部对已有政策的管理效率、实现跨部门的知识发现,还能为公众提供更加智能方便的服务。

2 知识图谱简介

知识图谱的研究起源于语义网络,这是一种通过相互连接的节点和边来表达知识的模式[3]。其中节点表示对象、概念,边表示节点之间的关系。语义网络本质上是一张数据构成的网络,它以图网络的方式为用户返回加工推理后的知识,知识图谱则在此基础上实现了规模更大、结构更好、语义更丰富的智能化语义检索。知识图谱的基本组成单位是三元组,包含(主语,谓语,宾语)三个部分,在实际的图网络数据中通常表示成“实体-关系-实体”或“实体-属性-属性值”。

从覆盖范围来看,知识图谱可分为通用知识图谱与行业知识图谱两类[4]。通用知识图谱涉及的知识范围较为广泛,以常识性知识为主,应用于互联网的搜索、推荐、问答等场景,如WordNet、FreeBase、百度知心等。行业知识图谱面向特定领域,有严格与丰富的数据模式,对准确度要求更高,通常用于辅助分析及决策支持。目前行业知识图谱已经在很多领域得到了很好的应用,典型的行业知识图谱有中国旅游景点知识图谱、中医药知识图谱、UMLS 等。通用知识图谱和行业知识图谱并不是相互对立,而是相辅相成的一个关系,将通用知识图谱的广度和行业知识图谱的深度融合在一起,可以形成更加完善的知识图谱。

3 产业政策知识图谱的构建过程

知识图谱的构建一般可以分为自顶向下和自底向上两种方式。自顶向下是先归纳总结出知识图谱的逻辑架构,然后再依据这一架构从高质量数据中抽取实体和关系,加入知识图谱中。自底向上则是先从真实数据中抽取实体和关系,而后归纳总结出知识图谱。知识图谱在逻辑上分为模式层和数据层,本文采用自顶向下的构建方式,即先定义知识图谱的模式层,然后建立数据层。

3.1 收集产业政策文本

本文以北大法宝法律法规数据库和各级政府网站为政策文本的主要来源,搜索2009 年到2021 年内与产业政策相关的各省法律规章,最终通过人工排查,下载并获得产业政策总计2453 篇。政策文章均保存为“.txt”格式,并按照省份和年份放置在不同文件夹内,以便后续通过Python 进行批量文件处理,从中提取所需的知识三元组。

3.2 构建知识图谱的模式层

模式层是知识图谱的概念模型和逻辑基础,是知识图谱的核心,主要定义了实体、属性、关系等知识类的层次。

实体是知识图谱中最基本的元素,它可以是客观世界中独立存在的某个事物,如人、水果、家具等,也可以是抽象出来的某种概念,如善良、工作、成绩等。本文基于政策文本的特征和对知识查询的需求,定义了政策和关键词两种实体类型。其中,“政策”指代某篇政策文本,“关键词”指代政策中具有关键作用揭示主题的词语。

属性是对实体的说明,通过描述实体的内在信息来将其区分,如人的姓名、身高、年龄等。本文除了将省份和年份两个基本特征作为政策文本的属性外,还设置了政策情感偏好。政府会通过补贴、减税、表彰等方式来激励某个产业的发展,也会通过强调社会责任、环境保护等方式来进行制约。政府在不同的时代发展阶段对于不同的产业往往会有不同的政策偏好,当一篇政策对这两个理念不偏不倚,同样重视时,就认为该政策为“平衡型”;当“激励”的强调程度大于“责任”时,就认为是“激励型”;反之则为“责任型”。

关系描述了实体之间客观存在的关联,如“购买”描述了客户和商品的关系。考虑到地方对中央宏观政策的落实、政策的分阶段发展等因素,一篇政策文本往往会引用其他政策作为依据,因此本文构建了政策实体之间的“引用”关系。此外,本文还构建了政策和关键词之间的“涉及”关系,从而能够直观地了解政策主题,间接关联主题相近的政策。

3.3 构建知识图谱的数据层

数据层是在模式层所构建的模型基础上,以<实体,关系,实体>或<实体,属性,属性值>的事实三元组等知识为单位,将数据存储在图数据库中,进而构成大规模的实体关系网络,形成知识图谱。构建数据层的关键在于从繁杂的数据中抽取结构化数据,并组成事实三元组。以下将具体描述实体和属性的抽取过程,对于关系的抽取在关键词实体抽取和引文实体抽取时已经完成,只需抽取时将关键词与引文存储在对应的政策列表中即可。

本文对政策实体的抽取是指将所收集到的政策题名和正文中引用的政策名称提取并存储到excel 中。对于已收集的政策文本,因为在下载时已将题名作为文件名进行保存,只需通过Python 直接遍历读取所有文件名即可。对于正文中存在的引文,则需要使用Python中的“re”模块,由正则表达式定位并提取“《》”中的文字。当一篇政策被多次引用时,下文往往会用简称指代,例如“全面落实国务院批复的《山东新旧动能转换综合试验区建设总体方案》(以下简称《方案》)确定的各项目标任务”该篇政策的下文将会使用《方案》来指代文中出现过的政策,因此在引文抽取时还需筛选掉《方案》《规划》《决定》《意见》和《建议》。

本文通过Python 利用TF-IDF 算法,计算得到每篇政策文本权重最高的五个词作为该政策的关键词,以代表其主要内容。TF-IDF 算法主要用于评估一个词对一个语料库中某一文件的重要程度,计算得到的词语重要性与它在该文件中出现的次数成正比,与它在语料库中出现的频率成反比。如果一个词在某个文件中出现的频率很高,而在整个语料库中频率较低,即在其他文件中很少出现,则认为这个词对其所在文件有较好的代表性。

政策实体的发表年份和省份可通过Python 识别文件路径直接抽取,政策情感偏好属性则可采用自然语言处理中的情感分析法进行抽取,即对文本中带有情感色彩的主观性词语进行归纳分析。本文借鉴黄鲁成团队[5]评估创新政策平衡态的方法,通过对比政策文本中激励词和责任词的个数来衡量一篇政策的情感偏好,当两者个数相近时,认为是平衡型政策;当激励词个数大于责任词时,认为是激励型政策;反之,则为责任型政策。计算每篇政策的激励词和责任词个数,需要先建立“激励”词库和“责任”词库。通过政策文本和中文维基百科选取与“激励”和“责任”相关的文本,利用Python 语言的jieba 包进行分词处理后,人工筛选出能表征“激励”和“责任”的词汇,并分别保存作为相应的词库。最终经专家审议,选取重要性相当、个数相等的两组词汇来分别表征“激励”和“责任”。得到词库后即可利用Python 统计每篇政策中两种情感词的个数,从而判断其情感偏好。

抽取完构建知识图谱所需的三元组后,本文通过Python 驱动Neo4j 图数据库将数据从表结构转换成图网络进行存储。最终构建的知识图谱共有8859 个政策节点,1290个关键词节点。较大的深色节点表示政策实体,较小的浅色节点表示关键词实体,点击政策节点就可以看到该篇政策文本的发表年份、省份以及政策情感偏好。

4 产业政策知识图谱的可视化查询

Cypher 是Neo4j 的官方查询语言,它具有丰富的表现力,能高效地查询和更新图数据。与关系数据库中的SQL 类似,Cypher 是一种文本的声明式查询语言,它描述目标的性质,而非流程,不需要用算法来明确地指出每一步该怎么做。利用Cypher 语言可以对产业政策知识图谱中的节点和关系进行查询,并将查询结果以图网络的形式呈现出来,便于用户快速获取想要了解的信息,发现事物之间的潜在联系。

4.1 产业政策实体查询

在产业政策知识图谱中,用户可以使用Cypher 语句的MATCH 子句查询某篇政策的相关信息。例如,在Neo4j 的编辑器中输入“MATCH (m:policy)-[r]->(n) WH ERE m.name='云南省人民政府办公厅贯彻落实国务院办公厅关于深化种业体制改革提高创新能力文件的实施意见' RETURN m,r,n;”由此即可得到与该政策实体直接相连的关系网络。该政策主要涉及的关键词有“农作物、种子、育种、种质、高等院校”,并且引用了《国务院办公厅关于深化种业体制改革提高创新能力的意见》,点击节点能够看到该政策发布于2015 年,从属于云南省,具有激励型政策偏好。用户还可以对某一关键词进行查询,查看涉及该关键词的政策有哪些,以关键词“减排”为例,在编辑器中输入“MATCH(m:keywprd)-[r]->(n) WHERE m.name='减排' RETURN m,r,n;”就能返回与之相连的25 个政策节点。MATCH子句也支持模糊匹配,如检索文本题名中包含“大数据”的政策实体,可在编辑器中输入“MATCH (n:policy)WHERE n.name=~'.*大数据.*' RETURN n;”。

4.2 产业政策引文查询

与学术论文类似,政策文本中也存在大量的引用。对政策文本进行引文分析,查看它们之间的引用关系,对探究政策体系的演变过程,了解地方对中央政策的衔接落实等都具有一定的现实意义。相比于其他的数据存储方式,图数据库能够更加直观地展现政策间的引用关系,便于用户发现规律,对政策进行溯源分析。在政策知识图谱的编辑器中输入“MATCH (m)-[r:引用]->(n) RETURN m,r,n;”即可查看所有的引用关系图谱。如果想要对某篇政策文本进行追溯,则指定政策节点的名称即可,如“MATCH (c:policy{name: ”山东省人民政府关于印发山东省战略性新兴产业发展“十二五”规划的通知"})-[r*0..]->(result) RETURN result;”,就能返回该篇政策的引用过程。

5 结语

本文参考已有文献和政策文本的查询需求,提出构建产业政策知识图谱的模式层框架,即定义政策和关键词两类实体,其中政策实体的属性包含标题、政策偏好、发布年份和省份,实体间的关系有政策实体间的引用关系,以及政策和关键词间的涉及关系。在此基础上,本文通过Python 驱动Neo4j,利用收集的2453 篇政策文本建立知识图谱的数据层,并进行可视化查询。经过产业政策实体查询和引文查询两类实例验证,结果表明本文提出的产业政策知识图谱构建方法能实现产业政策相关信息的快速查询,发现主题相近的政策集群和政策间的引用脉络。基于图数据库的产业政策知识图谱在构建数字政府、提高政务数据利用价值等方面具有广阔的应用前景。未来研究在不断完善政策实体和实体关系的构建基础上,还可进一步实现基于产业政策知识图谱的相关应用,如面向公众的在线智能问答等。

猜你喜欢
产业政策图谱实体
基于图对比注意力网络的知识图谱补全
我国卫星应用产业政策及分析
体育与旅游融合发展的产业政策特征分析
产业政策立法的逻辑进路
绘一张成长图谱
前海自贸区:金融服务实体
实体书店步入复兴期?
图表
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”