THU-KEG / CLEVE

Source code for ACL 2021 paper "CLEVE: Contrastive Pre-training for Event Extraction"
82 stars 8 forks source link

我在Pre-training步骤中遇到了问题 #6

Closed 18610752432 closed 3 years ago

18610752432 commented 3 years ago

您好,我正在尝试复现您的代码,在生成contrast_examples.pkl文件后我开始对模型进行预训练,这时程序utils_ee.py第197行:trigger_idx = (node[0],node[1]-1)报错:unsupported operand type(s) for -: 'str' and 'int'。我尝试使用这种方式修改:trigger_idx = (node[0],int(node[1])-1)。 之后第382行:assert arg_posi in entities抛出异常,还有一些类似的问题我无法解决。 我想请教一下应该如何解决这些问题,或是您是否有修改后的代码?

wzq016 commented 3 years ago

您好,感谢您对我们工作的关注!

我们发现代码中确实有这个问题,这是由于我们clean代码的时候dump和load的格式出现了一些不一致。

我们现在已经修复了这个问题,请您重新clone这个repo,遵循现在的README从Pre-training这一节开始再执行一次,这次应该不会有bug发生了。

如果您仍然遇见了bug,可随时再打开这个issue。

18610752432 commented 3 years ago

您好,感谢您对我们工作的关注!

我们发现代码中确实有这个问题,这是由于我们clean代码的时候dump和load的格式出现了一些不一致。

我们现在已经修复了这个问题,请您重新clone这个repo,遵循现在的README从Pre-training这一节开始再执行一次,这次应该不会有bug发生了。

如果您仍然遇见了bug,可随时再打开这个issue。

@wzq016 非常感谢您及时的回复! 我使用新的代码进行Pre-training,程序运行的结果为:contrast_global_step = 36080, contrast_average loss = 2.1855684389461434, best_steps = 2450, min_loss = 2.336509628993709 然后我使用checkpoint-2450执行ED任务,发现Eval results输出的结果中eval_f1、eval_p、eval_recall都为0,我在之前使用您提供的checkpoint-1200进行实验时并没有出现过这个问题,您是否可以帮助我解决这个问题?谢谢!

wzq016 commented 3 years ago

您好!

在前几轮的evaluation中prf出现全0是正常的现象,多训练一会就好了,可以耐心等待训练半个到1个epoch。