使用gensim实现word2vec,再使用t-SNE压缩可视化

Gensim词向量实战:从入门到工业级应用 词向量(Word Embedding)是自然语言处理中的基础技术,通过将词语映射到低维稠密向量空间,有效捕捉语义关系。其核心原理基于分布式假设,利用神经网络或矩阵分解学习词语的上下文共现模式。在工程实践中,词向量技术显著提升了文本分类、搜索推荐等任务的性能,同时大幅降低计算成本。以Gensim工具库为例,该Python实现通过流式训练和内存优化,支持GB级语料的高效处理。典型应用场景包括用户画像构建、金融舆情分析等垂直领域。针对工业部署需求,模型压缩和增量训练等技术可进一步提升生产环境下的运行效率。掌握词向 阅读详情

使用gensim的word2vec做的一点小实验……
1.首先对文本进行word2vec
网上语料库很多,可以随便找一找

import gensim,logging
import gensim, logging
import os
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)
class MySentences(object):
    def __init__(self, dirname):
        self.dirname = dirname
 
    def __iter__(self):
        for fname in os.listdir(self.dirname):
            for line in open(os.path.join(self.dirname,fname),encoding='gbk'): #我要读取的都是中文,使用gkb好一些
                yield line.split()
sentences =MySentences('E:\\test\\')#读取目录里所有文件

model = gensim.models.Word2Vec(sentences,size=100, min_count=1,window =2,sg=1,hs=1,iter=20)

size=100:向量维数100维
min_count=1:最小词频为1
window =2:窗口大小为2
sg=1:使用skip-gram方法
hs=1:使用softmax function
iter=20:迭代20次(我记得默认是5次)
2.保存生成的模型,以便使用
两种方式:
第一种:可以更加快速加载的模型

model.save("E:\\word2vec1.model")

第二种:可以用文本查看的模型,但是加载慢(不进行可视化展示了)

modelX.wv.save_word2vec_format("E:\\word2vec1.vector")
modelX.wv.save_word2vec_format("E:\\word2vec1.bin")

3.加载模型

X = model.load("E:\\word2vec1.model")

4.搞一些相似度之类的东西
对我来说,是我想要的东西,相似度可以

X.wv.most_similar(u'综合商场')
#输出
[('体育户外', 0.6556961536407471),
 ('母婴儿童', 0.6473106145858765),
 ('电影院', 0.5801295638084412),
 ('数码家电', 0.5358222126960754),
 ('综合体育场馆', 0.5341006517410278),
 ('培训', 0.5147511959075928),
 ('钟表店', 0.5030048489570618),
 ('小商品市场', 0.49604037404060364),
 ('服饰鞋包', 0.47768259048461914),
 ('花鸟鱼虫', 0.4769262373447418)]

5.t-SNE压缩向量可视化
#t-SNE

from matplotlib.font_manager import *  
import matplotlib.pyplot as plt 
modelX = gensim.models.Word2Vec.load("E:\\word2vec1.model")#我重新加载一下
X = modelX[modelX.wv.vocab]
X_tsne = TSNE(n_components=2).fit_transform(X)#n_components=2,压缩成2维
list = []#我想图片显示文字,所以把文字存在了列表里,可能有更好的办法,但是我目前没找到,也不知道去哪里找一下
words = modelX.wv.vocab
for word in words:
    print(word)
    list.append(word)

plt.figure(figsize=(30, 15)) #图片大小
myfont = FontProperties(fname='E:\\文泉驿正黑.ttf')#文字样式,不用的话,我显示的都是方块……

plt.scatter(X_tsne[:,0],X_tsne[:,1])
for i in range(len(X_tsne)):
    x=X_tsne[i][0]
    y=X_tsne[i][1]
    plt.text(x , y,list[i],fontproperties=myfont,size = 16)
 
plt.show()

效果一般,但是东西是出来了(毕竟我想要的是这个过程。调参啥的之后再研究)
在这里插入图片描述

结束实验~~~

