使用 Jupyter notebook 从 wiki 转储文件创建语料库

Creating Corpus from wiki dump file using Jupyter notebook

我正在尝试按照此页面创建维基语料库,但我使用的是 Jupiter notebook https://www.kdnuggets.com/2017/11/building-wikipedia-text-corpus-nlp.html

这是我的代码:

import sys
from gensim.test.utils import datapath
from gensim.corpora import WikiCorpus

path_to_wiki_dump = datapath("enwiki-latest-pages-articles.xml.bz2")

wiki = WikiCorpus(path_to_wiki_dump)

output = open('wiki_en.txt', 'w',  encoding='utf-8')

i = 0
for text in wiki.get_texts():
    output.write(bytes(' '.join(text), 'utf-8').decode('utf-8') + '\n')
    i = i + 1
    if (i % 10000 == 0):
        print('Processed ' + str(i) + ' articles')
output.close()
print('Processing complete!')

我得到的错误是

FileNotFoundError: [Errno 2] No such file or directory: '/opt/anaconda3/lib/python3.8/site-packages/gensim/test/test_data/enwiki-latest-pages-articles.xml.bz2'

所有文件都在一个地方,所以我不确定哪里出了问题

您是否曾在某处以某种方式下载过文件enwiki-latest-pages-articles.xml.bz2

你特地放在路径/opt/anaconda3/lib/python3.8/site-packages/gensim/test/test_data/enwiki-latest-pages-articles.xml.bz2了吗?

如果不是,您正在使用的 datapath() 函数将不会构建正确的路径。 (该特定功能旨在查找与 Gensim 捆绑在一起的测试数据目录,不应该真正用于构建您自己的 dowloaded/created 文件的路径!)

而不是使用该函数,您应该只指定 actual 路径,Jupyter notebook 服务器的本地路径,您将文件放在那里,作为 [=13 的字符串参数=].