不可思议的Word2Vec系列一数学原理

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介:

对于了解深度学习、自然语言处理NLP的读者来说,Word2Vec可以说是家喻户晓的工具,尽管不是每一个人都用到了它,但应该大家都会听说过它——Google出品的高效率的获取词向量的工具。

I. Word2Vec不可思议?

大多数人都是将Word2Vec作为词向量的等价名词,也就是说,纯粹作为一个用来获取词向量的工具,关心模型本身的读者并不多。可能是因为模型过于简化了,所以大家觉得这样简化的模型肯定很不准确,所以没法用,但它的副产品词向量的质量反而还不错。没错,如果是作为语言模型来说,Word2Vec实在是太粗糙了。

但是,为什么要将它作为语言模型来看呢?抛开语言模型的思维约束,只看模型本身,我们就会发现,Word2Vec的两个模型 —— CBOW和Skip-Gram —— 实际上大有用途,它们从不同角度来描述了周围词与当前词的关系,而很多基本的NLP任务,都是建立在这个关系之上,如关键词抽取、逻辑推理等。这几篇文章就是希望能够抛砖引玉,通过介绍Word2Vec模型本身,以及几个看上去“不可思议”的用法,来提供一些研究此类问题的新思路。

说到Word2Vec的“不可思议”,在Word2Vec发布之初,可能最让人惊讶的是它的Word Analogy特性,即诸如 king-man ≈ queen-woman 的线性特性,而发布者Mikolov认为这个特性意味着Word2Vec所生成的词向量具有了语义推理能力,而正是因为这个特性,加上Google的光环,让Word2Vec迅速火了起来。但很遗憾,我们自己去训练词向量的时候,其实很难复现这个结果出来,甚至也没有任何合理的依据表明一份好的词向量应该满足这个Word Analogy特性。不同的是,这里笔者介绍的若干个用途,可复现性是非常高的,读者甚至在小语料中训练一个Word2Vec模型,然后也能取到类似的结果。

II. 数学原理:网络资源

有心想了解这个系列的读者,有必要了解一下Word2Vec的数学原理。当然,Word2Vec出来已经有好几年了,介绍它的文章数不胜数,这里我推荐peghoty大神的系列博客:
http://blog.csdn.net/itplus/article/details/37969519
另外,本博客的《词向量与Embedding究竟是怎么回事?》也有助于我们理解Word2Vec的原理。

为了方便读者阅读,我还收集了两个对应的PDF文件:
word2vector中的数学原理详解.pdf
Deep Learning 实战之 word2vec.pdf
其中第一个就是推荐的peghoty大神的系列博客的PDF版本。当然,英文好的话,可以直接看Word2Vec的原始论文:

[1] Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. Efficient Estimation of Word Representations in Vector Space. In Proceedings of Workshop at ICLR, 2013.

[2] Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg Corrado, and Jeffrey Dean. Distributed Representations of Words and Phrases and their Compositionality. In Proceedings of NIPS, 2013.

但个人感觉,原始论文并没有中文解释得清晰。

III. 数学原理:简单解释

简单来说,Word2Vec就是“两个训练方案+两个提速手段”,所以严格来讲,它有四个备选的模型。

两个训练方案分别是CBOW和Skip-Gram,如图所示
Word2Vec的两个模型.png
用通俗的语言来说,就是“周围词叠加起来预测当前词”( P ( w t | C o n t e x t ) )和“当前词分别来预测周围词”( P ( w o t h e r s | w t ) ),也就是条件概率建模问题了;两个提速手段,分别是层次Softmax和负样本采样。层次Softmax是对Softmax的简化,直接将预测概率的效率从 O ( | V | ) 降为 O ( log 2 | V | ) ,但相对来说,精度会比原生的Softmax略差;负样本采样则采用了相反的思路,它把原来的输入和输出联合起来当作输入,然后做一个二分类来打分,这样子我们可以看成是联合概率 P ( w t , C o n t e x t ) P ( w o t h e r s , w t ) 的建模了,正样本就用语料出现过的,负样本就随机抽若干。更多的内容还是去细看peghoty大神的系列博客比较好,我也是从中学习Word2Vec的实现细节的。

