利用搜狐新闻语料库训练100维的word2vec——使用python中的gensim模块
关于word2vec的原理知识参考文章https://www.cnblogs.com/Micang/p/10235783.html
语料数据来自搜狐新闻2012年6月—7月期间国内,国际,体育,社会,娱乐等18个频道的新闻数据
数据处理参考这篇文章
模型训练:
# -*- coding: utf-8-*-
from gensim.models.word2vec import Word2Vec
sentences = [['A1','A2'],['A1','A3','A2']] num=0
with open('sohu_train.txt') as trainText: #, encoding='utf-8'
for line in trainText:
id,catgre,body= line.split('^_^')
words=body.replace('\n','').split(' ')
sentences.append(words)
# if num>1000:break
num+=1
# print(sentences) model= Word2Vec(min_count=1)
print("start train ...")
model.build_vocab(sentences)
model.train(sentences,total_examples = model.corpus_count,epochs = model.iter)
print("train finished!",num) model.save('./sohu_model/Model')
#model.save_word2vec_format('/tmp/mymodel.txt',binary = False)
#model.save_word2vec_format('/tmp/mymodel.bin.gz',binary = True)
#前一组方法保存的文件不能利用文本编辑器查看但是保存了训练的全部信息,可以在读取后追加训练
#后一组方法保存为word2vec文本格式但是保存时丢失了词汇树等部分信息,不能追加训练
print("save finished!")
模型使用:
# #模型使用
model = Word2Vec.load('./sohu_model/Model')
print("load model sesuess!")
# model.most_similar(['北京']) print u'most similar with 北京:'
for i in model.most_similar("北京"): #计算余弦距离最接近“北京”的10个词
print i[0].decode('utf-8'),i[1] print u'皇帝+女性-男性:'
for i in model.most_similar(positive = ['皇帝','女性'],negative = ['男性'],topn = 3):print i[0].decode('utf-8'),i[1] print u'手机+移动-智能:'
for i in model.most_similar(positive = ['手机','移动'],negative = ['智能'],topn = 3):print i[0].decode('utf-8'),i[1] print u'电影+科幻-剧情:'
for i in model.most_similar(positive = ['电影','科幻'],negative = ['剧情'],topn = 3):print i[0].decode('utf-8'),i[1] print u'北京 vector:'
print model['北京']
输出:
C:\Python27\lib\site-packages\gensim\utils.py:: UserWarning: detected Windows; aliasing chunkize to chunkize_serial
warnings.warn("detected Windows; aliasing chunkize to chunkize_serial")
load model sesuess!
most similar with 北京:
C:\Python27\lib\site-packages\gensim\matutils.py:: FutureWarning: Conversion of the second argument of issubdtype from `int` to `np.signedinteger` is deprecated. In future, it will be treated as `np.int32 == np.dtype(int).type`.
if np.issubdtype(vec.dtype, np.int):
南京 0.670382142067
上海 0.661236405373
成都 0.639219224453
杭州 0.63784122467
广州 0.631313323975
深圳 0.624626278877
武汉 0.624594151974
昆明 0.620243370533
长春 0.61394149065
长沙 0.60389906168
皇帝+女性-男性:
哥 0.60431176424
魔术师 0.586149096489
魔女 0.581812143326
手机+移动-智能:
智能手机 0.605030536652
互联网 0.54615008831
苹果 0.539426982403
电影+科幻-剧情:
纪录片 0.648482918739
动画 0.639703273773
迪斯尼 0.61851131916
北京 vector:
[-0.08981118 0.18538047 -4.7453156 -1.7730242 2.0390635 2.6085184
5.088326 2.8057106 2.6798103 -1.4660915 2.778077 2.4279277
0.69682086 -3.0003173 2.1341784 0.32419717 -5.2817945 0.18809023
-1.3016417 3.8344557 -0.87402123 -0.26100433 2.8857462 -2.725345
-2.5024219 -0.70686543 -0.4838663 -2.2535524 0.23617841 3.329134
3.9053504 -1.9609474 -3.4581995 1.2530506 -2.079397 1.6266809
0.23296945 1.4600109 -1.9104419 0.80835503 -0.13650164 3.355157
2.4561696 0.6016032 -1.0312346 1.6474588 1.320931 1.4579619
1.8017172 -3.5526018 1.2293625 4.798621 -3.5554793 0.5800354
3.7429204 -0.4906999 -1.3069346 -1.0603447 -0.95469594 -0.35445935
-1.7658769 -3.2370284 -2.2224278 -0.56134427 -0.46095294 2.8492029
2.7202766 -3.3692176 1.1739812 -1.9770668 0.37050596 1.1764477
-0.27834406 5.033905 0.09570877 -0.5670941 -2.1803875 -0.9094422
1.0485793 0.03497482 -2.07145 -0.8045679 -1.8192968 2.6160874
0.5630188 -0.45463613 -0.22750562 2.2233796 3.4276621 -0.8689221
1.5558586 -0.39026013 -1.1843458 -3.378433 -4.2200727 1.6359595
2.27458 -1.6011585 -0.89109504 2.3993087 ]
利用搜狐新闻语料库训练100维的word2vec——使用python中的gensim模块的更多相关文章
- 利用python中的gensim模块训练和测试word2vec
word2vec的基础知识介绍参考上一篇博客和列举的参考资料. 首先利用安装gensim模块,相关依赖如下,注意版本要一致: Python >= 2.7 (tested with version ...
- 利用jieba,word2vec,LR进行搜狐新闻文本分类
一.简介 1)jieba 中文叫做结巴,是一款中文分词工具,https://github.com/fxsjy/jieba 2)word2vec 单词向量化工具,https://radimrehurek ...
- 利用朴素贝叶斯分类算法对搜狐新闻进行分类(python)
数据来源 https://www.sogou.com/labs/resource/cs.php介绍:来自搜狐新闻2012年6月—7月期间国内,国际,体育,社会,娱乐等18个频道的新闻数据,提供URL ...
- 【NLP】3000篇搜狐新闻语料数据预处理器的python实现
3000篇搜狐新闻语料数据预处理器的python实现 白宁超 2017年5月5日17:20:04 摘要: 关于自然语言处理模型训练亦或是数据挖掘.文本处理等等,均离不开数据清洗,数据预处理的工作.这里 ...
- 基于jieba,TfidfVectorizer,LogisticRegression进行搜狐新闻文本分类
一.简介 此文是对利用jieba,word2vec,LR进行搜狐新闻文本分类的准确性的提升,数据集和分词过程一样,这里就不在叙述,读者可参考前面的处理过程 经过jieba分词,产生24000条分词结果 ...
- sohu_news搜狐新闻类型分类
数据获取 数据是从搜狐新闻开放的新闻xml数据,经过一系列的处理之后,生成的一个excel文件 该xml文件的处理有单独的处理过程,就是用pandas处理,该过程在此省略 import numpy a ...
- 搜狗输入法弹出搜狐新闻的解决办法(sohunews.exe)
狗输入法弹出搜狐新闻的解决办法(sohunews.exe) 1.找到搜狗输入法的安装目录(一般是C:\program files\sougou input\版本号\)2.右键点击sohunews.ex ...
- 搜狐新闻APP是如何使用HUAWEI DevEco IDE快速集成HUAWEI HiAI Engine
6月12日,搜狐新闻APP最新版本在华为应用市场正式上线啦! 那么,这一版本的搜狐新闻APP有什么亮点呢? 先抛个图,来直接感受下—— 模糊图片,瞬间清晰! 效果杠杠的吧. 而藏在这项神操作背后的 ...
- 世界更清晰,搜狐新闻客户端集成HUAWEI HiAI 亮相荣耀Play发布会!
6月6日,搭载有“很吓人”技术的荣耀Play正式发布,来自各个领域的大咖纷纷为新机搭载的惊艳技术站台打call,其中,搜狐公司董事局主席兼首席执行官张朝阳揭秘:华为和搜狐新闻客户端在硬件AI方面做 ...
随机推荐
- python语法基础-初始化/继承
写了一些程序,基本上都是直接def函数 然后在main方法中 调用 但是在一些应用程序中 会有基本语法的使用(初始化,继承) 初始化: 1.在程序执行时一定执行一次的操作 2.python中初始化in ...
- 211. Orchard学习 二 2、ManualResetEvent 与 AutoResetEvent
一.Orchard里异步请求处理线程队列的控制 Orchard的Orchard.WarmupStarter模块,为HttpApplication.BeginRequest时间附加了一个异步处理事件:B ...
- dart之旅(一)
前言 最近在看 dart 了,本着 "纸上得来终觉浅,绝知此事 markdown" 的原则,准备边学边写,写一个系列,这是第一篇.学习过程中主要是参考 A Tour of the ...
- 通过spring抽象路由数据源+MyBatis拦截器实现数据库自动读写分离
前言 之前使用的读写分离的方案是在mybatis中配置两个数据源,然后生成两个不同的SqlSessionTemplate然后手动去识别执行sql语句是操作主库还是从库.如下图所示: 好处是,你可以人为 ...
- 使用Asp.Net Core MVC 开发项目实践[第二篇:EF Core]
在项目中使用EF Core还是比较容易的,在这里我们使用的版本是EF Core 2.2. 1.使用nuget获取EF Core包 这个示例项目使用的是SQLSERVER,所以还需要下载Microsof ...
- Trie(字典树)解析及其在编程竞赛中的典型应用举例
摘要: 本文主要讲解了Trie的基本思想和原理,实现了几种常见的Trie构造方法,着重讲解Trie在编程竞赛中的一些典型应用. 什么是Trie? 如何构建一个Trie? Trie在编程竞赛中的典型应用 ...
- [牛客小白月赛4 H] 相邻的糖果
Description 有n个盒子摆成一排,每个盒子内都有ai个糖果. 现在你可以执行以下操作: ·你可以选择任意一个盒子,在选择的盒子内吃掉一个糖果. 对你的要求如下: ·任何m个相邻的盒子内糖果数 ...
- Java的第6天,学习运算符
提到运算符我们就会想起 加 减 乘 除: Java中的一些运算符:关系运算符.逻辑运算符.赋值运算符.和条件运算符: 其中算术运算符有:+ , - , * , \, % ,++, -- ; + , - ...
- 【Spring】23、ApplicationContext ,ApplicationContextAware,Listener,Event 的关系解读
tomcat容器启动流程 启动tomcat容器,加载web.xml,建立整个容器(Servlet容器,这里是tomcat吧)的上下文,ServletContext,这时web.xml有个监听器,就是C ...
- java_有秒计时的数字时钟
题目内容: 这一周的编程题是需要你在课程所给的时钟程序的基础上修改而成.但是我们并不直接给你时钟程序的代码,请根据视频自己输入时钟程序的Display和Clock类的代码,然后来做这个题目. 我们需要 ...