在做自然语言处理时很多时候都会需要中文语料库,高质量的中文语料库较难找,维基百科和百度百科算是比较不错的语料库。其中维基百科会定时将语料库打包发布 <code>https://dumps.wikimedia.org/zhwiki/</code> ,可以下载最新版本的语料库。而百度百科则需要自己去爬,不过也有人把爬好的语料贡献出来了,<code>https://pan.baidu.com/share/init?surl=i3wvfil</code>提取码 neqs 。
这篇文章主要讲下如何使用中文维基百科的语料库。
通过 <code>https://dumps.wikimedia.org/zhwiki/latest/zhwiki-latest-pages-articles.xml.bz2</code> 可以下载最新的中文维基百科语料,目前大小为1.37G左右,里面内容以xml格式保存,所以我们后续还是需要做处理的。xml节点信息类似如下
根据标签名容易知道各个节点内容表示的意义,text节点为文章内容,它里面其实还包含了很多其他的一些符号,也是需要过滤掉的。
对于上述下载的语料库,需要进一步抽取,可以选择
* 自己写程序抽取。
* 使用Wikipedia Extractor抽取。
* 使用gensim中wikicorpus库抽取。
由于维基百科语料库有很多符号,使用场景不同过滤的内容也不同,根据自己需要处理即可。这里直接使用Wikipedia Extractor先初步处理,
执行过程如下,可以看到一共处理了965446篇文章。
通过以上抽取后得到两个文件<code>wiki_00</code>和<code>wiki_01</code>。里面的格式类似下面
通过Wikipedia Extractor处理时会将一些特殊标记的内容去除了,但有时这些并不影响我们的使用场景,所以只要把抽取出来的标签和一些空括号、「」、『』、空书名号等去除掉即可。
维基百科语料库中包含了大量的繁体中文,对于我们可能需要将其转换成简体中文,这里使用opencc来进行转换。两种方式使用opencc,
* 直接使用opencc的windows版本,然后执行命令对文件进行转换,可到<code>https://bintray.com/package/files/byvoid/opencc/OpenCC</code>下载。
* 使用opencc的python版本,这个在python3.5下可能会报错,执行命令,<code>pip install opencc-python</code>,可能会报错:<code>ImportError: No module named distribute_setup</code>,这时要到<code>http://download.csdn.net/download/tab_space/9455349</code>下载并解压,将<code>distribute_setup.python</code>文件复制到python安装目录下的Lib目录下。再次执行命令,可能又会报错:<code>chown() missing 1 required positional argument: 'numeric_owner'</code>,这时需要将<code>distribute_setup.python</code>文件中<code>self.chown(tarinfo, dirpath)</code>改为<code>self.chown(tarinfo, dirpath, '')</code>。
这里使用windows版本的opencc,执行如下命令将<code>wiki_00</code>和<code>wiki_01</code>文件中繁体转换成简体。
如果还要继续进行分词操作可以使用jieba,直接python安装jieba,然后执行下面脚本,
以下是广告
========广告时间========
<a href="http://blog.csdn.net/wangyangzhizhou/article/details/74080321">为什么写《Tomcat内核设计剖析》</a>
=========================
欢迎关注: