本文作者:合肥工业大学 管理学院 钱洋 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实现二维可视化相关推荐

  1. 文本分布式表示(三):用gensim训练word2vec词向量

    今天参考网上的博客,用gensim训练了word2vec词向量.训练的语料是著名科幻小说<三体>,这部小说我一直没有看,所以这次拿来折腾一下. <三体>这本小说里有不少人名和一 ...

  2. Python数据集可视化:抽取数据集的两个特征进行二维可视化、主成分分析PCA对数据集降维进行三维可视化(更好地理解维度之间的相互作用)

    Python数据集可视化:抽取数据集的两个特征进行二维可视化.主成分分析PCA对数据集降维进行三维可视化(更好地理解维度之间的相互作用) 目录 Python数据集可视化:抽取数据集的两个特征进行二维可 ...

  3. R使用tsne进行高维数据可视化实战:二维可视化、三维可视化

    R使用tsne进行高维数据可视化实战:二维可视化.三维可视化 t-SNE是一种非常强大的技术,可以用于多维数据中的可视化分析(寻找模式).它对复杂多维数据的可视化能力是显而易见的,它以无监督的方式对数 ...

  4. Python使用tsne进行高维数据可视化实战:二维可视化、三维可视化

    Python使用tsne进行高维数据可视化实战:二维可视化.三维可视化 # 绘制二维可视化图像并添加标签字符函数 def plot_embedding(data, label, title):x_mi ...

  5. 【新闻文本分类】(task4)使用gensim训练word2vec

    学习总结 (1)学习训练Word2Vec 词向量,为后面task搭建 TextCNN 模型.BILSTM 模型训练预测作准备.Word2vec 的研究中提出的模型结构.目标函数.负采样方法.负采样中的 ...

  6. 使用gensim训练word2vec模型

    代码如下: from gensim.models import Word2Vec, word2vec import jieba import multiprocessing# 1. 停用词表 def ...

  7. 自然语言处理库——Gensim之Word2vec

    Gensim(http://pypi.python.org/pypi/gensim)是一款开源的第三方Python工具包,用于从原始的非结构化的文本中,无监督地学习到文本隐层的主题向量表达. 主要用于 ...

  8. 自然语言处理库—Gensim之Word2vec

    1. gensim概述 Gensim(http://pypi.python.org/pypi/gensim)是一款开源的第三方Python工具包,用于从原始的非结构化的文本中,无监督地学习到文本隐层的 ...

  9. k-means聚类、以及二维、三维可视化

    说明 最近做聚类分析,记录一下聚类后,利用PCA将特征降维到二维.三维,进行聚类可视化的方法 数据处理和EDA部分就不放在这里了,有兴趣的可以点击下方链接看完整的项目,fork后可以看到完整代码,可下 ...

最新文章

  1. 10.Stream流
  2. Mac环境下配置Java开发环境(jdk+maven+tomcat+idea)
  3. 编程之美-斐波那契(Fibonacci)数列方法整理
  4. esxi usb插口_酷暑大作战 | USB-C风扇新体验
  5. springboot怎么设置多个路径全部跳转首页_SpringBoot(四)—Web开发(二)
  6. JAVA多线程与并发学习总结
  7. 肌电信号的包络matlab程序_基于matlab的肌电信号处理程序
  8. h5 html被缓存,【Web前端问题】html5离线缓存,不能被缓存问题
  9. java游戏快捷存档_《minecraft》JAVA存档
  10. 【C++ 与 STL】集合:set
  11. 同济版高数(下)复习提纲
  12. 如何判断环境变量为空
  13. 《Implicit Class-Conditioned Domain Alignment for Unsupervised Domain Adaptation》
  14. matlab的比较器模块,simulink中的比较器
  15. Linux驱动——mmc bus浅析(五)
  16. nuc7 android tv,NUC7PJYH HDMI在特定显示屏上出现问题
  17. 智能名片识别系统源码
  18. 荣耀10鸿蒙系统禁用列表
  19. 帕德逼近matlab算法,帕德逼近matlab
  20. UI设计师为什么要学习字体设计?

热门文章

  1. Docker部署安装MongoDB
  2. Nginx handler模块
  3. Nginx 其他模块
  4. 容器编排技术 -- 基于Docker本地运行Kubernetes
  5. 使用spring-loaded实现应用热部署
  6. Centos7 安装samba简单教程
  7. 【Python爬虫】Beautiful Soup库入门
  8. C#LeetCode刷题-线段树
  9. C#LeetCode刷题之#788-旋转数字(Rotated Digits)
  10. react leaflet_如何使用React Leaflet和Leaflet Gatsby Starter设置自定义Mapbox底图样式