Как использовать дамп Википедии в качестве модели Gensim? - PullRequest
0 голосов
/ 22 июня 2019

Я пытаюсь использовать дамп английской Википедии (https://dumps.wikimedia.org/enwiki/latest/enwiki-latest-pages-articles.xml.bz2) в качестве моей предварительно обученной модели word2vec, используя Gensim.

from gensim.models.keyedvectors import KeyedVectors

model_path = 'enwiki-latest-pages-articles.xml.bz2'
w2v_model = KeyedVectors.load_word2vec_format(model_path, binary=True)

, когда я делаю это, я получаю

   342     with utils.smart_open(fname) as fin:
    343         header = utils.to_unicode(fin.readline(), encoding=encoding)
--> 344         vocab_size, vector_size = (int(x) for x in header.split())  # throws for invalid file format
    345         if limit:
    346             vocab_size = min(vocab_size, limit)

ValueError: invalid literal for int() with base 10: '<mediawiki'

Нужно ли повторно загружать или что-то?

1 Ответ

1 голос
/ 24 июня 2019

Этот файл дампа включает в себя статьи из Википедии в формате XML - без векторов. Методы load_word2vec_format() загружают только те наборы векторов, которые были обучены ранее.

Ваш каталог gensim установки docs/notebooks содержит несколько демонстрационных записных книжек Jupyter, которые вы можете запустить. Один из них, doc2vec-wikipedia.ipynb, показывает обучающие векторы документов, основанные на дампе статей Википедии. (Вместо этого его можно легко адаптировать для обучения только векторов слов.)

Вы также можете просмотреть этот блокнот онлайн по адресу:

https://github.com/RaRe-Technologies/gensim/blob/develop/docs/notebooks/doc2vec-wikipedia.ipynb

Обратите внимание, что вы узнаете больше из них, если будете запускать их локально и включить ведение журнала на уровне INFO. Кроме того, это конкретное обучение может занять целый день или более для запуска и потребовать машину с 16 ГБ или более или ОЗУ.

...