word2vec官网:https://code.google.com/p/word2vec/
-
<李> word2vec是谷歌的一个开源工具,能够根据输入的词的集合计算出词与词之间的距离。李>
<李>它将术语转换成向量形式,可以把对文本内容的处理简化为向量空间中的向量运算,计算出向量空间上的相似度,来表示文本语义上的相似度。李>
<李> word2vec计算的是余弦值,距离范围为0 - 1之间,值越大代表两个词关联度越高。李>
<李>词向量:用分布式表示表示词,通常也被称为“表示”或”字嵌入(嵌入)”。李>
简言之:词向量表示法让相关或者相似的词,在距离上更接近。
<强>
强>
<>强收集语料强>
本文:亚马逊中文书评语料,万+ 12句子文本。
语料以纯文本形式存入txt文本。
注意:
理论上语料越大越好
理论上语料越大越好
理论上语料越大越好
重要的事情说三遍。
因为太小的语料跑出来的结果并没有太大意义。
<>强分词强>
中文分词工具还是很多的,我自己常用的:
——中科院NLPIR
——哈工大LTP
——结巴分词
注意:分词文本将作为word2vec的输入文件。
分词文本示例
python,利用gensim模块。
系统下在通常的python基础上gensim模块不太好安装,所以建议使用蟒蛇,具体参见:python开发之水蟒【以这个主题及下安装gensim】
直接上代码— # !/usr/bin/env python # - * -编码:utf - 8 - * ”“” 功能:测试gensim使用,处理中文语料 时间:2016年5月21日20:49:07 ”“” 从gensim。模型导入word2vec 导入日志 #主程序 logging.basicConfig(格式=' % (asctime)年代:% (levelname)年代:%(消息)年代,水平=logging.INFO) 句子=word2vec.Text8Corpus (u " C: \ \ \ \用户联想桌面\ \ \ \ word2vec实验\ \亚马逊中文书评语料. txt”) #加载语料=word2vec模型。Word2Vec(句子、大?200)#默认窗口=5 #计算两个词的相似度/相关程度 日元=模型。相似性(u”不错”,“好”) 打印u”【不错】和【好】的相似度为:”,日元 打印”- - - - - - - - - - \ n” #计算某个词的相关词列表 y2=模型。most_similar (u“书”,topn=20) # 20个最相关的 【书】打印u”和最相关的词有:\ n” y2的项目: 打印项目[0],[1]项 打印”- - - - - - - - - - \ n” #寻找对应关系 打印u”书——不错,质量——“ y3=模型。most_similar ([u '质量”,你“不错'],[u '书'],topn=3) 项y3: 打印项目[0],[1]项 打印”- - - - - - - - - - \ n” #寻找不合群的词 y4=模型。doesnt_match (u“书书籍教材很“.split ()) 打印u”不合群的词:“,y4 打印”- - - - - - - - - - \ n” #保存模型,以便重用 model.save (u”书评得”) #对应的加载方式 # model_2=word2vec.Word2Vec.load (“text8.model”) #以一种C语言可以解析的形式存储词向量 model.save_word2vec_format (u”书评得。本”,二进制=True) #对应的加载方式 # model_3=word2vec.Word2Vec.load_word2vec_format (“text8.model。本”,二进制=True) if __name__==癬_main__”: 通过
运行结果
【不错】和【好】的相似度为: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.443040698767python gensim使用word2vec词向量处理中文语料的方法