词嵌入实战:基于Gensim 4.3.2训练专属领域Word2Vec模型(附10行核心代码) 本文详细介绍了如何使用Gensim 4.3.2训练专属领域的Word2Vec模型,解决金融舆情分析或医疗文本挖掘中的专业术语语义失真问题。通过10行核心代码示例,展示了从环境配置、数据预处理到模型训练和评估的全流程,特别强调了领域适应性优化技巧和工程化部署方案。 阅读详情

相关推荐

【大模型实战】基于中文Wikipedia的Word2Vec模型优化与应用指南

本文详细介绍了基于中文维基百科语料训练和优化Word2Vec模型的完整实战指南。从高质量中文语料的下载、深度清洗与分词预处理,到使用Gensim进行模型训练、核心参数调优与效果评估,最后展示了词向量在文本分类和推荐系统等下游任务中的应用。文章旨在帮助开发者打造一个高效、可靠的通用词向量工具,为NLP项目提供坚实基础。

weixin_29280657的博客 534

Word2vec 模型构建及可视化

文本本质上是一种非结构化的数据,无论过去还是现在,其在数学中的研究远远少于向量。历史上数学家牛顿是第一个在力学情境中研究向量的人。向量的概念已经存在了三个世纪,其科学性已非常成熟。而文本数据的数学探索这个概念只有几十年的历史。现在文本数据的数学思考应用尤其重要。数据的价值已被理解但是还未兑现。大部分商业相关信息最初都是非结构化形式,主要是文本。数据只有读取之后才可见,才能用于商业、教育、政府管理和...

u010899985的博客 8588

MATLAB实战:从词向量到文档嵌入的NLP语义理解与实现

