Word2Vec:核心思想

一、 核心思想:分布式表示假设(Distributional Hypothesis)

要理解这个假设,得先搞懂它解决了什么问题 ------在 Word2Vec 出现前,NLP 里词的表示是 One-Hot Encoding(独热编码),这个方法有两个致命缺陷:

  1. 维度爆炸:如果词表有 10 万个词,每个词就是一个 10 万维的向量,只有对应位置是 1,其余全是 0。这种向量太稀疏,计算成本极高。
  2. 无语义关联:独热向量之间的内积为 0,模型完全学不到词与词的关系。比如"苹果"和"香蕉"的向量没有任何相似性,模型不知道它们都是水果。

分布式表示假设 就是为了破解这个困境,它的核心一句话就能说透:

"A word is characterized by the company it keeps."

(词的含义,由它周围的词决定)

举个例子:

  • 句子 1:我爱吃苹果
  • 句子 2:他爱吃香蕉
  • 句子 3:猫爱吃鱼干

"苹果""香蕉""鱼干"的上下文都有"爱吃",所以它们的词向量会比较接近;而"苹果"和"手机"的上下文完全不同(比如"苹果手机"的上下文是"买""用"),词向量就会相差很远。

Word2Vec 做的事,就是把每个词映射成一个低维、稠密的实数向量(比如 100 维) ,这个向量就叫词嵌入(Word Embedding),向量的维度可以自己设定。向量之间的距离(比如余弦相似度)就代表了词的语义相似度------这是它最核心的价值。

二、 两种实现范式:Skip-gram & CBOW

Word2Vec 本质是一个浅层神经网络 ,两种范式的区别,就是训练任务的输入输出反过来了 。我们用同一个简单句子举例:【我 爱 吃 苹果】,设定窗口大小=2(即每个词的上下文是左右各 2 个词,边界不足则补全)。

1. CBOW(Continuous Bag-of-Words,连续词袋模型)
  • 核心逻辑用上下文词的向量,预测中心词
  • 输入:中心词的上下文词向量。比如中心词是"吃",上下文就是"我、爱、苹果" → 把这 3 个词的向量做平均,作为模型输入。
  • 输出:中心词的概率分布 → 模型输出一个和词表大小一样的向量,通过 Softmax 归一化后,概率最高的位置就是预测的中心词。
  • 训练目标:让预测的中心词概率尽可能接近真实值(用交叉熵损失函数)。
  • 特点
    • 训练速度快:上下文词的信息被"平均",计算量小。
    • 低频词更友好:低频词的上下文样本少,但平均后能减少噪声。
2. Skip-gram(跳字模型)
  • 核心逻辑用中心词的向量,预测它的上下文词
  • 输入:中心词的向量。比如中心词是"吃",输入就是"吃"的词向量。
  • 输出:上下文词的概率分布 → 模型输出多个概率分布(对应上下文的每个位置),预测哪些词会出现在中心词周围。
  • 训练目标:让预测的上下文词概率尽可能接近真实值。
  • 特点
    • 训练速度慢:要预测多个上下文词,计算量比 CBOW 大。
    • 高频词生僻词的表示更精准:不会像 CBOW 那样"平均"掉上下文的细节,能学到更细的语义差异。比如能区分"苹果(水果)"和"苹果(手机)"的不同上下文。
两者核心对比表
维度 CBOW Skip-gram
任务逻辑 上下文 → 中心词 中心词 → 上下文
训练速度
适用场景 低频词多、小数据集 高频词多、大数据集
语义表示效果 中等 更优(尤其是多义词)

三、 优缺点分析 & 典型应用场景

1. 优点
  • 轻量高效:模型只有一个输入层、一个隐藏层、一个输出层,训练速度快,即使是百万级词表也能快速训练。
  • 语义关联性强 :生成的词向量支持语义推理 ,经典例子就是向量计算:国王 - 男人 + 女人 = 女王,向量空间中这个等式成立。
  • 迁移性好:可以在大规模通用语料上预训练,然后将词向量迁移到下游任务(比如文本分类、情感分析),作为初始词嵌入,大幅提升下游任务效果。
2. 缺点
  • 静态词向量 :一个词只有一个固定向量,无法处理多义词。比如"苹果"在"吃苹果"和"苹果手机"里的向量是一样的,模型无法区分语义。
  • 依赖窗口大小:窗口太小会漏掉长距离上下文,窗口太大会引入噪声,且窗口大小是固定的,无法自适应不同词的上下文范围。
  • 忽略语序:CBOW 是"词袋模型",上下文词的顺序不影响输入(比如"我 爱 吃"和"吃 爱 我"的输入是一样的),这不符合语言的时序逻辑。
  • 对生僻词/未登录词(OOV)处理差:训练语料里没出现过的词,无法生成词向量。
3. 典型应用场景
  • 下游 NLP 任务的预训练词嵌入:这是最核心的用途。比如在做文本分类、命名实体识别、机器翻译时,先用 Word2Vec 预训练词向量,再喂给 RNN/LSTM 等模型,比随机初始化词向量效果好得多。
  • 词相似度计算 & 同义词检索:比如搜索引擎里,输入"汽车",能推荐"轿车""车辆"等近义词。
  • 类比推理 & 语义聚类:比如教育领域的词汇分类(把"苹果、香蕉"归为水果类),或者知识图谱的实体关系挖掘。
  • 简单的文本相似度计算:比如比较两个句子的相似度,可以把句子里的词向量平均,再计算余弦相似度。

相关推荐
汤姆yu2 小时前
基于深度学习的交通标志识别系统
人工智能·深度学习
南方略咨询2 小时前
南方略咨询:环保行业进入深水区,营销管理能力正在拉开企业差距
大数据·人工智能
小鸡吃米…2 小时前
机器学习 - Python 库
人工智能·python·机器学习
Brduino脑机接口技术答疑2 小时前
TDCA 算法在 SSVEP 场景中的 Padding 技术:原理、应用与工程实现
人工智能·算法·机器学习·数据分析·脑机接口
TOPGUS2 小时前
深圳SEO大会深度复盘:验证趋势,洞见未来! —— by Daniel
人工智能·搜索引擎·ai·chatgpt·seo·网络营销
FPGA_ADDA2 小时前
ORIN+FPGA 高速采集AI 智能处理板
人工智能·fpga开发
mubei-1232 小时前
DPR:用于开放域问答的密集段落检索
人工智能·llm·检索增强生成·文本检索算法
GAOJ_K2 小时前
滚柱导轨精度等级如何匹配应用场景?
人工智能·科技·机器人·自动化·制造
RPA机器人就选八爪鱼2 小时前
RPA在银行IT运维领域的应用场景与价值分析
大数据·运维·数据库·人工智能·机器人·rpa