一种融合信息获取和三元组抽取的知识图谱构建方法

文档序号:29620472发布日期:2022-04-13 13:09阅读:190来源:国知局
1.本发明涉及领域,更具体地,涉及一种融合信息获取和三元组抽取的知识图谱构建方法。
背景技术
::2.随着全球一体化的持续推进,更好更快的发展海洋产业一直以来都是国家的首要战略目标。而海洋产业作为一个宽泛的领域,其中包含海洋渔业、海洋经济、海洋军事、海洋环保等等的产业方向。由于各产业之间既存在着一定的联系,但又由于各自的特点存在一定的差异,所以各产业之间如何做到信息贯通与联动利用,就成为了发展海洋产业的一个瓶颈。伴随着技术的发展,知识图谱作为一种揭示知识领域的动态发展规律,为学科研究提供切实的、有价值的参考的工具,渐渐进入了人们的视野。现阶段,关于海洋产业知识库的工作由于其信息的专业性导致还基本处于空白,因此构建一个新兴海洋产业大规模语义知识库就成为了需要。3.知识图谱是真实世界的语义表示,其中每一个节点代表实体,连接节点的边则对应实体之间的关系,异构数据通过整合表达为知识,所谓知识就是点或边对应的信息。知识图谱用关系来组织所有的实体,形成有向图结构,而图的表达映射了人类对世界的认知方式。知识图谱通过数据挖掘、信息处理、知识计量和图形绘制把复杂的知识领域及知识体系显示出来,揭露该领域的发展动态及规律,为该领域的研究提供全方位、整体性、关系链的参考,是智能社会的重要生产资料。传统的研究方向主要集中在构建知识图谱上,如对知识图谱进行知识更新、知识融合等操作,而在具体实践中,除了要考虑最终的构建知识图谱,也需要考虑数据的获取以及数据清洗,因为这两个步骤会深深的影响到最终知识图谱的质量。4.现有的技术中公开了利用群体学习行为促进结构化知识图谱构建系统及方法,包括信息提取模块,个体知识图谱构建模块,群体知识图谱构建模块,知识点图谱构建模块,反馈模块。本发明适用于中小学教学和在线学习,学习者在知识点ki的学习过程中,通过对知识点相关内容的操作建立知识点ki和ki所属主题知识点集合k{k1,k2,k3…ki…kt}的关联,形成个体知识图谱,所述知识关联均以三元组《concept,relation,property》形式表示;多个学习者的个体知识图谱聚合形成群体知识图谱gc;对群体知识图谱中所有三元组进行可信度分析,去除没有达到可信度阈值的三元组,得到知识点ki权威的知识点图谱gk,专家可以对形成的知识点图谱进行完善;最终的知识点图谱又可以为学习者的学习提供反馈,但是在信息获取方面却无法做到信息的贯通与联动利用。技术实现要素:5.本发明为解决现有的各产业之间如何做到信息贯通与联动利用,无法在零散数据中发现知识,增加了用户的使用成本的技术缺陷,提供了一种融合信息获取和三元组抽取的知识图谱构建方法。6.为实现以上发明目的,采用的技术方案是:7.一种融合信息获取和三元组抽取的知识图谱构建方法,包括以下步骤:8.s1:定时利用爬虫技术从指定的网页中爬取海洋相关的包括新闻在内的文本内容;9.s2:利用自然语言处理工具对文本内容进行实体抽取及关系抽取,得到新闻的三元组,之后将新闻的三元组存储进数据库中;10.s3:根据数据库中新闻的三元组构建知识图谱,并在数据浏览器中实现知识图谱的可视化;11.s4:根据可视化的知识图谱获取知识的关联。12.上述方案中,融合了信息获取和三元组抽取来构建知识图谱,将整个流程构建成为一个端到端的任务,减少用户使用成本;构建出海洋知识图谱,进而从零散数据中发现知识,挖掘事物的关联性,帮助组织机构做出指导性的决策。13.优选的,步骤s1包括以下步骤:14.s11:设置目标爬虫地址,对网站的html语言进行简单解析,按照模板完成爬虫的框架,得到新闻;15.上述方案中,对以下字段进行解析并存储:新闻标题(news_title),新闻类型(news_type),新闻日期(news_date),新闻摘要(news_summary),新闻正文(news_content),新闻网页(news_web_url)以及新闻来源(news_source)。16.数据库新闻表字段如下:[0017][0018][0019]s12:根据新闻的url作为标识在数据库中进行查找,以此来判断该新闻是否重复;[0020]s13:为了简化简化用户操作,设定定时功能,使得爬虫程序按照用户的设置定期爬取指定网站的新闻。[0021]优选的,在步骤s12中,初始数据集的构建和爬取指定类型的新闻及其始末页在爬取到重复新闻时,跳过本条新闻,继续下一条新闻;当爬取到重复新闻时,说明该新闻类型的二级网址已经爬取完成,之后进行下一个类型的二级网址爬取。[0022]优选的,步骤s2包括以下步骤:[0023]s21:构建关系三元组数据表,对字段进行解析并存储;[0024]上述方案中,对以下字段进行解析并存储:索引(id),主语(triple_subject),主语标签(triple_subject_label),动词(triple_verb),宾语(triple_object),宾语标签(triple_object_label),原文(original_text),原文所在的表(original_text_table)和原文所在的表的索引(original_text_table_id)。[0025]数据库三元组关系表字段如下:[0026][0027][0028]s22:在读取在信息获取阶段所获得的位于数据库的数据时,首先读取新闻标题字段的数据进缓存中,对已经读取进缓存的新闻标题进行词性标注;[0029]s23:对新闻的句子进行句法分析,为句子中的每个词语维护一个保存句法依存儿子节点的字典;[0030]s24:利用s21和s22的结果对句子进行语义分析并对语义角色进行标注;[0031]s25:借助s21,s22和s23的结果进行三元组抽取;[0032]上述方案中,若语义角色标记为空,则使用依存句法进行抽取以谓语为中心的事实三元组:主要是处理这三种情况,主谓宾;定语后置,动宾关系;含有介宾关系的主谓动补关系。[0033]s26:筛选掉重复的三元组关系并用正则表达式去掉意义的标点符号,随后将三元组写入三元组表中,并将新闻的三元组存储至数据库中。[0034]优选的,在步骤s22中,在三元组抽取前先检查该数据是否已经被抽取,若已经被抽取,则跳过;若没被抽取,则利用自然语言处理平台进行分词处理,而分词就是将连续的字序列按照一定的规范重新组合成词序列的过程;[0035]词性标注是是语料库语言学中将语料库内单词的词性按其含义和上下文内容进行标记的文本数据处理技术。[0036]优选的,在步骤s23中,对句子进行句法分析,为句子中的每个词语维护一个保存句法依存儿子节点的字典;[0037]句法分析指对句子中的词语语法功能进行分析,是语块分析思想的一个直接实现,语块分析通过识别出高层次的结构单元来简化句子的描述;利用s21和s22的结果,求出句子的儿子节点。[0038]优选的,在步骤s24中,语义角色标注是一种浅层语义分析技术,以句子为单位,分析句子的谓词-论元结构,不对句子所包含的语义信息进行深入分析;语义角色标注的任务是以句子的谓词为中心,研究句子中各成分与谓词之间的关系,并且用语义角色来描述他们之间的关系。[0039]优选的,步骤s3包括以下步骤:[0040]s31:根据数据库中的三元组构建三元组数据表,从三元组数据表中依次获取三元组关系,获得三元组关系中的主语、主语标签、谓语、宾语与宾语标签;[0041]s32:用neo4j的图查询语言cypher查找知识图谱中是否存在该主语和宾语;若存在相同的主语,则查询是否存在相同的主语标签;若存在相同的宾语,则查询是否存在相同的宾语标签;[0042]s33:使用cypher语句尝试在知识图谱中插入主语、主语标签、谓语、宾语与宾语标签,若不成功,则判断关系不存在;[0043]s34:随后为关系添加新的主语标签及宾语标签,创建新的关系,在写入所有三元组关系后,用户启动neo4j服务并进入知识图谱的可视化界面。[0044]优选的,在步骤s32中,若存在相同的主语,则查询是否存在相同的主语标签:若不存在相同的主语标签,则为该主语添加一个新的主语标签;若存在相同的主语标签,则进行下一步;若不存在相同的主语,则在知识图谱上创建一个新的节点;[0045]若存在相同的宾语,则查询是否存在相同的宾语标签:若不存在相同的宾语标签,则为该主语添加一个新的宾语标签;若存在相同的宾语标签,则进入步骤s33。若不存在相同的宾语,则在知识图谱上创建一个新的节点。[0046]优选的,在步骤s4中,知识图谱中的知识是以三元组的关系展示,其包括主语,主语标签,谓语,宾语,宾语标签,通过知识库单独查询某一个元素,根据所述元素来获取与之相关联的其他元素信息,如果多个三元组之间存在重合元素的话,则说明三元组之间存在一定关联。[0047]与现有技术相比,本发明的有益效果是:[0048]本发明提供的一种融合信息获取和三元组抽取的知识图谱构建方法,融合了信息获取和三元组抽取来构建知识图谱,将整个流程构建成为一个端到端的任务,减少用户使用成本;构建出海洋知识图谱,进而从零散数据中发现知识,挖掘事物的关联性,帮助组织机构做出指导性的决策。附图说明[0049]图1为本发明的方法流程图;[0050]图2为本发明的信息获取的方法流程图;[0051]图3为本发明的三元组抽取的方法流程图;[0052]图4为本发明的知识图谱构建的方法流程图;[0053]图5为本发明的信息获取流程图;[0054]图6为本发明的三元组抽取流程图;[0055]图7为本发明的知识图谱构建流程图;[0056]图8为本发明的在知识图谱内进行名词“广东”搜索效果图;[0057]图9为本发明的在知识图谱内展开关于“海洋经济强省”的效果图;[0058]图10为本发明的在知识图谱内展开关于“中国海警船”的效果图;[0059]图11为本发明的在知识图谱内展开关于“一艘20万吨级英国籍货轮”的效果图。具体实施方式[0060]附图仅用于示例性说明,不能理解为对本专利的限制;[0061]以下结合附图和实施例对本发明做进一步的阐述。[0062]实施例1[0063]如图1、图2、图3和图4所示,一种融合信息获取和三元组抽取的知识图谱构建方法,包括以下步骤:[0064]s1:定时利用爬虫技术从指定的网页中爬取海洋相关的包括新闻在内的文本内容;[0065]s2:利用自然语言处理工具对文本内容进行实体抽取及关系抽取,得到新闻的三元组,之后将新闻的三元组存储进数据库中;[0066]s3:根据数据库中新闻的三元组构建知识图谱,并在数据浏览器中实现知识图谱的可视化;[0067]s4:根据可视化的知识图谱获取知识的关联。[0068]上述方案中,融合了信息获取和三元组抽取来构建知识图谱,将整个流程构建成为一个端到端的任务,减少用户使用成本;构建出海洋知识图谱,进而从零散数据中发现知识,挖掘事物的关联性,帮助组织机构做出指导性的决策。[0069]优选的,步骤s1包括以下步骤:[0070]s11:设置目标爬虫地址,对网站的html语言进行简单解析,按照模板完成爬虫的框架,得到新闻;[0071]上述方案中,对以下字段进行解析并存储:新闻标题(news_title),新闻类型(news_type),新闻日期(news_date),新闻摘要(news_summary),新闻正文(news_content),新闻网页(news_web_url)以及新闻来源(news_source)。[0072]数据库新闻表字段如下:[0073][0074]s12:根据新闻的url作为标识在数据库中进行查找,以此来判断该新闻是否重复;[0075]s13:为了简化简化用户操作,设定定时功能,使得爬虫程序按照用户的设置定期爬取指定网站的新闻。[0076]优选的,在步骤s12中,初始数据集的构建和爬取指定类型的新闻及其始末页在爬取到重复新闻时,跳过本条新闻,继续下一条新闻;当爬取到重复新闻时,说明该新闻类型的二级网址已经爬取完成,之后进行下一个类型的二级网址爬取。[0077]优选的,步骤s2包括以下步骤:[0078]s21:构建关系三元组数据表,对字段进行解析并存储;[0079]上述方案中,对以下字段进行解析并存储:索引(id),主语(triple_subject),主语标签(triple_subject_label),动词(triple_verb),宾语(triple_object),宾语标签(triple_object_label),原文(original_text),原文所在的表(original_text_table)和原文所在的表的索引(original_text_table_id)。[0080]数据库三元组关系表字段如下:[0081][0082]s22:在读取在信息获取阶段所获得的位于数据库的数据时,首先读取新闻标题字段的数据进缓存中,对已经读取进缓存的新闻标题进行词性标注;[0083]s23:对新闻的句子进行句法分析,为句子中的每个词语维护一个保存句法依存儿子节点的字典;[0084]s24:利用s21和s22的结果对句子进行语义分析并对语义角色进行标注;[0085]s25:借助s21,s22和s23的结果进行三元组抽取;[0086]上述方案中,若语义角色标记为空,则使用依存句法进行抽取以谓语为中心的事实三元组:主要是处理这三种情况,主谓宾;定语后置,动宾关系;含有介宾关系的主谓动补关系。[0087]s26:筛选掉重复的三元组关系并用正则表达式去掉意义的标点符号,随后将三元组写入三元组表中,并将新闻的三元组存储至数据库中。[0088]优选的,在步骤s22中,在三元组抽取前先检查该数据是否已经被抽取,若已经被抽取,则跳过;若没被抽取,则利用自然语言处理平台进行分词处理,而分词就是将连续的字序列按照一定的规范重新组合成词序列的过程;[0089]词性标注是是语料库语言学中将语料库内单词的词性按其含义和上下文内容进行标记的文本数据处理技术。[0090]优选的,在步骤s23中,对句子进行句法分析,为句子中的每个词语维护一个保存句法依存儿子节点的字典;[0091]句法分析指对句子中的词语语法功能进行分析,是语块分析思想的一个直接实现,语块分析通过识别出高层次的结构单元来简化句子的描述;利用s21和s22的结果,求出句子的儿子节点。[0092]优选的,在步骤s24中,语义角色标注是一种浅层语义分析技术,以句子为单位,分析句子的谓词-论元结构,不对句子所包含的语义信息进行深入分析;语义角色标注的任务是以句子的谓词为中心,研究句子中各成分与谓词之间的关系,并且用语义角色来描述他们之间的关系。[0093]优选的,步骤s3包括以下步骤:[0094]s31:根据数据库中的三元组构建三元组数据表,从三元组数据表中依次获取三元组关系,获得三元组关系中的主语、主语标签、谓语、宾语与宾语标签;[0095]s32:用neo4j的图查询语言cypher查找知识图谱中是否存在该主语和宾语;若存在相同的主语,则查询是否存在相同的主语标签;若存在相同的宾语,则查询是否存在相同的宾语标签;[0096]s33:使用cypher语句尝试在知识图谱中插入主语、主语标签、谓语、宾语与宾语标签,若不成功,则判断关系不存在;[0097]s34:随后为关系添加新的主语标签及宾语标签,创建新的关系,在写入所有三元组关系后,用户启动neo4j服务并进入知识图谱的可视化界面。[0098]优选的,在步骤s32中,若存在相同的主语,则查询是否存在相同的主语标签:若不存在相同的主语标签,则为该主语添加一个新的主语标签;若存在相同的主语标签,则进行下一步;若不存在相同的主语,则在知识图谱上创建一个新的节点;[0099]若存在相同的宾语,则查询是否存在相同的宾语标签:若不存在相同的宾语标签,则为该主语添加一个新的宾语标签;若存在相同的宾语标签,则进入步骤s33。若不存在相同的宾语,则在知识图谱上创建一个新的节点。[0100]优选的,在步骤s4中,知识图谱中的知识是以三元组的关系展示,其包括主语,主语标签,谓语,宾语,宾语标签,通过知识库单独查询某一个元素,根据所述元素来获取与之相关联的其他元素信息,如果多个三元组之间存在重合元素的话,则说明三元组之间存在一定关联。[0101]实施例2[0102]如图5所示,定时利用爬虫技术从指定的网页中爬取海洋相关的包括新闻在内的文本内容,其包括以下步骤:[0103]先设置目标爬虫地址,对网站的html语言进行简单解析,按照模板完成爬虫的框架。为了下一步的处理,我们将对以下字段进行解析并存储:新闻标题,新闻类型,新闻日期,新闻摘要,新闻正文,新闻网页以及新闻来源。[0104]之后根据新闻的url作为标识在数据库中进行查找,以此来判断该新闻是否重复。初始数据集的构建和爬取指定类型的新闻及其始末页在爬取到重复新闻的时候,是会跳过本条新闻,继续下一条新闻。爬取更新的新闻与之不同的是,当爬取到重复新闻时,说明该新闻类型的二级网址已经爬取完成,可以进行下一个类型的二级网址爬取。[0105]最后,为了简化简化用户操作,我们设定了定时功能,爬虫程序可以按照用户的设置定期爬取指定网站的新闻。[0106]实施例3[0107]如图6所示,利用自然语言处理工具对文本内容进行实体抽取及关系抽取,得到新闻和三元组,之后将新闻和三元组存储进数据库中,其包括以下步骤:[0108]首先,构建关系三元组数据表,我们将对以下字段进行解析并存储:索引,主语,主语标签,动词,宾语,宾语标签,原文,原文所在的表和原文所在的表的索引[0109]其次,读取在信息获取阶段所获得的位于数据库的数据,首先会尝试读取新闻标题(news_title)字段的数据进缓存中。在三元组抽取前先检查该数据是否已经被抽取,若已经被抽取,则跳过;若没被抽取,则利用哈工大自然语言处理平台(pyltp)进行分词处理,而分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。如:新闻标题:“国内首条海底高铁隧道已完成海上钻探工作”,分词后的结果为:'国内','首','条','海底','高铁','隧道','已','完成','海上','钻探','工作'。[0110]之后,对已经读取进缓存的新闻标题(news_title)进行词性标注。词性标注是是语料库语言学中将语料库内单词的词性按其含义和上下文内容进行标记的文本数据处理技术,如:新闻标题:“国内首条海底高铁隧道已完成海上钻探工作”,利用s1的结果进行词性标注后的结果为:['nl','m','q','n','n','n','d','v','nl','v','v']。若与s1结果一一对应的展示为:{'国内':'nl','首':'m','条':'q','海底':'n','高铁':'n','隧道':'n','已':'d','完成':'v','海上':'nl','钻探':'v','工作':'v'}。[0111]然后,对句子进行句法分析,为句子中的每个词语维护一个保存句法依存儿子节点的字典。而句法分析指对句子中的词语语法功能进行分析,是语块分析思想的一个直接实现,语块分析通过识别出高层次的结构单元来简化句子的描述。利用开始两步的结果,可以求出句子的儿子节点。如,若继续利用标题,可以求出儿子节点为:[{},{},{'att':[1]},{},{'att':[3]},{'att':[0,2,4]},{},{'sbv':[5],'adv':[6],'vob':[10]},{},{'adv':[8]},{'att':[9]}]。[0112]利用开始两步的结果对句子进行语义分析并对语义角色进行标注。语义角色标注是一种浅层语义分析技术,以句子为单位,分析句子的谓词-论元结构,不对句子所包含的语义信息进行深入分析。具体来说,语义角色标注的任务就是以句子的谓词为中心,研究句子中各成分与谓词之间的关系,并且用语义角色来描述他们之间的关系。若继续利用新闻标题,进行语义角色标注后的结果为:{7:{'a0':['a0',0,5],'adv':['adv',6,6],'a1':['a1',8,10]}};若与新闻标题对应则为:{“完成”:{'a0':['a0',“国内首条海底高铁隧道”],'adv':['adv',6,“已”],'a1':['a1',“海上钻探工作”]}}。[0113]借助前四步的结果进行三元组抽取。若语义角色标记为空,则使用依存句法进行抽取以谓语为中心的事实三元组:主要是处理这三种情况,主谓宾;定语后置,动宾关系;含有介宾关系的主谓动补关系。若继续利用新闻标题,借助前四步的结果可得到三元组关系:['国内首条海底高铁隧道','完成','海上钻探工作']。[0114]最后,筛选掉重复的三元组关系并用正则表达式去掉意义的标点符号,随后将三元组写入三元组表中。若标题为空,则在摘要中重复所有的步骤。[0115]实施例4[0116]如图7所示,根据数据库中的三元组构建知识图谱,并在数据浏览器中实现知识图谱的可视化,其包括以下步骤:[0117]首先,从三元组数据表中依次获取三元组关系,获得三元组关系中的主语、主语标签、谓语、宾语与宾语标签。例,若三元组为['国内首条海底高铁隧道','完成','海上钻探工作'],则主语为'国内首条海底高铁隧道',主语标签为'名词',谓语为'完成',宾语为'海上钻探工作',宾语标签为'事件'。[0118]其次,用neo4j的图查询语言cypher尝试去查找知识图谱中是否存在该主语和宾语。例,若使用s1所获取的结果,则主语查询语句为:match(n)wheren.name=“{'国内首条海底高铁隧道'}”returnn,宾语查询语句为:match(n)wheren.name=“{'海上钻探工作'}”returnn。[0119]再次,若存在相同的主语,则查询是否存在相同的主语标签:若不存在相同的主语标签,则为该主语添加一个新的主语标签;若存在相同的主语标签,则进入下一步。若不存在相同的主语,则在知识图谱上创建一个新的节点。[0120]之后,若存在相同的宾语,则查询是否存在相同的宾语标签:若不存在相同的宾语标签,则为该主语添加一个新的宾语标签;若存在相同的宾语标签,则进入下一步。若不存在相同的宾语,则在知识图谱上创建一个新的节点。[0121]然后,使用cypher语句尝试在知识图谱中插入从第一步获取的主语、主语标签、谓语、宾语与宾语标签。例,若使用第一步的结果,则插入语句为match(n:'名词')-[:'完成']-》(m:'事件')wheren.name="国内首条海底高铁隧道"andm.name="海上钻探工作"returnm,随后检查是否插入成功。[0122]之后,若不成功,则可以判断关系不存在。随后为关系添加新的主语标签及宾语标签,随后创建新的关系。[0123]最后,在写入所有三元组关系后,用户可以启动neo4j服务。进入可视化界面后,点击相关按钮和键入cypher语句,最后可以进行基于查询的知识推理。[0124]实施例5[0125]如图8、图9、图10和图11所示,在知识库中,知识是以三元组的关系展示,{主语,主语标签,谓语,宾语,宾语标签}。其中主语指动作的发出者,谓语指主语与宾语的联系,宾语指谓语动作的承受者。通过知识库可以单独查询某一个元素,然后根据这个元素来获取与之相关联的其他元素信息。如果多个三元组之间存在重合元素的话,则说明三元组之间存在一定关联。[0126]例子1:查询与“广东”这个元素相关联的所有元素。结果显示,首先可以看到没有箭头指向“广东”,这就表示它的入度为0,出度为查询到与之相关联的元素个数,“广东”在知识库中全部作为主语,我们可以得出判断“捕捉的新闻大部分是站在广东的角度去阐述的”。在图8的基础上,我们对“海洋经济强省”这个元素进行展示。[0127]在图9中可以看到与“海洋经济强省”相关联的主语还有“福建省委省政府”,这就能从一定程度上获取到知识的关联,了解到“广东”与“福建省委省政府”都有着类似的建设目标。[0128]例子2:查询与“深海”这个元素相关联的所有元素。图10结果显示,首先可以看到既有箭头指向“深海”,也有箭头从“深海”指向其他元素,这说明其他元素与“深海”的关系是多元的。[0129]我们点开与“深海”形成主宾关系的其中一个元素“作业”,从图10与图11可以看到在深海中作业的有“中国海警船”、“一艘20万吨级英国籍货轮”等主语,这样我们就可以从一个元素“深海”,了解到与之相关联的其他知识。[0130]显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1