当前位置: 首页 > article >正文

机器学习知识自然语言处理入门

一、引言:当文字遇上数学 —— 自然语言的数字化革命

在自然语言处理(NLP)的世界里,计算机要理解人类语言,首先需要将文字转化为数学向量。早期的 One-Hot 编码如同给每个词语分配一个唯一的 “房间号”,例如 “我爱北京天安门” 分词后,每个词用一个仅含一个 1 的高维向量表示。但这种方法如同用庞大的书架存放稀疏的书籍 —— 维度爆炸、语义割裂,无法捕捉词语间的潜在联系。

于是,** 分布式表示(Distributed Representation)** 应运而生,它如同为词语打造一张 “语义地图”,每个词被映射为低维空间中的一个点,相近的点代表语义相关的词。Word2Vec 正是这一思想的经典实现,它用简洁的神经网络架构,让计算机学会 “理解” 词语的隐含关系,甚至能完成 “king - man + woman = queen” 这样的语义推理。

二、Word2Vec:让词语在向量空间中 “对话”
2.1 从 One-Hot 到词向量:稀疏到稠密的跨越

One-Hot 编码的缺陷在于 “维度诅咒”:若词表有 N 个词,每个向量需 N 维,且仅有一个 1。而 Word2Vec 通过训练,将词语映射到d 维稠密向量(d 通常为 50-300),每个维度对应一种潜在语义特征(如 “性别”“地点”“情感” 等)。例如 “国王” 和 “女王” 可能在 “权力” 维度值高,在 “性别” 维度值相反。

2.2 模型架构:简化的神经网络魔法

Word2Vec 本质是一个两层神经网络,有两种经典模式:

  • CBOW(连续词袋模型):用上下文词语预测目标词(如用 “I” 和 “learning” 预测 “deep”)。
  • Skip-gram:用目标词预测上下文(如用 “deep” 预测 “I” 和 “learning”)。

