gaohongkui / GlobalPointer_pytorch

全局指针统一处理嵌套与非嵌套NER的Pytorch实现
380 stars 45 forks source link

似乎有个bug? #4

Closed 2020zyc closed 2 years ago

2020zyc commented 3 years ago

下图实现要找token_span,但是好像没考虑同名实体,比如例子(张三传是由张三在2021年拍摄),第一个 张三 可能是属于 movie实体,第二个张三是director实体;

但是下图while循环有个break,匹配到就跳出,以上面的例子看,如果要找第2个张三,似乎匹配到第一个张三就跳出了;

附:代码/common/utils.py/Preprocessor(clss)/get_ent2token_spans(func) image @gaohongkui

2020zyc commented 3 years ago

测了一下,生成的token-span和entity-list(原始正确的)在同名实体上的映射对不上(如上述例子,第二个张三被丢弃了)

gaohongkui commented 3 years ago

你好,很高兴看到你的issue,这个问题确实存在,我刚刚修改了获取token_span的逻辑并push了。你的提问让我重新审视了get_ent2token_spans的代码,发现其中的冗余和错误,修正后F1值也有大幅提升。再次感谢你的issue。 https://github.com/gaohongkui/GlobalPointer_pytorch/blob/5146e4d180d865b94c8e0d173320f021df21498d/common/utils.py#L44-L59