Word2Vec中文语料实战

        

        虽然Word2Vec在NLP领域很火,但网上关于Word2Vec中文语料训练的入门级资料比较少,所以本人整理了一份,希望对感兴趣的朋友有所帮助!本文使用的语料由作者亲自收集,代码由作者亲自编写,亲测有效!

        如有问题可联系作者:QQ:771966081       微信:Bryce_cvprml

1、环境配置

        本人使用的是MacBook + Python2.7.11

        首先,安装NLP工具包gensim,这里包含了今天的主角:Word2Vec

                pip install --upgrade gensim

        其次,安装中文分词工具包jieba

                pip install jieba

2、语料库说明

        从网上下载TXT版的《倚天屠龙记》,作为基本语料,还需要作进一步处理

3、详细实验步骤

3.1 文件编解码(非必需)

        满心欢喜地打开“倚天屠龙记.txt”,竟然是这样的,难道是火星文?瞬间满脸黑线,一脸懵逼。弱弱地问一句,有人能看懂吗,膜拜一下。


        很显然,这是由编解码不一致引起的问题,即写文件时的编码类型和读文件时的解码类型不同。但本人没有安装可以自定义解码方式的文本编辑器,所以只好小米加步枪,直接上代码:

[python] view plaincopy
  1. #coding:utf8
  2. #读取倚天屠龙记文本,转码后存在新的文件里
  3. fin = open('倚天屠龙记.txt', 'r')
  4. fou = open('倚天屠龙记_uft8.txt', 'w')
  5. line = fin.readline()
  6. while line:
  7. newline = line.decode('GB18030').encode('utf-8')  #用GBK、GB2312都会出错
  8. print newline,
  9. print >> fou, newline,
  10. line = fin.readline()
  11. fin.close()
  12. fou.close()

        其实很简单,从原始文件“倚天屠龙记.txt”里逐行读取文本内容,先解码再编码,然后输出到新的文件“倚天屠龙记_uft8.txt”里。新的文件长这个样子,是不是一下子能看懂了,很开心有木有^_^ 

3.2 中文分词

        接下来,还要分词、去掉标点符号。废话不多说,直接上代码。其实也很简单,从“倚天屠龙记_uft8.txt”里逐行读取文本,先分词,再去掉标点符号,最后保存到文件“倚天屠龙记_segmented.txt”。分词用到了jieba,本文删除标点符号的方式有点粗暴,不许笑出声来!(细心的读者可能会问,为什么这里不直接给出代码而只是代码截图呢,哈哈。。。因为这里直接贴上代码格式会很乱,为了使代码看起来清晰,只好这样了)

        分词后的结果如下,内心里一阵狂喜对不对?!


3.3 模型训练

[python] view plaincopy
  1. #coding:utf8
  2. import gensim.models.word2vec as w2v
  3. model_file_name = '倚天屠龙记_model.txt'
  4. #模型训练,生成词向量
  5. sentences = w2v.LineSentence('倚天屠龙记_segmented.txt')
  6. model = w2v.Word2Vec(sentences, size=20, window=5, min_count=5, workers=4)
  7. model.save(model_file_name)

3.4 模型测试

        到了最激动人心的时刻,这里打印出了测试代码和结果,看起来还真有点意思啊!赵敏和自己的相似度为1;赵敏和周芷若的相似度0.98277,比较接近;赵敏和韦一笑的相似度为0.80652,远不如赵敏和周芷若相似;最后,查找与张三丰最相似的词,直觉上来看,排前6的都有一定道理,灭绝师太和他都是一代掌门,也是宗师,最相似;排到2到6的都是他的徒弟和徒孙。


4、参考文献

1)中文分词工具包jieba:http://www.oschina.net/p/jieba/?fromerr=s7MN6pKB

2)NLP工具包gensim:https://radimrehurek.com/gensim/models/word2vec.html

