一种基于海量数据的因果事理组提取方法、系统及计算机可读存储介质与流程

文档序号:30576540发布日期:2022-06-29 09:31阅读:161来源:国知局
一种基于海量数据的因果事理组提取方法、系统及计算机可读存储介质与流程

1.本发明属于人工智能自然语言处理中事理图谱技术领域,更具体地,涉及一种基于海量数据的因果事理组提取方法、系统及计算机可读存储介质。


背景技术:

2.传统的因果事理提取方案通常主要考虑提取出包含因果关系的事件而不太重视对提取的因果关系的准确性和冗余性针对性地做优化。现有的基于规则或基于统计规律的方法通常需要根据因果关系词来发现因果关系不能很好地发掘隐藏的因果关系,基于层叠条件随机场的方法因为没有使用先验知识从而不能发掘出大多隐式的需要一定推理的因果关系,而本方案采用的基于深度学习的方法因为使用了在大规模语料上预训练的语言模型bert所以可以在一定程度上从语义和上下文的推理来挖掘因果关系。
3.现有技术公开了一种因果事理图谱的构建方法、装置、计算机设备及存储介质,包括:获取预先存储于数据库中的目标文本;解析所述目标文本,得到短期事件文本集与长期事件文本集;确定所述短期事件文本集与所述长期事件文本集中的事件关系,得到初始因果事件对;预处理所述初始因果事件对,得到目标因果事件对;根据所述目标因果事件对构建因果事理图谱。该现有技术中没有特别针对因果关系的准确性和冗余性做出优化改进。而本技术基于一个前提:同一时间段内获取的文本中有较多相同或极为相似因果事理的不同表达。结合海量数据优势和本方案提出的因果事理遴选、约化方法可以较为准确地提取出该时间段内的因果事理,并且这些提取的因果事理都有较多样本支持因此提取结果更加可靠和较低冗余同时还具有一定的时间特征。


技术实现要素:

4.本发明为克服上述现有技术的对因果事理的提取时缺少对于因果关系的准确性的优化的缺陷,提供一种基于海量数据的因果事理组提取方法、系统及计算机可读存储介质。
5.本发明的首要目的是为解决上述技术问题,本发明的技术方案如下:
6.本发明第一方面提供了一种基于海量数据的因果事理组提取方法,包括以下步骤:
7.s1:获取网络文本并按时间段分别存储;
8.s2:对获取的网络文本进行均匀抽样得到样本集并对样本集进行预标注;
9.s3:定义事件和因果关系,对预标注后的文本集进行bio格式的事件标注和因果关系标注;
10.s4:利用步骤s3标注得到的数据对bert+crf模型进行训练,并得到训练好的bert+crf模型;
11.s5:利用训练得到的bert+crf模型对存储的网络文本进行因果事理提取,并形成
预设格式的三元组;
12.s6:对得到的三元组中的因事件和果事件进行量化编码得到因果事件的语义向量,利用语义向量计算三元组之间的余弦距离,以余弦距离为指标通过聚类算法将三元组聚类得到因果事理组;
13.s7:将得到的因果事理组进行遴选和约化处理,保存约化处理后的因果事理组。
14.进一步的,所述对样本集进行预标注,即采用关键词和正则匹配的方式对每个样本是否包含因果关系做标注。
15.进一步的,所述对预标注后的文本集进行bio格式的事件标注和因果关系标注即采用短语方式标注事件,所述短语包括:主谓短语、动宾短语、主谓宾短语。
16.进一步的,对bert+crf模型进行训练时采用多任务训练,所述多任务包括:识别出样本中的所有事件、识别样本中的因果关系。
17.进一步的,所述预设格式的三元组其格式为:(



事件,因果关系系数,

果”事件),其中因果关系系数为0~1之间的概率值,表示

因”事件和



