提问人:Carlos Muradyan 提问时间:10/17/2023 更新时间:10/17/2023 访问量:24
替换分词器中的特殊 [unusedX] 标记,以在基于 Bert 的模型中添加特定于域的单词 - huggingface
Replace special [unusedX] tokens in a tokenizer to add domain-specific words in Bert based models - huggingface
问:
假设我有特定于域的单词,我想将其添加到我用于进一步微调模型的分词器中。BERT 的 Tokenizer 是具有 [[unusedX] tokens] 的 tokenizer 之一。添加新令牌的方法之一是使用 或 方法。例如add_tokens
add_special_tokens
tokenizer = BertTokenizerFast.from_pretrained('bert-base-uncased')
tokenizer2 = tokenizer._tokenizer
tokenizer2.add_special_tokens(["DomainSpecificWord"])
tokenizer2.encode("DomainSpecificWord").ids
# [101, 30522, 102]
但是,这会增加分词器的长度,因为它会为新添加的单词分配新 id。BERT tokenizer 有近 1000 个未使用的代币可用于此目的。但是,我还没有找到说明如何实现这一点的示例或文档。
PS 尝试使用但没有用tokenizer.vocab['DomainSpecificWord'] = tokenizer.vocab.pop('[unused701]')
答: 暂无答案
评论