-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
关于非嵌套NER效果的问题 #19
Comments
在我的实验里,我没有做负采样处理。不知道造成结果差异的原因是不是你没有进行参数的筛选。 一般来说如果要用BERT fine-tuning的话hidden size要大得多的。比如说如果在LSTM的设置里用的是150的hidden size,BERT的设置可能需要3000 hidden size。 至于你说的论文我觉得他们用的span-based method并不是很好 max pooling 不是特别强大的合成mention emb的方法,所以他们得出的结论我认为是有点牵强的,只能说他们的那个简化了的span-based method 没有BERT-softmax好。一般来说如果要合成mention emb 会用到三个不同的embs, mention 的第一个和最后一个token的emb 然后会加上一个weighted sum 所有的token emb, 这个weight一般是用self-attention来获得的。 你可以参考 https://www.aclweb.org/anthology/D19-1588/ |
@juntaoy 感谢解答。 您说的关于合成mention emb的问题,我感觉是有道理的,加入实体头尾、中间的att表示可能好些。 |
好的那你试一试,不行的话也可以试试稍微大一点的hidden size 512 1024 可能会更好一点:) 你说的边界模糊的问题应该是主要原因,因为biaffine最主要的点就是在边界上所以标注模糊的影响应该要比CRF来得大的多。因为CRF是标柱每个token为单位的所以影响的只是边界token。不过你可以试一试我上面发的链接里的span-based method, 他们用了self-attention来表示mention因此会对边界模糊不那么敏感一点。我之前的实验里发现biaffine和这种span-based 方法性能是很接近的。 |
您好,我在自己的数据集上(大概15w训练句子,都是非嵌套实体),比较了以下两个模型:
(1)BERT+双仿射NER:双仿射NER部分用的是您提供的代码
(2)BERT+CRF:即BERT后面接一个全连接和CRF层
前处理和BERT都是同样的设置,在测试集(约5k句子)上biaffine-ner比BERT-CRF效果低了1.7%,P和R值都降低了,尤其是R值,降低了2.5%,我怀疑是没有加负采样,训练时正负比悬殊,导致召回率偏低。所以想请教一下,您在训练双仿射模型时,是否加了负采样操作?是否有比较过加不加负采样的效果变化?
另外,我注意到EMNLP2020有篇论文"Let’s Stop Incorrect Comparisons in End-to-end Relation Extraction!",这篇论文也里比较了Span-based NER(加了负采样)和BERT-Softmax在非嵌套NER上的效果,结论也是BERT-Softmax在CoNLL04和ACE05数据集上效果均好于Span-based模型,不过论文里并没有详细分析,想请教一下您是否有注意到这个现象,是什么原因导致的?
期待您的回复
The text was updated successfully, but these errors were encountered: