基于半结构化数据的生鲜食品供应链知识图谱构建方法技术

技术编号:25708783 阅读:23 留言:0更新日期:2020-09-23 02:55
本发明专利技术提供一种基于半结构化数据的生鲜食品供应链知识图谱构建方法,对半结构化数据进行收集和处理,达到有效整合现有数据资源、发掘海量信息内在数据价值的目的,从而构建出结构严谨、系统完备的高质量知识图谱。利用网页爬虫技术爬取目标所在网页中的半结构化数据,提高数据获取的效率;借助正则表达式获取多条包含实体名称及实体属性的结构化数据,使所构建的知识图谱更加科学、准确;使用方便用户使用和理解的结构化数据映射工具D2RML将结构化转化为RDF三元组形式;实现RDF三元组数据到图数据结构的映射,将生鲜食品供应链数据存储于Neo4j图数据库,解决生鲜食品供应链数据量大、数据价值密度低、更新速度快的问题。

【技术实现步骤摘要】
基于半结构化数据的生鲜食品供应链知识图谱构建方法
本专利技术涉及知识图谱构建
,具体涉及一种基于半结构化数据的生鲜食品供应链知识图谱构建方法。
技术介绍
随着中国经济的快速发展,人民的生活水平和生活品质得了改善,与此同时,对食品的质量安全问题也越来越重视。生鲜食品作为人们生活领域的主要食品来源,也受到人们越来越多的关注。相继地,部分生鲜食品品牌也推出了溯源功能,将生鲜食品所经过的生产、仓储、运输、销售等环节的供应链信息放到追溯平台供消费者查询使用。然而,这些信息大多都是存在于网页中的非结构化或半结构化数据,难以使消费者能够快速准确地找到自己所需要的信息。如何构建一个平台使消费者能够清楚地知道生鲜食品供应链上数据信息,以及它们之间的关系,快速准确地找到自己需要的信息,成为该领域需要解决的一个关键问题。当前,知识图谱快速发展,其概念最初在2012年正式由谷歌提出,并于2013年以后开始在学术界和业界普及,在智能问答、情报分析、反欺诈等都有着重要的应用。通过构建知识图谱,将生鲜食品供应链信息存储在Neo4j图数据库中,能够方便用户快速甄别生鲜食品供应链信息。然而,现有的知识图谱多是基于多数据源融合形成的,所收集的资源信息存在分布涣散、杂乱无章的特点,虽然在一定程度上提高了知识图谱的广度,但是所构建知识图谱的质量普遍不高。
技术实现思路
为克服上述现有技术的不足,本专利技术提供一种基于半结构化数据的生鲜食品供应链知识图谱构建方法。通过对半结构化数据的采集和处理,提高了所构建知识图谱的质量;采用Neo4j图数据库对数据进行存储解决了生鲜食品供应链数据价值密度低、数据量大、更新速度快的问题。基于半结构化的知识图谱能够将生鲜食品供应链领域碎片化的信息进行有机整合,将其变成集简洁、高效、结构完备于一身的高质量知识库,供用户在此基础上查询学习生鲜食品供应链数据信息,还可以通过它来推理出实体之间存在的潜在关系,从而增加用户对产品的信任、满足了用户需求。本专利技术的技术方案是:一种基于半结构化数据的生鲜食品供应链知识图谱构建方法,使用网络爬虫技术获取网页中的半结构化数据,提高数据获取效率;通过对爬取的半结构化数据进行正则化规则处理,得到结构化数据,并储存到Mysql数据库中;采用D2RML结构化数据映射工具,将结构化数据转化成RDF三元组的形式;采用Neo4j图数据库构建知识图谱,并将RDF三元组数据存储到其中,很好地解决了生鲜食品供应链数据价值密度低、数量大、更新速度快的问题。该方法的具体步骤如下:步骤1、爬虫爬取网页半结构化数据通过爬虫技术对相关网站进行爬取,获取生鲜食品供应链上的半结构化数据;其中,爬虫采用Scrapy框架,先用Spider进行主抓取得到目标网页的文本信息;步骤2、借助正则表达式获取结构化数据设计与所爬取半结构化数据相匹配的语义模板,再通过编写正则表达式规则将步骤1中的半结构化数据转换成结构化数据,抽取构建知识图谱所需的实体及其属性,存放到Mysql数据库中;步骤3、将结构化数据转换成RDF三元组数据使用结构化数据映射工具D2RML将结构化数据转换成RDF三元组的形式,为构建知识图谱做铺垫;在从结构化数据中进行知识映射前,首先,根据解结构化数据中的基本数据结构,包括表与表之间的联系以及每个表的含义,同时理解知识图谱的结构,然后使用D2RML语言把表中的结构化数据与知识图谱中的实体、关系关联起来;步骤4、构建生鲜食品供应链知识图谱采用知识存储映射算法将生鲜食品供应链结构化数据映射到Neo4j图数据库中,实现生鲜食品供应链数据的存储及可视化展示。进一步的,所述步骤1中,采用Scrapy框架进行爬虫工作,其步骤如下:(1.1)引擎获取最初的请求,用Spider进行主抓取;(1.2)引擎在调度器发出调度请求,并要求对下一个请求进行采集;(1.3)调度器将下一个请求返回给引擎;(1.4)引擎通过下载器中间件将请求传送给下载器;(1.5)页面完成下载,下载器会生成一个响应并通过下载器中间件发送给引擎;(1.6)引擎从下载器收到响应并将其发送给Spider中间件进行传递;(1.7)Spider处理响应,并通过Spider中间件将抓取的项目和新的请求返回给引擎;(1.8)引擎将处理后的项目发送到项目管道,然后将处理后的请求发送给调度器,然后对下一个请求进行采集;(1.9)重复该过程,直到调度器没有更多请求。进一步的,所述步骤2中,编写正则表达式将半结构化数据处理成结构化数据,其具体步骤如下:(2.1)输入半结构化数据文本文档;(2.2)开始读取半结构化数据,并对其进行去噪、去冗、清洗处理,放入text中;(2.3)编写正则规则找出文档中的所有实体名称,放到matcher类中;(2.4)依次编写实体和实体对应属性的正则表达规则,并设置循环条件,抽取所有实体和属性;(2.5)将抽取出的每个实体名称以及属性保存。进一步的,所述步骤3中,D2RML中的关键词及相应的功能如下:dbtype:源数据库类型,包括mysql、sqlserver、oral,源数据库的类型决定了进行连接时需要使用的驱动;Dburl:数据库连接字符串,指定数据库地址、端口和使用的数据库信息;Dbuser:数据库用户名;Dbpwd:数据库密码;Table:源数据表;Concept:导入目标概念;Name的colname属性:实体名来源列;synonym的colname属性:同一实体来源列;Parent的tablename属性:父概念的表名;Attribute的colname指定属性来源列,attrname则指定属性名。进一步的,所述步骤3中,定义好映射配置文件后,接下来依据配置资源实现源数据库的知识转换;知识转换引擎连接配置文件中配置的目标数据库,读取数据库中相应表格里的数据,把关系数据库中的表和列数据分别映射成知识图谱的实体及实体的属性,然后把这些映射得到的知识存储到Neo4j图数据库中。进一步的,所述步骤4中,知识存储具体实现过程:(4.1)采用JenaAPI对生鲜食品供应链文件进行读取、解析,并在Neo4j图数据库中建立一个图数据库,然后将解析后的所有RDF三元组数据存储在此图数据库中;(4.2)Neo4j中存储结构部分包括节点和关系,除了两者之间的映射关系外,还依据实际情况为其添加属性(properties);(4.3)经前两个步骤,Neo4j中会产生相应的存储文件,包括三部分构成:nodes存储文件、relationships存储文件以及properties文件;(4.4)通过Neo4j将存储的生鲜食品供应链数据进行可视化展示。与现有技术相比,本专利技术的有益效果是:通过采集半结构化数据解决了此前基于多数据源所构建的知识图谱存在的本文档来自技高网...

