1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > word2vec词向量处理中文语料

word2vec词向量处理中文语料

时间:2022-02-24 11:47:45

相关推荐

word2vec词向量处理中文语料

word2vec介绍

word2vec官网:/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】

直接上代码——

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

运行结果

1 【不错】和【好】的相似度为: 0.790186663972 2 -------- 3 4 和【书】最相关的词有: 5 6 书籍 0.675163209438 7 书本 0.633386790752 8 确实 0.568059504032 9 教材 0.55149304866810 正品 0.53288215398811 没得说 0.52931994199812 好 0.52246820926713 据说 0.5100442171114 图书 0.50875538587615 挺 0.49719431996316 新书 0.49433133006117 很 0.49058306217218 不错 0.47639280557619 正版 0.46016144752520 纸张 0.45492976903921 可惜 0.45075249671922 工具书 0.44972336292323 的确 0.44862902164524 商品 0.44428426027325 纸质 0.44304069876726 --------27 28 书-不错,质量-29 精美 0.50795894861230 总的来说 0.49610397219731 材质 0.49362379312532 --------33 34 不合群的词: 很

参考资料

【python gensim使用】word2vec词向量处理英文语料:

/churximi/article/details/51472203

深度学习:使用 word2vec 和 gensim:

http://www.open-/lib/view/open1420687622546.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。