CSIC2010学习Word2vec表示及可视化
1、sudo apt-get install liblapack-dev
2、sudo apt-get install gfortran
3、sudo apt-get install python-pandas
4、sudo pip install --upgrade gensim
5、sudo pip install jieba
6、sudo pip install theano (0.7)
根据给定词生成word2vec词向量
# -*- coding: utf-8 -*-
"""
Created on Thu Jun 15 16:24:01 2017@author: Jiabao Wang
@description: Generate word2vec model based on given words
"""import gensim.models.word2vec as w2v def train_model(input_file_name, model_file_name):#模型训练,生成词向量sentences = w2v.LineSentence(input_file_name) model = w2v.Word2Vec(sentences, size=20, window=5, min_count=5, workers=4) model.save(model_file_name)input_file_name = 'wPred_word.txt' # Input Words
model_file_name = 'wPred_model.txt' # Output Model
train_model(input_file_name, model_file_name)# Compute and evaluate similarity and probability
model = w2v.Word2Vec.load(model_file_name)
print model.similarity('eval','@')
for k in model.similar_by_word('eval'):print str(k[1])+"\t# "+k[0].decode('utf-8')
可视化词向量
# -*- coding: utf-8 -*-
"""
# This is the visualization for the embedding word vectors:
# Input: the words for visualization, the words labels, and the word2vec model
# Output: the visualization of the given wordsCreated on Thu Jun 22 01:55:37 2017@author: Jiabao Wang
"""import numpy as np
from gensim.models.word2vec import Word2Vec
import matplotlib.pyplot as plt
#import sklearn.manifold.TSNE as tsnemodelpath = 'pub_data/wPred_model.txt' # 词向量模型
model = Word2Vec.load(modelpath)
sentenceFilePath = 'pub_data/wordList.txt' # 可视化词的词典
labelFilePath = 'pub_data/wordName.txt' # 可视化词对应显示名称visualizeVecs = []
with open(sentenceFilePath, 'r') as f:for line in f:word = line.strip()vec = model[word]visualizeVecs.append(vec)visualizeWords = []
with open(labelFilePath, 'r') as f:for line in f:word = line.strip()visualizeWords.append(word)visualizeVecs = np.array(visualizeVecs).astype(np.float64)
#Y = tsne(visualizeVecs, 2, 200, 20.0);
## Plot.scatter(Y[:,0], Y[:,1], 20,labels);
## ChineseFont1 = FontProperties(‘SimHei‘)
#for i in xrange(len(visualizeWords)):
# # if i<len(visualizeWords)/2:
# # color=‘green‘
# # else:
# # color=‘red‘
# color = 'red'
# plt.text(Y[i, 0], Y[i, 1], visualizeWords[i],bbox=dict(facecolor=color, alpha=0.1))
#plt.xlim((np.min(Y[:, 0]), np.max(Y[:, 0])))
#plt.ylim((np.min(Y[:, 1]), np.max(Y[:, 1])))
#plt.show()# vis_norm = np.sqrt(np.sum(temp**2, axis=1, keepdims=True))
# temp = temp / vis_norm
temp = (visualizeVecs - np.mean(visualizeVecs, axis=0))
covariance = 1.0 / visualizeVecs.shape[0] * temp.T.dot(temp)
U, S, V = np.linalg.svd(covariance)
coord = temp.dot(U[:, 0:2])
for i in xrange(len(visualizeWords)):print iprint coord[i, 0]print coord[i, 1]color = 'red'plt.text(coord[i, 0], coord[i, 1], visualizeWords[i], bbox=dict(facecolor=color, alpha=0.1),fontsize=12) # fontproperties = ChineseFont1
plt.xlim((np.min(coord[:, 0])-5, np.max(coord[:, 0])+5))
plt.ylim((np.min(coord[:, 1])-5, np.max(coord[:, 1])+5))
plt.savefig('pub_data/distrubution.png', format='png',dpi = 1000,bbox_inches='tight')
plt.show()
可视化效果如下:
图中间部分的词为SQL攻击的关键词,相对其他词更加聚集。
CSIC2010学习Word2vec表示及可视化相关推荐
- 用gensim学习word2vec
20211224 输入为分词列表 import gensim # Train Word2Vec model model = gensim.models.Word2Vec(all_data_test[' ...
- qml学习笔记(二):可视化元素基类Item详解(上半场anchors等等)
原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7851 ...
- 【AI白身境】深度学习中的数据可视化
文章首发于微信公众号<有三AI> [AI白身境]深度学习中的数据可视化 今天是新专栏<AI白身境>的第八篇,所谓白身,就是什么都不会,还没有进入角色. 上一节我们已经讲述了如何 ...
- 对pca降维后的手写体数字图片数据分类_【AI白身境】深度学习中的数据可视化...
今天是新专栏<AI白身境>的第八篇,所谓白身,就是什么都不会,还没有进入角色. 上一节我们已经讲述了如何用爬虫爬取数据,那爬取完数据之后就应该是进行处理了,一个很常用的手段是数据可视化. ...
- 学习笔记之数据可视化(二)—— 页面布局(下)
续上一章 2.7 地图区域(.map) 2.7.1 实现步骤: 2.8 用户统计模块 2.8.1 布局: 2.8.2 柱状图 2.9 订单模块 2.9.1 订单区域布局 2.9.2 订单区域(orde ...
- 学习笔记之数据可视化(二)——页面布局(中)
续上一章 2.6 监控区域布局 2.6.1 布局结构解析: 2.6.2 样式描述: 2.6.3 HTML结构及CSS样式代码 2.6.3 ### 监控区域-效果 2.6.7 点位区域(point) 2 ...
- 学习笔记之数据可视化(二)——页面布局(上)
~续上一章 2. 项目页面布局 2.1 基础布局 2.1.1 PC端屏幕宽度适配设置 2.1.2 主体容器viewport背景图片 2.1.3 HTML结构 2.1.4 css样式代码 2.2 边框图 ...
- 学习笔记之数据可视化(一)——项目适配方案
目录 最终效果展示 1. 数据可视化适配方案 1.1 项目需求 1.2 PC端适配方案 1.3 使用到的技术 2. 数据可视化项目开发 项目准备 1.1 文件准备 1.2 引入js和css文件 1.3 ...
- Python学习笔记:数据可视化(一)
python相关 基础概念 数据:离散的,客观事实的数字表示 信息:处理后的数据,为实际问题提供答案 - 为数据提供一种关系或一个关联后,数据就成了信息,这种关联通过提供数据背景来完成 知识: 是数据 ...
最新文章
- 个人项目【 完成总结】
- 信息论——密码学笔记(七)
- StoryBoard解惑
- 终极JPA查询和技巧列表–第2部分
- 一行代码能做什么? 看到最后一个我终于忍不住...
- 0=iiLen 在C++中
- 编程修养 from匠人的百宝箱
- dxf转换html5,移动端CAD版本转换如何输出DXF格式-迅捷CAD转换器
- 7-6 jmu-python-随机生成密码 (10 分)习题解答
- ·VBOX虚拟机安装
- 人像姿势,从细节做起!
- 关于类的静态的模板函数的使用方式
- 你会copying了吗?(Effective C++ 12 复制对象时勿忘其每一个成分)
- 位图和矢量图谁的色彩更丰富_更少的更多色彩
- 蜗牛移动被联通叫停放号,疑为受到大量投诉
- rails-redis hgetall与hGetall
- pytorch学习之图片处理
- 2022-2027年中国消防机器人行业市场调研及未来发展趋势预测报告
- matlab步进电机半步控制器,步进电机驱动模式:整步、半步、细分
- 磁盘、分区及Linux文件系统 [Disk, Partition, Linux File System]