一、概念
词向量(Word Vector)或词嵌入(Word Embedding)是自然语言处理(NLP)中的一项文本编码基础技术,它允许我们将自然语言中的词汇表示为实数向量。这些向量通常存在于一个高维空间内,其中每一个维度都可能代表着某种语义属性。通过这种转换,机器学习模型可以捕捉到词语之间复杂的关系,如语义相似性、反义、上下位关系等。
问题
传统的词表示方法,如One-hot编码,虽然简单明了,但存在严重的维度灾难和无法表示词之间语义关系的缺点。例如,对于一个有10,000个唯一词的语料库,One-hot编码会产生一个10,000维的向量,其中99.99%的元素都是0,这造成了极大的存储和计算资源浪费。更重要的是,这种表示方法无法捕获词与词之间的语义关系,每个词都是孤立的。
解决方案
Word Embedding 将类别变量压缩到低维空间(如 50~300 维)。稠密向量包含语义信息(相似事物映射到邻近空间)。减少维度的同时保留关键特征。
核心思想
Word Embedding 数学表示:将每个符号(如单词、商品)映射为一个稠密向量 v i ∈R (d) ,其中 d 是嵌入维度。
语义学习:通过训练使语义相关的符号向量距离更近(如“猫”和“狗”比“猫”和“电脑”更接近)。
上下文感知:在特定任务(如推荐)中,向量会根据上下文动态调整(如用户点击行为影响商品Embedding)。
应用场景
(a) 自然语言处理(NLP)
词嵌入:将单词映射为向量(如 Word2Vec、GloVe、BERT)。
句子嵌入:将整个句子编码为固定长度向量(如 Sentence-BERT)。
(b) 推荐系统
用户Embedding:表示用户兴趣偏好。
商品Embedding:捕获商品属性和语义特征。
跨领域迁移:利用源领域(如市场A)的Embedding初始化目标领域(如市场B)。
(c) 图像处理
像素压缩:将高分辨率图像映射为低维特征向量。
跨模态表示:联合学习图像和文本的共享语义空间。
工作原理
词汇表准备:首先,构建一个包含所有可能单词的词汇表,并为每个词随机赋予一个初始向量。模型训练:通过两种主要方法训练模型——CBOW(Continuous Bag-of-Words)和 Skip-Gram。
- CBOW 方法:利用上下文(周围的词)预测目标词。例如,在句子“我爱吃火锅”中,已知上下文“我爱”和“火锅”,模型会计算中间词的概率分布,如“吃”的概率是90%,“喝”的概率是7%,“玩”的概率是3%。然后使用损失函数评估预测概率与实际概率的差异,并通过反向传播算法调整词向量模型的参数,使得损失函数最小化。
- Skip-Gram 方法:相反,通过目标词预测它的上下文。例如,在句子“我爱吃火锅”中,已知目标词“吃”,模型会预测其上下文词,如“我”和“冰淇淋”。
训练过程:
我们可以将训练词向量模型的过程比作教育孩子学习语言。最初,词向量模型就像一个刚出生的孩子,对词语的理解是模糊的。随着父母在各种场景下不断与孩子交流并进行纠正,孩子的理解也逐渐清晰了,举个例子:
父母可能会说:“天黑了,我们要…”
孩子回答:“睡觉。”
如果答错了,父母会纠正:“天黑了,我们要开灯。”
这个过程中,父母不断调整孩子的理解和反应,类似于通过反向传播算法不断优化神经网络的参数,以更好的捕捉词汇之间的语义关系。