Word2Vec(Word to Vector)是 2013 年由 Google 团队提出的无监督词嵌入模型,是一种静态词嵌入技术,核心目标是将自然语言中的离散词汇映射为低维、稠密的实数向量(即 “词向量”),让向量空间的距离和方向能够反映词汇的语义关联(如 “国王” 与 “女王” 的向量差近似 “男人” 与 “女人” 的向量差)。它解决了传统文本表示(如 One-Hot 编码)“维度灾难” 和 “语义孤立” 的问题,成为 现代自然语言处理(NLP)的基础技术之一。
核心背景:为什么需要 Word2Vec?
在 Word2Vec 出现前,主流的文本表示方法存在明显缺陷,无法捕捉语义信息:
- One-Hot 编码:将每个词表示为长度等于词汇表大小的向量,仅对应词的位置为 1,其余为 0。
- 缺陷:维度极高(词汇表 10 万则向量长度 10 万)、稀疏性强,且无法体现词与词的语义关联(如 “猫” 和 “狗” 的向量点积为 0,无任何相似性)。
- Bag of Words(词袋模型):统计词在文本中的出现频率,忽略语序和语义。
- 缺陷:同样无法捕捉语义,且 “重要” 和 “不重要” 的词权重无差异(需依赖 TF-IDF 优化,但仍无语义关联)。
Word2Vec 的核心突破是:用低维向量的 “数值关系” 刻画词汇的 “语义关系”,例如:
- 向量计算:vec(国王) - vec(男人) + vec(女人) ≈ vec(女王)
式子变换一下可以这样理解:vec(国王) - vec(女王) ≈ vec(男人) - vec(女人) - 相似性:cos( vec(猫), vec(狗) ) 的值远大于 cos( vec(猫), vec(汽车) )
Word2Vec 算法的两大核心模型(落地的实现技术)
Word2Vec 并非单一模型,而是包含两种互补的无监督学习架构,二者均基于 “上下文与目标词的共现关系”(即 “通过周围词预测中心词,或通过中心词预测周围词”)构建语义关联。
1. CBOW 模型(Continuous Bag of Words,连续词袋模型)
核心思想:用 “上下文词” 预测 “中心词”
例如句子 “我 爱 自然 语言 处理”,若以 “自然” 为中心词,上下文窗口(假设窗口大小为 2)为 “爱” 和 “语言”,CBOW 的任务是:输入 “爱” 和 “语言” 的向量,输出 “自然” 的概率。
模型结构(3 层神经网络)
- 输入层:上下文词的 One-Hot 向量(假设窗口大小为 2,共 2 个向量,每个长度为 V,V 为词汇表大小)。
- 隐藏层:对输入的上下文词向量取平均(或求和),得到一个长度为 N 的向量(N 为词向量维度,通常取 50-300),此层无激活函数。
- 输出层:Softmax 层,输出词汇表中每个词作为 “中心词” 的概率,目标是让真实中心词的概率最大。
特点
- 对小数据集更鲁棒:上下文词的平均操作能降低噪声影响。
- 训练速度更快:每次输入多个上下文词,对高频词的处理更高效。
2. Skip-gram 模型(跳字模型)
核心思想:用 “中心词” 预测 “上下文词”
仍以句子 “我 爱 自然

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



