【20行代码】中文NLP词向量词聚类Python原创算法(直接复制可用)

基于Word2vec文本聚类 阅读详情

学前基础

1、词向量
2、聚类算法

原理

语料
文本切分
词向量
词单位向量
聚类

词向量+norm+kmeans

import re, numpy as np, pandas as pd, jieba
from gensim.models import Word2Vec
from sklearn.cluster import KMeans

def word_cluster(texts, n_clusters=800):
    # 分词
    texts = [[word for word in jieba.cut(sentence) if re.fullmatch('[a-zA-Z\u4e00-\u9fa5]+', word)]
             for text in texts for sentence in re.split('[\n。…;;!!??]+', text)]
    # 词向量
    wv = Word2Vec(texts).wv
    # 转为单位向量
    uv = np.linalg.norm(wv.vectors, axis=1).reshape(-1, 1)  # Unit Vector
    wv.vectors = wv.vectors / uv  # Vector or matrix norm
    # 聚类
    labels = KMeans(n_clusters).fit(wv.vectors).labels_
    # 输出excel
    df = pd.DataFrame([(w, labels[e]) for e, w in enumerate(wv.index2word)], columns=['word', 'label'])
    df.sort_values(by='label', inplace=True)
    df.to_excel('word_cluster.xlsx', index=False)

from data9 import X  # 新闻9分类,不导入Y
word_cluster(X)

部分结果展示

补充

主要可调参数
停词和词性过滤
时间词处理
词窗
词向量维度
sg=1
簇数
失败实验
词向量+kmeans:高频词和低频词会被分开
词向量+norm+DBSCAN:大部分词被连成一片(类别0)
LDA(长文切短):大部分词主题概率极低(主题0),一些停词反而有较高的主题权重😓

失败的LDA实验代码

from gensim import corpora, models
import re, jieba, numpy as np, pandas as pd

def word_lda(texts, num_topics=100):
    # 分词
    words_ls = [[w for w in jieba.cut(s) if re.fullmatch('[a-zA-Z\u4e00-\u9fa5]+', w)]
                for t in texts for s in re.split('[\n。…;;!!??]+', t)]
    # 构造词典
    dictionary = corpora.Dictionary(words_ls)
    # 基于词典,使【词】→【稀疏向量】,并将向量放入列表,形成【稀疏向量集】
    corpus = [dictionary.doc2bow(words) for words in words_ls]
    # lda模型,num_topics设置主题的个数
    lda = models.ldamodel.LdaModel(corpus=corpus, id2word=dictionary, num_topics=num_topics)
    # 主题概率矩阵
    matrix = lda.state.get_lambda()
    matrix = matrix / np.sum(matrix, axis=0)
    # 按照主题概率聚类,并存excel
    pd.DataFrame({
        'word': [dictionary[i] for i in range(len(dictionary))],
        'topic': np.argmax(matrix, axis=0),
        'probability': np.max(matrix, axis=0),
    }).sort_values(by=['topic', 'probability'], ascending=False).to_excel('word_lda.xlsx', index=False)

from data9 import X  # 新闻9分类,不导入标签
word_lda(X)
第4章 4.5 使用Python进行文本分类---4.5.2从词向量计算概率 4.5.2 训练算法:从词向量计算概率 需要注意的地方:(因为这两个问题,一直看不懂该训练算法的思想)                1.本算法的目的是为了计算p(w|ci),并不是为了计算p(ci|w)。                2.p(w|ci)=该词条在该类别中出现次数 / 该类别中所有词条出现的总数目。【针对二分类问题】 p(ci|w) = p(w|ci) * p(ci) /... 阅读详情

相关推荐

用word2vec训练中文词向量,并用kmeans算法聚类

(1)将已经分好词的中文用word2vec转化成词向量(2)将转化后的词向量用kmeans算法进行聚类,用手肘法和轮廓系数法确定最佳聚类数。

m0_56327159的博客 1313

tfidf和word2vec构建文本词向量并做文本聚类

一、相关方法原理 1、tfidf 2、word2vec 3、文本聚类 代码实现

m0_45827246的博客 1万+

NLP工程实战备忘录:从SimpleTOD到NERtwork的落地陷阱与修复

