机器学习-词向量转换1
前言在电商、社交媒体等场景中每天都会产生海量的用户评论文本。如何让计算机理解一段中文文本如何将非结构化的文字转化为算法可以处理的数值这是所有文本分类任务的第一步也是最关键的一步。本文是系列的上篇聚焦于如何将原始中文文本转化为有效的数值特征涵盖 TF-IDF 关键词提取、文本预处理、词向量转换三大核心模块。一、TF-IDF用数学量化词语的重要性在文本分类任务中我们需要将非结构化文本转化为数值特征。而关键词是捕捉文本主题的最直接线索。TF-IDF衡量的正是一个词对一篇文章的代表性或区分度。1.1 词频 TFTerm Frequency定义某一个给定的词语在该文件中出现的次数通常需要归一化以消除文档长度差异。TF 词在文档中出现的次数 / 文档的总词数案例理解在中国的蜜蜂养殖这篇文章中中国、蜜蜂、养殖三个词各出现了 20 次文章总词数为 1000则它们的 TF 都是 0.02。局限仅靠 TF 无法区分关键词。高频词如的、是在所有文档中都很高因此需要引入 IDF 来过滤通用词。1.2 逆文档频率 IDFInverse Document Frequency定义衡量一个词在整个语料库中的稀有程度。包含该词的文档越少IDF 值越大说明该词具有很好的类别区分能力。IDF log(语料库中文档总数 / (包含词的文档数 1))分母加 1 是为了避免除零当词在语料库中从未出现时。这揭示了一个重要的底层逻辑IDF 通过稀有度放大词的区分能力。案例理解假设语料库有 1000 篇文档蜜蜂只出现在 3 篇中则 IDF ≈ log(1000/3) ≈ 5.8中国出现在 500 篇中则 IDF ≈ log(1000/500) ≈ 0.7。可见蜜蜂的 IDF 远大于中国说明蜜蜂更能作为区分文档主题的关键词。IDF 的单调性包含词的文档数量越少IDF 越大反之越小。如果某个词在所有文档中都出现))))如停用词的则 IDF 接近 0。1.3 TF-IDF 计算公式TF-IDF TF × IDF一个词在文档中出现的频率越高TF 大且在整个语料库中越稀有IDF 大则 TF-IDF 值越大越可能是该文档的关键词。案例计算同上例TF 均为 0.02。假设 IDF 计算后中国 ≈ 0.3蜜蜂 ≈ 2.4养殖 ≈ 1.0。则 TF-IDF(中国) 0.006TF-IDF(蜜蜂) 0.048TF-IDF(养殖) 0.02。蜜蜂的 TF-IDF 值最高成为最核心的关键词。1.4 TF-IDF 的局限性TF-IDF 并不是完美的特征提取方法局限性说明无法捕捉语义相似性汽车和车辆会被视为独立特征忽略词序和上下文只考虑词袋模型无法处理语序颠倒的情况对长文档 有偏虽然 TF 做了归一化但长文档可能包含更多不同词汇尽管有这些局限TF-IDF 因其简单高效仍是传统文本分类中最常见的特征提取方法之一。核心辨析TF-IDF vs. 词频TF 仅表示单词在单))))篇文档中的频率而 TF-IDF 结合了全局稀有度因此能更好地消除常见词干扰。IDF 中的1分母加 1 是平滑项不仅防止除零还能在词从未出现时使 IDF ≈ log(N/1) ≈ 较大值。对数底数通常使用自然对数或常用对数不同底数只改变数值大小不影响词之间的相对排序。二、数据预处理将原始文本标准化在掌握了 TF-IDF 如何量化词语重要性之后我们发现 TF-IDF 的演示示例依赖于一个特定格式的语料库每行一篇文章词与词之间用空格分隔。然而现实中的原始文本如书籍、新闻、评论通常包含换行、标点、语气词等大量噪声无法直接喂给特征提取工具。预处理的核心任务就是将任意原始文本清洗、分词并整理成标准语料库格式。2.1 中文分词——为什么需要分词中文文本没有天然的空格分隔单词需要专门算法将句子切割成有语义的词语单元。核心概念分词Word Segmentation原始句子如垃圾苏宁赶紧倒闭是连续字符序列无法直接作为特征。分词后得到列表[垃圾, 苏宁, 赶紧, 倒闭]每个词才有独立含义。工具jieba结巴中文分词库支持三种模式模式特点适用场景精确模式最常用精准切分文本分析、特征提取全模式所有可能的词搜索引擎索引构建搜索引擎模式全模式长词再切搜索引擎查询分析Python# 精确模式默认 words jieba.lcut(我来到北京清华大学) # 输出[我, 来到, 北京, 清华大学]易混淆jieba.cut返回生成器jieba.lcut直接返回列表。在后续需要多次访问分词结果时建议使用lcut一次性获取列表。2.2 停用词过滤——剔除噪声词分词后的结果中包含大量高频但无实际意义的词如的、了、是、在等。这些))))词对文本分类没有贡献反而会增加噪声和维度。核心概念停用词Stop Words指那些在文本中频繁出现但对情感分析无帮助的词如语气词啊、呀、吧、助词的、))))了、标点符号等。Python# 过滤停用词 filtered_words [w for w in words if w not in stopwords]对比示例过滤前[垃圾, 苏宁, 赶紧, , 倒闭]过滤后[垃圾, 苏宁, 赶紧, 倒闭]关键提示停用词表需要根据任务场景调整。例如在情感分析中好、坏等词不应被过滤。将停用词表转换为集合set可以大幅提升查找速度。约 30% 的文本是停用词过滤后可降低约 50% 的特征维度。2.3 统一格式输出——标准语料库格式经过分词和停用词过滤后每篇文章得到一个词语列表。最后一步是将这些列表转换为一行一篇文章、词与词之间用空格分隔的标准格式即语料库格式。Python# 将过滤后的词列表合并为一行文本 corpus_line .join(filtered_words) # 输出来到 北京 清华大学⚠️常见错误直接使用str(words)将列表转为字符串结果会包含方括号和引号如[来到, 北京, 清华大学]。必须使用 .join(words)。三、词向量转换将文本转化为数值矩阵在完成了关键词提取和文本预处理后我们面临一个根本问题原始文本句子如今天下雨我不去打球无法直接输入任何机器学习模型。所有模型本质上是数学算式只能处理数值。本章的任务是将变长的、无序的文本转化为固定维度的数值矩阵。3.1 CountVectorizer——词库构建与词频统计CountVectorizer是 scikit-learn 中的文本特征提取工具其核心方法fit_transform承担了两步工作步骤操作说明① 拟合fit扫描语料库统计不重复词构建全局词汇表② 转换transform统计每篇文章中每个词的出现次数输出固定维度的数值矩阵Pythonfrom sklearn.feature_extraction.text import CountVectorizer vectorizer CountVectorizer() X vectorizer.fit_transform(corpus) # corpus 是预处理后的文章列表 print(vectorizer.get_feature_names_out()) # 获取词汇表 print(X.toarray()) # 转换为可读的稠密矩阵为什么需要 fit 步骤词汇表必须基于整个语料库建立。例如有两篇文章dog cat dog和cat cat cat。如果只看第一篇文章词汇是 {dog, cat}但加上第二篇后词汇表仍然是 {dog, cat}。如果还有一篇文章bird那么词汇表就变成 {dog, cat, bird}。fit保证了词汇表覆盖全局。3.2 稀疏矩阵——为什么要用 toarrayfit_transform返回的是稀疏矩阵scipy.sparse.csr_matrix只存储非零元素的位置和值极大节省内存。存储方式特点适用场景稀疏矩阵只存储非零元素的位置和值大规模文本数据内存高效稠密矩阵toarray存储所有元素包括零调试和理解小规模数据 例如一个 10000 篇文章、20000 个词的矩阵每篇文章平均只有 20 个非零词稀疏矩阵的存储效率极高。sklearn 模型可以直接使用稀疏矩阵训练。3.3 核心参数解析max_features控制保留的最大特征数量。设置过大容易过拟合设置过小可能丢失重要信息。Pythonvectorizer CountVectorizer(max_features4000)ngram_range决定提取词的连续组合范围。参数值特征示例语义捕捉能力(1,1)[手机, 不错]仅单个词(1,2)[手机, 不错, 手机 不错]单个词相邻词组⚠️ngram_range的值越大特征数量会指数级增长。通常设置为(1,2)即可。3.4 词汇表与矩阵的对应关系get_feature_names_out()返回词汇表列表其顺序与矩阵的列索引一一对应。示例词汇表[bert, cat, dog, it]矩阵列索引第 0 列 → bert第 1 列 → cat第 2 列 → dog第 3 列 → it第一篇文章dog dog cat it的行向量[1, 1, 1, 1]第二篇文章cat cat的行向量[0, 2, 0, 0]核心理解无论原文长短每一篇文章都被映射为相同长度))))的向量从而可以统一输入给分类模型。本节小结知识点核心理解TF-IDFTF × IDF综合反映词对文档的代表性IDF通过稀有度放大词的区分能力中文分词使用jieba的精确模式将连续文本切分为词语列表停用词过滤去除高频但无意义的词如“的”、“了”降低约50%的特征维度CountVectorizer先fit构建全局词汇表再transform输出固定维度的词频矩阵稀疏矩阵只存储非零元素极大节省内存max_features控制词汇表大小防止维度爆炸ngram_range控制是否考虑连续词组捕捉上下文语义