以 CBOW 为例,模型结构如下:

  1. 输入层:上下文词语的 One-Hot 向量(假设词表大小 V,向量维度 V)。
  2. 隐藏层:权重矩阵 W(V×d)与输入向量相乘,压缩为 d 维词向量。
  3. 输出层:通过 Softmax 计算目标词的概率(矩阵 W'(d×V)将隐藏层映射回 V 维空间)。
2.3 数据生成:滑动窗口里的语义世界

训练数据来自大规模文本(如维基百科),通过滑动窗口提取上下文 - 目标词对。例如句子 “I like deep learning and NLP”,窗口大小设为 3 时,可生成样本:

  • 上下文 [“I”, “like”] → 目标词 “deep”
  • 上下文 [“like”, “deep”] → 目标词 “learning”
    ...
    滑动窗口遍历全文后,形成大量训练样本。为解决 Softmax 计算量过大的问题,引入负采样(Negative Sampling):对每个正样本(真实上下文 - 目标词对),随机采样若干负样本(非目标词),将多分类问题转化为二分类,大幅提升训练效率。
三、训练 Word2Vec:让机器学会 “猜词”

训练的核心是通过反向传播优化权重矩阵 W 和 W',使得预测目标词的概率最大化。过程可简化为:

  1. 初始化:随机初始化词向量矩阵。
  2. 前向传播:根据输入上下文计算目标词概率。
  3. 计算损失:用交叉熵衡量预测与真实标签的差距。
  4. 反向传播:更新权重,降低损失。

训练完成后,每个词语对应隐藏层的权重向量即为其词向量。这些向量不仅能通过余弦相似度衡量词语相关性(如 “猫” 与 “狗” 接近),还能通过向量运算发现语义规律,如 “中国” - “北京” + “巴黎” ≈ “法国”。

四、Word2Vec 的优缺点:通用但不完美的语义引擎

优点

  • 高效性:相比传统 Embedding,更低的维度和更快的训练速度。
  • 语义关联性:能捕捉词语间的类比关系(如 “男人 - 女人” 对应 “国王 - 女王”)。
  • 通用性:可迁移至多种 NLP 任务(如文本分类、机器翻译)。

缺点

  • 多义词困境:一个词对应一个向量,无法区分 “bank(银行 / 河岸)” 在不同语境的含义。
  • 静态局限性:词向量固定,无法针对特定任务动态调整(如情感分析中 “棒” 的褒义强度)。
五、实战:用 Word2Vec 生成古诗
5.1 数据准备:构建诗词语料库

收集唐诗、宋词等古典文本,预处理步骤:

  • 分词(保留单字,因古诗以字为基本单位)。
  • 清洗(去除标点、特殊符号)。
  • 构建词表(统计高频字,过滤生僻字)。
5.2 训练诗词专用词向量

调整 Word2Vec 参数:

  • 窗口大小设为 2-5(捕捉近邻字的语义关联,如 “床前”“明月”)。
  • 向量维度设为 100-200(平衡语义表达与计算效率)。
  • 负采样数设为 5-10(增加训练难度,提升向量质量)。

训练完成后,“月”“夜”“酒” 等字的向量应在语义空间中接近,而 “江”“河”“湖” 形成地理相关的簇。

5.3 结合语言模型生成诗句

Word2Vec 仅提供词向量,生成古诗需结合序列模型(如 RNN/LSTM):

  1. 编码层:将输入字转换为 Word2Vec 向量。
  2. 隐藏层:RNN 捕捉上下文依赖,输出隐藏状态。
  3. 解码层:通过 Softmax 预测下一个字的概率,采样生成诗句。

示例代码框架(伪代码):

python

# 假设已训练好word2vec模型和RNN模型  
def generate_poem(seed_word, length=4):  poem = [seed_word]  for _ in range(length):  # 编码当前序列  vecs = [word2vec[word] for word in poem]  hidden_state = rnn(vecs)  # 预测下一字  next_word = softmax(hidden_state).sample()  poem.append(next_word)  return ''.join(poem)  # 生成示例:以“春”开头的五言绝句  
print(generate_poem('春', 20))  # 输出类似“春眠不觉晓,处处闻啼鸟...”的诗句  

六、结语:从词向量到认知智能的起点

Word2Vec 如同打开自然语言理解的第一扇窗,用简单的架构揭示了语言的数学本质。尽管它存在局限,但作为后续预训练模型(如 BERT、GPT)的基石,其思想深远影响着 NLP 的发展。从古诗生成到智能对话,词向量始终是连接人类语言与机器智慧的桥梁。

思考延伸:如何用 Word2Vec 分析不同诗人的写作风格?多语言场景下,如何让不同语言的词向量 “对话”?欢迎在评论区分享你的想法!

参考资料

  • 《Word2Vec Parameter Learning Explained》(Tomas Mikolov et al.)
  • 《自然语言处理入门》(何晗)
  • Word2Vec 官方实现:gensim 库

相关文章:

机器学习知识自然语言处理入门

一、引言:当文字遇上数学 —— 自然语言的数字化革命 在自然语言处理(NLP)的世界里,计算机要理解人类语言,首先需要将文字转化为数学向量。早期的 One-Hot 编码如同给每个词语分配一个唯一的 “房间号”,例…...

LeetCode 820 单词的压缩编码题解

LeetCode 820 单词的压缩编码题解 题目描述 题目链接 给定一个单词列表,将其编码为一个索引字符串S,格式为"单词1#单词2#…"。要求当某个单词是另一个单词的后缀时,该单词可以被省略。求最终编码字符串的最小长度。 解题思路 逆…...

论信息系统项目的范围管理

论信息系统项目的范围管理 前言一、规划范围管理,收集需求二、定义范围三、创建工作分解结构四、确认范围五、控制范围 前言 为了应对烟草零售客户数量大幅度增长所带来的问题,切实履行控烟履约的相关要求,同时也为了响应国务院“放管服”政策…...

MySQL数据库——支持远程IP访问的设置方法总结

【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! 《项目案例分享》 《极客DIY开源分享》 《嵌入式通用开发实战》 《C语言开发基础总结》 《从0到1学习嵌入式Linux开发》 《QT开发实战》 《Android开发实…...

Pageassist安装(ollama+deepseek-r1)

page-assist网站:https://github.com/n4ze3m/page-assist 首先电脑配置node.js,管理员打开命令窗口输入下面命令下载bun npm install -g buncd 到你想要安装page-assist的地方(推荐桌面) 输入下列命令 git clone https://gith…...

2025年渗透测试面试题总结-安恒[实习]安全服务工程师(题目+回答)

网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 安恒[实习]安全服务工程师 1. SQLMap爆出当前库名的参数是什么? 2. Nmap探测系统的参数&am…...

C#运算符

&#x1f9e0; 一、C# 运算符列表&#xff08;按类别分类&#xff09; 类别运算符一元运算符, -, , --, !, ~, (T) x算术运算符, -, *, /, %赋值运算符, , -, *, /, %, &, 比较/关系运算符, !, <, >, <, >逻辑/布尔运算符&&, 按位运算符&, 条件运…...

五月份嵌入式面试总结

目录 1、札记 1.1、芯片的bring up 主要做哪些工作&#xff1a; 2、Linux驱动八股文 中断与同步互斥 2.1.1 内核同步互斥的几种方式 2.1.2 互斥锁和自旋锁的区别 2.1.3 spin_lock 和 spin_lock_irqsave 的区别 2.1.4 进程上下文和中断上下文有什么区别 2.1.5 进行上下…...

数据库行业竞争加剧,MySQL 9.3.0 企业版开始支持个人下载

最新发现&#xff0c;Oracle 官方网站放开了 MySQL 9.3.0 企业版下载链接&#xff0c;个人用户也可以免费下载&#xff0c;不过只能用于学习、开发或者原型测试&#xff0c;不能用于生产环境。 通常我们都是下载 MySQL 社区版&#xff0c;不过 MySQL 企业版可以支持更多高级功能…...

Python实例题:Django搭建简易博客

目录 Python实例题 题目 1. 创建 Django 项目和应用 2. 配置项目 3. 设计模型 blog_app templates blog_app post_list.html admin.py models.py urls.py views.py blog_project urls.py 代码解释 models.py&#xff1a; admin.py&#xff1a; urls.py&…...

Tcping详细使用教程

Tcping详细使用教程 下载地址 https://download.elifulkerson.com/files/tcping/0.39/在windows环境下安装tcping 在以上的下载地中找到exe可执行文件&#xff0c;其中tcping.exe适用于32位Windows系统&#xff0c;tcping64.exe适用于64位Windows操作系统。 其实tcping是个…...

PyCharm 快捷键指南

PyCharm 快捷键指南 常用编辑快捷键 代码完成&#xff1a;Ctrl Space 提供基本的代码完成选项&#xff08;类、方法、属性&#xff09;导入类&#xff1a;Ctrl Alt Space 快速导入所需类语句完成&#xff1a;Ctrl Shift Enter 自动结束代码&#xff08;如添加分号&#…...

如何更改远程桌面连接的默认端口?附外网访问内网计算机方法

远程连接端口根据协议和场景不同有所差异&#xff0c;以下是常见远程连接端口的设置及修改方法&#xff0c;同时附外网访问内网计算机操作。 一、Windows远程桌面默认端口 ‌默认端口‌&#xff1a;3389&#xff08;TCP协议&#xff09;&#xff0c;用于Windows远程桌面服务&…...

【GAN网络入门系列】一,手写字MINST图片生成

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 博主简介&#xff1a;努力学习的22级本科生一枚 &#x1f31f;​&#xff1b;探索AI算法&#xff0c;C&#xff0c;go语言的世界&#xff1b;在迷茫中寻找光芒…...

ubuntu22鼠键失灵恢复记录笔记chatgpt解决

ChatGPT 说&#xff1a; 你提到“Ubuntu 22 鼠键失灵”&#xff0c;这个问题可能涉及以下几方面&#xff1a; &#x1f9ed; 先确认问题 是鼠标问题还是键盘问题&#xff0c;还是触控板&#xff1f; “鼠键”一般理解为“鼠标键”&#xff0c;请确认你是指鼠标左键/右键失灵&a…...

智能呼入:云蝠大模型赋能政府热线

政府热线作为连接政府与民众的重要桥梁&#xff0c;提升智能化水平&#xff0c;成为政府热线亟待解决的问题。 大模型呼入 大模型呼入技术基于先进的自然语言处理和机器学习算法&#xff0c;能够实现对海量语音数据的处理和理解。通过构建大规模的语言模型&#xff0c;系统可…...

STM32 ADC+DMA+TIM触发采样实战:避坑指南与源码解析

知识点1【TRGO的介绍】 1、TRGO的概述 TRGO&#xff1a;Trigger Output&#xff08;触发输出&#xff09;&#xff0c;是定时器的一种功能。 它可以作为外设的启动信号&#xff0c;比如ADC转换&#xff0c;DAC输出&#xff0c;DMA请求等。 对于ADC来说&#xff0c;可以通过…...

(1-4)Java Object类、Final、注解、设计模式、抽象类、接口、内部类

目录 1. Object类 1.1 equals 1.2 toString&#xff08;&#xff09; 2.final关键字 3.注解 4. 设计模式 4.1 单例模式 4.1.1 饿汉式 4.1.3 饿汉式 VS 懒汉式 5. 抽象类&抽象方法 6. 接口 7.内部类 7.1 成员内部类 7.2 静态内部类 7.3 方法内部类 7.4 匿名内…...

在服务器上安装AlphaFold2遇到的问题(3)_cat: /usr/include/cudnn_version.h: 没有那个文件或目录

[rootlocalhost ~]# cat /usr/include/cudnn_version.h cat: /usr/include/cudnn_version.h: 没有那个文件或目录这个错误表明系统找不到 cudnn_version.h 头文件&#xff0c;说明 cuDNN 的开发文件&#xff08;头文件&#xff09;没有正确安装。以下是完整的解决方案&#xff…...

实验-实现向量点积-RISC-V(计算机组成原理)

目录 一、实验内容 二、实验步骤 三、源代码 四、实现效果 五、实验环境 六、实验小结与思考 一、实验内容 首先&#xff0c;我们用一个简单的“向量点积”运算作为热身。你将拿到一个不完整的汇编代码“task2-向量点积”&#xff0c;我们的目标是按照C语言描述的功能&a…...

5.16本日总结

一、英语 背诵list30&#xff0c;复习list1 二、数学 学习14讲部分内容&#xff0c;订正30讲13讲题目 三、408 学习计网5.3知识点&#xff0c;完成5.1&#xff0c;5.2题目并订正 四、总结 高数对于基本定义概念类题目掌握不好&#xff0c;做题时往往不会下手&#xff0c…...

描述性统计工具 - AxureMost 落葵网

描述性统计工具是用于汇总和分析数据&#xff0c;以更好地了解数据特征的工具1。以下是一些常见的描述性统计工具简介&#xff1a; 描述性统计工具 Excel 基本统计函数&#xff1a;提供了丰富的函数用于计算描述性统计量。例如&#xff0c;AVERAGE 函数用于计算平均值&#xf…...

【AI学习】AI大模型技术发展研究月报的生成提示词

AI大模型技术发展研究月报生成提示词 请输出AI大模型技术发展研究月报&#xff0c;要求如下&#xff1a; —————————— 任务目标 在今天&#xff08;{{today}}&#xff09;往前连续 30 天内&#xff0c;检索已正式公开发表的、与AI大模型&#xff08;参数量 ≥10B&am…...

麒麟桌面系统文件保险箱快捷访问指南:让重要文件夹一键直达桌面!

往期文章链接&#xff1a;统信操作系统自定义快捷键配置音量调节功能指南 Hello&#xff0c;大家好啊&#xff0c;今天给大家带来一篇麒麟桌面操作系统上配置文件保险箱内文件夹桌面快捷方式的文章&#xff0c;欢迎大家分享点赞&#xff0c;点个在看和关注吧&#xff01;在日常…...

LearnOpenGL --- 你好三角形

你好&#xff0c;三角形的课后练习题 文章目录 你好&#xff0c;三角形的课后练习题一、创建相同的两个三角形&#xff0c;但对它们的数据使用不同的VAO和VBO 一、创建相同的两个三角形&#xff0c;但对它们的数据使用不同的VAO和VBO #include <glad/glad.h> #include &…...

从硬件角度理解“Linux下一切皆文件“,详解用户级缓冲区

目录 前言 一、从硬件角度理解"Linux下一切皆文件" 从理解硬件是种“文件”到其他系统资源的抽象 二、缓冲区 1.缓冲区介绍 2.缓冲区的刷新策略 3.用户级缓冲区 这个用户级缓冲区在哪呢&#xff1f; 解释关于fork再加重定向“>”后数据会打印两份的原因 4.内核缓冲…...

【第76例】IPD流程实战:华为业务流程架构BPA进化的4个阶段

目录 简介 第一个阶段,业务流程架构BPA1.0 第二个阶段,业务流程架构BPA2.0 BPA3.0、4.0 作者简介 简介 不管业务是复杂还是简单,企业内外的所有事情、所有业务都最终会归于流程。 甚至是大家经常说的所谓的各种方法论,具体的落脚点还是在流程上。 比如把大象放进冰…...

游戏站的几种形式

游戏站点的主要形式&#xff1a;单品游戏站、游戏盒子站与单类型游戏盒子站 随着互联网的普及和游戏产业的快速发展&#xff0c;游戏站点作为玩家获取游戏资源和信息的重要平台&#xff0c;呈现出多种形式。本文将分析三种常见的游戏站点形式&#xff1a;单品游戏站、游戏盒子站…...

OpenCV 图像透视变换详解

在计算机视觉领域&#xff0c;图像的视角问题常常会影响后续的分析与处理。例如&#xff0c;从倾斜角度拍摄的文档、带有畸变的场景图像等&#xff0c;都需要通过特定的方法进行矫正。OpenCV 作为计算机视觉领域的重要库&#xff0c;提供了强大的图像透视变换功能&#xff0c;能…...

AI日报 - 2024年5月16日

&#x1f31f; 今日概览 (60秒速览) ▎&#x1f916; 大模型前沿 | OpenAI推出GPT-4.1及mini版&#xff0c;专为编码优化&#xff1b;Google DeepMind发布AlphaEvolve&#xff0c;Gemini驱动算法发现。 GPT-4.1提升编码效率与指令遵循&#xff0c;AlphaEvolve在矩阵乘法、数学问…...