Разница между Fasttext .vec и .bin файлом

Я недавно скачал предварительно обученную модель fasttext для английского языка. Получилось два файла:

  1. wiki.en.vec
  2. wiki.en.bin

Я не уверен, в чем разница между двумя файлами?


person Bhushan Pant    schedule 05.11.2017    source источник


Ответы (2)


Файлы .vec содержат только агрегированные векторы слов в виде простого текста. Файлы .bin дополнительно содержат параметры модели и, что особенно важно, векторы для всех n-граммов.

Поэтому, если вы хотите закодировать слова, с которыми вы не тренировались, используя эти n-граммы (известная «информация о подсловах» FastText), вам нужно найти API, который может обрабатывать файлы FastText .bin (большинство из них поддерживает только .vec файлов, однако ...).

person fnl    schedule 22.03.2018
comment
Как вы на самом деле работаете с файлом .bin? Я пробовал open(FILENAME, "rb"), но потом не знаю, как на самом деле получить доступ к матрице весов после этого - person information_interchange; 06.05.2020
comment
@information_interchange вы нашли ответ на этот вопрос? - person Bob van Luijt; 25.05.2020
comment
Ознакомьтесь с официальной документацией по API Python: github.com/facebookresearch/fastText/tree/master/ - person fnl; 26.05.2020
comment
@information_interchange вы можете сделать model = fasttext.load_model (embedding.bin) для загрузки объекта модели. - person dapperdan; 24.08.2020

Как сказано в документации,

model.vec - текстовый файл, содержащий векторы слов, по одному в каждой строке. model.bin - это двоичный файл, содержащий параметры модели вместе со словарем и всеми гиперпараметрами.

Другими словами, формат файла .vec совпадает с форматом файла .txt, и вы можете использовать его в других приложениях (например, для обмена данными между вашей моделью FastText и вашей моделью Word2Vec, поскольку файл .vec похож на файл .txt, созданный Word2Vec) . И файл .bin можно использовать, если вы хотите продолжить обучение векторов или перезапустить оптимизацию.

person Amir    schedule 05.11.2017
comment
Я согласен с выделенной частью, но мы можем дополнительно обучать файлы .vec также на других данных / корпусе. - person Akash Kandpal; 21.07.2018