1

我试图在Bert tokenizer vocab. 我看到词汇的长度在增加,但是我在词汇中找不到新添加的单词。

tokenizer.add_tokens(['covid', 'wuhan'])

v = tokenizer.get_vocab()

print(len(v))
'covid' in tokenizer.vocab

输出:

30524

False
4

1 回答 1

0

你用tokenizer.vocaband调用两个不同的东西tokenizer.get_vocab()。第一个包含没有添加标记的基本词汇表,而另一个包含带有添加标记的基本词汇表。

from transformers import BertTokenizer

t = BertTokenizer.from_pretrained('bert-base-uncased')

print(len(t.vocab))
print(len(t.get_vocab()))
print(t.get_added_vocab())
t.add_tokens(['covid'])
print(len(t.vocab))
print(len(t.get_vocab()))
print(t.get_added_vocab())

输出:

30522
30522
{}
30522
30523
{'covid': 30522}
于 2020-12-24T22:47:26.097 回答