事件之间因关系的强弱。
18.进一步的对得到的三元组中的因事件和果事件进行量化编码得到因果事件的语义向量,利用语义向量计算三元组之间的余弦距离,以余弦距离为指标通过聚类算法将三元组聚类得到因果事理组具体步骤为:
19.s601:对得到的三元组中的因事件和果事件进行量化编码得到因果事件的语义向量;
20.s602:利用余弦相似度公式计算同一时间段内三元组语义向量的的余弦相似度,利用余弦相似度计算余弦距离;
21.s603:以余弦距离为度量指标使用聚类算法对三元组进行聚类得到因果事理组。
22.进一步的,所述聚类算法为mini batch k-means算法。
23.进一步的,将得到的因果事理组进行遴选和约化处理,保存约化处理后的因果事理组具体过程为:
24.s701:判断因果事理组中三元组的数量,若三元组数量小于预设值或仅包含一个三元组则舍弃当前因果事理组;
25.s702:若三元组数量大于或等于预设值,则取因果事理组中因果系数最大的三元组代表当前因果事理组,并将该三元组的因果系数更新为当前所在因果事理组内因果系数的均值,保存得到的因果事理组。
26.本发明第二方面提供一种基于海量数据的因果事理组提取系统,该系统包括:存储器、处理器,所述存储器中包括基于海量数据的因果事理组提取方法程序,所述基于海量数据的因果事理组提取方法程序被所述处理器执行时实现所述的基于海量数据的因果事理组提取方法的步骤。
27.本发明第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中包括基于海量数据的因果事理图谱提取方法程序,所述一种基于海量数据的因果事理组提取方法程序被处理器执行时,实现所述的一种基于海量数据的因果事理组提取方法的步骤。
28.与现有技术相比,本发明技术方案的有益效果是:
29.本发明首先对数据进行两次标注,进而利用标注数据对bert+crf模型,通过bert+
crf模型进行事件的提取和因果关系的识别以及相似因果事理的判断,融入了模型的先验知识和一定程度的语义理解,相较于现有的因果事理提取提高了提取因果事理的准确性,减少了提取结果中的噪声数据,冗余数据和孤立数据,具有较高的可靠性。
附图说明
30.图1为本发明实施例一种基于海量数据的因果事理组提取方法流程图。
31.图2为本发明实施例对三元组中处理得到因果事理组的流程图。
32.图3为本发明实施例对因果事理组进行处理的流程图。
具体实施方式
33.为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
34.在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
35.实施例1
36.如图1所示,本发明第一方面提供了一种基于海量数据的因果事理组提取方法,包括以下步骤:
37.s1:获取网络文本并按时间段分别存储;
38.需要说明的是,在本技术实施例中获取的网络文本为互联网上公开的内容,在具体实施过程中可以在多个时期进行采集,并按照不同的时间段进行分布式存储,例如可以存储于hadoop分布式存储系统hdfs中。
39.s2:对获取的网络文本进行均匀抽样得到样本集并对样本集进行预标注;
40.对获取的互联网样本进行均匀抽样得到样本集,需要说明的是,样本集中样本的数量不宜过少,在具体的实施中样本数量可以为1万条左右,然后对样本集进行预标注,所述预标注即采用关键词和正则匹配的方式对每个样本是否包含因果关系做第一次标注。例如正则匹配因果关系词:”因为”、”所以”、”由于”、”导致”、”引起”等。
41.s3:定义事件和因果关系,对预标注后的文本集进行bio格式的事件标注和因果关系标注;
42.在进行预标注之后,本发明继续续对事件和因果关系进行定义,也即预标注后的文本集进行bio格式的事件标注和因果关系标注;本发明采用短语方式标注事件,主要使用主谓短语、动宾短语、主谓宾短语,例如短语”寒潮来袭”和”羽绒服销量上升”,这样标注的事件相对而言拥有较为完整的语义而且也较为简洁。
43.s4:利用步骤s3标注得到的数据对bert+crf模型进行训练,并得到训练好的bert+crf模型;
44.本发明采用现有的bert+crf模型,并利用步骤s3标注后的数据对模型进行训练,其中训练过程为多任务训练,其中任务一是识别出样本中的所有事件,任务二是识别样本中事件的因果关系。需要说明的是,在对模型进行训练的过程中,可以通过监测模型的损失
值来确定训练是否停止,若训练一个epoch后损失值没有下降则停止训练,这样做能有效防止模型过拟合。
45.s5:利用训练得到的bert+crf模型对存储的网络文本进行因果事理提取,并形成预设格式的三元组;
46.通过上述训练得到的bert+crf模型并利用该模型进行对存储的网络文本进行因果事理提取,组合成三元组,所述三元组的格式为:(



事件,因果关系系数,”果”事件),其中因果关系系数为0~1之间的概率值,表示



事件和