【技术保护点】
1.一种基于半结构化数据的生鲜食品供应链知识图谱构建方法,其特征在于,包括如下步骤:/n步骤1、爬虫爬取网页半结构化数据/n通过爬虫技术对相关网站进行爬取,获取生鲜食品供应链上的半结构化数据;其中,爬虫采用Scrapy框架,先用Spider进行主抓取得到目标网页的文本信息;/n步骤2、借助正则表达式获取结构化数据/n设计与所爬取半结构化数据相匹配的语义模板,再通过编写正则表达式规则将步骤1中的半结构化数据转换成结构化数据,抽取构建知识图谱所需的实体及其属性,存放到Mysql数据库中;/n步骤3、将结构化数据转换成RDF三元组数据/n使用结构化数据映射工具D2RML将结构化数据转换成RDF三元组的形式,为构建知识图谱做铺垫;在从结构化数据中进行知识映射前,首先,根据解结构化数据中的基本数据结构,包括表与表之间的联系以及每个表的含义,同时理解知识图谱的结构,然后使用D2RML语言把表中的结构化数据与知识图谱中的实体、关系关联起来;/n步骤4、构建生鲜食品供应链知识图谱/n采用知识存储映射算法将生鲜食品供应链结构化数据映射到Neo4j图数据库中,实现生鲜食品供应链数据的存储及可视化展示。/n

