Каков формат входного файла для функции word2vec из пакета word2vec? - PullRequest
0 голосов
/ 05 апреля 2019

Я пытаюсь сделать свое собственное вложение слова, используя пакет word2vec (https://pypi.org/project/word2vec/). Однако я не могу найти формат файла входного файла для функции "word2vec".

Я пробовал формат .txt и файл pickle, но ни один из них не работает.

Например, где corpus.txt был создан с помощью Блокнота Windows и содержит «Я - тест foo bar corpus»

import word2vec
word2vec.word2vec("corpus.txt", "corpus.bin", size=100, verbose=True)

Я бы ожидал:

Vocab size: 7
Words in train file: 7

как в примере здесь: https://nbviewer.jupyter.org/github/danielfrg/word2vec/blob/master/examples/word2vec.ipynb

но получил только

Vocab size: 1
Words in train file: 0

Кто-нибудь знает, какой тип / формат файла принимает эта функция?

Заранее спасибо!

1 Ответ

0 голосов
/ 05 апреля 2019

Вероятность того, что вы получите конкретные результаты, высока, потому что большинство реализаций word2vec отбрасывают все слова, которые появляются меньше, чем какое-либо значение минимальное число , обычно 5. (Word2Vec не создает хорошие векторы для таких редких слов, и их присутствие обычно мешает лучшим векторам для других более распространенных слов, поэтому отбрасывание их обычно является хорошей идеей для корпусов реального размера.)

Таким образом, входной файл размером с игрушку, состоящий всего из 7 слов, появляющихся один раз, не оставляет ничего, кроме (возможно) одного синтетического слова.

Поскольку этот пакет PyPI представляет собой тонкую оболочку вокруг кода word2vec.c, первоначально выпущенного Google, вы, вероятно, можете обратиться к этому коду , чтобы узнать больше о форматах / использовании.

Но вы также можете использовать реализацию Word2Vec в библиотеке Gensim - гораздо более распространенный выбор при использовании Python, с гораздо большей документацией и гибкостью.

...