词训练上下文预测方法
2026-01-25
论文阅读
00

目录

核心思想:一个词由其上下文定义
经典方法:Word2Vec 的两种模式
1. 连续词袋模型
2. 跳字模型
关键训练技术:负采样
训练流程总结
从Word2Vec到BERT的演进
总结

您提到的“上下文预测”任务,是词向量(如Word2Vec)和现代预训练模型(如BERT)最核心的训练思想之一。它本质上是一种自监督学习——从文本数据自身构造监督信号,无需人工标注。

这个任务通常通过两种经典模型架构实现:CBOWSkip-gram。下面我详细解释一下它们的训练过程。

核心思想:一个词由其上下文定义

“上下文预测”基于一个语言学假设:出现在相似上下文中的词,其语义也相似。模型通过让神经网络学会预测上下文词或中心词,从而将词的语义信息编码到低维稠密向量(即词向量)中。


经典方法:Word2Vec 的两种模式

1. 连续词袋模型

用上下文词预测中心词。

训练过程:

  • 输入:目标词周围固定窗口内的所有上下文词(例如,窗口大小为2,则取前后各2个词)。
  • 模型结构
    • 有一个输入层(上下文词的one-hot向量)、一个投影层(共享的嵌入矩阵,用于查找词向量)和一个输出层(通过softmax预测中心词)。
    • 上下文词的词向量在投影层取平均或求和,得到一个组合的上下文向量。
  • 输出:模型预测这个组合向量对应中心词的概率分布。
  • 训练目标:最大化正确中心词的对数概率。通过反向传播,同时更新输入和输出层的词向量

示例: 句子:"The quick brown fox jumps",中心词 = "brown",窗口=2。

  • 输入:["The", "quick", "fox", "jumps"] 的one-hot向量。
  • 模型学习:当看到 [quick, fox] 这样的上下文时,中心词很可能是 "brown"

2. 跳字模型

用中心词预测周围上下文词。

训练过程

  • 输入:中心词的one-hot向量。
  • 模型结构:与CBOW类似,但方向相反。中心词通过嵌入层得到其词向量,然后用于预测窗口内每个上下文词。
  • 输出:对窗口内每个位置,模型输出一个概率分布,表示该位置是某个词的概率。
  • 训练目标:最大化所有上下文词的对数概率之和。由于要预测多个词,计算量通常比CBOW大,但对低频词效果更好。

示例: 中心词 = "brown",窗口=2。

  • 模型学习:当中心词是 "brown" 时,周围应该出现 "quick""fox" 等词。

关键训练技术:负采样

由于词汇表可能非常大(数万到数十万词),计算完整的softmax(即对每个词都计算概率)非常耗时。负采样 是解决此问题的关键技术。

负采样的思想

  • 将“预测中心词/上下文词”的多分类问题,转化为“判断词对是否相关”的二分类问题
  • 对于每个训练样本(中心词,上下文词):
    • 将这对词作为正样本(标签为1)。
    • 从词汇表中随机采样K个(通常5-20个)与中心词不相关的词,与中心词组成负样本(标签为0)。
  • 模型训练一个二分类器(通常是一个逻辑回归层),判断一个(中心词,候选词)对是否来自真实的上下文。

优势:计算量从O(V)(V是词汇表大小)降低到O(K+1),训练速度大幅提升,且效果通常更好。


训练流程总结

  1. 数据准备:从大规模语料库中获取句子,进行分词等预处理。
  2. 构建训练样本:对每个词,根据窗口大小,生成(上下文,中心词)对(CBOW)或(中心词,上下文)对(Skip-gram)。
  3. 模型前向传播:通过嵌入层查找词向量,进行平均或拼接等操作,得到上下文或中心词的表示。
  4. 计算损失
    • 如果是原始softmax,计算交叉熵损失。
    • 如果使用负采样,计算二分类交叉熵损失(正样本和K个负样本)。
  5. 反向传播与优化:通过梯度下降(如SGD)更新模型参数,最重要的是更新嵌入矩阵(即词向量表)
  6. 输出:训练完成后,嵌入矩阵的每一行就是一个词的词向量。这些向量在向量空间中,语义相似的词会彼此靠近。

从Word2Vec到BERT的演进

Word2Vec的“上下文预测”是静态的(一个词只有一个向量)。后续的模型(如ELMo、BERT)将其发展为动态上下文预测

  • BERT:使用Transformer编码器,通过掩码语言模型任务进行训练。随机遮盖句子中的一些词(如15%),让模型根据双向上下文来预测被遮盖的词。这使得每个词的表示会根据上下文动态变化,能更好地处理一词多义。

总结

“上下文预测”任务通过让模型学习词语之间的共现规律,将语义和语法信息编码到稠密向量中。其成功得益于:

  1. 简单的自监督目标:从无标注文本中自动生成标签。
  2. 高效的优化技术:如负采样。
  3. 分布式假设:语义由上下文决定,这一语言学基础坚实可靠。

正是通过这种看似简单的预测任务,模型学会了词语的深层语义,为后续所有NLP任务奠定了基础。

本文作者:cc

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!