wzzzd / lm_ner

基于Pytorch的命名实体识别框架,支持LSTM+CRF、Bert+CRF、RoBerta+CRF等框架
75 stars 18 forks source link

预测未知标签数据集代码是哪部分 #12

Open cqcl1 opened 1 year ago

cqcl1 commented 1 year ago

3.预测 请问预测未知标签数据集是用哪部分代码呢?是用test数据集吗?我看CNER数据集里也有标签

wzzzd commented 1 year ago

可以类似于CNER/test.txt在数据目录下创建一个test.txt文件,同时给测试数据所有标签赋值为O。 在得到的结果文件output.txt中,忽略掉"label"列就好了,模型预测的结果为"predict"这一列

cqcl1 commented 1 year ago

您好,十分感谢您的回复。有3个问题想向您请教。 ①训练集是train.txt,测试集是dev.txt,test.txt是用来对未知标签的数据做预测的,是这个意思吗?您写的这个poject没有用验证集是吗? ②config.py和arg_config.py的区别是什么呢?我看里面内容大部分都一样,比如我设置self.model='train',batch_size=6,这两个文件都需要修改吗? ③Trainer.py里的

验证效果 print('\nTest set Eval ' + '-'*20)

这部分出来的metrics结果是什么结果呢?我看这个结果是在相邻两个epoch之间出来的。用的也是训练集的数据吗?

谢谢!

1624140190 @.***

 

------------------ 原始邮件 ------------------ 发件人: "wzzzd/lm_ner" @.发送m>; 发送时间: 2023年2月7日(星期二) 中午12:37 @.>; @.**@.>; 主题: Re: [wzzzd/lm_ner] 预测未知标签数据集代码是哪部分 (Issue #12)

可以类似于CNER/test.txt在数据目录下创建一个test.txt文件,同时给测试数据所有标签赋值为O。 在得到的结果文件output.txt中,忽略掉"label"列就好了,模型预测的结果为"predict"这一列

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

wzzzd commented 1 year ago

不客气~

1.训练过程,用到train.txt文件来训练,训练过程中,是用dev.txt做验证,或者说是用来筛选效果最好的模型。test.txt是在每一个epoch或训练结束后,用来衡量模型效果的。所以如果你想预测未知标签的样本,只要替换掉test.txt,再跑一遍测试过程就好了。 2.忽略掉arg_config.py,这个文件是我不小心传上去的。代码里只用到了Config.py 3.这里是我自己写的一个逻辑,就是在每个epoch之间,用当前epoch的模型来跑一遍测试集,看看在测试集中的效果,用的是test.txt的数据