事件之间因关系的强弱。在一个具体的实施例中,只保留因果关系系数大于0.5的三元组。
47.s6:对得到的三元组中的因事件和果事件进行量化编码得到因果事件的语义向量,利用语义向量计算三元组之间的余弦距离,以余弦距离为指标通过聚类算法将三元组聚类得到因果事理组;
48.如图2所示,在本发明中步骤s6的具体过程为:
49.s601:对得到的三元组中的因事件和果事件进行量化编码得到因果事件的语义向量;
50.s602:利用余弦相似度公式计算同一时间段内三元组语义向量的的余弦相似度,利用余弦相似度计算余弦距离;其中余弦距离=1-余弦相似度,所述余弦相似度刻通过现有余弦相似度计算公式得到。
51.s603:以余弦距离为度量指标使用聚类算法对三元组进行聚类得到因果事理组。
52.进一步的,所述聚类算法为mini batch k-means算法。需要说明的是,在采用mini batch k-means算法进行三元组聚类时,可以采用kmeans++等算法优化初始聚类中心。
53.s7:将得到的因果事理组进行遴选和约化处理,保存约化处理后的因果事理组。
54.如图3所示,本发明中步骤s7的具体过程为:
55.s701:判断因果事理组中三元组的数量,若三元组数量小于预设值或仅包含一个三元组则舍弃当前因果事理组;
56.s702:若三元组数量大于或等于预设值,则取因果事理组中因果系数最大的三元组代表当前因果事理组,并将该三元组的因果系数更新为当前所在因果事理组内因果系数的均值,保存得到的因果事理组。
57.需要说明的是,在具体的实施过程中,所述的预设值可以设置为u-nσ,其中u表示三元组数量的均值,n为正整数,σ为三元组数量的标准差。
58.实施例2
59.本发明第二方面提供一种基于海量数据的因果事理组提取系统,该系统包括:存储器、处理器,所述存储器中包括基于海量数据的因果事理组提取方法程序,所述基于海量数据的因果事理组提取方法程序被所述处理器执行时实现如下步骤:
60.s1:获取网络文本并按时间段分别存储;
61.需要说明的是,在本技术实施例中获取的网络文本为互联网上公开的内容,在具体实施过程中可以在多个时期进行采集,并按照不同的时间段进行分布式存储,例如可以存储于hadoop分布式存储系统hdfs中。
62.s2:对获取的网络文本进行均匀抽样得到样本集并对样本集进行预标注;
63.对获取的互联网样本进行均匀抽样得到样本集,需要说明的是,样本集中样本的
数量不宜过少,在具体的实施中样本数量可以为1万条左右,然后对样本集进行预标注,所述预标注即采用关键词和正则匹配的方式对每个样本是否包含因果关系做第一次标注。例如正则匹配因果关系词:”因为”、”所以”、”由于”、”导致”、”引起”等。
64.s3:定义事件和因果关系,对预标注后的文本集进行bio格式的事件标注和因果关系标注;
65.在进行预标注之后,本发明继续续对事件和因果关系进行定义,也即预标注后的文本集进行bio格式的事件标注和因果关系标注;本发明采用短语方式标注事件,主要使用主谓短语、动宾短语、主谓宾短语,例如短语”寒潮来袭”和”羽绒服销量上升”,这样标注的事件相对而言拥有较为完整的语义而且也较为简洁。
66.s4:利用步骤s3标注得到的数据对bert+crf模型进行训练,并得到训练好的bert+crf模型;
67.本发明采用现有的bert+crf模型,并利用步骤s3标注后的数据对模型进行训练,其中训练过程为多任务训练,其中任务一是识别出样本中的所有事件,任务二是识别样本中事件的因果关系。
68.需要说明的是,在对模型进行训练的过程中,可以通过监测模型的损失值来确定训练是否停止,若训练一个epoch后损失值没有下降则停止训练,这样做能有效防止模型过拟合。
69.s5:利用训练得到的bert+crf模型对存储的网络文本进行因果事理提取,并形成预设格式的三元组;
70.通过上述训练得到的bert+crf模型并利用该模型进行对存储的网络文本进行因果事理提取,组合成三元组,所述三元组的格式为:(



事件,因果关系系数,”果”事件),其中因果关系系数为0~1之间的概率值,表示

