下载Wikidata并转成TXT文档

1. 下载wikidata

Wikipedia中文语料库链接: wikidata
下载Wikidata并转成TXT文档_第1张图片

页面里面是不同时间段的数据,本人选择的是20221001目录下的文件。
下载Wikidata并转成TXT文档_第2张图片

接下来就是要下载好的bz2文件转成txt格式的。

2. 将bz2文件转码成TXT文件

此处,我先尝试了下使用gensim下的Corpus工具转码,但是失败了,报了如下错误,也没尝试去修改,先记录下来吧。有空子阿来看看。
在这里插入图片描述

我的思路:bz2→json→TXT

2.1 使用WikiExtractor将bz2转成json

下载工具:https://github.com/attardi/wikiextractor
解压后,在当前目录下进入python控制器(或者控制器进入该目录,都行),我是直接用的anaconda的控制台,没有的请自行百度。
输入如下命令:

python setup.py install

安装好工具后,输入如下的命令

WikiExtractor -o [output] --process 2 -b 512K --json [input]

-o:该参数表示输出的目录
–process:表示进程数
-b:表示生成的单个文件的大小(默认值为1M)
–json:表示生成文件的格式,不使用该参数的话,生成的文件格式是xml
[]:实操的时候,[]部分换成自己的路径即可

命令没有问题的话,幸运的情况下会看见如下界面
下载Wikidata并转成TXT文档_第3张图片

但是,这并不代表就能成功转换。实操过程中,在下就很不幸的出现了一个新的bug
下载Wikidata并转成TXT文档_第4张图片

带着BUG去Git上查issues,有人给的回答如下:
下载Wikidata并转成TXT文档_第5张图片

意思就是,Windows下会有这个问题,Ubuntu系统不会。
无奈,我就是在Windows下操作的。只好在Ubuntu系统下重来一遍了。ε=(´ο`*)))唉。
很可惜,Linux系统下依旧出现了bug
在这里插入图片描述

幸运的是也有人和我遇到了同样的问题
在这里插入图片描述

解决方案:
在这里插入图片描述

修改extract.py文件内容,将下面两行代码注释掉
在这里插入图片描述
在这里插入图片描述

然后再从新安装一遍。
下载Wikidata并转成TXT文档_第6张图片

终于搞定了。
下载Wikidata并转成TXT文档_第7张图片

2.2 json转TXT

幸运的情况下,会走到这一步。

def load_json_to_text(file):
"""
用于提取单个JSON文档中的text部分语料。
"""
    texts = []
    with open(file, encoding='utf-8') as f:
        # each line in the file is a wiki page
        for line in f:
            # read the line as valid json and select text field
            text = json.loads(line)['text']
            texts.append(text)
    return texts

最后,自行保存为txt文件就可以了。
致此,已经完成了wiki数据转TXT的工作。有需要的话还可以将wiki中的繁体转成简体。具体方法见python借助OpenCC实现中文繁体转简体

你可能感兴趣的:(ubuntu,python,linux,自然语言处理)