Page 255 - 《软件学报》2025年第9期
P. 255
4166 软件学报 2025 年第 36 卷第 9 期
因此, 为了解决含实体类型的语义角色高度相似, 而忽视事件实际含义差异的问题, 我们考虑了关联句子成
分 (如主语、宾语和补语等) 的含实体类型语义角色标注. 例如, 在计算事件 3 与事件 4 的相似度时, 实际上是在
衡量这两个事件的包含句子成分标注的余弦相似度 (CosSim_SRL-ASC), 下面以事件 3 和事件 4 为例介绍
CosSim_SRL-ASC 的计算步骤.
首先, 基于 text-embedding-ada-002 模型分别获取事件 3 标注 (父母/施事: 人 爱 孩子/向事: 人) 和事件 4 标注
(朋友/施事: 人 爱 不合适的人/向事: 人) 的 1 536 维嵌入向量. 这两个向量的前后 4 个维度值 (保留小数点后 4 位)
分别为:
SRL-ASC 嵌入向量 1: [0.0066, −0.0206, −0.0093, −0.0098,…, 0.0077, 0.0024, 0.0020, −0.0213].
SRL-ASC 嵌入向量 2: [−0.0120, −0.0222, 0.0184, 0.0049,…, 0.0123, −0.0138, −0.0020, −0.0273].
其次, 使用公式 (1) 计算这两个向量余弦相似度, 从而得到事件 3 和事件 4 的 SRL-ASC 的余弦相似度.
(3) 语义角色标注结构 (semantic role labeling structure, SRLS)
事件中包含的词组结构能够揭示事件参与者之间的相互作用, 对深入理解事件之间的复杂关系起到了关键的
作用. 例如, 在标注“施事: 人 把 客事: 信息 告诉 向事: 人”中, 通过“把…告诉…”的结构, 指明了行为的方向与对象. 这
些结构特征在计算事件的语义相似度时提供了有力的指导. 因此, 本文将语义角色标注格式化为“施事-把-客事-告
诉-向事”, 进而计算语义角色标注结构的相似度 (Sim_SRLS), 以事件 5 和事件 6 具体阐述 Sim_SRLS 的计算过程:
事件 5: 把秘密告诉他人.
事件 6: 把物品归还给他人.
首先, 在 ECKG 标注数据中获取事件 5 和事件 6 的标注分别为:
事件 5 标注: 施事: 人 把 秘密/客事: 信息 告诉 他人/向事: 人.
事件 6 标注: 施事: 人 把 物品/受事: 人造物 归还 给 他人/向事: 人.
然后, 去除事件 5 标注和事件 6 标注中的句子成分和实体类型, 将中枢语义角色和周边语义角色通过连接符“-”
进行连接, 得到对应的语义角色标注结构为:
语义角色标注结构 5: 施事-把-客事-告诉-向事.
语义角色标注结构 6: 施事-把-受事-归还-给-向事.
最后, 使用公式 (2) 计算语义角色标注结构 5 和语义角色标注结构 6 的相似度. 公式 (2) 的定义如下.
L 1 = [s 11 , s 12 ,..., s 1m ] 和
假设, 两个事件的语义角色标注结构为 S 1 和 S 2 其包含的语义角色列表可以表示为
L 2 = [s 21 , s 22 ,..., s 2n ], 相似度计算公式如下:
min(m,n)
∑
(s 1i = s 2i )
i=1
Sim_SRLS(S 1 ,S 2 ) = (2)
max(m,n)
其中, Sim_SRLS(S 1 ,S 2 ) 表示两个事件语义角色标注结构的相似度, m 是 L 1 的元素数量, n 是 L 2 的元素数量, s 1i 和
i
s 2i 分别是 L 1 和 L 2 的第 个元素.
将语义角色标注结构 5 和语义角色标注结构 6 使用公式 (2) 计算时, 对应的语义角色元素列表分别为:
语义角色标注结构 5 的元素列表: [ 施事, 把, 客事, 告诉, 向事 ].
语义角色标注结构 6 的元素列表: [ 施事, 把, 受事, 归还, 给, 向事 ].
这两个结构的语义角色元素个数分别为 m=5, n=6, 两个角色列表中相同位置上相等的元素数量为 2, 从而计
算出这两个语义角色结构的相似度约为 0.333 3.
(4) 事件反义
在 ECKG 中, 反义事件是指含义相对立的事件. 例如, “吃汉堡包”与“不吃汉堡包”这两个事件, 尽管它们在行
为 (吃) 和对象 (汉堡包) 上相同, 但表达的语义截然相反. 这种语义上的对立在计算事件相似度时尤为重要, 能够
影响人们对事件关系的理解. 然而, 传统的余弦相似度算法往往会将反义事件判定为高度相似. 为了解决这一问
题, 本文首先使用预先定义的规则识别反义词. 接着, 在计算事件余弦相似度时, 将这些互为反义的事件相似度进

