在进行自然语言处理之前,首先需要一个语料,这里选择维基百科中文语料,由于维基百科是 .xml.bz2文件,所以要将其转换成.txt文件,下面就是相关步骤:

步骤一:下载维基百科中文语料

https://dumps.wikimedia.org/zhwiki/latest/zhwiki-latest-pages-articles.xml.bz2

然后解压文件

文件夹里是一个这个文件

步骤二:安装依赖库

我们需要安装一些依赖库,有numpy、scipy以及gensim,安装gensim依赖于scipy,安装scipy依赖于numpy。我们直接用pip安装numpy,在windows命令行下使用命令:

  1. pip install numpy
  2. pip install scipy
  3. pip install gensim

步骤三:将xml.bz2文件转换成.text文件

注意:我在网上找的代码,通常说会因为python2和python3的版本不同在使用python3进行解压会在output.write(space.join(text) + "\n")这一句出现提示关于byte或str的错误,

但是我用了python3修改的代码,反而出现错误,其实现在下载的语料直接用python2的代码也可以。

*********不过为了有些人可能采用下面代码会出现byte和str的错误,我将之前网上找的对于python3代码的修改依然保留(32-40行)***********************

(1)写代码 命名为process_wiki.py

  1. # -*- coding:utf-8 -*-
  2. # Author:Gao
  3. import logging
  4. import os.path
  5. import six
  6. import sys
  7. import warnings
  8. warnings.filterwarnings(action='ignore', category=UserWarning, module='gensim')
  9. from gensim.corpora import WikiCorpus
  10. if __name__ == '__main__':
  11. program = os.path.basename(sys.argv[0])
  12. logger = logging.getLogger(program)
  13. logging.basicConfig(format='%(asctime)s: %(levelname)s: %(message)s')
  14. logging.root.setLevel(level=logging.INFO)
  15. logger.info("running %s" % ' '.join(sys.argv))
  16. # check and process input arguments
  17. if len(sys.argv) != 3:
  18. print("Using: python process_wiki.py enwiki.xxx.xml.bz2 wiki.en.text")
  19. sys.exit(1)
  20. inp, outp = sys.argv[1:3]
  21. space = " "
  22. i = 0
  23. output = open(outp, 'w',encoding='utf-8')
  24. wiki = WikiCorpus(inp, lemmatize=False, dictionary={})
  25. for text in wiki.get_texts():
  26. # if six.PY3:
  27. # output.write(b' '.join(text).decode('utf-8') + '\n')
  28. # else:
  29. # output.write(space.join(text) + "\n")
  30. output.write(space.join(text) + "\n")
  31. i=i+1
  32. if (i%10000==0):
  33. logger.info("Saved " + str(i) + " articles")
  34. output.close()
  35. logger.info("Finished Saved " + str(i) + " articles")

(2)运行代码(在cmd中运行)

首先到自己下载的中文维基百科预料的文件夹下,将自己的语料库和执行文件放在同一个文件夹下,这样方便执行,然后进入放置这两个文件的文件夹下(我的在f盘)

python process_wiki.py zhwiki-latest-pages-articles.xml.bz2 wiki.zh.text

(3)运行结果(运行时间比较长,耐心等待,后面就出结果啦)

现在我们就得到了处理后的中文维基百科.txt文档,下一篇我们将进一步对文档进行处理

相关参考:https://www.jianshu.com/p/98d84854f7a3

