什么是 word embedding?

最近在学nlp然后看到这个词了wiki的英文解释没太理解,求中文的解释。。
关注者
2,013
被浏览
926,717
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

(基于我之前做的一个slides编写。slides完整版:sites.google.com/site/s


词嵌入最粗浅的理解

o 词映射到低维连续向量(如图)

cat: (-0.065, -0.035, 0.019, -0.026, 0.085,…)

dog: (-0.019, -0.076, 0.044, 0.021,0.095,…)

table: (0.027, 0.013, 0.006, -0.023, 0.014, …)

o 相似词映射到相似方向 -- 语义相似性被编码了

o Cosine相似度衡量方向


词嵌入可以做类比题 o v(“国王”) – v(“王后”) ≈ v(“男”) – v(“女”) o v(“英国”) + v(“首都”) ≈ v(“伦敦”) o 反映出语义空间中的线性关系 o词嵌入编码了语义空间中的线性关系, 向量的不同部分对应不同的语义 o 质疑:然而并没有什么x用? o 两个句子: A含“英国”,“首都”,不含“伦敦”;B含“伦敦” o 所有词的词向量的和表示句子 o 两个句子仍会比较相似

相似词映射到相似方向:为什么 o 基本假设:“相似”词的邻居词分布类似 o 倒推:两个词邻居词分布类似 → 两个词语义相近 o 宠物 主人 喂食 蹭 喵 o 宠物 主人 喂食 咬 汪 o v(“猫”)≈v(“狗”) o Apple: tree red growth design music company engineering executive o v(“apple”)≈v(“orange”), v(“apple”)≈v(“microsoft”)

词嵌入的优点 传统one-hot编码: “天气”: (1,0,0…,0),“气候”: (0,1,0,…0) 权力/的/游戏: (1,0,0,1,1,0,0, …) 冰/与/火/之/歌: (0,1,1,0,0,1,1,…) o 维度高(几千–几万维稀疏向量),数据稀疏 o 没有编码不同词之间的语义相似性 o 难以做模糊匹配 词嵌入: o 维度低(100 – 500维), 连续向量,方便机器学习模型处理 o 无监督学习,容易获得大语料 o 天然有聚类后的效果 o 一个向量可以编码一词多义 (歧义的问题需另外处理) o 罕见词也可以学到不错的表示:“风姿绰约” ≈ “漂亮”


Word2vec 简介

o Mikolov 2013, Distributed Representations of Words and Phrases and their Compositionality

o 使用最广泛的词嵌入方法

o 速度快,效果好,容易扩展

o 原因:简单(Less is more)

Word2vec 模型

o 回归连结函数:

o P(w_k|w_i) \propto \exp(\tilde{v}_{w_k}^T v_{w_i} ) (分母是归一化项,可暂时忽略)

o \tilde{v}_{w_k}v_{w_i} 方向相似: 预测的 P(w_k|w_i)

方向不同: 预测的概率小

o w_k经常出现在w_i周围,P(w_k|w_i) 大,驱使 \tilde{v}_{w_k}v_{w_i} 指向相似方向

o \tilde{v}_{w_i}v_{w_i} 两套词向量,使用时只保留一套

o 没有耗时的矩阵乘,只留一个softmax变换,所以效率高

o 优化用随机梯度递降,罕见词不会主导优化目标

o 罕见词的统计数据噪音(随机性)很大;常用词的统计数据比较稳定,偏差很小

o 与之相对,基于矩阵分解的算法经常被罕见词主导优化目标,导致overfit噪音