自然语言处理(NLP)不仅是模型训练,更是面向生产环境的系统工程。其核心原理在于将语言理解、实体识别、对话状态追踪等任务,通过可调试、可迁移、可验证的技术组件链进行端到端整合。技术价值体现在显著降低GPU显存占用、提升推理吞吐、增强中文实体归一化鲁棒性等工程指标;典型应用场景包括客服对话系统、推荐特征实时计算、知识图谱构建及语音问答服务。本文聚焦2020年关键NLP工程实践节点,深入解析SimpleTOD的上下文截断问题、TurboTransformers的动态内存池机制、NERtwork中OpenRefi

weixin_30251829的博客 455

深度学习与自然语言处理第四次作业——词向量聚类问题

深度学习与自然语言处理第四次作业——词向量聚类问题 利用神经语言模型,训练词向量,通过对词向量的聚类或者其他方法来验证词向量的有效性。

weixin_44966965的博客 2605

Yelp餐厅评论EDA实战:从爬虫到业务洞察的NLP分析路径

用户生成内容(UGC)如餐厅评论,是典型的高噪声、强主观文本数据,其价值挖掘高度依赖探索性数据分析(EDA)。理解 Yelp 评论的本质,需先把握其非结构化、多模态(含emoji、缩写、标点强化)和语境敏感等核心特征;技术上需融合Web Scraping后的清洗规范、spaCy驱动的细粒度文本解析、VADER情感建模与地理时空交叉分析;其技术价值在于将模糊口碑转化为可归因的服务短板、产品亮点或区域差异化策略;典型应用场景包括门店运营优化、菜单迭代决策与客服话术升级;本文即围绕 Yelp 数据落地前最关键的7

weixin_30274627的博客 402

【信息科学与工程学】【数据科学】数据科学领域 第六篇 算法设计 01

算法设计

weixin_49199313的博客 1504

StructBERT零样本分类-中文-base开发者教程:REST API封装与SDK生成

本文介绍了如何在星图GPU平台上自动化部署StructBERT零样本分类-中文-base镜像,快速构建中文文本零样本分类服务。该镜像适用于客服意图识别、舆情初筛、内容合规审核等典型场景,无需标注数据即可实现高置信度中文语义分类,显著提升业务响应效率。

weixin_42471823的博客 85

【信息科学与工程学】【数据科学】数据科学领域-第十一篇 数据集成算法01

​​降低维护成本​​:通过抽象通用流程(如),当需要修改故障注入逻辑(如更换混沌工具)时,只需修改一处代码,无需修改所有测试用例;​​提升扩展性​​:通过参数化故障场景(如),可快速生成新的故障用例(如针对新服务的延迟故障),适应系统迭代需求;​​增强场景真实性​​:通过组合混沌操作(如),模拟真实生产环境中的复杂故障链(如“网络延迟+服务宕机”),更准确地验证系统韧性;​​提高分析效率​​:通过自动化结果分析(如),快速获取MTTR、错误率等关键指标,减少人工分析时间。

weixin_49199313的博客 957

基于Word2vec词聚类的关键词实现

基于word2vec的关键词提取

qq_37977007的博客 2252

【信息科学与工程学】【安全领域】第一百四十二篇 零信任网络解决方案中的算法04

对于节点 i, 有功和无功功率平衡方程为: Pi​=Vi​∑j=1N​Vj​(Gij​cosθij​+Bij​sinθij​), Qi​=Vi​∑j=1N​Vj​(Gij​sinθij​−Bij​cosθij​)。下风向某点 (x,y,z)的浓度 C为: C=2πuσy​σz​Q​exp(−2σy2​y2​)[exp(−2σz2​(z−H)2​)+exp(−2σz2​(z+H)2​)], 其中 Q是源强, u是风速, H是有效源高, σy​,σz​是水平和垂直扩散参数。

weixin_49199313的博客 1414

【信息科学与工程学】【通信工程】第三百零六篇 IPv6/SRv6服务链中的学科知识01