【技术特征摘要】
1.一种基于半结构化数据的生鲜食品供应链知识图谱构建方法,其特征在于,包括如下步骤:
步骤1、爬虫爬取网页半结构化数据
通过爬虫技术对相关网站进行爬取,获取生鲜食品供应链上的半结构化数据;其中,爬虫采用Scrapy框架,先用Spider进行主抓取得到目标网页的文本信息;
步骤2、借助正则表达式获取结构化数据
设计与所爬取半结构化数据相匹配的语义模板,再通过编写正则表达式规则将步骤1中的半结构化数据转换成结构化数据,抽取构建知识图谱所需的实体及其属性,存放到Mysql数据库中;
步骤3、将结构化数据转换成RDF三元组数据
使用结构化数据映射工具D2RML将结构化数据转换成RDF三元组的形式,为构建知识图谱做铺垫;在从结构化数据中进行知识映射前,首先,根据解结构化数据中的基本数据结构,包括表与表之间的联系以及每个表的含义,同时理解知识图谱的结构,然后使用D2RML语言把表中的结构化数据与知识图谱中的实体、关系关联起来;
步骤4、构建生鲜食品供应链知识图谱
采用知识存储映射算法将生鲜食品供应链结构化数据映射到Neo4j图数据库中,实现生鲜食品供应链数据的存储及可视化展示。


2.根据权利要求1所述的一种基于半结构化数据的生鲜食品供应链知识图谱构建方法,其特征在于:所述步骤1中,采用Scrapy框架进行爬虫工作,其步骤如下:
(1.1)引擎获取最初的请求,用Spider进行主抓取;
(1.2)引擎在调度器发出调度请求,并要求对下一个请求进行采集;
(1.3)调度器将下一个请求返回给引擎;
(1.4)引擎通过下载器中间件将请求传送给下载器;
(1.5)页面完成下载,下载器会生成一个响应并通过下载器中间件发送给引擎;
(1.6)引擎从下载器收到响应并将其发送给Spider中间件进行传递;
(1.7)Spider处理响应,并通过Spider中间件将抓取的项目和新的请求返回给引擎;
(1.8)引擎将处理后的项目发送到项目管道,然后将处理后的请求发送给调度器,然后对下一个请求进行采集;
(1.9)重复该过程,直到调度器没有更多请求。


3.根据权利要求1所述的一种基于半结构化数据的生鲜食品供应链知识图谱构建方法,其特征在于:所述步骤2中,编写正则表达式将半结构化数据处理成结构化数据,其具体步骤如下:
(2.1)输入半结构化数据文本文档;
(2.2)开始读取半结构化...

【专利技术属性】
技术研发人员:刘新亮谷情张梦琪高圣乔张腾
申请(专利权)人:北京工商大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1