相关新闻

机器学习-词向量转换实战

机器学习-词向量转换实战

从零构建中文情感分析系统:文本预处理、词向量与分类实战本文将完整演示一个中文情感分析系统的构建流程,涵盖数据预处理、中文分词、停用词过滤、词向量转换、模型训练与评估等核心环节。二、数据预处理:让计算机“看懂”中文2.1 原始数据读…

2026/8/18 8:03:03 阅读更多 →
差分法深度解析:从原理到实战,掌握区间修改的O(1)优化技巧

差分法深度解析:从原理到实战,掌握区间修改的O(1)优化技巧

1. 差分法:从概念到实战的深度解析在数据处理、数值计算乃至算法优化的世界里,我们常常会遇到这样的场景:面对一个庞大的序列,需要快速回答“某个区间内所有元素增加了多少”或者“经过一系列区间修改后,每个位置最终的…

2026/8/16 20:49:59 阅读更多 →
3分钟免安装微信解决方案:企业员工必备的浏览器插件终极指南

3分钟免安装微信解决方案:企业员工必备的浏览器插件终极指南

3分钟免安装微信解决方案:企业员工必备的浏览器插件终极指南 【免费下载链接】wechat-need-web 让微信网页版可用 / Allow the use of WeChat via webpage access 项目地址: https://gitcode.com/gh_mirrors/we/wechat-need-web 还在为无法在公司电脑上安装微…

