1.取得中文维基百科数据,本实验用的数据是zhwiki-20180320-pages-articles-multistream.xml.bz2

也可以前往维基百科数据获取下载最新的数据。(请挑选以pages-articles.xml.bz2为结尾的文档)

2.利用wiki_to_txt.py将xml文档转换成txt文档

# coding=utf-8
## 后台运行 python3.5 wiki_to_txt.py zhwiki-20180320-pages-articles-multistream.xml.bz2
import logging ##记录数据日志
import sys ##sys模块提供了一系列有关Python运行环境的变量和函数from gensim.corpora import WikiCorpusdef main():if len(sys.argv) !=2: ##获取当前正在执行的命令行参数的参数列表(list)print("Usage:Python3" + sys.argv[0] + "wiki_data_path") ##sys.argv[0]是当前程序名exit()logging.basicConfig(format = '%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)wiki_corpus = WikiCorpus(sys.argv[1],dictionary={})texts_num = 0with open("wiki_texts.txt",'w',encoding='utf-8') as output:for text in wiki_corpus.get_texts():output.write(''.join(text) + '\n')texts_num += 1if texts_num % 10000 ==0:logging.info("已处理 %d 篇文章" % texts_num)if __name__ == "__main__":main()

后台运行:python3.5  wiki_to_txt.py  zhwiki-20180320-pages-articles-multistream.xml.bz2

3.繁转简

利用opencc工具进行转换

在ubuntu上安装opencc:sudo apt-get install opencc

利用命令行:

opencc -i wiki_texts.txt -o wiki_zh_tw.txt  -c zht2zhs.ini

4.利用jieba分词除去停用词

pip3  install jieba

利用segment.py

# coding=utf-8import jieba
import loggingdef main():logging.basicConfig(format='%(asctime)s : %(levelname)s :%(message)s', level=logging.INFO)#jieba custom settingjieba.set_dictionary('jieba_dict/dict.txt.big')#load stopwords setstopword_set = set()with open('jieba_dict/stopwords.txt', 'r', encoding='utf-8') as stopwords:for stopword in stopwords:stopword_set.add(stopword.strip('\n'))output = open('wiki_seg.txt', 'w',encoding='utf-8')with open('wiki_zh_tw.txt','r',encoding='utf-8')as content:for texts_num,line in enumerate(content):line = line.strip('\n')words = jieba.cut(line, cut_all=False)for word in words:if word not in stopword_set:output.write(word + '')output.write('\n')if (texts_num +1) % 10000 ==0:logging.info("已完成 %d 行的断词" % (texts_num + 1))output.close()
if __name__ == '__main__':main()

通过命令行:python3 segment.py

5.使用gensim库中的word2vec进行训练

pip3 install gensim

利用train.py训练模型

# coding=utf-8import logging
from gensim.models import word2vecdef main():logging.basicConfig(format('%(asctimes)s : %(levelname)s : %(message)s',level=logging.INFO))sentences = word2vec.LineSentence("wiki_seg.txt")model = word2vec.Word2Vec(sentences,size=250)#保存模型model.save("word2vec.model")#模型读取方式# model = word2vec.Word2vec.load("your_model_name")if __name__ == '__main__':main()

命令行运行:python3 train.py

Word2vec训练中文维基百科相关推荐

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

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

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

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

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

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

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

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

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

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

  6. 使用中文维基百科语料库训练一个word2vec模型

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

  7. 使用中文维基百科语料库训练一个word2vec模型 12.1

    转自:https://blog.csdn.net/sinat_29957455/article/details/81432846 本篇文章主要介绍如何通过中文维基百科语料库来训练一个word2vec模 ...

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

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

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

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

最新文章

  1. nginx重点优化合集一
  2. 转:关于CCDISK的优化
  3. python selenium 三种等待方式详解
  4. android 设置 媒体服务器,第三讲:如何掌握媒体服务器的运行情况
  5. js面向对象写法,一个小例子
  6. mysql 时间绝对值_datetime和timestamp--时间戳是绝对值,日期是相对值
  7. 【Matplotlib】详解图像各个部分
  8. 实践案例丨Pt-osc工具连接rds for mysql 数据库失败
  9. 使用MEAT在iOS设备上采集取证信息
  10. 以下关于java文件名的叙述正确的有_sun java认证考试题库
  11. windows 窗口实现隐藏任务栏预览
  12. 基于python的计算基因组_【ROSALIND】【练Python,学生信】05 计算DNA序列GC含量
  13. 统计软件是其他计算机软件吗,电脑统计软件,statistical computing software,音标,读音,翻译,英文例句,英语词典...
  14. 正确重启计算机的方法,电脑一开机就会出现 重启并选择正确的启动设备或在选定的启动设...
  15. 北航计算机2018年保研推免经历
  16. 【2016ACM/ICPC亚洲区大连站C】HDU - 5973 Game of Taking Stones 威佐夫博弈
  17. JSON学习笔记-处理空白字符(使用 SSE4.2 优化字符串扫描)
  18. 近期接触到大数据业务,速上地图采集器图文教程仅供参考
  19. 单片机六位抢答器c语言程序,单片机八人抢答器程序设计
  20. java修改服务器文件名,批量修改文件名 java代码

热门文章

  1. ER图连接线上加个圆圈什么意思_你们要的PS抠图插件来了 抠图神器:Topaz教程 Winamp;Mac双版本下载...
  2. 计算机中文核心期刊和核心期刊影响因子
  3. 已知三角形三条边长 求三角形的面积
  4. [开源]KT1025A可能是功能最全面的MP3蓝牙音频数传芯片BT201模块方案
  5. 存储设备的设备惟一标示符(DUID)
  6. Mysql数据库的几个特点
  7. DNN(全连接神经网络)
  8. 云骑士u盘装win8系统教程
  9. 智慧油库人员定位管理系统“位”何而来?
  10. MoXing——华为云深度学习服务提供的网络模型开发API