一、词向量的本质与核心作用
词向量是自然语言处理中用于将语言符号(词语)转化为连续稠密向量的技术,其核心思想是通过数学空间中的向量表示,捕捉词语的语义和语法信息,解决传统离散表示(如 one-hot 编码)的 "维数灾难" 和 "语义鸿沟" 问题。
核心作用:
- 语义建模:相似语义的词语在向量空间中距离相近(如 "国王" 与 "女王"、"苹果" 与 "香蕉")。
- 特征表示:为 NLP 任务(如文本分类、机器翻译、命名实体识别等)提供低维、稠密的特征输入。
- 语言理解基础:是预训练模型(如 BERT、GPT)的底层技术支撑。
二、词向量的发展历程与经典模型
1. 早期离散表示(One-Hot Encoding)
- 特点:每个词语用唯一的高维稀疏向量表示(如词典大小为 10 万时,向量维度为 10 万)。
- 缺点 :
- 无法体现词语间的语义关联(如 "猫" 和 "狗" 的向量正交,相似度为 0)。
- 维度过高导致计算效率低下。
2. 分布式表示(Distributed Representation)的兴起
通过上下文预测建模,将词语映射到低维连续空间,典型模型包括:
(1)Word2Vec(Mikolov et al., 2013)
- 核心思想:通过词语的上下文预测其本身(CBOW 模型)或通过词语预测其上下文(Skip-gram 模型),利用浅层神经网络训练向量。
- 训练技巧 :
- 负采样(Negative Sampling):减少训练时的计算量。
- 层次 Softmax(Hierarchical Softmax):利用霍夫曼树优化分类过程。
- 优势:首次实现高效的词向量训练,向量具备可解释的语义结构(如 "国王 - 男人 + 女人 ≈ 女王")。
(2)GloVe(Global Vectors for Word Representation, Pennington et al., 2014)
- 核心思想:结合全局词共现统计(如共现矩阵)与局部上下文窗口,通过最小化加权最小二乘损失训练向量。
- 公式:\(\text{log}(X_{ij}) = \mathbf{u}_i^\top \mathbf{v}j + b_i + b_j\) 其中 \(X{ij}\) 表示词语 i 出现在词语 j 上下文中的次数。
- 优势:融合全局统计信息,在类比推理任务中表现优异。
(3)FastText(Joulin et al., 2016)
- 创新点:引入子词(Subword)单元(如 "apple" 拆分为 "app""ple"),解决未登录词(OOV)问题。
- 应用场景:适合处理形态丰富的语言(如土耳其语、德语)或词汇量极大的场景。
3. 上下文敏感的动态词向量
早期词向量为静态表示(一词一向量),无法处理多义词。动态词向量根据上下文生成不同表示:
(1)ELMo(Embeddings from Language Models, Peters et al., 2018)
- 方法:通过双向 LSTM 预训练语言模型,生成包含上下文信息的词向量(如 "bank" 在 "河岸" 和 "银行" 中表示不同)。
- 特点:基于预训练 + 微调模式,开启 NLP 预训练时代。
(2)BERT(Bidirectional Encoder Representations from Transformers, Devlin et al., 2019)
- 核心:使用 Transformer 编码器捕捉双向上下文,通过掩码语言模型(MLM)和下一句预测(NSP)预训练。
- 影响:动态词向量成为主流,推动 NLP 任务性能大幅提升。
三、词向量的关键技术特性
-
向量空间的几何意义
- 余弦相似度(Cosine Similarity)常用于衡量词语相关性,公式:\(\text{sim}(\mathbf{u}, \mathbf{v}) = \frac{\mathbf{u} \cdot \mathbf{v}}{\|\mathbf{u}\| \|\mathbf{v}\|}\)
- 向量运算可反映语义关系,如: 向量差:"国王" - "男人" + "女人" ≈ "女王"。
-
维度选择
- 常见维度:50、100、300(需平衡计算效率与表达能力)。
- 低维向量适合轻量级任务,高维向量可捕捉更复杂语义。
-
评估指标
- 内在评估:类比推理(如 "中国 - 北京" 对应 "日本 - 东京")、词语相似度排名。
- 外在评估:在具体 NLP 任务(如情感分析)中的性能表现。
四、词向量的应用场景
-
基础 NLP 任务
- 文本分类:将句子中词语的向量平均或拼接作为特征输入分类器。
- 命名实体识别(NER):结合词向量与 CRF 模型识别实体边界。
-
生成任务
- 机器翻译:源语言词向量经编码器生成上下文向量,解码器生成目标语言。
- 文本生成:GPT 等模型基于动态词向量生成连贯文本。
-
跨语言处理
- 跨语言词向量(如 mBERT)可对齐不同语言的语义空间,支持零样本翻译。
五、挑战与前沿发展
-
挑战
- 多语言鸿沟:资源稀缺语言的词向量质量低。
- 时效性:静态词向量难以捕捉新词(如网络流行语)和领域特定术语。
- 可解释性:向量空间的语义映射缺乏明确的物理意义。
-
前沿方向
- 动态词向量的优化:如 GPT-4、LLaMA 等大模型进一步提升上下文理解能力。
- 图结构词向量:结合知识图谱(如 WordNet)注入结构化语义。
- 少样本 / 无监督学习:通过对比学习(Contrastive Learning)实现低资源场景的词向量训练。
六、工具与资源推荐
- 训练工具 :
- TensorFlow/PyTorch:自定义词向量训练框架。
- SpaCy/Flair:预训练词向量库,支持多语言。
- 预训练模型库 :
- Hugging Face Transformers:包含 BERT、GPT 等模型的词向量接口。
- FastText 官方预训练向量:支持 100 + 语言,可直接下载使用。