Word2Vec中文语料实战相关推荐

  1. windows10 训练word2vec 中文语料

    windows10 环境 训练word2vec 中文语料 参考这篇文章,但有自己体会 概述 本人是NLP中的菜鸟,喜欢这个领域,自己论文打算做这方面,训练word2vec是每一项NLP工作的基础内容. ...

  2. 【python gensim使用】word2vec词向量处理中文语料

    word2vec介绍 word2vec官网:https://code.google.com/p/word2vec/ word2vec是google的一个开源工具,能够根据输入的词的集合计算出词与词之间 ...

  3. word2vec python 代码实现_python gensim使用word2vec词向量处理中文语料的方法

    word2vec介绍 word2vec是google的一个开源工具,能够根据输入的词的集合计算出词与词之间的距离. 它将term转换成向量形式,可以把对文本内容的处理简化为向量空间中的向量运算,计算出 ...

  4. wiki中文文本语料下载,在维基百科中文语料训练Word2vec and doc2vec 文本向量化代码示例

    首先下载wiki中文语料(大约1.7G) https://dumps.wikimedia.org/zhwiki/latest/zhwiki-latest-pages-articles.xml.bz2 ...

  5. 【用户行为分析】 用wiki百科中文语料训练word2vec模型

    本文地址: http://blog.csdn.net/hereiskxm/article/details/49664845  前言 最近在调研基于内容的用户行为分析,在过程中发现了word2vec这个 ...

  6. gensim 中文语料训练 word2vec

    gensim 的word2vec api参见: https://radimrehurek.com/gensim/models/word2vec.html 本文说一下中文语料的使用,很简单. 1 wor ...

  7. wiki中文语料的word2vec模型构建

    一.利用wiki中文语料进行word2vec模型构建 1)数据获取 到wiki官网下载中文语料,下载完成后会得到命名为zhwiki-latest-pages-articles.xml.bz2的文件,里 ...

  8. 使用gensim训练中文语料word2vec

    使用gensim训练中文语料word2vec 目录 使用gensim训练中文语料word2vec 1.项目目录结构 1.1 文件说明: 1.2 项目下载地址 2.使用jieba中文切词工具进行切词 2 ...

  9. word2vec训练维基中文语料

    前期准备 1.语料: 维基中文语料 (下载地址:https://dumps.wikimedia.org/zhwiki/latest/zhwiki-latest-pages-articles.xml.b ...

最新文章

  1. SPOJ 1812 LCS2 - Longest Common Substring II (后缀自动机)【两种做法】
  2. 手把手教你pyqt中.qrc图片文件的编写和使用
  3. php 对象转换成数组,PHP把对象转换为数组的问题
  4. 开到朝鲜的国产十元店,一年如何卖出190亿?
  5. solr 英文模拟mysql like查询xml_Solr实现类似MySQL的LIKE查询功能
  6. 数据创建表 修改列 新增列
  7. shell日期加减及数组循环
  8. 用 js 写的 WebSocketHeartBeat,心跳检测,断线重连
  9. eclipse 语言包下载 中文汉化
  10. matlab用于试验设计回归分析实验结果的例子
  11. 计算机程序漏洞用英语怎么说,网络用语bug是什么意思,中文翻译是虫子(指电脑程序漏洞)...
  12. 互联网金融学习总结(7)——2019年线下大额现金贷产品设计和风控手段
  13. sqlserver运行超大sql文件
  14. upyun java_又拍云Java SDK使用
  15. python - 模块解析
  16. Vue如何将baes64格式的图片转成普通格式
  17. python计算电费
  18. “高调做事,高调做人”?----关于排名和排序
  19. 《测试驱动开发实用指南(影印版)》读书笔记1
  20. 1664_MIT 6.828 JOS页管理的相关行为实现

热门文章

  1. 用Nginx+Lua(OpenResty)开发高性能Web应用
  2. go get安装第三方包的前提条件和步骤
  3. 从零开始的 React 组件开发之路 (一):表格篇
  4. 11.C++: cin、cin.get()、cin.getline()、getline()、gets()
  5. 腐烂国度2巨霸版计算机学知识,《腐烂国度2巨霸版》新手攻略 新手入门玩法技巧大全...
  6. ios 后台唤醒应用_手机应用后台不断唤醒,耗电大,荣耀手机只需简单几步就可以解决...
  7. 通过设计绿色数据中心寻求循环经济
  8. 5G是很快,但也别忘了网络安全问题!
  9. 数据中心液体冷却技术的“机架经济学”
  10. ML之FE:特征工程中常用的五大数据集划分方法(特殊类型数据分割,如时间序列数据分割法)讲解及其代码