发明内容
本发明针对现有技术中的缺点,构建一个具有全面历史数据、同时具有实时更新能力的 地震事件数据库的方法。
为了解决上述技术问题,本发明通过下述技术方案得以解决:
一种地震事件知识图谱构建方法,包括以下步骤:
S100,构建地震事件知识图谱的schema;
S200,构建历史地震事件信息库;
S300,识别并筛选地震事件新闻,抽取地震信息;
S400,将历史地震事件新闻信息库和抽取的地震信息进行知识融合;
S500,对融合后的地震知识进行知识加工;
S600,根据S200-S500的步骤定时更新地震事件知识图谱。
可选的,构建历史地震事件新闻信息库包括:
定时获取官方网站的历史地震信息,进行处理后构建历史地震信息库的schema。
可选的,所述识别地震事件新闻包括:
S310,对全网新闻做新闻预处理,包括新闻的清洗和去重;
S320,通过突发事件分类算法识别突发事件新闻;
S330,通过突发事件识别算法识别突发事件新闻下的自然灾害新闻;
S340,通过地震事件新闻识别算法识别自然灾害新闻下的地震事件新闻。
可选的,所述地震新闻识别算法包括:
S341,对新闻标题和首句进行新闻特征增强;
S342,构建地震事件关联词词袋,对新闻特征增强后的新闻进行关联词匹配,匹配数据 达到阈值范围则判定为地震事件新闻;
S343,利用ALBERT预训练的语言模型获取新闻文本的词向量表示,将所述词向量表示 接入TextCNN模型中,通过多窗口卷积的方式获取不同维度的新闻文本特征,将卷积后得到 的文本特征经过softmax分类器进行最终的分类;
将S342-S343步骤获得的分类数据进行汇总后得到地震事件新闻。
可选的,构建地震事件知识图谱的schema的方法包括:
模式层本体类型构建,包括自然灾害、地震事件、新闻、人物、机构、国家、省/直辖市、 市、区县;
模式层的schema构建,包括本体之间的关系定义;
数据层的schema构建,包括不同类型数据之间的关系定义以及不同类型数据的属性定 义。
可选的,地震信息抽取包括:
抽取地震事件数字属性信息,其包括地震事件基本属性抽取和地震事件社会属性抽取;
抽取地震事件三元组信息,其包括地震事件实体链接、地震事件属性抽取、实体识别、 地震事件关系抽取和关系属性抽取。
可选的,地震知识融合包括:采用消歧算法,将所述三元组信息进行去重和整合;
通过实体链接标识相似实体,关联相同实体的不同表达形式,并对相同实体的不同属性 或者相同实体相同属性的不同属性值进行合并,去除重复的实体、属性以及关系。
可选的,所述地震知识加工包括知识推理、质量评估和知识更新:
其中,知识推理为利用所述三元组信息的实体和关系,计算出未能从原始信息中获取的 隐含信息;
质量评估,是对已有地震知识的质量做评估,删除低质量的地震知识;
知识更新,对图谱的数据层中具有时间特性的知识进行实时更新。
可选的,还包括地震信息抽取审核,对抽取的地震信息进行文字审核、数字审核、关系 审核中的至少一种方式进行审核。
本发明还提供一种地震事件知识图谱的应用方法,其应用包括地震信息的检索、地震事 件自动播报、地震事件脉络梳理或地震问答机器人。
本发明的有益效果为:
本发明提供的方法通过对官方历史地震信息整合以及对国内外权威性网站报道的地震新 闻进行信息抽取,构建出历史地震事件数据库、地震社会属性数据库、地震事件实体关系库 以及地震事件知识图谱,从而实现对基于时间的历史地震事件脉络梳理,对新发生地震的实 时信息追踪,并可以通过地震事件知识图谱了解与该地震息息相关的实体人物、机构和相关 事件,全面了解地震事件的内在联系。
具体实施方式
下面结合实施例对本发明做进一步的详细说明,以下实施例是对本发明的解释而本发明 并不局限于以下实施例。
如图1,是一种地震事件知识图谱构建方法,包括以下步骤:
S100,构建地震事件知识图谱的schema;
S200,构建历史地震事件信息库;
S300,识别并筛选地震事件新闻,抽取地震信息;
S400,将历史地震事件信息库和抽取的地震信息进行知识融合;
S500,对融合后的地震知识进行知识加工;
S600,根据S200-S500的步骤定时更新地震事件知识图谱。
其中,如图7,抽取地震信息后还包括地震信息抽取审核,对抽取的地震信息进行文字 审核、数字审核、关系审核中的至少一种方式进行审核。
地震事件知识图谱存储采用多种数据库,包括MySQL关系型数据库、Neo4J图数据库、 ES检索式数据库,以及数据混合存储方式。
如图2,构建地震事件知识图谱的schema的方法包括:
模式层本体类型构建,包括自然灾害、地震事件、新闻、人物、机构、国家、省/直辖市、 市、区县;
模式层的schema构建,包括本体之间的关系定义,如表1所示;
表1:模式层schema定义
本体1 |
关系 |
本体2 |
地震事件 |
子类(rdfs:subClassOf) |
突发事件-自然灾害事件 |
地震事件 |
发生于 |
区县 |
新闻 |
主题 |
自然灾害 |
新闻 |
提及 |
机构 |
新闻 |
提及 |
人物 |
区县 |
子类(rdfs:subClassOf) |
市 |
市 |
子类(rdfs:subClassOf) |
省/直辖市 |
省/直辖市 |
子类(rdfs:subClassOf) |
国家 |
数据层的schema构建,包括不同类型数据之间的关系定义以及不同类型数据的属性定 义。
具体地,对于不同类型数据之间的关系,按照本体类型分包括地震事件与人物之间的关 系、地震事件与机构之间的关系;对于不同类型数据的属性,按照实体类型分包括地震事件 属性、人物属性、机构属性、地震事件关系属性。关系类别和属性类别举例参见,表2、表3。
地震事件的属性分为基础属性和数字属性。其中,基础属性包括8种,如表4所示;数 字属性包括10大类30种,具体内容如表5所示。
表2:地震事件-人物之间的关系定义表
事件类实体 |
关系 |
实体 |
地震事件 |
作出指示 |
人物 |
地震事件 |
进行视频会议 |
人物 |
地震事件 |
亲临救灾 |
人物 |
地震事件 |
应急处置 |
人物 |
地震事件 |
召开会议 |
人物 |
地震事件 |
参加会议 |
人物 |
地震事件 |
指导救灾 |
人物 |
地震事件 |
汇报灾情 |
人物 |
地震事件 |
灾情解读 |
人物 |
地震事件 |
慰问 |
人物 |
地震事件 |
应急救援 |
人物 |
表3:地震事件-机构之间的关系定义表
表4:地震事件基本属性字段表
属性大类 |
序号 |
字段名 |
基本属性 |
1 |
地震名 |
基本属性 |
2 |
发震时刻 |
基本属性 |
3 |
纬度 |
基本属性 |
4 |
经度 |
基本属性 |
5 |
震源深度 |
基本属性 |
6 |
震级 |
基本属性 |
7 |
所在行政区 |
表5:地震事件数字属性字段表
如图3,构建历史地震事件信息库包括:
定时获取官方网站的历史地震信息,进行处理后构建历史地震信息库的schema。
历史地震信息库由地震局和地震台网的历史地震信息的基础上汇总而成,即历史地震的 总数据表。
历史地震事件信息库的构建采用全量数据爬虫和增量数据更新的方式对结构化数据进行 整合。首先从垂直网站(如地震局官网和中国地震台网)爬取全量的历史地震信息,经过数 据的预处理后进入历史地震信息库;设置监听机制和重复爬取时间间隔,对垂直网站的数据 更新做实时处理并入库。
历史地震信息库的schema如表6所示,共有10个字段。历史地震事件信息库用于地震 识别,将地震事件新闻中披露的地震信息与历史地震事件信息库进行比对,确定地震事件新 闻披露的地震是历史地震事件信息库的哪一地震。
表6:历史地震表字段表
序号 |
字段名 |
1 |
地震名 |
2 |
发震时刻 |
3 |
纬度 |
4 |
经度 |
5 |
震源所在行政区 |
6 |
数据来源 |
7 |
震级 |
8 |
震源深度 |
9 |
国内外 |
10 |
所在省 |
如图4,识别地震事件新闻包括:
S310,对全网新闻做新闻预处理,包括新闻的清洗和去重;
S320,通过突发事件分类算法识别突发事件新闻;
S330,通过自然灾害识别算法识别突发事件新闻下的自然灾害新闻,得到属于自然灾害 突发事件下的新闻;
S340,通过地震事件新闻识别算法识别S303步骤处理后的地震事件新闻。
其中,新闻预处理方法包括:包括新闻的清洗、新闻的字面去重和新闻的语义去重。
其中,新闻的清洗,采用正则匹配方法去除从全网新闻库爬虫获得的噪声数据,如无意 义的URL,HTML标签等。
字面去重,采用Simhash算法,将获取到的新闻提取短句,每个短句在分词后生成对应 的Simhash,根据文本长度不同一篇新闻最多可生成19条Simhash。每一条长度为64位的 Simhash将被分解为16个索引(两级索引拼接,第一级16位、第二级12位,共28位二进 制数),针对每一个索引可以在历史新闻记录中找到对应的Simhash值列表。在经过16个索 引段下的去重后,最终可以得到19段Simhash对应的历史Hash列表,而每个历史Hash都对 应着一条历史新闻,根据每一段历史Hash对应的历史新闻id进行Map查找,计算出命中次 数最高的一组历史新闻id。最后针对这一组历史新闻id读取它们自身的19段Simhash值, 根据海明距离可以计算历史Simhash段与当前新闻Simhash段的命中值,当命中值超过预先设置的阈值时说明新闻存在重复。
语义去重,在字面去重的基础上引入实体命中数量的判断,最新获取到的新闻会根据分 词结果提取其中包含的实体信息以及数字信息,在字面去重筛选出相似历史新闻后,将历史 新闻中包含的实体信息与当前新闻的实体信息进行内积运算,运算后的结果用以计算Jaccard 系数,当系数大于预先设置的阈值时判断新闻存在重复。
S320,通过突发事件分类算法识别突发事件新闻;
由于地震新闻隶属于突发事件新闻类别,同时包含地震事件相关的特征属性,即包括了 地震的名称、发生地、伤亡人数等。经过新闻预处理后通过该算法训练一个分类器,将新闻 分类为突发事件新闻和非突发事件新闻。被分类为突发事件的新闻接入突发事件识别算法。 即步骤S330。
S330,通过突发事件识别算法识别突发事件新闻下的自然灾害新闻;
所述突发事件识别算法用于识别突发事件类别,突发事件的类别包括:1)自然灾害;2) 事故灾难;3)公共卫生事件;4)社会安全事件。被识别为自然灾害类别的突发事件新闻接 入自然灾害识别算法,即步骤S340。
S340,通过地震事件新闻识别算法识别自然灾害新闻下的地震事件新闻。
自然灾害识别算法的目的是将属于自然灾害突发事件下的新闻识别出具体的自然灾害的 具体类别。自然灾害的具体类别包括1)水旱灾害;2)气象灾害;3)地震灾害;4)地质灾 害;5)海洋灾害、6)生物灾害、7)森林火灾等。构建地震知识图谱所需要的新闻是属于地 震灾害子类别下的新闻。最终被分类为地震灾害的新闻成为构建地震事件知识图谱的非结构 化数据源。还包括一些非结构化数据中存在的一些表格、信息框等非完全结构化的数据,即 半结构化数据。
如图5,所述地震新闻识别算法包括:
S341,对新闻标题和首句进行新闻特征增强;
由于突发事件新闻的特征主要存在于标题和首句,所以新闻特征增强主要包括标题重复 和首句重复。对于有新闻标题的原始新闻,将标题重复3次随机插入到新闻的正文文本中。 截取原始新闻的首句,重复2次随机插入到新闻的正文文本中。
S342,构建地震事件关联词词袋,对新闻特征增强后的新闻进行关联词匹配,匹配数据 达到阈值范围则判定为地震事件新闻;
利用预先定义好的模式(包括关键词,关键短语,固定句式等模式)来匹配特征增强后 的新闻数据。构建地震事件关联词的词袋,包括:地震、震感、震级、震源深度等地震领域 专属词汇。判断新闻中的已匹配模式超过或达到阈值,则判断为地震事件新闻类别。
S343,利用ALBERT预训练的语言模型获取新闻文本的词向量表示,将所述词向量表示 接入TextCNN模型中,通过多窗口卷积的方式获取不同维度的新闻文本特征,将卷积后得到 的文本特征经过softmax分类器进行最终的分类。
最终将S342-S342步骤获得的分类数据进行汇总后得到地震事件新闻。
与BERT模型相比,ALBERT通过对Embedding的因式分解和跨层的参数共享实现了模 型参数的大幅度缩减,节约机器的内存。同时,ALBERT使用了句间连贯和移除dropout的计算方式保证了模型的精度不下降或很小幅度下降。
如图6,地震信息抽取步骤包括:
抽取地震事件数字属性信息,其包括地震事件基本属性抽取和地震事件社会属性抽取; 其抽取的基本属性和社会属性分别为表4和表5所列出的字段。
抽取地震事件三元组信息,其包括地震事件实体链接、地震事件属性抽取、实体识别、 地震事件关系抽取和关系属性抽取。
其中地震事件实体链接利用构建的历史地震信息库。地震事件属性抽取模块抽取地震事 件发生的阶段、时间。实体识别模块利用命名实体识别算法识别关于地震事件的人物和机构。 地震事件关系抽取模块抽取表2中的地震事件-人物之间的关系和表3中的地震事件-机构之 间的关系。
其中,地震知识融合包括:采用消歧算法,将所述三元组信息进行去重和整合;
通过实体链接标识相似实体,关联相同实体的不同表达形式,并对相同实体的不同属性 或者相同实体相同属性的不同属性值进行合并,去除重复的实体、属性以及关系。
其中,所述地震知识加工包括知识推理、质量评估和知识更新:
其中,知识推理为利用所述三元组信息的实体和关系,计算出未能从原始信息中获取的 隐含信息;
质量评估,是对已有地震知识的质量做评估,删除低质量的地震知识;
知识更新,对图谱的数据层中具有时间特性的知识(如伤亡人数、救灾资源等)进行实 时更新。
具体的,推理出隐含信息方法包括:即利用已经构建的三元组信息推理出未显式提到的信息。如图谱中有三元组:(某县—县长—某某),(某县县长—做出指示—某地震事件)。则可以推理出新闻中未显式提及到的知识(某某—做出指示—某地震事件)。
对已有地震知识的质量做评估的方法包括:根据不同媒体来源对同一地震事件的报道所 抽取的地震相关知识做质量评估,评估标准按照媒体优先级(如央媒>地方媒体>自媒体)和 投票(及少数服从多数,5个媒体报道地震等级为4.8,3个媒体报道地震等级为4.7,最终选 择4.8级)等加权的方式,计算出每条地震知识的质量评分。
本实施例还提供一种地震事件知识图谱的应用方法,其应用包括地震信息的检索、地震 事件自动播报、地震事件脉络梳理或地震问答机器人。
本发明实施例还提供一种计算机存储介质,包括指令,执行上述方法步骤。具体的各个 步骤之间的执行顺序详见上述实施例,本申请在此不再赘述。
本发明实施例还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该 计算机执行指令存储在计算机可读存储介质中;至少一个处理器执行该计算机执行指令使得 上述实施例的方法步骤执行。需要说明的是,上述步骤的具体执行顺序可以参见上述实施例 中的描述,本申请在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的 方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分, 仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结 合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。
所述单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单 元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际 的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个 单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以 采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以 存储在一个可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对 现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该 软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等) 或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包 括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何在本 发明揭露的技术范围内的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的 保护范围应以所述权利要求的保护范围为准。