序号数据类型 (主类)数据类型 (子类)示例/说明存储/表示方式备注/应用场景2246生物信息型DNA序列ATGC碱基序列FASTA格式基因组2247生物信息型RNA序列AUGC碱基序列FASTA转录组2248生物信息型蛋白质序列氨基酸序列FASTA蛋白组2249生物信息型基因注释GFF/GTF文件Gene annotation功能2250生物信息型变异数据VCF文件Variant call formatSNP/INDEL2251生物信息型表达矩阵基因×样本Expression matrix (FPKM/T

weixin_49199313的博客 97

【自然语言处理】Word2Vec 词向量模型详解 + Python代码实战

如下图所示,在神经网络初始化的时候,我们会随机初始化一个 N×K 的矩阵,其中 N 是 词典的大小,K 是词向量的维数(一个自行设定的超参数)。下面提出了一个初始解决方案:假设,传统模型中,我们输入 not ,希望输出是 thou,但是由于语料库庞大,最后一层 SoftMax 太过耗时,所以我们可以改为:将 not 和 thou 同时作为输入,做一个二分类问题,类别 1 表示 not 和 thou 是邻居,类别 0 表示它们不是邻居。如下图所示,在词向量模型中,输入可以是多个词。

知不足而奋进,望远山而前行 5万+

【信息科学与工程学】计算机科学与自动化——第三百零五篇 计算机系统中的各类运算操作01

编号类型领域运算操作运算类型算法算法的详细设计及数学分析参数列表及参数的数值设计应用场景 (100+条)集合运算​1集合运算关系代数并集 (Union)集合运算归并排序去重合并两个集合,去除重复元素。时间复杂度 O(n+m),n,m为两集合大小。输入:集合A, B。输出:A∪B。数据集成、多表结果合并、去重后的全量数据提取。2集合运算关系代数交集 (Intersection)集合运算哈希交集找出同时属于两个集合的元素。平均时间复杂度 O(min(n,m)),最坏 O(n*m)。输入:集合A, B。输出:A∩

weixin_49199313的博客 1389

用Word2vec训练中文wiki,构造词向量并做词聚类

l利用word2vec训练中文wiki,构造词向量,并搞搞词聚类。

accumulate_zhang的博客 1万+

如何实现MCGS与S7-200SMART PLC以太网多台通信控制?

第九步:(设备工具箱—设备管理—鼠标依次点击通用TCP/IP父设备—西门子_ Smart200到设备窗口里面去)数据类型:第0位(指PLC地址变量小数点后面的位数,例如我地址是M0.0,那么在数据类型应填写通道的第00位)第十步:(鼠标双击打开通用TCPIP父设备0--[通用TCP/IP父设备]进入通信配置)通道地址:0(指小数点前面起始字节的地址,例如我地址是M0.0,那么应在通道地填写0)。第七步:(选择通用TCP/IP父设备,点击新增,右侧选定设备就会自动添加进去。

u010670857的博客 6720

C#.NET斗地主服务端核心架构与高性能实现

斗地主作为典型的实时对战棋牌逻辑,本质是状态驱动的分布式协同问题。其技术内核涵盖有限状态机建模、低延迟网络同步、无GC内存操作与轻量级AI决策等关键能力。在.NET平台下,借助Span<T>、ImmutableArray、命令/事件总线与内存池等特性,可构建出高吞吐(200+ QPS)、低延迟(<150ms)、强一致的可落地服务端。本文聚焦C#.NET生态中斗地主核心模块的设计取舍与压测验证,深入解析状态机驱动、CardSet结构体优化、Kestrel中间件锁、规则+概率混合AI等实战方案,为实时对战类业务

weixin_29726381的博客 345

【史诗级干货长文】聚类算法

Clustering Algorithm1. 聚类算法简介1.1 认识聚类算法1.1.1 聚类算法在现实中的应用1.1.2 聚类算法的概念1.1.3 聚类算法与分类算法最大的区别1.2 小结2. 聚类算法api初步使用2.1 api介绍2.2 案例2.2.1 流程分析2.2.2 代码实现2.3 小结3. 聚类算法实现流程4. 模型评估5. 算法优化6. 特征降维 1. 聚类算法简介 学习目标 掌握聚类算法实现过程 知道K-means算法原理 知道聚类算法中的评估模型 说明K-means的优缺点 了解聚类中

全网粉丝30W+,优快云、稀土掘金人工智能领域签约作者,人工智能、大模型、Python 爬虫,商务合作,请私信沟通。 1105

树莓派34/100 - Pico读取MPU6050加速度和陀螺仪传感器数据

树莓派Pico连接MPU-6050模块(三轴陀螺仪+三轴加速度),读取运动姿态数据。

申龙斌的程序人生 5092

深入理解词向量与句向量:NLP中的基础概念

词向量是将单词映射到高维空间中的实数向量的表示方法。每个单词都被表示为一个固定长度的向量,使得单词之间的语义关系能够在向量空间中得到保留和表达。句向量是将句子映射到向量空间中的表示方法,它能够捕捉句子的语义信息和语法结构。词向量和句向量是NLP中的两个基础概念,它们为文本数据的表示和处理提供了重要的工具。通过对单词和句子进行向量化表示,我们能够更好地利用机器学习和深度学习技术来处理自然语言数据,从而实现各种文本分析和应用任务。

优快云7689的博客 2011

采用MPU6050的手势遥控器

随着社会的发展与进步,电子产品日益更新,个人家庭迎来了越来越多的智能家电。然而,现在的智能电子设备产品的遥控器多数都是按键形的。操作繁琐不直观,学习成本大。并且对于有老人小孩的家庭,给他们的操作带来了巨大的障碍。手势遥控器是指利用简单的手势来指挥电子设备,获得便捷的操作体验。让家庭成员都可以享受科技发展带来的福利。MPU6050是一个运动传感器,内置陀螺仪,再由电子设备利用判断结果做出相应的响应即...

Sakura的博客小站 6603

等离子体密度诊断集

在实验上不仅要对带电粒子的分布和运动状态进行诊断,如电子温度、电子密度、电离温度等参数,还需要对等离子体中的中性粒子进行必要的实验测量,来获得有关物种的产生、能量分布以及各个激发态布居数分布等信息,如气体温度、转动温度、振动温度、激发温度等参数。

in546的博客 1354

词的表示方法笔记——词向量+代码练习

独热编码是一种将单词转化为稀疏向量的方法,其中每个单词都表示为一个只有一个元素为1其余元素均为0的向量,其维度由词库的大小决定。例如,对于包含 4个单词的词汇表 [tapple, banana, orange, peach] 单词“banana”的独热编码为[0,1,0,0]。通过词向量,可以将自然语言处理中的单词转化为计算机可以处理的数字形式,从而便于进行文本分类、情感分析、机器翻译等任务。(1)纬度灾难,有多少个词语我们的维度就多大,对于庞大的语料库来说,存储量和计算量都是问题;(1)没有考虑多义词;

久蔡合子 1075

15、人工智能社会学:关系视角下的机器相遇

本文探讨了将人工智能视为社会主体的可能性,提出了一种关系视角下的人工智能社会学。通过结合卢西亚娜·帕里西、艾伦·图灵和乔治·赫伯特·米德的理论,强调不确定性在人工智能运行中的核心地位,并分析了人工智能如何通过与社会环境的互动催生新奇性,从而拓展社会学的研究范畴。文章还讨论了人工智能对社会结构和社会互动的影响,以及其作为社会主体所带来的理论和实践意义,为未来人工智能社会学的发展提供了方向。

pea55的博客 74

python训练work2vec词向量实例(python gensim)

前期工作可参阅: 1.python work2vec词向量训练可参考 https://blog.youkuaiyun.com/shuihupo/article/details/85156544词向量训练 2.word2vec词向量中文语料处理(python gensim word2vec总结) 可参考 https://mp.youkuaiyun.com/postedit/85162237汇总数种语料加载方式。 之前的...

shuihupo的博客 9770

线性代数-第24篇:线性代数在控制系统中的核心应用

线性代数通过状态空间建模、矩阵分解与优化算法,为控制系统提供了从理论分析到工程实现的完整框架。从传统PID控制到现代智能控制,其应用贯穿系统设计、分析与优化的全流程。未来,随着多智能体协同控制、量子控制系统等前沿领域的发展,线性代数将在高维矩阵计算、分布式优化等方向持续创新,为复杂控制系统的突破提供核心支撑。如果对线性代数在控制系统中的应用细节有疑问,欢迎在评论区留言!

无 425

计算机视觉(角点检测)- 1 - Harris角点检测

计算机视觉(角点检测)-1.1 Harris角点检测学习前言 学习前言   今天更新一下计算机视觉的东西吧,哈哈哈o( ̄︶ ̄)o   关于角点检测呢,就是检测图像中角点的算法,常见的有四种常见的算法:Moravec角点检测算法、 Harris角点检测算法、Shi-Tomasi 算法、FAST角点检测算法,不过常用的就两种吧——Harris角点检测算法、Shi-Tomasi 算法(反正我基本上就只用到这两种,先着重介绍前面两种,后面再花世界介绍吧)(~ ̄▽ ̄)~ ...

qq_40374812的博客 1万+
上一篇: 信息抽取Python算法总结:词库匹配,词向量,TFIDF,机器学习,深度学习(持续更)
下一篇: 给自己立一个人生目标(不定更)
小基基o_O
博客等级 码龄9年 4414粉丝 467原创
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小基基o_O

您的鼓励是我创作的巨大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值