RDANER icon indicating copy to clipboard operation
RDANER copied to clipboard

想问下,具体的配置以及整个项目要从那个py文件开始运行啊

Open daiyulejia opened this issue 3 years ago • 5 comments

项目中没有一个main.py这么一个文件,不知道从那块开始,然后代码中有一些文件夹没有,有一些josn文件也没有,希望作者大大可以给个完整的项目代码吗,谢谢

daiyulejia avatar Aug 09 '21 15:08 daiyulejia

项目中没有一个main.py这么一个文件,不知道从那块开始,然后代码中有一些文件夹没有,有一些josn文件也没有,希望作者大大可以给个完整的项目代码吗,谢谢

这玩意太久没看了,好多代码都忘了,完整的代码和数据都是这些了。你说的json文件应该是指的数据集相关的吧,数据集有两部分:

  1. benchmark数据集,这部分在/data/dataset_info.json,BIO数据集在/data/dataset下面;
  2. language model finetuning的数据,这部分数据根据你自己的任务,找相关语料,弄成正确格式,python lm_finetuning.py即可,这个代码是从huggingface transformers中改的,训练完后的模型跟原始bert的结构是一样的,只是参数根据当前任务进行了微调,实际上就是在你自己的领域语料上训练MLM。
  3. 模型训练相关的json,在/allennlp_config,整个项目依赖于allennlp。
  4. 训练大体思路是:首先进行lm finetuning,所有带exp的py文件都是进行实验的,exp_confidence.py是进行置信度的实验,即在进行weakly-label时,概率值超过多少才打上预测得到的tag;exp_ratio.py是模拟低资源的场景,比如选用10%的数据进行训练,ratio控制整个比例;其他py文件和这几个文件差不多。

houking-can avatar Aug 10 '21 04:08 houking-can

项目中没有一个main.py这么一个文件,不知道从那块开始,然后代码中有一些文件夹没有,有一些josn文件也没有,希望作者大大可以给个完整的项目代码吗,谢谢

这玩意太久没看了,好多代码都忘了,完整的代码和数据都是这些了。你说的json文件应该是指的数据集相关的吧,数据集有两部分:

  1. benchmark数据集,这部分在/data/dataset_info.json,BIO数据集在/data/dataset下面;
  2. language model finetuning的数据,这部分数据根据你自己的任务,找相关语料,弄成正确格式,python lm_finetuning.py即可,这个代码是从huggingface transformers中改的,训练完后的模型跟原始bert的结构是一样的,只是参数根据当前任务进行了微调,实际上就是在你自己的领域语料上训练MLM。
  3. 模型训练相关的json,在/allennlp_config,整个项目依赖于allennlp。
  4. 训练大体思路是:首先进行lm finetuning,所有带exp的py文件都是进行实验的,exp_confidence.py是进行置信度的实验,即在进行weakly-label时,概率值超过多少才打上预测得到的tag;exp_ratio.py是模拟低资源的场景,比如选用10%的数据进行训练,ratio控制整个比例;其他py文件和这几个文件差不多。

你好,在代码中你是直接把从bert输出的每个单词每个标签的概率进行过滤吗?如果最大值小于阈值就直接标成O吗?

daiyulejia avatar Oct 14 '21 12:10 daiyulejia

是的,如果一个token被标记为O,可能会影响前后的token,所以需要对整个tag序列再进行一次纠正

houking-can avatar Oct 15 '21 02:10 houking-can

是的,如果一个token被标记为O,可能会影响前后的token,所以需要对整个tag序列再进行一次纠正

好的,我再确认下,因为代码的复现因为allennlp的原因一直没有成功,所以想直接问下你过程。 就是这个过程就是先通过CFR输出句子x的标签序列y,然后根据阈值将低概率的单词标记为,得到新的y对吧。然后输出BIO或者BIESO模式对吧? 谢谢您耐心回复,自己确实太笨了。期待您的回复

daiyulejia avatar Oct 15 '21 02:10 daiyulejia

思路是这样的,整个逻辑在 exp_confidence.py,打伪标签的函数是gen_weakly_label_dataset()

houking-can avatar Oct 15 '21 02:10 houking-can