Type: concept
Confidence: 0.90
Created: 2026-04-18
Updated: 2026-04-18
Tags: 机器学习深度学习NLP词嵌入

Skip-gram

概述

Skip-gram 是 Word2Vec 的核心架构之一,通过中心词预测上下文窗口内的词,学习稠密低维的词向量表示。

关键内容

工作原理

给定上下文窗口大小(如 window_size=2):

句子:我 爱 [北京] 天安门
              ↑ 中心词

目标:最大化 P(我|北京) · P(爱|北京) · P(天安门|北京)

网络结构: 1. 中心词 → Embedding 层(300维)→ 隐向量 v 2. 隐向量 v → 输出层 + Softmax → 词表上的概率分布

与 CBOW 的对比

特性 Skip-gram CBOW
预测方向 中心词 → 上下文 上下文 → 中心词
训练速度 较慢 较快
低频词效果 更好 较差
适用场景 生僻词、罕见词 通用语料

Skip-gram 对低频词和生僻词效果更好,是《Efficient Estimation of Word Representations in Vector Space》论文的重点推荐模型。

训练优化

PyTorch 实现要点

class Word2VecSkipGram(nn.Module):
    def __init__(self, vocab_size: int, embed_dim: int = 300):
        # 中心词嵌入矩阵(输入矩阵)
        self.center_embed = nn.Embedding(vocab_size, embed_dim, sparse=True)
        # 上下文词嵌入矩阵(输出矩阵)
        self.context_embed = nn.Embedding(vocab_size, embed_dim, sparse=True)

来源

相关