3.2 词嵌入 Word Embeddings


3.2 词嵌入 Word Embeddings

本节摘要:SOURCE 3.2 介绍 Word2Vec(Skip-gram/CBOW)、GloVe 与 FastText——静态嵌入时代。相似词在向量空间中距离更近,但一词一向量无法处理多义词。

本节导航

  1. 区分 Skip-gram 与 CBOW 训练目标
  2. 说明 FastText 子词如何解决 OOV
  3. 将预训练嵌入接入 TextCNN/LSTM

一、静态嵌入原理

模型 思想 特点
Word2Vec Skip-gram 用中心词预测上下文 适合稀有词
Word2Vec CBOW 用上下文预测中心词 训练更快
GloVe 全局共现矩阵分解 利用统计信息
FastText 子词 n-gram 求和 OOV 友好

二、使用预训练向量

# 概念:词向量查表 import numpy as np def doc_embedding(tokens, table, dim=300): vecs = [table[t] for t in tokens if t in table] return np.mean(cs, axis=0) if (vecs := vecs) else np.zeros(dim)

SOURCE:中文可用腾讯 AI Lab、搜狗等预训练;英文常用 GloVe 840B。

三、静态嵌入局限

「苹果」在「吃苹果」与「买苹果股票」中向量相同——这是 ELMo/BERT 上下文嵌入 要解决的问题。

⚠️ 常见坑:在情感任务直接用通用新闻语料向量——领域词「续航」「发货」语义偏移。

💡 关键直觉:静态嵌入是 2013–2017 时代的核心跃迁,今天常作 baseline 或轻量方案。

一节小结

  • Word2Vec/GloVe/FastText 将词映射到稠密空间
  • FastText 子词缓解 OOV
  • 文档向量常用词向量平均
  • 多义词局限推动上下文模型

深化:训练词向量的工程细节

Word2Vec 训练的目标是让「语境相似的词」在向量空间里距离相近。Skip-gram 用中心词预测上下文,适合稀有词;CBOW 用上下文预测中心词,训练更快。工程上有几个参数直接决定质量:窗口大小控制上下文范围,一般 5 到 10;维度一般 100 到 300;负采样数量影响训练速度与质量;迭代次数不能太少也不能过拟合语料。训练完成后常用的验证方式有两种:相似词检索与类比推理,例如「国王 减 男人 加 女人 约等于 王后」。

中文预训练向量的语料来源很关键。通用新闻语料训练的向量,对「续航」「掉帧」这类产品领域词覆盖差,甚至没有对应向量;领域项目建议在通用向量基础上,用自有语料增量训练(热启动继续训练),或者直接训练领域向量。判断质量不能只看损失下降,要人工抽样相似词:把「续航」的最相近几个词打印出来看是否合理。

用词向量做文档向量时,朴素做法是取词向量平均,短文档容易被长文档稀释;改进做法是 TF-IDF 加权平均,或对句子用平滑逆频率方法。把词向量平均后喂给线性模型,往往是深度学习之前非常划算的基线,且自带一定语义信息。

需要警惕两个误区:一是把预训练向量当成「即插即用」——向量本身不带标注信息,它只提供语义先验,最终分类任务仍要靠标注数据训练分类器;二是直接比较不同维度训练的向量——维度不同的向量空间不可直接比对,先统一维度再说。此外,把词向量接进 TextCNN/LSTM 时,嵌入层一般冻结或低学习率微调,防止训练前期梯度把预训练信息冲掉;这也解释了为什么小数据微调大模型容易崩——特征还没学会,先破坏了先验。

可解释性上,词向量的主要用途是发现「语义相近但业务上需区分」的词——例如「好评」与「正评」相近,但业务标签可能不同。遇到这种情况,说明类别体系或预处理有冗余,应回到第 1 章去修标签,而不是在模型层硬掰。这个工作流让词向量不仅是训练原料,也是诊断工具。

from gensim.models import Word2Vec # 训练自己的词向量(示例,中文语料需先分词) sentences = [["手机", "屏幕", "很", "清晰"], ["电池", "续航", "一般"]] model = Word2Vec(sentences, vector_size=300, window=5, min_count=2, sg=0) sims = model.wv.most_similar("续航", topn=5) # 相似词抽样
参数 推荐值 影响
vector_size 100–300 容量 vs 训练量
window 5–10 上下文范围
sg 0/1 CBOW / Skip-gram
min_count 2–5 滤低频噪声

词向量的可视化与业务诊断

训练完词向量,用降维可视化看一眼整体结构,是成本最低的诊断手段。

# 概念:词向量降维可视化示意 # model.wv.vectors → PCA 降到二维 → 散点图 # 用不同颜色标注业务关键词,检查是否聚簇

检查要点:领域词(如「续航」「发货」)是否聚在一起;否定词与情感词是否被区分开;同义词是否相近。如果「好评」与「差评」距离很近,说明训练语料或预处理有问题,先排查再继续。可视化的价值不在「好看」,而在于快速暴露「语料偏差」与「标注体系问题」,是连接 3.2 与第 5 章错误分析的桥梁。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U