Python Gensim简单的应用实例
来源:互联网 发布:汇电商淘宝插件 编辑:程序博客网 时间:2024/06/17 02:49
gensim是一款强大的自然语言处理工具
封装好的工具包有:
- 基本的语料处理工具
- LSI
- LDA
- HDP
- DTM
- DIM
- TF-IDF
- word2vec、paragraph2vec
这里我将使用的是word2vec,来做一个简单的测试代码
当然想要使用gensim你需要先安装好gensim,去搜索pip gensim网上的教程很多
def wordPro(): logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) sentences = word2vec.Text8Corpus(u"E:\\语料\\1998人民日报-普通版.txt") #第一个参数是训练语料,第二个参数是小于该数的单词会被剔除,默认值为5, # 第三个参数是神经网络的隐藏层单元数,默认为100 model = word2vec.Word2Vec(sentences, size=200) y1 = model.similarity(u"不错", u"好") print u"【不错】和【好】的相似度为:", y1 print "--------\n" y2 = model.most_similar(u"书", topn=20) # 20个最相关的 print u"和【书】最相关的词有:\n" for item in y2: print item[0], item[1] print "--------\n" #训练的时间较长,将训练好的模型保存下来 model.save(u"书评.model") model.save_word2vec_format(u"书评.model.bin", binary=True)
测试的结果,效果不是很好
【不错】和【好】的相似度为: 0.449105876843 -------- 和【书】最相关的词有: 戏 0.732930064201 剧组 0.73255687952 水浒传 0.720457673073 三国演义 0.717744410038 关公 0.711197376251 日记 0.709460794926 这部 0.701338291168 讲述 0.694751381874 朴素 0.693894028664 日子 0.690877854824 门 0.689773917198 剧本 0.685462236404 卸 0.684027254581 卷 0.681394279003 读 0.680675268173 春秋 0.677090883255 翻阅 0.677015721798 梦 0.672347187996 歌 0.665402472019 传奇 0.66496026516
再使用生成后的modle测试一下
def useModleTest(): model = gensim.models.Word2Vec.load(u"书评.model") y1 = model.most_similar(u"主席", topn=20) # 20个最相关的 for item in y1: print item[0], item[1] print "--------\n"
这次结果好像好点
总书记 0.763739228249 民革 0.742196917534 中央军委 0.709917664528 随同 0.709838449955 迟 0.705794453621 部长 0.696520328522 上将 0.693076491356 接见 0.692161500454 贝宁共和国 0.690106034279 瑞环 0.688430011272 转达 0.687135159969 部长会议 0.68623405695 仪 0.683727860451 主持 0.6834243536 绍祖 0.680112600327 会长 0.678747355938 致电 0.67872685194 浩田 0.678643524647 证监会 0.678385734558 到会 0.67820763588 --------
整体代码
# coding=utf-8import numpyfrom gensim.models import word2vecimport gensimimport osimport os.pathimport sysimport jiebaimport codecsimport loggingreload(sys)sys.setdefaultencoding('utf-8')def wordPro(): logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) sentences = word2vec.Text8Corpus(u"E:\\语料\\1998人民日报-普通版.txt") #第一个参数是训练语料,第二个参数是小于该数的单词会被剔除,默认值为5, # 第三个参数是神经网络的隐藏层单元数,默认为100 model = word2vec.Word2Vec(sentences, size=200) y1 = model.similarity(u"不错", u"好") print u"【不错】和【好】的相似度为:", y1 print "--------\n" y2 = model.most_similar(u"书", topn=20) # 20个最相关的 print u"和【书】最相关的词有:\n" for item in y2: print item[0], item[1] print "--------\n" #训练的时间较长,将训练好的模型保存下来 model.save(u"书评.model") model.save_word2vec_format(u"书评.model.bin", binary=True)def useModleTest(): model = gensim.models.Word2Vec.load(u"书评.model") y1 = model.most_similar(u"主席", topn=20) # 20个最相关的 for item in y1: print item[0], item[1] print "--------\n"useModleTest()
阅读全文
0 0
- Python Gensim简单的应用实例
- python的实例应用
- Word2Vec的Python版Gensim的使用
- Python中gensim库word2vec的使用
- WIN7 环境安装python的gensim
- dom4j 的简单应用实例
- 简单的Ajax应用实例
- EL的简单应用实例
- Python+Selenium 简单的实例
- gensim word2vec 实例
- 深度学习:基于 Gensim 的 Yelp 评论文本分类实例
- 如何安装python gensim
- Python/gensim主题模型库
- win7 python gensim安装
- gensim python 学习
- Python gensim基础实战
- python+ajax的简单应用
- python Django的简单应用
- du and df
- Unity资源快速查找小工具
- git的安装、注册和使用
- 20万、50万、100万的算法工程师,到底有什么区别?(合格算法工程师的自我修养)
- jsp页面传值 window.location.href中文乱码问题解决
- Python Gensim简单的应用实例
- POJ 1367 Time 笔记
- mysql dual
- 自绘View(仿酷狗歌单右侧字母导航条)
- 设计模式(Design Patterns)-可复用面向对象软件的基础 02:工厂方法模式(Factory Method)和抽象工厂模式(Abstract Factory)
- maven创建web项目,以及springmvc
- 在makefile中打印错误或警告信息
- VS2012+EF6+Mysql配置心路历程
- JAVA中的反射