Doc2EDAG icon indicating copy to clipboard operation
Doc2EDAG copied to clipboard

使用bert,单句token长度大于512的情况

Open mrkdian opened this issue 5 years ago • 8 comments

代码里似乎是舍弃了位置大于512的token,这也太粗暴了。 还是我看错了,用得其他方法处理?

mrkdian avatar Jan 20 '20 14:01 mrkdian

对于单句,目前的设置是 大于128token位置的都删去。 由于Doc2EDAG是文档级模型,天生可以处理多句输入,所以可以将超长句切短再输入。 在本repo中,设置--rearrange_sent == True即可对自动实现这一功能(仅对规范中文文本有效)。

shun-zheng avatar Jan 23 '20 05:01 shun-zheng

对于单句,目前的设置是 大于128token位置的都删去。 由于Doc2EDAG是文档级模型,天生可以处理多句输入,所以可以将超长句切短再输入。 在本repo中,设置--rearrange_sent == True即可对自动实现这一功能(仅对规范中文文本有效)。

感谢回复。 1.请问eval的文件中,为何gold_span和pred_span的NER结果会有较大不同?我以为gold_span只是决定是否使用pred的NER的label,只会影响事件抽取的部分。 2.如果gold_span是使用真实的NER结果做eval,那么为什么gold_span的NER结果不为1? 上述是使用sample_train.json做train,对dev.json做eval

mrkdian avatar Jan 26 '20 05:01 mrkdian

1、gold和pred说明的是 用于事件论元的候选实体来自于数据标注(gold)还是模型预测(pred)。 2、无论事件表格填充部分用的是哪种选项,NER部分展示的都是pred所对应的结果。

shun-zheng avatar Jan 27 '20 07:01 shun-zheng

1、gold和pred说明的是 用于事件论元的候选实体来自于数据标注(gold)还是模型预测(pred)。 2、无论事件表格填充部分用的是哪种选项,NER部分展示的都是pred所对应的结果。

感谢回复。 还有个问题:有提供独立的eval脚本吗?或者调用哪个模块,哪个函数?

mrkdian avatar Jan 27 '20 16:01 mrkdian

请参考eval.sh文件

shun-zheng avatar Jan 28 '20 05:01 shun-zheng

对于DCFEE的实现还有一个问题,DCFEE的事件探测似乎是依赖触发词的,数据集中并没有触发词的label,请问是如何实现DCFEE的?如果使用event key role作为事件触发词组,如何区分EU,EO(两者的event role似乎一样)

mrkdian avatar Feb 07 '20 15:02 mrkdian

@mrkdian 标注触发词需要额外的知识库(事件触发词表)以及额外的匹配规则(一篇文章多个词匹配上了,到底给哪个标成触发词?),这些是依赖触发词的方案在标注方面的痛点。 我们对DCFEE的复现是 基于它论文中的假设“包含了大多数事件论元的句子是触发事件的关键句",最终的目标都是得到事件类型及其相应的事件记录。

shun-zheng avatar Feb 08 '20 02:02 shun-zheng

DEETask类里的train方法,从checkpoint继续训练时,恢复teacher_prob的代码是否有问题?

# bug
# for _ in range(resume_base_epoch):
#     self.get_teacher_prob()

#it should be
self.teacher_cnt = resume_base_epoch * self.num_step_per_epoch

mrkdian avatar Apr 05 '20 15:04 mrkdian