Page 235 - 《爆炸与冲击》2026年第5期
P. 235
第 46 卷 王继民,等: 意外爆炸毁伤知识图谱研究 第 5 期
度。接着,利用 NTLK(natural language toolkit)的 表 3 基于语义和语法相似度的实体对齐算法
词法分析判断实体在各自句子中的词性。如果 Table 3 Entity alignment algorithm based on semantic
两实体词性相同且语义相似度大于阈值,则认为 and syntactic similarity
两个实体在语义、语法上都相似,两个实体实质 输入:待对齐的实体e1和e2,其上下文s1和s2,相似度阈值τ
上为同一实体,将其对齐。具体对齐过程如表 3 输出:e1和e2对齐结果
所示。 1. 将所有抽取出的实体加入分词词典w_dict
在表 3 的算法中,第 1~10 行计算实体的语 2. 按照w_dict对s1和s2进行分词
义相似度,利用 BERT 模型得到实体在句中的向 3. 预训练BERT模型分别计算e1在s1中的表示vec1,e2在s2中的表示vec2
量表示,通过零填充统一向量长度,计算实体之 4. //1. 计算语义相似度
间的余弦相似度,进而得到两实体的语义相似 5. 对vec1和vec2扁平化处理
度 Sim;第 12~16 行判断实体在语法上是否相 6. if vec1.shape[0] > vec1.shape[0]:
似,利用 NTLK 的词法分析判断实体在各自句子 7. 对vec2进行零填充操作
中的词性,如果实体词性不同,则语法 Pos 不相 8. else
似,两个实体不对齐;第 17~19 行表示如果两实 9. 对vec1进行零填充操作
体语法相似且语义相似度大于阈值,则认为两个 10. sim = 1- cos(vec2, vec1) //计算e1和e2之间的余弦相似度
实体在语义、语法上都相似,那么两个实体实质 11. //2. 计算语法相似度
上为同一实体,将其对齐,返回信息更全面的实 12. 利用NTLK库分别判断e1在s1中的词性pos1,e2在s2中的词性pos2
体作为最终对齐后的结果。表 4 给出了意外爆 13. if pos1 == pos2:
14. flag = 1
炸毁伤领域的基于语义语法相似度实体对齐的
15. else
示例,下划线词为需要判断是否对齐的实体。可
16. flag = 0
以看出,第 1 个例子中两实体语义相似度高、且
17. if flag * sim <τ:
词性相同,因此应该对齐;第 2 个例子中,虽然两
18. return NULL
实体字面上完全一样,但词性不同,在句子中的
19. return len(e1)>len(e2)? e1:e2
含义也不同,因此不能对齐。
表 4 基于语义和语法进行实体对齐的示例
Table 4 Example of entity alignment based on semantics and syntax
序号 样例 语法 语义相似度 是否对齐
电路老化产生火星点燃氧气和空气的混合物 名词
1 0.78 是
空气氧气混合物被点燃,导致A地发生爆炸 名词
导致这次爆炸发生的原因是设施老化 名词
2 1.00 否
10月11日在A工厂B楼锅炉突然爆炸了 动词
1.4.2 意外爆炸事件共指融合
根据表 3 的算法判断事件论元实体是否相同,如果爆炸发生的时间和地点等实体相同,则将该爆炸
事件进行融合,对所有不同的事件元素进行保留,相同的事件元素仅保留一个;若爆炸事件对应不同的
爆炸时间和地点,则两个爆炸事件不进行事件融合。此外,由于爆炸事件、引燃事件、反应事件和毁伤
事件间存在共享论元,需要对不同事件类型间的论元实体对齐,整合一场意外爆炸完整的爆炸毁伤过
程。通过这种方式将不同报道来源、实质相同的事件合并为一个,得到关于某特定事件全面的、精简的
信息,实现了多源异构爆炸信息的融合,完成意外爆炸毁伤知识图谱的构建。
1.5 知识图谱构建实例
下面以广西维尼纶集团有限责任公司 2008 年 8 月 26 日的爆炸事故为例,构建意外爆炸毁伤知识
图谱。首先使用训练的 RoBERTa-GPLinker 模型,从 3 篇来自互联网的针对该爆炸事故的报告中抽取
051444-6

