Маленькая модель из новостей Google модель Word2Vec - PullRequest
0 голосов
/ 06 июня 2018

Я использую модель GoogleNews-vectors-negative300.bin и библиотеку pycontractions , чтобы определить с помощью машинного обучения лучший вариант для расширения сокращений, когда есть неоднозначные значения, такие как I'd с может быть I would и I had.Размер этой модели очень большой, около 3,5 ГБ.

Я думаю, что 3,5 ГБ - очень большая модель, которую можно использовать для моих целей.Вероятно, я никогда не буду использовать все представления слов в этой модели.Есть ли способ уменьшить размер, извлекая только подмножество представлений слов, которые полезны для моих целей?

1 Ответ

0 голосов
/ 06 июня 2018

Обрезать набор до 1-го N слов легко с необязательным аргументом метода gensim load_word2vec_format(), limit.Если присутствует, будет загружено только указанное количество слов.Например, limit=500000 читает только первые 500 000 слов из предоставленного файла.

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

Затем вы могли бы повторно save_word2vec_format() усеченный набор, еслиВы хотели меньший файл на диске.

Вы также можете изменить файл на диске, чтобы он включал в себя только некоторое другое подмножество слов для сохранения.Это может быть проще сделать в текстовом (binary=False) формате.Просмотр исходного кода gensim для load_word2vec_format() / save_word2vec_format() может помочь вам понять, как должен выглядеть файл для чтения обратно.

...