2026/8/17 2:01:10 阅读更多 →

最新新闻

VMware虚拟机安全实测:隔离环境分析整蛊程序与安全沙箱实践

VMware虚拟机安全实测:隔离环境分析整蛊程序与安全沙箱实践

最近在整理一些旧资料时,发现了一个流传已久的、据称来自“浙江温州”的整蛊程序样本。出于对计算机安全教学和虚拟机隔离技术验证的兴趣,我决定在完全隔离的 VMware 虚拟机环境中,对这个传说中的“病毒”进行一次完整的实测与分析。整个过程…

2026/8/18 8:22:00 阅读更多 →
Grok 4.6集成GitHub Copilot:AI编程助手深度推理与长上下文能力实测指南

Grok 4.6集成GitHub Copilot:AI编程助手深度推理与长上下文能力实测指南

这次我们来看一个近期在开发者社区引发关注的技术动态:Grok 4.6 模型与 GitHub Copilot 的集成。这不是一个独立的开源项目,而是一个标志着大型语言模型(LLM)与主流开发工具深度融合的重要事件。对于开发者而言,这意味…

2026/8/18 8:22:00 阅读更多 →
虚拟机安全测试实践:从EICAR到Python繁殖器的原理与行为分析

虚拟机安全测试实践:从EICAR到Python繁殖器的原理与行为分析

最近在安全研究领域,一些用于测试虚拟机隔离性和安全软件检测能力的“概念验证”程序引起了我的兴趣。这类程序通常被称为“测试病毒”或“良性病毒”,它们模拟恶意行为但不会造成实质性破坏,是安全研究人员和爱好者学习系统底层机制、理解恶…

2026/8/18 8:22:00 阅读更多 →
RTX Spark平台一键部署Qwen3.8-27B大模型:本地AI开发实战指南

RTX Spark平台一键部署Qwen3.8-27B大模型:本地AI开发实战指南

最近在本地部署大语言模型时,很多开发者都卡在了环境配置、显存优化和推理速度这几个环节。特别是对于像 Qwen3.8-27B 这样参数规模较大的模型,想要在个人设备上流畅运行,往往需要复杂的量化、编译和框架适配过程,门槛不低。 好消…

2026/8/18 8:22:00 阅读更多 →
Qwen3.8-27B在LM Studio的本地部署:笔记本级大模型生产力实战指南

Qwen3.8-27B在LM Studio的本地部署:笔记本级大模型生产力实战指南

上周,我像往常一样打开 LM Studio,准备在本地跑个模型测试点东西。列表里突然多了一个新面孔:Qwen3.8-27B。说实话,看到“27B”这个参数规模,我第一反应是“笔记本能跑得动吗?”,毕竟印象里超过…

2026/8/18 8:22:00 阅读更多 →
Windows系统纯净安装全流程指南:从备份到驱动配置

Windows系统纯净安装全流程指南:从备份到驱动配置

这次我们来看一个几乎每个 Windows 用户都可能遇到的核心操作:重装 Windows 系统。这不是一个复杂的 AI 模型,但它的重要性不亚于任何一次技术部署。无论是系统崩溃、性能下降、病毒清除,还是新硬件升级,一次干净、高效的系统重装…

2026/8/18 8:21:00 阅读更多 →

日新闻

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF 【免费下载链接】extract-video-ppt extract the ppt in the video 项目地址: https://gitcode.com/gh_mirrors/ex/extract-video-ppt 如果你还停留在"看网课 不停暂停 截图 …

2026/8/18 0:00:57 阅读更多 →
思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查

思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查

思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 你是不是也经历过这种时刻:设计稿里…

2026/8/18 0:00:58 阅读更多 →
华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate

华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate

华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, …

2026/8/18 0:00:59 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/17 2:58:27 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/17 2:58:30 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/17 2:58:32 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/17 18:54:37 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/17 18:55:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/17 18:55:55 阅读更多 →