初试python gensim 库
2017-07-02 00:00
106 查看
摘要: word2vec 尝试,lda尝试
做文本主题抽取,刚开始觉得word2vec挺厉害的,打算试一试,发现word2vec的函数包都在gensim里面。pip 安装以后就上路了。
这里语料库是随便找了一个测测试用的,所以里面已经做过分词处理并且还做过磁性标注了,但是对跑通程序的影响是不大的。做出来还可以,测出来这两个词语相似度是0.6……算是跑通了。然后开始测自己做的语料库。
嗯,我自己的语料库是前面一个数字表示词是第几段话的,第二个是真实的词,中间空格读出
然而带入刚刚测好的代码里却发现基本所有参数都是0,原因是之前的测试语料库挺大的,约莫50M,而自己的才几个K……
查了下API,http://radimrehurek.com/gensim/models/word2vec.html 发现word2vec还是用在词语检测比较好……但发现了gensim这个库有大量主题模型,很专注主题模型的样子……
嗯,反正语料还没弄出来,就顺便看了下lda的包
同样,自己的语料库太少了,跑出来是0,然而大语料库跑出来半天没反应……会很慢
导入文件是写作utf8而不是utf-8……报了好久的格式错误,半天才发现……
做文本主题抽取,刚开始觉得word2vec挺厉害的,打算试一试,发现word2vec的函数包都在gensim里面。pip 安装以后就上路了。
import logging #这是一个日志输出 logging.basicConfig(format='%(asctime)s:%(levelname)s: %(message)s',level=logging.INFO) from gensim.models import word2vec sentences=word2vec.Text8Corpus(u'E:\PyProgramma\GCTest\Source\\newtest.txt') model=word2vec.Word2Vec(sentences,size=200) print(model) model.save(u'test.model') try: y1=model.similarity(u"切合/v",u"实际/n") except KeyError: y1=0 print(y1)
这里语料库是随便找了一个测测试用的,所以里面已经做过分词处理并且还做过磁性标注了,但是对跑通程序的影响是不大的。做出来还可以,测出来这两个词语相似度是0.6……算是跑通了。然后开始测自己做的语料库。
嗯,我自己的语料库是前面一个数字表示词是第几段话的,第二个是真实的词,中间空格读出
# coding:utf-8 f=open('E:\PyProgramma\GCTest\Source\\orign.txt','r',encoding='utf-8') fin=open('E:\PyProgramma\GCTest\Source\\w2vo.txt','w',encoding='utf-8') line=f.readline() num=0 while line: #print(line) newnum,word=line.split() if(newnum!=num): print(word) word=word+'\n' fin.write(word) else: print(word,end=' ') word=word+' ' fin.write(word) num=newnum line=f.readline() print(line) f.close() fin.close()
然而带入刚刚测好的代码里却发现基本所有参数都是0,原因是之前的测试语料库挺大的,约莫50M,而自己的才几个K……
查了下API,http://radimrehurek.com/gensim/models/word2vec.html 发现word2vec还是用在词语检测比较好……但发现了gensim这个库有大量主题模型,很专注主题模型的样子……
嗯,反正语料还没弄出来,就顺便看了下lda的包
from gensim import corpora,models,similarities from gensim.models import word2vec,LdaModel from gensim.corpora import Dictionary from gensim.models.atmodel import AuthorTopicModel train=[] f=codecs.open('E:\PyProgramma\GCTest\Source\\w2vo.txt','r',encoding='utf8') for line in f: line=line.split() train.append([w for w in line]) dictionary=corpora.Dictionary(train) corpus=[dictionary.doc2bow(text) for text in train] lda=LdaModel(corpus=corpus,id2word=dictionary,num_topics=10) lda.print_topics(10) lda.print_topic(10)
同样,自己的语料库太少了,跑出来是0,然而大语料库跑出来半天没反应……会很慢
导入文件是写作utf8而不是utf-8……报了好久的格式错误,半天才发现……
相关文章推荐
- 初试主题模型LDA-基于python的gensim包
- 转:Python 文本挖掘:使用gensim进行文本相似度计算
- Python Django 初试手记
- 在python安装基础上两步命令安装Gensim
- python中用gensim做wiki的中文数据word2vector处理
- 玩转python主题模型程序库gensim
- 初试Python爬虫-乌云厂商爬取
- 【简易Python爬虫】 初试爬虫_简易Python图片爬虫实现
- 64位win&python2.7下gensim环境搭建
- Python 文本挖掘:使用gensim进行文本相似度计算
- C++调用Python初试
- Python网络爬虫2 ---- scrapy爬虫架构介绍和初试
- Ubuntu 12.04 -python 2.7 安装Eric4和gensim
- 主题模型Python工具包:Gensim
- 初试PyOpenGL四 (Python+OpenGL)GPU粒子系统与基本碰撞
- Python:新浪微博API初试
- python 初试 ---01
- 初试PyOpenGL二 (Python+OpenGL)基本地形生成与高度检测
- 如何安装python gensim
- win7 python gensim安装