首页 > 解决方案 > 在 NLTK 中使用 Python 从 Wiki DumpFile 中制作语料库

问题描述

我正在尝试从 Wiki DumpFile 创建一个语料库。

我已经下载了 Wiki enwiki-latest-pages-articles.xml.bz2 文件,但是当我运行代码(脚本)时,它给了我一些错误。

我对此比较陌生,但我不明白应该如何放置python代码和wiki文件(相同的文件夹,哪个文件夹等)。

我已经运行了这个命令:make_wiki_corpus enwiki-latest-pages-articles.xml.bz2 wiki_en.txt

import sys
from gensim.corpora import WikiCorpus

def make_corpus(in_f, out_f):

    """Convert Wikipedia xml dump file to text corpus"""

    output = open(out_f, 'w')
    wiki = WikiCorpus(in_f)

    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!')


if __name__ == '__main__':

    if len(sys.argv) != 3:
        print('Usage: python make_wiki_corpus.py <wikipedia_dump_file> <processed_text_file>')
        sys.exit(1)
    in_f = sys.argv[1]
    out_f = sys.argv[2]
    make_corpus(in_f, out_f)

我运行了包含此代码的命令,该命令与 enwiki-latest-pages-articles.xml.bz2 文件位于同一文件中,但在命令提示符处我收到一些错误消息,例如:

line 636 in \__init__  
line 92 in __init__  
FileNotFound Eroor : [Errorno21] No such file or directory "enwiki-latest-pages-articles.xml.bz2"

标签: pythonnltkwikipediacorpus

解决方案


也许其中一些想法对你有用(希望如此):

建议#1:如果我没记错的话python make_wiki_corpus {your bz2 file} {your txt file}应该使用;

建议#2:尝试将整个目录路径应用于您需要的文件;

建议#3:你也可以从开发环境本身打印代码(以避免任何可能的并发症)。


推荐阅读