gensim工具[学习笔记]

平台信息:
PC:ubuntu18.04、i5、anaconda2、cuda9.0、cudnn7.0.5、tensorflow1.10、GTX1060

一、将copy_train.csv文件的内容进行分词,生成process_copy_train.csv文件

 1 import jieba
 2 import re
 3 import os
 4 import sys 
 5 import gensim
 6 import sys  
 7 
 8 
 9 f1 =  open(u'copy_train.csv')
10 for line in f1.readlines():
11     with open(u'process_copy_train2.csv','a') as f2:
12         seg_list = jieba.cut(line,cut_all=False)
13         seg_list = " ".join(seg_list) 
14         seg_list.encode("utf8") 
15         seg_list.decode("utf8")
16         f2.write(seg_list)
17         f2.write("\n")
18         #f2.write(line)
19 
20 f2.close()
21 f1.close()          

二、训练词汇表,并进行测试

 1 import jieba
 2 import re
 3 import os
 4 import sys 
 5 import gensim
 6 import sys 
 7 
 8 
 9 
10 from gensim.models import word2vec
11 
12 reload(sys)  
13 sys.setdefaultencoding('utf8')  
14 
15 sentences=word2vec.Text8Corpus(u'process_copy_train.csv')
16 model=word2vec.Word2Vec(sentences, size=50)
17 
18 model[u'美元'.decode("utf-8")]
19 y2=model.similarity(u"美元", u"美国")
20 print(y2)
21 y2=model.similarity(u"美元", u"英镑")
22 print(y2)
23 y2=model.similarity(u"美元", u"美元")
24 print(y2)
25 
26 for i in model.most_similar(u"银行"):
27     print i[0],i[1]
28 
29 str4 = model.most_similar(u"银行".decode("utf-8"))
30 
31 print str4
32 model.save('/tmp/word2vec_model')
33 
34 new_model=gensim.models.Word2Vec.load('/tmp/word2vec_model')

测试结果:

 1 0.21382438         
 2 0.65352416
 3 1.0
 4 商业银行 0.724080383778
 5 券商 0.67235070467
 6 同业 0.65898835659
 7 银行业 0.640146613121
 8 金融机构 0.628186702728
 9 中资银行 0.624082624912
10 流动性 0.589600920677
11 中小银行 0.587715625763
12 行 0.576077103615
13 信贷 0.575850129128

 

转载于:https://www.cnblogs.com/zzb-Dream-90Time/p/9872643.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
初学Gensim,这是一个强大的Python库,主要用于处理文本数据、构建词向量模型(如Word2Vec、Doc2Vec等)以及进行主题建模(如LSA、LDA)。以下是Gensim的一些基本步骤: 1. **安装Gensim**:首先,你需要确保已经安装了Python和pip,然后通过命令行运行`pip install gensim`来安装Gensim。 2. **加载和预处理数据**:Gensim需要文本数据作为输入。你可以从文件、网页或API获取数据,然后进行清理,去除标点、停用词,并将文本转换成小写。 ```python from gensim import corpora, models # 加载文本数据 texts = ... # 例如从文件读取或网络爬虫获取 ``` 3. **创建词汇表**:Gensim使用`corpora.Dictionary`来建立词汇表,它会统计每个单词在整个文集中出现的频率。 ```python dictionary = corpora.Dictionary(texts) ``` 4. **转换为文档-词袋模型**:使用词汇表将文本转化为每篇文章的一个词频向量。 ```python corpus = [dictionary.doc2bow(text) for text in texts] ``` 5. **训练词向量模型**:如果你需要对单词进行嵌入表示,可以使用Word2Vec或Doc2Vec模型。这里是一个Word2Vec的例子: ```python model = models.Word2Vec(corpus, min_count=1) # 参数设置根据需求调整 ``` 6. **应用模型**:现在你可以通过`model.wv[]`访问单词向量,或者利用模型进行相似度计算、文本生成等操作。 **相关问题**: 1. Gensim如何解决稀疏矩阵的问题? 2. 除了词向量模型,Gensim还有哪些主要功能? 3. 在实际项目中,如何评估和优化Gensim模型效果?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值