gensim word2vec очень большой, и как можно уменьшить размер файла? - PullRequest
0 голосов
/ 23 сентября 2019

У меня есть предварительно подготовленный файл bin word2vec с помощью skipgram.Файл довольно большой (векторный размер 200), более 2 ГБ.Я думаю, некоторые методы, чтобы сделать размер файла меньше.Этот bin-файл содержит векторы для пунктуации, некоторые стоп-слова.Итак, я хочу знать, какие варианты уменьшить размер файла для этого word2vec.Безопасно ли удалять эти знаки препинания и стоп-слова и какой способ будет наиболее эффективным?

Ответы [ 2 ]

1 голос
/ 24 сентября 2019

Размер полной модели Word2Vec определяется главным образом выбранным векторным размером и размером словарного запаса.

Таким образом, ваши основные варианты для больших сбережений - это тренировать меньшие векторы или меньший словарный запас.

Отказ от нескольких сотен стоп-слов или знаков препинания не окажет заметного влияния на размер модели.

Отказ от многих наименее часто встречающихся слов может существенно повлиять на размер модели, и зачастую эти менее часто встречающиеся слова не так важны, как вы думаете.(Хотя их в общем много, каждый из них появляется редко. И поскольку они редко встречаются в данных обучения, они, как правило, не всегда имеют очень хорошие векторы, основываясь на нескольких примерах, и их влияние на обучение значительно ослаблено.под влиянием более часто встречающихся слов.)

Самый простой способ ограничить размер словарного запаса - использовать более высокое значение min_count во время обучения (игнорируя все слова с меньшим количеством вхождений) или фиксированное значение max_final_vocabшапка (которая будет хранить только то, что многие из наиболее часто встречающихся слов).

Также обратите внимание, что если вы сохраняли / перезагружали полные модели Word2Vec (с помощью внутренних методов gensim .save() / .load()), вы сохраняете внутренние веса модели, которые необходимы только дляпродолжение обучения и почти удвоит размер модели на диске или перезагрузит.

Вместо этого вы можете сохранить только необработанные слова-слова в свойстве .wv (с помощью методов gensim-internal .save() или .save_word2vec_format()).

1 голос
/ 24 сентября 2019

Самый очевидный способ - тренироваться, используя меньший словарный запас, что и делает этот репо .«Конечная тонкая модель содержит 299 567 слов, сохранена в сжатом 270 МБ файле формата word2vec и загружается на моем ноутбуке за 20 секунд».

В качестве альтернативы вам следует рассмотреть возможность использования fasttext .Fasttext поддерживает квантование модели, что может значительно сократить окончательный размер модели - пример, который они приводят в своем блоге о квантовании, демонстрирует сжатие модели размером 350 МБ до менее 1 МБ.

...