gensim训练word2vec并使用PCA实现二维可视化
本文作者:合肥工业大学 管理学院 钱洋 email:1563178220@qq.com 。
以下内容是个人的论文阅读笔记,内容可能有不到之处,欢迎交流。
未经本人允许禁止转载
原始论文
在Word Embeddings的原始论文中,其中有一块可视化使用的是PCA展示数据。如下图所示:
原始论文为:
Mikolov T, Sutskever I, Chen K, et al. Distributed representations of words and phrases and their compositionality[C]//Advances in neural information processing systems. 2013: 3111-3119.
程序实现
在python下使用Gensim很容易使用word2vec模型训练语料得到词向量。基于训练的词向量,可以使用sklearn包中的PCA以及matplotlib可视化结果。如下程序为python3实现这一功能:
# -*- coding: utf-8 -*-
from gensim.models import Word2Vec
from sklearn.decomposition import PCA
from matplotlib import pyplot
# 训练的语料
sentences = [['this', 'is', 'the', 'first', 'sentence', 'for', 'word2vec'],['this', 'is', 'the', 'second', 'sentence'],['yet', 'another', 'sentence'],['one', 'more', 'sentence'],['and', 'the', 'final', 'sentence']]
# 利用语料训练模型
model = Word2Vec(sentences,window=5, min_count=1)# 基于2d PCA拟合数据
X = model[model.wv.vocab]
pca = PCA(n_components=2)
result = pca.fit_transform(X)
# 可视化展示
pyplot.scatter(result[:, 0], result[:, 1])
words = list(model.wv.vocab)
for i, word in enumerate(words):pyplot.annotate(word, xy=(result[i, 0], result[i, 1]))
pyplot.show()
该程序的可视化结果为:
参考内容:
https://machinelearningmastery.com/develop-word-embeddings-python-gensim/
Mikolov T, Sutskever I, Chen K, et al. Distributed representations of words and phrases and their compositionality[C]//Advances in neural information processing systems. 2013: 3111-3119.
gensim训练word2vec并使用PCA实现二维可视化相关推荐
- 文本分布式表示(三):用gensim训练word2vec词向量
今天参考网上的博客,用gensim训练了word2vec词向量.训练的语料是著名科幻小说<三体>,这部小说我一直没有看,所以这次拿来折腾一下. <三体>这本小说里有不少人名和一 ...
- Python数据集可视化:抽取数据集的两个特征进行二维可视化、主成分分析PCA对数据集降维进行三维可视化(更好地理解维度之间的相互作用)
Python数据集可视化:抽取数据集的两个特征进行二维可视化.主成分分析PCA对数据集降维进行三维可视化(更好地理解维度之间的相互作用) 目录 Python数据集可视化:抽取数据集的两个特征进行二维可 ...
- R使用tsne进行高维数据可视化实战:二维可视化、三维可视化
R使用tsne进行高维数据可视化实战:二维可视化.三维可视化 t-SNE是一种非常强大的技术,可以用于多维数据中的可视化分析(寻找模式).它对复杂多维数据的可视化能力是显而易见的,它以无监督的方式对数 ...
- Python使用tsne进行高维数据可视化实战:二维可视化、三维可视化
Python使用tsne进行高维数据可视化实战:二维可视化.三维可视化 # 绘制二维可视化图像并添加标签字符函数 def plot_embedding(data, label, title):x_mi ...
- 【新闻文本分类】(task4)使用gensim训练word2vec
学习总结 (1)学习训练Word2Vec 词向量,为后面task搭建 TextCNN 模型.BILSTM 模型训练预测作准备.Word2vec 的研究中提出的模型结构.目标函数.负采样方法.负采样中的 ...
- 使用gensim训练word2vec模型
代码如下: from gensim.models import Word2Vec, word2vec import jieba import multiprocessing# 1. 停用词表 def ...
- 自然语言处理库——Gensim之Word2vec
Gensim(http://pypi.python.org/pypi/gensim)是一款开源的第三方Python工具包,用于从原始的非结构化的文本中,无监督地学习到文本隐层的主题向量表达. 主要用于 ...
- 自然语言处理库—Gensim之Word2vec
1. gensim概述 Gensim(http://pypi.python.org/pypi/gensim)是一款开源的第三方Python工具包,用于从原始的非结构化的文本中,无监督地学习到文本隐层的 ...
- k-means聚类、以及二维、三维可视化
说明 最近做聚类分析,记录一下聚类后,利用PCA将特征降维到二维.三维,进行聚类可视化的方法 数据处理和EDA部分就不放在这里了,有兴趣的可以点击下方链接看完整的项目,fork后可以看到完整代码,可下 ...
最新文章
- 10.Stream流
- Mac环境下配置Java开发环境(jdk+maven+tomcat+idea)
- 编程之美-斐波那契(Fibonacci)数列方法整理
- esxi usb插口_酷暑大作战 | USB-C风扇新体验
- springboot怎么设置多个路径全部跳转首页_SpringBoot(四)—Web开发(二)
- JAVA多线程与并发学习总结
- 肌电信号的包络matlab程序_基于matlab的肌电信号处理程序
- h5 html被缓存,【Web前端问题】html5离线缓存,不能被缓存问题
- java游戏快捷存档_《minecraft》JAVA存档
- 【C++ 与 STL】集合:set
- 同济版高数(下)复习提纲
- 如何判断环境变量为空
- 《Implicit Class-Conditioned Domain Alignment for Unsupervised Domain Adaptation》
- matlab的比较器模块,simulink中的比较器
- Linux驱动——mmc bus浅析(五)
- nuc7 android tv,NUC7PJYH HDMI在特定显示屏上出现问题
- 智能名片识别系统源码
- 荣耀10鸿蒙系统禁用列表
- 帕德逼近matlab算法,帕德逼近matlab
- UI设计师为什么要学习字体设计?