词向量(Word Vector)概述
1. 什么是词向量
词向量(Word Vector)或 词嵌入(Word Embedding) 是把自然语言中的词或短语映射到一个低维、连续、稠密的实数向量空间的技术。每个词在向量空间中占据一个点,语义相近的词在几何上距离更近,语义差异大的词则相距更远。这种表示方式克服了传统 one‑hot 编码维度高、稀疏且无法体现词间关系的缺点。
2. 产生词向量的两大思路
思路 | 关键特点 | 代表方法 |
---|---|---|
基于统计计数 | 统计词与词之间的共现频率,随后通过矩阵分解(如 SVD)降维得到稠密向量。 | 共现矩阵、SVD、GloVe |
基于预测模型 | 通过神经网络在大规模语料上学习,使模型能够预测上下文或中心词,从而学习到词向量。 | Word2Vec(CBOW、Skip‑gram)、fastText、ELMo、BERT |
3. 经典静态词向量模型
- Word2Vec(Mikolov 等,2013)
- CBOW:利用上下文词预测中心词。
- Skip‑gram:利用中心词预测上下文。
- 训练得到的每个词只有一个固定向量,无法区分不同语境下的含义。
- GloVe(Global Vectors)
- 直接对全局共现矩阵进行因式分解,兼顾局部上下文和全局统计信息。
- fastText
4. 动态(上下文感知)词向量
传统词向量是 静态 的,即同一个词在所有语境中使用同一向量。近年来出现的 上下文嵌入(contextual embeddings)能够根据句子中的具体上下文实时生成不同的向量,解决了一词多义的问题。
- ELMo:使用双向 LSTM 捕获左、右上下文,生成动态向量。
- BERT(Bidirectional Encoder Representations from Transformers)
- 采用多层 Transformer 编码器,利用自注意力机制对整个序列进行双向建模。
- 同一词在不同句子中会得到不同的向量表示,能够区分“bank”在“river bank”和“financial bank”中的含义。
- 预训练的词向量已经蕴含丰富的语义、句法信息,常用于文本分类、问答、实体识别等下游任务。
5. 词向量的核心属性
- 稠密:向量维度一般在 50–300 之间(传统模型)或 768–1024(BERT 等大型模型),每维都有实际数值。
- 语义相似性:常用余弦相似度衡量词间相似度,近义词、同义词、上下位词的向量距离往往较小。
- 可迁移:预训练词向量可以直接用于不同任务的初始化,加速收敛并提升性能。
6. 主要应用场景
- 词义相似度计算:检索、问答系统中快速判断词义相近程度。
- 文本分类/情感分析:将句子或文档的词向量聚合为特征向量,喂入分类模型。
- 机器翻译:词向量帮助对齐源语言与目标语言的语义空间。
- 信息检索:基于向量空间的相似度搜索,提高检索准确率。
- 命名实体识别、关系抽取:上下文感知的词向量(如 BERT)显著提升实体边界和类别判别能力。
7. 发展趋势与挑战
- 更大规模的预训练模型:如 GPT‑4、ChatGPT 等在词向量层面提供更丰富的上下文信息。
- 跨语言/多语言词向量:通过对齐不同语言的向量空间,实现跨语言检索与翻译。
- 轻量化与实时推理:在移动端或边缘设备上部署压缩版词向量模型,以降低计算成本。
- 解释性:虽然向量能够捕获语义,但每维的具体含义仍不易解释,仍是研究热点。
小结:词向量是自然语言处理的基石技术之一,从最早的统计计数方法到如今的深度上下文模型(如 BERT),它把离散的文字转化为可计算的向量,使机器能够“理解”语言的语义关系。随着模型规模和预训练技术的不断进步,词向量将在更广泛的语言智能任务中发挥核心作用。
声明:文章均为AI生成,请谨慎辨别信息的真伪和可靠性!