我正在尝试使用Gensim
将英语维基百科转储(https://dumps.wikimedia.org/enwiki/latest/enwiki-latest-pages-articles.xml.bz2)用作我的预训练word2vec模型。
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'
我是否需要重新下载或其他内容?
答案 0 :(得分:1)
该转储文件包含XML格式的实际Wikipedia文章-没有矢量。 load_word2vec_format()
方法仅加载先前训练的向量集。
您的gensim
安装目录docs/notebooks
中包含许多可以运行的演示Jupyter笔记本。其中的doc2vec-wikipedia.ipynb
其中之一显示了基于Wikipedia文章转储的训练文档向量。 (可以很容易地将其修改为只训练单词向量。)
您也可以在以下位置在线查看此笔记本:
https://github.com/RaRe-Technologies/gensim/blob/develop/docs/notebooks/doc2vec-wikipedia.ipynb
请注意,如果您在本地运行它们,并在INFO级别启用日志记录,您将学到更多信息。另外,这种特殊的培训可能需要一整天或更长的时间才能运行,并且需要一台具有16GB或以上或RAM的计算机。