因”事件和”果”事件之间因关系的强弱。在一个具体的实施例中,只保留因果关系系数大于0.5的三元组。
71.s6:对得到的三元组中的因事件和果事件进行量化编码得到因果事件的语义向量,利用语义向量计算三元组之间的余弦距离,以余弦距离为指标通过聚类算法将三元组聚类得到因果事理组;
72.在本发明中步骤s6的具体过程为:
73.s601:对得到的三元组中的因事件和果事件进行量化编码得到因果事件的语义向量;
74.s602:利用余弦相似度公式计算同一时间段内三元组语义向量的的余弦相似度,利用余弦相似度计算余弦距离;其中余弦距离=1-余弦相似度,所述余弦相似度刻通过现有余弦相似度计算公式得到。
75.s603:以余弦距离为度量指标使用聚类算法对三元组进行聚类得到因果事理组。
76.进一步的,所述聚类算法为mini batch k-means算法。需要说明的是,在采用mini batch k-means算法进行三元组聚类时,可以采用kmeans++等算法优化初始聚类中心。
77.s7:将得到的因果事理组进行遴选和约化处理,保存约化处理后的因果事理组。
78.本发明中步骤s7的具体过程为:
79.s701:判断因果事理组中三元组的数量,若三元组数量小于预设值或仅包含一个三元组则舍弃当前因果事理组;
80.s702:若三元组数量大于或等于预设值,则取因果事理组中因果系数最大的三元组代表当前因果事理组,并将该三元组的因果系数更新为当前所在因果事理组内因果系数的均值,保存得到的因果事理组。
81.需要说明的是,在具体的实施过程中,所述的预设值可以设置为u-nσ,其中u表示三元组数量的均值,n为正整数,σ为三元组数量的标准差。
82.本发明第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中包括基于海量数据的因果事理组提取方法程序,所述一种基于海量数据的因果事理组提取方法程序被处理器执行时,实现所述的一种基于海量数据的因果事理组提取方法的步骤。
83.实施例3
84.本实施例通过对具体的三元组进行处理来阐述本发明方法,例如在一个具体的实施例中,利用上述bert+crf模型对网络文本进行因果事理提取得到如下三元组:
85.[(

今天降温5度

,0.55,”明天会下雨”),(”寒潮来袭

,0.9,

羽绒服销量上升

),(

电线短路

,0.7,”发生火灾”),(”双十一来袭”,0.65,”厂家羽绒服断货”),(”线缆短路”,0.55,”造成火灾”)(

冷空气南下

,0.85,

羽绒服热卖

),(”气温骤降”,0.55,”羽绒服供不应求”),(”线路老化”,0.9,”火灾隐患

),(

羽绒服供不应求

,0.55,

气温骤降

)]
[0086]
计算上述三元组的语义向量,利用语义向量计算得到余弦距离,使用余弦距离(余弦距=1-余弦相似度)作为度量指标通过mini batch k-means算法对三元组聚类(聚类时可采用kmeans++等算法优化初始聚类中心)形成因果事理组如下:
[0087]
组a:[(

寒潮来袭

,0.9,

羽绒服销量上升

),(

双十一来袭

,0.65,

厂家羽绒服断货

),(

冷空气南下

,0.85,

羽绒服热卖”),(”气温骤降”,0.55,”羽绒服供不应求”),(”羽绒服供不应求”,0.55,”气温骤降”)]
[0088]
组b:[(”电线短路”,0.7,”发生火灾”),(”线路老化”,0.9,

火灾隐患”),(”线缆短路

,0.55,

造成火灾

)]
[0089]
组c:[(

今天降温5度

,0.55,”明天会下雨”)]
[0090]
在具体的遴选过程中,对c组来说因为组内只有一个三元组,支撑该因果事件的样本数太少,所以直接丢弃,这样做可以过滤掉较多孤立事件,使得最终得到的因果事理都具备较多样本支持,舍弃c组后,对a组和b组进行约化处理,对于组a来说,组内有较多相似因果关系三元组,提取其中因果关系系数最大的三元组代表组a约化后的因果事件,取组内因果关系系数均值作为约化后的因果系数,可以看出明显消除了大量含义相同的因果关系三元组,并在一定程度上剔除了因果关系倒置的三元组(一般来说模型预测的正确因果事件的因果关系系数应大于倒置因果事件的因果关系系数);对于组b来说约化后的结果相对来说是更准确的,也去除了冗余,最终保存约化处理后的因果事理组。通过实验发现,最后保存的因果事理组准确率在90%以上,而且重复(此处取余弦距离小于0.25即为重复)的因果事理组比率低于5%,有效验证了本方案的可行性与有效性。e
[0091]
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1