allennlp 扩展TokenEmbedder和Tokenizer词汇表的选项,

cld4siwp  于 6个月前  发布在  其他
关注(0)|答案(1)|浏览(66)

您的功能请求是否与问题相关?请描述。

我希望在微调之前在我模型中使用预训练的嵌入层,并可能在微调之前扩展词汇表。目前,除非我编写自己的训练命令,否则无法使用配置文件实现这一点。这样的功能在微调一个通用Transformer模型时非常有用,特别是在PretrainedTransformerEmbedder层中针对特定领域进行微调。
理想情况下,这种方法应该适用于任何TokenEmbedder,并将如何扩展词汇表的详细信息留给具体的类。根据嵌入器,我们还可能希望将额外的单词传递给分词器。就PretrainedTransformerEmbedder而言,Huggingface API提供了一种扩展分词器和模型词汇表的方法(参考:https://huggingface.co/transformers/main_classes/tokenizer.html#transformers.PreTrainedTokenizer.add_tokens )。

描述您希望实现的解决方案

我认为实现此目标的最简单方法是在TokenEmbedderTokenizer构造函数中添加一个额外的参数,该参数指向一个额外的词汇表文件(也可以包含权重以初始化嵌入器的额外词汇标记)。

描述您考虑过的替代方案

我没有真正考虑过其他方法。如果建议的方法似乎不合理,我可以提出替代方案。

f2uvfpb9

f2uvfpb91#

我们应该在重新思考词汇时尝试弄清楚这个问题。参见#3097。但在此期间,如果有快速解决此问题的方法,我们愿意接受。

相关问题