下载Wikidata并转成TXT文档

1. 下载wikidata

Wikipedia中文语料库链接: wikidata
在这里插入图片描述

页面里面是不同时间段的数据,本人选择的是20221001目录下的文件。
在这里插入图片描述

接下来就是要下载好的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
[]:实操的时候,[]部分换成自己的路径即可

命令没有问题的话,幸运的情况下会看见如下界面
在这里插入图片描述

但是,这并不代表就能成功转换。实操过程中,在下就很不幸的出现了一个新的bug
在这里插入图片描述

带着BUG去Git上查issues,有人给的回答如下:
在这里插入图片描述

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

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

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

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

然后再从新安装一遍。
在这里插入图片描述

终于搞定了。
在这里插入图片描述

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实现中文繁体转简体

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五彩神石

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值