lonePatient / BERT-NER-Pytorch

Chinese NER(Named Entity Recognition) using BERT(Softmax, CRF, Span)
MIT License
2.05k stars 425 forks source link

tokenizer.tokenize()问题 #83

Closed 472027909 closed 2 years ago

472027909 commented 2 years ago

run_ner_crf.py train分支时,为什么from_pretrained()函数后留了一个逗号,导致,tokenizer.tokenize()分词的不是逐个字符分的,导致tokens和label_ids长度不等。 tokenizer = tokenizer_class.from_pretrained(args.model_name_or_path, do_lower_case=args.do_lower_case, )

run_ner_span.py 这个就是用的不带逗号的from_pretrained()tokenizer.tokenize()分词是逐个字符分的,这样tokens和label_ids长度相等。 tokenizer = tokenizer_class.from_pretrained(args.model_name_or_path, do_lower_case=args.do_lower_case)

这么写的区别在哪, 感觉这是个bug 修正后,最大的问题,用run_ner_crf.py训练自己数据集,两个epoch之后recall就会一直下降,这个问题作者遇到过吗,有空麻烦回一下

lsx0930 commented 2 years ago

https://github.com/lonePatient/BERT-NER-Pytorch/issues/86