在进行自然语言处理之前,首先需要一个语料,这里选择维基百科中文语料,由于维基百科是 .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

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

转载于:https://www.cnblogs.com/gaofighting/p/9055674.html

Windows下基于python3使用word2vec训练中文维基百科语料(一)相关推荐

  1. Windows下基于python3使用word2vec训练中文维基百科语料资料汇总

    Windows下基于python3使用word2vec训练中文维基百科语料(一):https://www.cnblogs.com/gaofighting/p/9055674.html Windows下 ...

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

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

  3. Word2vec训练中文维基百科

    1.取得中文维基百科数据,本实验用的数据是zhwiki-20180320-pages-articles-multistream.xml.bz2 也可以前往维基百科数据获取下载最新的数据.(请挑选以pa ...

  4. NLP之word2vec:利用 Wikipedia Text(中文维基百科)语料+Word2vec工具来训练简体中文词向量

    NLP之word2vec:利用 Wikipedia Text(中文维基百科)语料+Word2vec工具来训练简体中文词向量 目录 输出结果 设计思路 1.Wikipedia Text语料来源 2.维基 ...

  5. 中文维基百科语料上的Word2Vec实验

    说明:此文主要参考52nlp-中英文维基百科语料上的Word2Vec实验,按照上面的步骤来做的,略有改动,因此不完全是转载的.这里,为了方便大家可以更快地运行gensim中的word2vec模型,我提 ...

  6. 预训练词向量中文维基百科,英文斯坦福glove预训练的词向量下载

    中文预训练词向量--基于中文维基百科语料训练 英文预训练词向量--斯坦福glove预训练的词向量 百度云分享:https://pan.baidu.com/s/1UpZeuqlNMl6XtTB5la53 ...

  7. 使用中文维基百科训练word2vec模型

    一.下载原始数据 数据下载地址:https://dumps.wikimedia.org/zhwiki/latest/zhwiki-latest-pages-articles.xml.bz2 ,或者在这 ...

  8. 使用中文维基百科训练word2vec模型的最新方法!

    网上看了很多其他博客,发现有些部分都太老旧了,以至于现在套用都错误百出...这里总结了一下使用中文维基百科训练word2vec模型的最新方法. 参考链接: https://blog.csdn.net/ ...

  9. 把一个dataset的表放在另一个dataset里面_使用中文维基百科语料库训练一个word2vec模型并使用说明...

    ​本篇主要介绍如何通过中文维基百科语料库来训练一个word2vec模型. 相关资料下载: 中文维基百科下载地址:https://dumps.wikimedia.org/zhwiki/ WikiExtr ...

最新文章

  1. 博世力士乐液压_A10VSO71DFR1/31RPPA12N00力士乐柱塞泵原装现货
  2. rda8955平台搭建摘要截图
  3. MTK平台的启动流程(secureboot)
  4. QShell下的进程和ILE中的Job
  5. 解析浏览器访问服务器 Servlet 应用程序的交互过程(Servlet 容器如何处理请求资源路径)
  6. 【2017年第1期】专题导读:大数据与信用评价系统
  7. Python中的numpy.square()
  8. C#药店进销存管理系统,源码分享
  9. 进入Mysql数据库操作
  10. Simplify3D打印参数设置
  11. 利用python判断素数
  12. 立项 ——VC下,打印机管理和维护
  13. 苏宁金融红包系统大促海量流量背后的技术支撑
  14. hdu1814 Peaceful Commission,2-sat
  15. Java高级编程5-姜国海
  16. 谣言检测相关论文阅读笔记:Towards Multi-Modal Sarcasm Detection via Hierarchical Congruity Modeling
  17. 指纹支付相关的细节处理
  18. 最小覆盖模型matlab_MATLAB求解最小球覆盖问题
  19. java语言的编译器_JAVA语言编译器是一个CASE工具。()。
  20. Web Services:惊世未了缘

热门文章

  1. linux shell命令设置内存大小运行jar文件
  2. SQL 2014 in-memory中的storage部分
  3. 专利分析与申请(1):法国汤姆森公司关于在有损编码器上扩展无损编码器的专利分析...
  4. 9点到17点半 cron_SpringQuartz定时任务的cron表达式书写
  5. 2.1.3 码元、波特、速率、带宽
  6. C++实现输入两个字符串,从第一字符串中删除第二个字符串中所有的字符
  7. rust狗阳玩的什么游戏_微博搜索
  8. CosmoMC命令CAMB文件画功率谱
  9. python whl大全
  10. 图书馆座位预定系统开发