nju-websoft / GLRE

Global-to-Local Neural Networks for Document-Level Relation Extraction, EMNLP 2020
GNU General Public License v3.0
53 stars 15 forks source link

关于使用预训练模型作为编码器构图的问题 #5

Closed wenzitracyliu closed 3 years ago

wenzitracyliu commented 3 years ago

你好,想请教两个问题。

1、当模型使用预训练模型作为编码器时,word会被分为子词,那么原本数据中标注的entity位置就会被改变了。dataset.py中好像没有对这种情况有进行处理,继续用的是数据集中标注的entity位置。

2、此外看到代码中使用bert时会截取512的长度,那超出512的片段都不要吗?好像论文中说的会分好几段来编码。如果是我理解错了,可以指出在哪进行了处理吗?

slzbywdf commented 3 years ago
  1. model/glre.py中context_output = [layer[starts.nonzero().squeeze(1)] for layer, starts in zip(context_output, batch['bert_starts'])] 对wordpiece划分的多个字词仅保留了第一个字词;
  2. DocRED数据集长度基本都小于512;
wenzitracyliu commented 3 years ago

明白了,非常感谢你的解答