Я использую предварительно обученную модель быстрого текста на основе английской википедии. Работает как положено ...
https://github.com/shantanuo/pandas_examples/blob/master/nlp/fasttext_english.ipynb
Но когда я пытаюсь использовать тот же код на другом языке, я получаю сообщение об ошибке, как показано на этой странице ...
https://github.com/shantanuo/pandas_examples/blob/master/nlp/fasttext_marathi.ipynb
Ошибка связана с юникодом:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 15: invalid start byte
Я пытался открыть файл, используя опцию Raw Binary. Я изменил функцию load_words_raw в файле load.py:
with open(file_path, 'rb') as f:
А теперь я получаю другую ошибку:
ValueError: не удалось преобразовать строку в число с плавающей точкой: b '\ x00l \ x02'
Понятия не имею, как с этим справиться.
байт 0x80 в позиции 15 . Существует вероятность того, что файл может быть закодирован в UTF-16. Попробуйте это:
with open(path, encoding='utf-16') as f: // your logic
Вам следует изменить вторую строку файла записной книжки на:
#!wget https://dl.fbaipublicfiles.com/fasttext/vectors-crawl/cc.mr.300.vec.gz
Итак, указывая на файл vec, а не на файл bin:
#!wget https://dl.fbaipublicfiles.com/fasttext/vectors-crawl/cc.mr.300.bin.gz
Попробуйте это:
data : str with open('crawl-D.txt' ,'r', encoding='utf8') as file: data = file.read()
str будет содержать весь файл как string.
str
string
парсинг float с float().
float
float()