自然语言处理(NLP)的核心挑战之一是让计算机理解词语和文本的语义。传统基于符号和规则的方法受限于词汇鸿沟,无法捕捉词语间的关联。向量化技术通过将语言单元映射到高维向量空间,使得语义相近的单元在几何上也相近,从而让机器能“感受”语义。其技术价值在于为机器翻译、文本分类和智能问答等任务提供了高效的语义表示基础。应用场景广泛,从搜索引擎的语义匹配到聊天机器人的意图理解都依赖于此。本文以MATLAB为实践平台,深入探讨了词嵌入(如Word2Vec)和文档嵌入(如Doc2Vec、TF-IDF加权及基于Transfo

398

word2vec代码_word2vec词向量可视化聚类与Bert词向量可视化聚类对比

在我的第一篇文章里我介绍了Bert生成词向量并进行了简单的可视化和聚类,得到的效果很不错。想到之前我也用过word2vec做过类似的事情,所以就想着用两种词向量生成方法进行一下对比。直接上代码吧:from gensim.models import Word2Vec from sklearn.cluster import KMeans import matplotlib.pyplot as plt ...

weixin_39885803的博客 1554

词嵌入原理与实战:从Word2Vec到Skip-Gram向量化

词嵌入是自然语言处理中将离散词汇映射为连续语义向量的核心技术,其本质源于分布假说——词语意义由上下文共现模式决定。相比One-Hot编码的高维稀疏与语义真空,词嵌入通过低维稠密向量建模语义相似性与关系结构,支撑文本相似度计算、类比推理、下游任务迁移等关键能力。Skip-Gram与CBOW作为两大经典训练范式,分别侧重中心词预测上下文与上下文预测中心词,在小数据鲁棒性与训练效率上各具优势。本文结合PyTorch手写实现、负采样优化、中文预处理要点及向量调优策略,系统解析词嵌入从理论设计到工程落地的完整链条,尤

weixin_34194087的博客 507

NLP文本向量化:从One-Hot到Embedding的实战指南

文本向量化是自然语言处理(NLP)的基础技术,它将文字转换为计算机可处理的数值向量。核心原理是通过数学表示捕捉词语间的语义关系,常用的方法包括One-Hot编码、Word2Vec和Embedding层。Word2Vec通过上下文预测生成低维稠密向量,能有效表达语义关联;而Embedding层作为深度学习标准组件,支持端到端训练。这些技术在搜索引擎、推荐系统和智能客服等场景广泛应用,其中FastText通过子词分解解决了未登录词问题。实际工程中需要权衡向量维度、训练效率和应用场景,预训练词向量能显著提升小数据

weixin_30644369的博客 366

word2vec模型训练保存加载及简单使用

目录 word2vec模型训练保存加载及简单使用 一 word2vec简介 二、模型训练和保存及加载 模型训练 模型保存和加载 模型的增量训练 三、模型常用API 四、文本相似度计算——文档级别 word2vec模型训练保存加载及简单使用 一 word2vec简介 word2vec是google开源的一款用于词向量计算的工具。可以这样理解wor...

HUSTHY的博客 4万+

zhwiki-gensim-word2vec:使用gensim在zhwikidata上训练Word2Vec,并通过TSNE显示结果

zhwiki-gensim-word2vec The goal of this assignment is to train a Word2Vec using gensim over zhwiki() data and show the result by TSNE. 用Wikipedia的中文数据训练Word2Vec 1 下载数据() 2 解压数据 WikiExtractor 3 数据准备 a. jieba切词 b. 数据清洗、去停用词 c. 繁体化简体 OpenCC 4 用gensim 训练 Word2Vec 5 结果显示 TSNE

t-SNE数据降维可视化

t-SNE数据降维可视化 – 潘登同学的Machine Learning笔记 文章目录t-SNE数据降维可视化 -- 潘登同学的Machine Learning笔记t-SNE的基本思想SNE(Stochastic Neighbor Embedding)SNE的主要缺点距离不对称存在拥挤现象如何确定σ\sigmaσ总结t-sne代码实现对比t-sne与UMAP 是最近遇到了bertopic中,使用的UMAP降维ie方法,说是能吊打t-SNE,但之前我做Word2Vec的时候也是用的t-SNE,所以学习一下,并

weixin_52185313的博客 3047

LVI-SAM实战:如何在Ubuntu20.04上快速复现激光-视觉-惯性里程计系统

本文详细解析了在Ubuntu 20.04环境下部署和优化LVI-SAM激光-视觉-惯性里程计系统的全流程。从环境配置、依赖安装到源码编译和实战调参,提供了完整的解决方案和性能优化策略,帮助开发者快速实现厘米级精度的实时位姿估计。

m3n5b7v8c9x的博客 1047

用Python进行GEO数据挖掘(学习笔记四):富集分析

该笔记详细解释了富集分析的工作原理,并简要地利用gseapy在python中进行富集分析的操作。

m0_64111502的博客 5649

别再死记硬背One-hot了!用Word2Vec实战搞定中文词向量(附Python代码)

本文详细介绍了如何通过Word2Vec技术解决中文词向量处理中的One-hot编码问题,包括数据预处理、模型训练、可视化验证及实战技巧。通过电商评论情感分析案例,展示了Word2Vec在降低维度、捕捉语义关联方面的优势,并提供了完整的Python代码实现。

weixin_30660027的博客 207

奔图M6700-M6800-M7100-M7200 系列打印机拆解教程?

奔图M6700-M6800-M7100-M7200 系列打印机拆解教程?

m0_58098052的博客 1593

图神经网络实战:Node2Vec算法与UMAP可视化全解析

图神经网络(GNN)作为处理图结构数据的核心技术,通过捕捉节点间的复杂关系实现特征学习。Node2Vec作为经典图嵌入算法,通过有偏随机游走策略平衡局部与全局结构信息,生成的节点嵌入可兼容传统机器学习模型。结合UMAP降维技术,能高效可视化高维嵌入空间,在电商用户分群、社交网络分析等场景展现价值。本文以Python工具链为例,详解从networkx图构建、gensim实现Node2Vec到UMAP可视化的全流程,特别适合需要快速验证图算法效果的数据工程师和业务分析师。

weixin_30614109的博客 347

别再手动写JSON了!用Node-RED OPC UA节点5分钟搞定楼宇温湿度数据采集

本文介绍了如何利用Node-RED和OPC UA节点快速实现楼宇温湿度数据的自动化采集与JSON格式转换。通过可视化工具Node-RED,开发者无需编写复杂代码,5分钟内即可完成从传感器到数据输出的全流程配置,大幅提升智慧楼宇和工业物联网项目的实施效率。

weixin_30368405的博客 432

Apache Flink连载(一):Apache Flink是什么?

Apache Flink 是一个框架和分布式处理引擎,用于在。

qq_32020645的博客 1216

中文词向量训练全流程:从Word2Vec原理到大规模语料实战

词向量是自然语言处理中的基础技术,通过分布式表示将词语映射到低维向量空间。其核心原理基于分布式假设——语义相似的词在上下文中出现模式也相似,Word2Vec等算法通过预测或计数方式学习这种表示。词向量的技术价值在于解决了传统one-hot编码的维度灾难问题,能够有效捕捉语义关系。在应用场景上,词向量广泛应用于文本分类、情感分析、机器翻译等NLP任务。当面对领域特定术语或新鲜词汇时,通用预训练词向量往往表现不佳,此时基于Word2Vec的自行训练成为必要选择。本文聚焦中文大规模语料下的词向量训练实战,涵盖从语

leonard61306500的专栏 390

基于点云数据的统计滤波算法改进

随着三维视觉和点云处理技术的发展,点云数据在机器人、自动驾驶、增强现实等领域得到了广泛应用。而点云数据中常常包含着各种噪声和异常点,这些噪声和异常点会影响后续的数据处理和分析任务。因此,对点云数据进行滤波处理是必不可少的一步。在点云滤波算法中,统计滤波(Statistical Filtering)是一种常见且有效的方法。它通过对点云数据进行统计分析,将噪声和异常点剔除或修复,从而得到更为准确和可靠的点云数据。本文将介绍一种改进的统计滤波算法,并提供相应的源代码实现。

QfcaLinux的博客 292

NLP向量化实战:从TF-IDF到Word2Vec手写原理

自然语言处理(NLP)向量化是将文本转化为机器可计算数字向量的核心技术,其本质是构建语义可度量的多维空间。原理上,它通过词频-逆文档频率(TF-IDF)建模词汇区分度,或借助词嵌入(Word2Vec)在上下文中共现中学习分布式语义表示。该技术具备强可解释性与轻量部署优势,广泛应用于智能客服、电商搜索、知识库检索等场景。尤其在中小规模语料、低算力环境及需业务归因的落地项目中,手工实现TF-IDF与简易Word2Vec不仅能规避黑箱风险,更能建立对向量空间的工程直觉——这正是本文聚焦‘NLP Vectoriza

areen7003的博客 430

YOLOv11 改进 - 注意力机制 | Deformable-LKA 可变形大核注意力:自适应采样网格优化特征捕捉,提升不规则目标感知

本文介绍了可变形大核注意力(D-LKA Attention)及其在YOLOv11中的结合。D-LKA Attention是一种简化的注意力机制,采用大卷积核利用体积上下文信息,通过可变形卷积灵活调整采样网格,适应多样数据模式。它有2D和3D版本,3D版本在跨深度数据理解上表现出色,共同构成了D-LKA Net架构。我们将D-LKA Attention集成进YOLOv11,在模型的检测头部分引入deformable_LKA_Attention模块。实验表明,该方法在分割任务上表现优于现有方法,提升了模型的检测

魔改工程师的博客 1170

【android bluetooth 案例分析 01】【HiCar 详解 3】【hicar时如何交换Wifi参数的】

如果直接使用 L2CAP(不经过 RFCOMM),会需要额外的协议来保证可靠性,而 RFCOMM 天然支持。BLE 广播的数据长度受限(31 字节 / 255 字节扩展),不适合传输复杂的 Wi-Fi 连接参数。使用 RFCOMM 传输参数,可以兼容不同厂商的车机和手机,而无需依赖特殊的蓝牙功能。手机解析这些参数,并使用 Wi-Fi Direct 连接到车机。,然后才能让 Wi-Fi Direct 进行真正的数据传输。,适合传输 Wi-Fi 连接参数等关键数据。,可以安全地交换 Wi-Fi 连接信息。

奔跑吧 android 的博客 1740

Word2Vec超参数调优实战:贝叶斯优化在音乐推荐中的工程落地

词向量(Word2Vec)作为推荐系统中经典的表征学习方法,其效果高度依赖超参数配置;而传统网格搜索在高维、非线性、计算昂贵的调优场景下效率极低。贝叶斯优化通过构建代理模型(如高斯过程)与采集函数(如期望改进),以序贯决策方式高效探索参数空间,显著降低试错成本。该技术在音乐推荐中尤为关键——歌曲序列稀疏、共现模式复杂、多语言分布不均,使得dim、window_size、neg、lr等参数存在强耦合关系。本文聚焦真实工业场景,结合阿拉伯语内容增益、Faiss加速检索与时间衰减用户建模,提供可复用的调优范式与避

weixin_34025051的博客 441

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

文本分类模型选型实战:从Word2Vec到BERT的工程权衡

文本分类是自然语言处理中最基础且高频的落地任务,其核心在于选择适配业务场景的建模范式。从静态词向量(如Word2Vec)到上下文感知表征(如BERT),不同方法在语义建模能力、计算开销与数据依赖上存在本质差异。Word2Vec依赖预训练或领域重训的固定向量,需搭配LightGBM等强特征交互模型提升判别力;TextCNN通过多尺寸卷积核高效捕获局部n-gram模式,适合短文本实时分类;而BERT虽具备双向上下文建模能力,但对标注数据量、推理延迟和硬件资源要求显著更高。本文基于电商评论情感分析的真实AB测试,

weixin_30628801的博客 335

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

GloVe词向量在电影剧情语义建模中的实践与优化

词向量是自然语言处理中实现文本语义计算的基础技术,其核心在于将离散词汇映射为连续、可度量的向量空间。GloVe作为基于全局共现统计的词嵌入方法,通过建模词对在语料中的共现频次比值,天然适配电影剧情这类‘主题强、局部上下文弱’的文本特性。相比BERT等上下文敏感模型,GloVe在保持计算轻量性的同时,提供更强的可解释性与向量可追溯性,尤其适合需快速迭代、资源受限且强调业务归因的影视推荐场景。其技术价值不仅体现在余弦相似度计算,更在于支撑剧情聚类、语义导航、OOV词鲁棒处理及跨版本一致性分析等工程任务。本文聚焦

weixin_30654419的博客 937

数据Embedding技术解析与工程实践指南

数据Embedding作为将高维稀疏数据映射到低维稠密向量空间的核心技术,在自然语言处理和计算机视觉领域发挥着关键作用。其核心原理是通过神经网络学习数据的语义表示,使得相似内容在向量空间中距离相近。从经典的Word2Vec到基于Transformer的动态Embedding,这项技术显著提升了特征提取的自动化程度。在实际工程应用中,Embedding技术需要解决维度灾难、跨模态对齐等挑战,常配合PCA降维和对比学习等方法。针对大规模向量检索场景,结合FAISS等近似最近邻搜索工具可以实现毫秒级响应。当前前沿

weixin_33951761的博客 433

稠密嫁接词嵌入策略:多源向量融合优化与工程实践指南

词嵌入是自然语言处理(NLP)的基石技术,它将词汇映射为稠密向量,以捕捉语义和语法关系。其核心原理是通过神经网络或矩阵分解,从大规模语料中学习词的分布式表示。这项技术的价值在于为下游任务(如文本分类、机器翻译)提供了可计算的语义基础。在实际应用中,常面临多源词向量融合、领域自适应等挑战,需要高效的方法来整合不同来源的向量知识。稠密嫁接策略正是针对这些需求,提供了一种轻量级的向量融合框架。它通过向量对齐、加权融合等技术,将通用预训练向量与领域特定向量结合,旨在提升模型性能并支持领域自适应等应用场景。

weixin_30240349的博客 426
上一篇: LeetCode刷题之旅——409. 最长回文串
下一篇: 数组的一些简单操作,列表改数组,数组合并,数组存取
boyames
博客等级 码龄8年 80粉丝 88原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值