本发明涉及知识图谱与自然语言处理领域,尤其涉及一种基于知识图谱的气象知识库构建方法。
背景技术:
1、社会发展与经济建设越来越离不开气象事业。全球气候变化使气象灾害频现,给国家经济建设和民众生活造成的影响越来越大,损失也越来越严重。为了强化全社会面对气象灾害防灾减灾意识,提高防灾减灾能力,真正实现气象科普社会效应,使气象服务为社会和经济建设提供有力支持,需要引入前沿技术,解决气象灾害预警和防治过程中遇到的诸多挑战。
2、自然语言处理是一门把语言学、计算机科学、数学等相关领域融为一体的交叉学科,自然语言处理技术逐渐渗透到各行各业用于文本数据挖掘和信息存储。从命名实体识别的角度来看,在满足将对非结构化文本分析和理解的同时,需要保证数据的可扩展性。从关系抽取的角度来看,在满足对实体抽取后实体之间的关系链接是对数据处理与关联的延伸。命名实体识别与关系抽取技术已经广泛应用于文本数据挖掘和存储,可以实现高效准确的信息筛选。
3、知识图谱是一种以结构化形式表示事物以及事物之间的关系的语义网,能有效利用大量的结构化、半结构化和非结构化数据。知识图谱的构建包括知识抽取、知识融合与知识表示等。知识图谱可分为通用知识图谱和领域知识图谱。通用知识图谱主要应用于搜索引擎和链接站点等技术;领域知识图谱主要应用于特定的领域,专业化程度更高,已在医疗、金融、电商等领域有着广泛应用。
4、目前的气象应急预警工作中的分析和决策严重依赖人工,无法自动地从原始数据中获取有效信息,数据分析处理速度慢、数据存储方式不科学、决策效率有限。
技术实现思路
1、发明目的
2、本发明的目的在于减少气象灾害预警信号和防治工作中的人力消耗、增强原始数据的自动化获取和处理能力、提高气象灾害预警的决策效率。
3、技术方案
4、一种基于知识图谱的气象知识库构建方法,包括以下步骤:
5、步骤1.将气象应急预警数据进行机器读取和内容转码;
6、步骤2.针对步骤1所输出的数据进行特征工程,删除赘余成分并提取目标内容;
7、步骤3.针对步骤2所输出的数据进行内容筛选和层级构建,形成大类、子类、判断标准和防御指南,将大类和子类写入数据集中进行保存;
8、步骤4.针对步骤3所形成的判断标准和防御指南进行命名实体识别以及实体关系抽取,得到知识融合后的实体-关系-实体的三元组;
9、步骤5.将步骤3中形成的大类、子类中的实体节点和步骤4中的三元组进行知识表示,编写工具类实现自动建立和维护知识图谱,实现知识库的构建。
10、在进行特征工程的过程中,采用自动化程式的清洗和整理存在于文档中松散的知识体系,能够得到具有结构层次严谨的专业领域数据集,便于后期维护。
11、大类和子类这两部分数据属于结构性较强、已成体系的知识元,这些知识元可以作为层次数据集直接写入知识库。
12、进一步地,步骤2中特征工程引用python-docx包读取文档,使用re库实现对文档的正则表达式操作,批量地删除文档中默认不显示的占位符、换行符以及构建图谱不需要的图片和标点符号,从而实现对目标内容的提取。而由于防御指南和判断标准含有的知识量级和实体关系都较为丰富,需要对其进行命名实体识别、关系抽取,得到知识融合后的三元组后才能写入知识库。
13、进一步地,步骤4中命名实体识别的具体步骤包括:
14、步骤4.1将判断标准和防御指南中的单词序列通过word2vec方法转化为词向量vword=(v1,v2,v3,...,vn),其中n为向量维度;
15、步骤4.2使用双向长短记忆网络对词向量vword进行编码,由于双向长短记忆网络能将前向的长短期记忆与后向的长短期记忆相结合,更好地获取上下文的依赖关系,前向的长短期记忆能得到前向隐层状态序列,后向的长短期记忆可得到后向隐层状态序列;
16、步骤4.3使用条件随机场对编码后的词向量vword解码,将前向和后向的隐层状态序列进行拼接,从而输出每个单词的序列标签;
17、步骤4.4使用维特比算法对步骤4.3所输出序列标签的概率进行归一化处理,从而完成命名实体识别。
18、在进行知识抽取的过程中,采用双向长短记忆网络(双向长短期神经网络)并结合crf(条件随机场)进行命名实体识别,可以提升序列预测的速度与正确率。不同于以往同类任务使用的softmax分类器,本文引入的crf(条件随机场)能够对编码后的词向量进行解码并得到每个单词的序列标签,crf(条件随机场)可以有效约束双向长短记忆网络(双向长短期神经网络)的输出从而大大减少错误的预测序列。此外,使用维特比算法对输出序列标签的概率进行归一化处理,可以更快更准确的识别出实体。
19、进一步地,步骤4中实体关系抽取的具体步骤包括:
20、步骤4.5将判断标准和防御指南的单词序列中的单词相对于主语实体的位置序列定义为第一序列其中,s1和s2分别为主语实体的开始位置和结束位置,表示第i个单词与主语实体的相对位置;
21、步骤4.6将判断标准和防御指南的单词序列中的单词相对于宾语实体的位置序列定义为第二序列第二序列为依次排布的绝对序列;
22、步骤4.7将第一序列转换为第一位置向量,将第二序列转换为第二位置向量,引入bert模型,将bert模型的表示向量与第一位置向量、第二位置向量依次进行拼接,生成向量序列;
23、步骤4.8将步骤4.7向量序列输入双向长短记忆网络,获取每个方向上的最后一个隐含层状态,进行关系抽取,得到实体-关系-实体的三元组。
24、采用bert模型进行关系抽取,能够有效提高实体-关系-实体的三元组语义精准度。
25、进一步地,步骤5中实体节点的节点属性包括唯一标识符id、节点名称name、数值判断值value、额外内容存储值content。
26、进一步地,工具类依赖python库py2neo创建,包括节点创建工具类、连接关系创建工具类和知识查询工具类,并利用py2neo库执行neo4j操作实现数据可视化。
27、相较于传统的cypher语句建库,py2neo库可以节省更多计算机资源、提高图谱搭建效率,且通过neo4j图数据库实现了知识库的可视化展示,提高了信息展示效率,方便有关人员依据其做出决策。
28、进一步地,双向长短记忆网络的数学模型表示为:
29、ft=σ(wf·[ht-1,xt]+bf)
30、it=σ(wi·[ht-1,xt]+bi)
31、ot=σ(wo·[ht-1,xt]+bo)
32、
33、
34、其中,ft表示t时刻遗忘门的值,用以选择丢弃的信息,it表示t时刻记忆门的值,表示t时刻临时细胞状态,ct表示当前时刻的细胞状态,ot表示t时刻输出门的值,h表示隐藏层状态值,xt表示t时刻网络输入值,w表示相应模型的参数,σ表示sigmoid激活函数,bf表示遗忘门的偏置值,bi表示记忆门的偏置值,bo表示输出门的偏置值。
35、有益效果
36、本发明可以减少气象灾害预警信号和防治工作中的人力消耗、增强气象应急预警数据的自动化获取和处理能力、提高气象灾害预警的决策效率。