小编Nui*_*Nui的帖子

Huggingface BERT Tokenizer 添加新令牌

我正在使用 Huggingface BERT 来执行 NLP 任务。我的文本包含被分成子词的公司名称。

tokenizer = BertTokenizerFast.from_pretrained('bert-base-uncased')
tokenizer.encode_plus("Somespecialcompany")
output: {'input_ids': [101, 2070, 13102, 8586, 4818, 9006, 9739, 2100, 102], 'token_type_ids': [0, 0, 0, 0, 0, 0, 0, 0, 0], 'attention_mask': [1, 1, 1, 1, 1, 1, 1, 1, 1]}
Run Code Online (Sandbox Code Playgroud)

现在,我想将这些名称添加到标记器 ID 中,这样它们就不会被分割。

tokenizer.add_tokens("Somespecialcompany")
output: 1
Run Code Online (Sandbox Code Playgroud)

这将分词器的长度从 30522 扩展到 30523。

因此,所需的输出将是新的 ID:

tokenizer.encode_plus("Somespecialcompany")
output: 30522
Run Code Online (Sandbox Code Playgroud)

但输出与之前相同:

output: {'input_ids': [101, 2070, 13102, 8586, 4818, 9006, 9739, 2100, 102], 'token_type_ids': [0, 0, 0, 0, 0, 0, 0, 0, 0], 'attention_mask': [1, …
Run Code Online (Sandbox Code Playgroud)

bert-language-model huggingface-transformers huggingface-tokenizers

6
推荐指数
1
解决办法
9102
查看次数