机器学习之路: python 实践 word2vec 词向量技术
git: https://github.com/linyi0604/MachineLearning
词向量技术 Word2Vec
每个连续词汇片段都会对后面有一定制约 称为上下文context 找到句子之间语义层面的联系
from sklearn.datasets import fetch_20newsgroups
from bs4 import BeautifulSoup
import nltk, re
from gensim.models import word2vec # nltk.download('punkt') '''
词向量技术 Word2Vec
每个连续词汇片段都会对后面有一定制约 称为上下文context 找到句子之间语义层面的联系 ''' # 联网下载新闻数据
news = fetch_20newsgroups(subset="all")
x, y = news.data, news.target # 定义一个函数 将每条新闻中的句子分离,并返回一个句子的列表
def news_to_sentences(news):
news_text = BeautifulSoup(news).get_text()
tokenizer = nltk.data.load("tokenizers/punkt/english.pickle")
raw_sentences = tokenizer.tokenize(news_text)
sentences = []
for sent in raw_sentences:
temp = re.sub("[^a-zA-Z]", " ", sent.lower().strip()).split()
sentences.append(temp) return sentences # 将长新闻中的句子剥离出来用于训练
sentences = []
for i in x:
sentence_list = news_to_sentences(i)
sentences += sentence_list # 配置词向量的维度
num_features = 300
# 保证被考虑的词汇的频度
min_word_count = 20
# 并行计算使用cpu核心数量
num_workers = 2
# 定义训练词向量的上下文窗口大小
context = 5
downsapling = 1e-3 # 训练词向量模型
model = word2vec.Word2Vec(sentences,
workers=num_workers,
size=num_features,
min_count=min_word_count,
window=context,
sample=downsapling)
# 这个设定代表当前训练好的词向量为最终版, 也可以加速模型训练的速度
model.init_sims(replace=True) # 利用训练好的模型 寻找文本中与college相关的十个词汇
print(model.most_similar("college"))
'''
[('wisconsin', 0.7664438486099243),
('osteopathic', 0.7474539279937744),
('madison', 0.7433826923370361),
('univ', 0.7296794652938843),
('melbourne', 0.7212647199630737),
('walla', 0.7068545818328857),
('maryland', 0.7038443088531494),
('carnegie', 0.7038302421569824),
('institute', 0.7003713846206665),
('informatics', 0.6968873143196106)]
'''
机器学习之路: python 实践 word2vec 词向量技术的更多相关文章
- word2vec词向量训练及中文文本类似度计算
本文是讲述怎样使用word2vec的基础教程.文章比較基础,希望对你有所帮助! 官网C语言下载地址:http://word2vec.googlecode.com/svn/trunk/ 官网Python ...
- 机器学习算法与Python实践之(四)支持向量机(SVM)实现
机器学习算法与Python实践之(四)支持向量机(SVM)实现 机器学习算法与Python实践之(四)支持向量机(SVM)实现 zouxy09@qq.com http://blog.csdn.net/ ...
- 机器学习算法与Python实践之(三)支持向量机(SVM)进阶
机器学习算法与Python实践之(三)支持向量机(SVM)进阶 机器学习算法与Python实践之(三)支持向量机(SVM)进阶 zouxy09@qq.com http://blog.csdn.net/ ...
- 机器学习算法与Python实践之(二)支持向量机(SVM)初级
机器学习算法与Python实践之(二)支持向量机(SVM)初级 机器学习算法与Python实践之(二)支持向量机(SVM)初级 zouxy09@qq.com http://blog.csdn.net/ ...
- word2vec词向量处理中文语料
word2vec介绍 word2vec官网:https://code.google.com/p/word2vec/ word2vec是google的一个开源工具,能够根据输入的词的集合计算出词与词之间 ...
- 机器学习算法与Python实践之(五)k均值聚类(k-means)
机器学习算法与Python实践这个系列主要是参考<机器学习实战>这本书.因为自己想学习Python,然后也想对一些机器学习算法加深下了解,所以就想通过Python来实现几个比较常用的机器学 ...
- 文本分布式表示(三):用gensim训练word2vec词向量
今天参考网上的博客,用gensim训练了word2vec词向量.训练的语料是著名科幻小说<三体>,这部小说我一直没有看,所以这次拿来折腾一下. <三体>这本小说里有不少人名和一 ...
- 机器学习算法与Python实践之(六)二分k均值聚类
http://blog.csdn.net/zouxy09/article/details/17590137 机器学习算法与Python实践之(六)二分k均值聚类 zouxy09@qq.com http ...
- 机器学习算法与Python实践之(七)逻辑回归(Logistic Regression)
http://blog.csdn.net/zouxy09/article/details/20319673 机器学习算法与Python实践之(七)逻辑回归(Logistic Regression) z ...
随机推荐
- phpcms 仿站小结
1.title<title>{if isset($SEO['title']) && !empty($SEO['title'])}{$SEO['title']}{/if}{$ ...
- cdn_一些常用的cdn地址
https://code.jquery.com/jquery-3.3.1.jshttps://cdn.bootcss.com/jquery/2.1.4/jquery.min.js https://cd ...
- 文件读取 FILE
需要了解的概念 [数据流][缓冲区(Buffer)][文件类型][文件存取方式][借助文件指针读写文件] 需要理解的知识点包括:数据流.缓冲区.文件类型.文件存取方式 1.1 数据流: 指程序与数据的 ...
- Hibernate5笔记6--Hibernate检索优化
Hibernate检索优化: 检索即查询.为了减轻DB的访问压力,提高检索效率,Hibernate对检索进行了优化. 所谓检索优化,指的是对查询语句的执行时机进行了细致.严格的把控:并不是代码中一出现 ...
- 脚本病毒分析扫描专题1-VBA代码阅读扫盲、宏病毒分析
1.Office Macor MS office宏的编程语言是Visual Basic For Applications(VBA). 微软在1994年发行的Excel5.0版本中,即具备了VBA的宏功 ...
- TreeCollection2
Tree Collection 2 Table of Contents Introduction Structure Interfaces Data Node structure Tree struc ...
- 编译器是如何实现32位整型的常量整数除法优化的?[C/C++]
引子 在我之前的一篇文章[ ThoughtWorks代码挑战——FizzBuzzWhizz游戏 通用高速版(C/C++ & C#) ]里曾经提到过编译器在处理除数为常数的除法时,是有优化的,今 ...
- 【web开发】web前端开发常用技术总结归纳
技术选型规范规范 • Vue版本:2.x • 前端路由:vue-route • 异步请求:Axios • 全局状态管理:VueX • css预处理器:sass/less • h5项目移动端适配规则:使 ...
- svn 批量添加命令
svn st | awk '{if ($1 == "?") {print $2} }' | xargs svn add
- 20165203《Java程序设计》第七周Java学习总结
20165203<Java程序设计>第七周Java学习总结 教材学习内容总结 第11章 JDBC与MySQL数据库 MySQL数据库管理系统 MySQL数据库管理系统,简称MySQL,是世 ...