Ошибка: код utf-8 c не может декодировать байты в позиции 7526-7527: недопустимый байт продолжения - PullRequest
0 голосов
/ 13 января 2020

У меня проблема с подключением при прямой загрузке модели Bert (политика конфиденциальности компании), поэтому я скачал BertTokenizer по адресу https://github.com/huggingface/transformers/blob/master/src/transformers/tokenization_bert.py

и получил текстовый файл токенайзера моей модели , «bert-base-multilingual-case»: «https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-multilingual-cased-vocab.txt»,

, но при импорте модели токенизатора выдается ошибка. Мой код:

tokenizer = BertTokenizer.from_pretrained("My BERT MODEL DIRECTORY", do_lower_case=False) 
tokenized_texts = [tokenizer.tokenize(sent) for sent in sentences]

print (sentences[0])
print (tokenized_texts[0])

Сообщение об ошибке 'utf-8' codec can't decode bytes in position 7526-7527: invalid continuation byte

Я пытаюсь + encoding = 'utf-8', 'cp949' вот так tokenizer = BertTokenizer.from_pretrained("My BERT MODEL DIRECTORY", encoding = 'uft-8', do_lower_case=False)

но Это не работает .. Спасибо за ваш комментарий заранее.

1 Ответ

1 голос
/ 13 января 2020

Ваши строки не могут быть декодированы, потому что они были усечены. Либо вы вручную обрабатываете ошибку:

print (sentences[0].decode('utf-8', 'replace') # Replace the invalid characters with ?
print (tokenized_texts[0].decode('utf-8', 'ignore') # Completely remove the invalid characters

, либо вы регистрируете обработчик глобально:

import codecs

codecs.register_error('strict', codecs.lookup_error('surrogateescape'))

Дополнительная информация: https://docs.python.org/3/library/codecs.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...