sxysxy / NERTasks

GNU Lesser General Public License v3.0
12 stars 4 forks source link

BERT-Prompt问题 #2

Closed Victor-xx closed 1 year ago

Victor-xx commented 1 year ago

您好,又打扰您了。BERT-Prompt模型跑ccks2019数据集,我按照您日志json中的跑,在myutils.py的438行return AutoTokenizer.from_pretrained(auto_get_bert_name_or_path(config))报huggingface_hub.utils._validators.HFValidationError: Repo id must be in the form 'repo_name' or 'namespace/repo_name': 'assets/pretrained_models/bert-base-chinese-ccks2019-prompt'. Use repo_type argument if needed.的问题,这是为啥呀

sxysxy commented 1 year ago

可能是transformers和huggingface-hub版本的问题。一个解决方法是去huggingface官网 huggingface.co 上下载这些预训练语言模型,包括bert-base-uncased和bert-base-chinese,保存到assets/pretrained_models里面,。medbert我记得可以在github上找到。

sxysxy commented 1 year ago

bert-base-chinese-ccks2019-prompt 这个是怎么来的,我记得好像是我对原版的bert-base-chinese做了一点点微调然后生成的新模型,就是用了EntLM那篇论文里面的Virtual Word的方法,他需要扩充模型的词表和Embedding,所以我在原版的bert-base-chinese的基础上处理了一下。

sxysxy commented 1 year ago

bert-base-chinese-ccks2019-prompt 这个是怎么来的,我记得好像是我对原版的bert-base-chinese做了一点点微调然后生成的新模型,就是用了EntLM那篇论文里面的Virtual Word的方法,他需要扩充模型的词表和Embedding,所以我在原版的bert-base-chinese的基础上处理了一下。

在prompt_engineering.py里面做的

sxysxy commented 1 year ago

EntLM的论文标题是 “Template-free Prompt Tuning for Few-shot NER”, 顺便有点好奇你跑这个项目是有什么实际需求吗

sxysxy commented 1 year ago

可能是transformers和huggingface-hub版本的问题。一个解决方法是去huggingface官网 huggingface.co 上下载这些预训练语言模型,包括bert-base-uncased和bert-base-chinese,保存到assets/pretrained_models里面,。medbert我记得可以在github上找到。

这么看来应该是找不到模型的问题,bert-base-chinese-ccks2019-prompt 在huggingface官网上并没有,需要运行prompt_enginerring.py生成,里面的代码有亿点混乱一些细节我可能也记不太清了。。。

Victor-xx commented 1 year ago

谢谢您,BERT-Prompt我跑通了,我跑您这个项目就是想了解下什么是Prompt。我还有一个问题就是,就是Few Shot Test on CCKS2019:是咋跑的,我没有看见您在项目里面的日志

sxysxy commented 1 year ago

--few_shot 样本抽取比例 这个命令行参数实现的,比如--few_shot 0.01表示随机抽取1%的样本训练,“样本”指的是“句子”,一个句子里面的所有标注构成一个样本

但其实这么做是不对的,你可以看看few-shot NER相关的论文,通常是选取固定的K=1,5,10,20等比较小的数,每一个tag都给相同数量K个标注的实体(以及其所在的上下文)

Victor-xx commented 1 year ago

好嘞,谢谢您