最后,要指出的是,本系列所使用的模型是“Skip-Gram + 层次Softmax”的组合,也就是要用到 P ( w o t h e r s | w t ) 这个模型的本身,而不仅仅是词向量。所以,要接着看本系列的读者,需要对Skip-Gram模型有些了解,并且对层次Softmax的构造和实现方式有些印象。

目录
相关文章
|
3月前
|
存储 安全 数据挖掘
Python 面向对象编程(OOP)零基础全教程
本教程来源:http://dnuhf.cn深入浅出讲解Python面向对象编程(OOP):从类与对象的本质区别(模板vs实例),到属性、方法、构造函数`__init__`;涵盖封装(私有属性)、继承(代码复用)、多态(统一接口不同实现)三大特性,以及类方法、静态方法等核心概念,配大量生活化示例和可运行代码,零基础也能轻松掌握。
|
机器学习/深度学习 人工智能 自然语言处理
DAPO: 面向开源大语言模型的解耦裁剪与动态采样策略优化系统
DAPO(Decoupled Clip and Dynamic Sampling Policy Optimization)是由字节跳动提出的一种突破性的开源大语言模型强化学习系统。基于Qwen2.5-32B基础模型,DAPO在AIME 2024测试中以50分的优异成绩超越了现有最佳模型,
1655 6
DAPO: 面向开源大语言模型的解耦裁剪与动态采样策略优化系统
|
10月前
|
边缘计算 资源调度 监控
无人机边缘计算中的计算卸载——Stackelberg博弈方法研究(Matlab代码实现)
无人机边缘计算中的计算卸载——Stackelberg博弈方法研究(Matlab代码实现)
514 3
|
机器学习/深度学习 人工智能 IDE
《全球机器学习技术大会:阿里云张玉明解密通义灵码AI程序员》
4月18日至19日,2025全球机器学习技术大会(ML-Summit)在上海成功举办。大会聚焦人工智能与机器学习前沿技术,吸引了众多行业精英参与。阿里巴巴高级技术专家张玉明以“通义灵码 AI 程序员解密”为主题发表演讲,分享了AI辅助编程工具如何重塑软件开发范式。通义灵码通过大模型和Agent技术,实现从辅助编码到对话式编程的跨越,未来将进入AI自主编程阶段。张玉明还介绍了通义灵码的核心技术架构及典型应用场景,并展望了智能编程的未来发展。
|
7月前
|
传感器 人工智能 算法
餐饮配送机器人核心技术解析与选型
餐饮行业面临“三高一低”困境,送餐机器人凭借高效配送、智能交互与数据能力,成为降本增效刚需。融合SLAM导航、预测避障、大模型交互与车规级底盘,实现厘米级定位、主动揽客与无感取餐。猎户星空、擎朗、普渡等品牌各具优势,推动餐厅数字化升级。
573 0
|
存储 Java 数据库
Spring Boot 注册登录系统:问题总结与优化实践
在Spring Boot开发中,注册登录模块常面临数据库设计、密码加密、权限配置及用户体验等问题。本文以便利店销售系统为例,详细解析四大类问题:数据库字段约束(如默认值缺失)、密码加密(明文存储风险)、Spring Security配置(路径权限不当)以及表单交互(数据丢失与提示不足)。通过优化数据库结构、引入BCrypt加密、完善安全配置和改进用户交互,提供了一套全面的解决方案,助力开发者构建更 robust 的系统。
507 0
|
8月前
|
搜索推荐 安全 数据可视化
智慧随访系统,随访系统源码,多渠道随访、智能提醒、表单模板库与满意度调查
诊后随访管理系统通过信息化手段,实现患者出院后的全流程健康管理。系统基于模块化架构,集成HIS/EMR数据,支持多渠道随访、智能提醒、表单模板库与满意度调查,提供从计划制定、执行记录到统计分析的一体化解决方案,提升医疗连续性与服务质量。
474 0
快手私信群发工具,自动批量发送私信脚本插件,导入ID自动关注收藏点赞
这是一款快手自动化营销工具源码,支持精准私信、关注与互动。通过模拟点击和消息发送,可实现全自动打招呼功能
|
消息中间件 人工智能 运维
12月更文特别场——寻找用云高手,分享云&AI实践
我们寻找你,用云高手,欢迎分享你的真知灼见!
4424 101
|
存储 小程序 API
深入调查研究Memos
【11月更文挑战第1天】
810 7