打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【python gensim使用】word2vec词向量处理中文语料

word2vec介绍

word2vec官网https://code.google.com/p/word2vec/

  • word2vec是google的一个开源工具,能够根据输入的词的集合计算出词与词之间的距离。
  • 它将term转换成向量形式,可以把对文本内容的处理简化为向量空间中的向量运算,计算出向量空间上的相似度,来表示文本语义上的相似度。
  • word2vec计算的是余弦值,距离范围为0-1之间,值越大代表两个词关联度越高。
  • 词向量:用Distributed Representation表示词,通常也被称为“Word Representation”或“Word Embedding(嵌入)”。

简言之:词向量表示法让相关或者相似的词,在距离上更接近。

具体使用(处理中文)

收集语料

本文:亚马逊中文书评语料,12万+句子文本。
语料以纯文本形式存入txt文本。
注意
理论上语料越大越好
理论上语料越大越好
理论上语料越大越好
重要的事情说三遍。
因为太小的语料跑出来的结果并没有太大意义。

分词

中文分词工具还是很多的,我自己常用的:
- 中科院NLPIR
- 哈工大LTP
- 结巴分词

注意:分词文本将作为word2vec的输入文件。

分词文本示例

word2vec使用

Python,利用gensim模块。
win7系统下在通常的python基础上gensim模块不太好安装,所以建议使用anaconda,具体参见: python开发之anaconda【以及win7下安装gensim】

直接上代码——

#!/usr/bin/env python# -*- coding: utf-8 -*-"""功能:测试gensim使用,处理中文语料时间:2016年5月21日 20:49:07"""from gensim.models import word2vecimport logging# 主程序logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)sentences = word2vec.Text8Corpus(u"C:\\Users\\lenovo\\Desktop\\word2vec实验\\亚马逊中文书评语料.txt")  # 加载语料model = word2vec.Word2Vec(sentences, size=200)  # 默认window=5# 计算两个词的相似度/相关程度y1 = model.similarity(u"不错", u"好")print u"【不错】和【好】的相似度为:", y1print "--------\n"# 计算某个词的相关词列表y2 = model.most_similar(u"书", topn=20)  # 20个最相关的print u"和【书】最相关的词有:\n"for item in y2:    print item[0], item[1]print "--------\n"# 寻找对应关系print u"书-不错,质量-"y3 = model.most_similar([u'质量', u'不错'], [u'书'], topn=3)for item in y3:    print item[0], item[1]print "--------\n"# 寻找不合群的词y4 = model.doesnt_match(u"书 书籍 教材 很".split())print u"不合群的词:", y4print "--------\n"# 保存模型,以便重用model.save(u"书评.model")# 对应的加载方式# model_2 = word2vec.Word2Vec.load("text8.model")# 以一种C语言可以解析的形式存储词向量model.save_word2vec_format(u"书评.model.bin", binary=True)# 对应的加载方式# model_3 = word2vec.Word2Vec.load_word2vec_format("text8.model.bin", binary=True)if __name__ == "__main__":    pass
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53

运行结果

【不错】和【好】的相似度为: 0.790186663972--------和【书】最相关的词有:书籍 0.675163209438书本 0.633386790752确实 0.568059504032教材 0.551493048668正品 0.532882153988没得说 0.529319941998好 0.522468209267据说 0.51004421711图书 0.508755385876挺 0.497194319963新书 0.494331330061很 0.490583062172不错 0.476392805576正版 0.460161447525纸张 0.454929769039可惜 0.450752496719工具书 0.449723362923的确 0.448629021645商品 0.444284260273纸质 0.443040698767--------书-不错,质量-精美 0.507958948612总的来说 0.496103972197材质 0.493623793125--------不合群的词: 很
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

参考资料

【python gensim使用】word2vec词向量处理英文语料:
http://blog.csdn.net/churximi/article/details/51472203
深度学习:使用 word2vec 和 gensim:
http://www.open-open.com/lib/view/open1420687622546.html

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
gensim:用Word2Vec进行文本分析
NLP之词向量:利用word2vec对20类新闻文本数据集进行词向量训练、测试(某个单词的相关词汇)
使用行业文本素材训练自己的word2vec词向量
Windows下使用Word2vec继续词向量训练,word2vec向量
专栏 | 用 Word2vec 轻松处理新金融风控场景中的文本类数据
NLP文本向量化(含Python代码)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服