Вы получаете текст на китайском языке, потому что вы ищете определенный диапазон слов из словаря [5000:5020]
, который соответствует тексту на китайском языке.Кроме того, bert -base-multilingual-cased
обучается на 104 языках.
Если вы хотите дополнительно подтвердить свой код, вы можете использовать это:
tokenizer = BertTokenizer.from_pretrained('bert-base-multilingual-cased')
text = "La Banque Nationale du Canada fête cette année le 110e anniversaire de son bureau de Paris."
marked_text = "[CLS] " + text + " [SEP]"
tokenized_text = tokenizer.tokenize(marked_text)
, что совпадает с вашим кодом, после чего:
token_no=[]
for token in tokenized_text:
#print(tokenizer.vocab[token]) ### you can use this to check the corresponding index of the token
token_no.append(tokenizer.vocab[token])
### The below code obtains the tokens from the index, which is similar to what you were trying, but on the correct range.
new_token_list=[]
for i in token_no:
new_token_list.append(list(tokenizer.vocab.keys())[i])
#print(new_token_list); ### you can use it if you want to check back the tokens.