Windows下基于python3使用word2vec训练中文维基百科语料(一)的更多相关文章

  1. Windows下基于python3使用word2vec训练中文维基百科语料(二)

    在上一篇对中文维基百科语料处理将其转换成.txt的文本文档的基础上,我们要将为文本转换成向量,首先都要对文本进行预处理 步骤四:由于得到的中文维基百科中有许多繁体字,所以我们现在就是将繁体字转换成简体 ...

  2. Windows下基于python3使用word2vec训练中文维基百科语料(三)

    对前两篇获取到的词向量模型进行使用: 代码如下: import gensim model = gensim.models.Word2Vec.load('wiki.zh.text.model') fla ...

  3. 使用word2vec对中文维基百科数据进行处理

    一.下载中文维基百科数据https://dumps.wikimedia.org/zhwiki/并使用gensim中的wikicorpus解析提取xml中的内容 二.利用opencc繁体转简体 三.利用 ...

  4. Windows下基于Python3安装Ipython Notebook(即Jupyter)。python –m pip install XXX

    1.安装Python3.x,注意修改环境变量path(追加上python安装目录,如:D:\Program Files\Python\Python36-32) 2.查看当前安装的第三方包:python ...

  5. windows下基于sublime text3的nodejs环境搭建

    第一步:先安装sublime text3.详细教程可自行百度,这边不具体介绍了. 第二步.安装nodejs插件,有两种方式 第一种方式:直接下载https://github.com/tanepiper ...

  6. Windows下安装Python3.4.2

    一.Windows下安装Python3.4.2 1.下载Windows下的Python3.4.2.exe 2.指定一个目录安装,然后下一步 3.配置环境变量包括Python.exe的文件.目录如下图所 ...

  7. 环境搭建文档——Windows下的Python3环境搭建

    前言 背景介绍: 自己用Python开发了一些安卓性能自动化测试的脚本, 但是想要运行这些脚本的话, 本地需要Python的环境. 测试组的同事基本都没有安装Python环境, 于是乎, 我就想直接在 ...

  8. word2vec训练中文模型

    --  这篇文章是一个学习.分析的博客 --- 1.准备数据与预处理 首先需要一份比较大的中文语料数据,可以考虑中文的维基百科(也可以试试搜狗的新闻语料库).中文维基百科的打包文件地址为 https: ...

  9. Windows下基于http的git服务器搭建-gitstack

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Windows下基于http的git服务器搭建-gitstack     本文地址:http: ...

随机推荐

  1. 这些JavaScript编程黑科技,装逼指南,高逼格代码,让你惊叹不已

    Javascript是一门很吊的语言,我可能学了假的JavaScript,哈哈,大家还有什么推荐的,补充送那啥邀请码. 本文秉承着:你看不懂是你SB,我写的代码就要牛逼. 1.单行写一个评级组件 &q ...

  2. Jenkins系列-Jenkins介绍与部署

    Jenkins是什么? Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台.这是一个免费的源代码,可以处理任何类型的构建或持续集成.集成Jenkins可以用于一些测 ...

  3. oracle RAC集群启动和关闭

    oracle 11G RAC集群启动和关闭:1.停止数据库$srvctl stop database –d oradb2.停止集群服务关闭集群需要root运行#/u01/11.2.0/grid/bin ...

  4. 调用init方法 两种方式 一个是浏览器方法 一个是 xml中手工配置(load-on-startup)

    调用init方法 两种方式 一个是浏览器方法 一个是 xml中手工配置(load-on-startup)

  5. BZOJ4260 Codechef REBXOR(trie)

    用trie求出前缀最大区间异或和.后缀最大区间异或和即可.注意空间是nlog的. #include<iostream> #include<cstdio> #include< ...

  6. P1483 序列变换

    题目描述 给定一个由n个整数构成的序列,你需要对它进行如下操作: 操作1:输入格式“1 x y”,表示把所有a[kx](k为正整数,kx<=n)都加上y. 操作2:输入格式“2 j”,表示输出a ...

  7. CF757G Can Bash Save the Day?

    CF757G Can Bash Save the Day? #include<bits/stdc++.h> #define RG register #define IL inline #d ...

  8. POJ3686:The Windy's——题解

    http://poj.org/problem?id=3686 题目大意: 有n个订单m个厂子,第i个订单在第j个厂子所需时间为zij,一个厂子做一个订单时不能做其他的订单. 求订单平均时间最小值. — ...

  9. UVA.1584 环状序列

    UVA.1584 环状序列 点我看题面 题意分析 给出你一段换装DNA序列,然后让你输出这段环状序列的字典序最小的序列情况. 字典序字面意思上理解就是按照字典编排的序列,其实也可以理解为按照ASCII ...

  10. 1 Easy Read/Write Splitting with PHP’s MySQLnd

    以下均是使用翻译软件翻译的! Note: This is part one in our Extending MySQL with PHP's MySQLnd Series, read part 2 ...