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
   230   231   232   233   234   235   236   237   238   239   240