word2vec 训练中文wiki语料
前面一篇写了 用gensim 训练word2vec 和glove各自的语料训练方式, 现在给出用word2vec来训练wiki中文语料的code
首先从wiki上下载wiki中文语料 下载地址是https://dumps.wikimedia.org/zhwiki/latest/zhwiki-latest-pages-articles.xml.bz
分为以下几个步骤:
1. 下载 下载地址是https://dumps.wikimedia.org/zhwiki/latest/zhwiki-latest-pages-articles.xml.bz
2. 下载后使用WikiExtractor.py 来提取标题和正文
3. 利用opencc来将提取的文本进行转换, 将繁体转换成简体
操作完后,会生成存粹简体的语料,其中详细的操作步骤请参考 https://blog.csdn.net/u013421941/article/details/68947622
这样wiki中文简体的语料 我们就处理好了,这时候开始要进行分词等一些列操作了
def jieba_cut(filename, cut_filename):with open(filename, 'rb') as f:mycontent = f.read()jieba_content = jieba.cut(mycontent, cut_all=False)final_file = ' '.join(jieba_content)final_file = final_file.encode('utf-8')with open(cut_filename, 'wb+') as cut_f:cut_f.write(final_file)
利用jieba_cut函数来对语料做分词处理,这里我没有对特殊字符等做操作!
分词完毕就可以用gensim的word2vec model来进行操作了:
#cut_filename 就是前面经过jieba_cut后的文件def my_word2vec(cut_filename):mysetence = word2vec.Text8Corpus(cut_filename)#model = word2vec.Word2Vec(mysetence, size=300, min_count=1, window=5, hs=5)model = word2vec.Word2Vec(mysetence, size=100, min_count=1, window=5, hs=5)model.save('./model/zh_wiki_global.model')return modelmodel = my_word2vec(cut_filename)for key in model.similar_by_word(u'爸爸', topn=10):print(key)
print('*****************')
for key in model.similar_by_word(u'对不起', topn=10):print(key)
运行上面的代码后得出:
可以看出爸爸 跟妈妈是最匹配的 相似度有0.9! 但是‘我爱你’的匹配就不是很理想了!
我的模型参数是:size=100, min_count=1, window=5, hs=5 大家可以调整一下 结果得到的会不一样! 原本我想size=300的 但是我电脑跑不起来~~~ 其他的都可以改, 具体效果如何我就不贴出来了, 因为电脑一般,跑一次要蛮久的!
详细代码我会上传 github! 如果有哪里错误的地方 请大家指出! 一起讨论才会进步, 一个人埋头进步太慢了!
word2vec 训练中文wiki语料相关推荐
- Windows下基于python3使用word2vec训练中文维基百科语料资料汇总
Windows下基于python3使用word2vec训练中文维基百科语料(一):https://www.cnblogs.com/gaofighting/p/9055674.html Windows下 ...
- word2vec训练中文模型—wiki百科中文库
ps:整理电脑文档,将之前的做的word2vec训练的中文模型实验记录做下poko,欢迎交流学习. 1.准备数据与预处理 注意事项:请将内存最好选择8g及以上的电脑,否则可能卡顿,并在开始时候安装好p ...
- 使用word2vec训练中文词向量
https://www.jianshu.com/p/87798bccee48 一.文本处理流程 通常我们文本处理流程如下: 1 对文本数据进行预处理:数据预处理,包括简繁体转换,去除xml符号,将单词 ...
- word2vec训练中文词向量
词向量作为文本的基本结构--词的模型.良好的词向量可以达到语义相近的词在词向量空间里聚集在一起,这对后续的文本分类,文本聚类等等操作提供了便利,这里简单介绍词向量的训练,主要是记录学习模型和词向量的保 ...
- Windows下基于python3使用word2vec训练中文维基百科语料(一)
在进行自然语言处理之前,首先需要一个语料,这里选择维基百科中文语料,由于维基百科是 .xml.bz2文件,所以要将其转换成.txt文件,下面就是相关步骤: 步骤一:下载维基百科中文语料 https:/ ...
- Windows下基于python3使用word2vec训练中文维基百科语料(三)
对前两篇获取到的词向量模型进行使用: 代码如下: 1 import gensim 2 model = gensim.models.Word2Vec.load('wiki.zh.text.model') ...
- Word2vec训练中文维基百科
1.取得中文维基百科数据,本实验用的数据是zhwiki-20180320-pages-articles-multistream.xml.bz2 也可以前往维基百科数据获取下载最新的数据.(请挑选以pa ...
- 自然语言处理(NLP):06 word2vec训练中文模型-文本分类
本章节主要研究内容:基于word2vec 提取特征 + 文本分类 finetune 就是用别人训练好的模型,加上我们自己的数据,来训练新的模型.finetune相当于使用别人的模型的前几层,来提取浅层 ...
- Tensorflow和Gensim里word2vec训练
Tensorflow里word2vec训练 # -*- coding:utf-8 -*- import tensorflow as tf import numpy as np import math ...
最新文章
- 修改putty远程登录控制台的字体
- oracle optimizer_features_enable,Oracle Optimizer:迁移到使用基于成本的优化器—–系列2.1-数据库专栏,ORACLE...
- JavaScript | JSON基本格式
- 神舟电脑装linux双系统,个人windows10和Ubuntu18.04游戏笔记本uefi双磁盘双系统安装过程...
- Hadoop基础知识
- intelRealsense D435 python读取并显示彩图和深度图
- Navicat(服务器对象) -2之MySQL 或 MariaDB 对象
- 浮沉11年 | 一个互联网老兵的自白书
- H3C nat转换实验
- arm linux 优化
- 在互联网上,没有人知道你是一条狗?
- EP100含有.S文件的bootloader
- oracle字段名小写改大写,Oracle数据库中如何实现将将表中字段名转换为大写
- 移动定位业务之“Cell ID + RTT(小区识别+往返时间)”
- 算法---木头切割问题(二分法)
- 小白刷LeeCode(算法篇)3
- element日历(Calendar)排班
- c盘扩容提示簇被标记_技能+ | C盘空间满了怎么办?无需格式化、不用重装系统,教你如何轻松搞定扩容...
- 女生最想泡的12种男生!(男生必看)
- 本题要求实现一个计算非负整数阶乘的简单函数