Closed xxllp closed 2 years ago
您好,
这个里面 如果是多事件的话 多个trigger(或者伪触法词)对应的ner 词 在最终构建的子图矩阵里面的下标是怎么确定的呢 ? 我看到的是第一个位置应该是的 但是多个的这个我就没太搞懂了~~ 还是有啥判断方式
mention_type_list 这个里面是对应这块的所有mention的类型 ,但是有重复的 这个是怎么跟图矩阵对应上的
或许这个函数里有您想要的答案。
NER部分得到的答案中,所有实体是一视同仁的,并不会区分它是不是伪触发词,除非人为定义它的实体类型为Trigger
,那么可以通过从mention_type_list
中找Trigger
对应的mention。
通过这里的代码可以看出,mention类型只用来对mention的表示进行增强,在当前版本的PTPCG中,和图矩阵没有关系。
明白 在duee-fin 这种数据集上面 我其实也就是要知道人为定义的Trigger
的生成过程
比如 我将 单个mention_type_list 打印出来如下
[3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 9, 9, 9, 9, 9, 15, 15, 15, 15, 16, 17, 17, 16, 17, 17, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 16, 13, 19, 5, 21, 11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
但是最终的图矩阵shape torch.Size([18, 18]) 这二者是怎么对应上的 如果是去重数量上也对不上
嗷嗷,明白了。您其实是在问mention和span(或者说,entity)之间的关系。一个实体在文中会出现多次,也就是有多个mention,所以同一实体的不同mention之间会做个max-pooling,以获得最终实体的表示。
至于span的位置的话,预测的span会先转换为金标span的index,以便于邻接矩阵的loss求解: https://github.com/Spico197/DocEE/blob/692a1a28d2a951940cc3d372ea92c28bea588af1/dee/helper/arg_rel.py#L607
我通过span_mention_range_list 和 mention_type_list 的组合 拿到了指定类型的 下标 这样可以确定其在 相似矩阵的下标
这里面 如何获取span 对象所属的事件类别 还是只能从子图这块获得
这里面 如何获取span 对象所属的事件类别 还是只能从子图这块获得
只能在最后的event record generation处获得
我又来了,还是有问题想请问下: