Word Embedding

http://blog.csdn.net/joshuaxx316/article/details/54926924

最近一直在调研文本摘要,主题,图像标注和视频摘要方面的基础和相关论文,所以mark一下,积累知识的同时,也便于日后进行分析和总结,毕竟不是搞这个的,有点跨方向了,不过好歹也是机器学习。

我觉得我可以把博客写的系统点,但是我做不到,因为现在脑子里的知识体系不完备。。。所以往后的几篇都会以知识点的形式,一点一点逐一展开

1.Word Embedding

Word Embedding:词嵌入。最简单粗劣的理解就是:将词进行向量化表示,实体的抽象成了数学描述,就可以进行建模,应用到很多任务中,例如比较词语词之间的相似性,可以直接通过向量之间的余弦距离度量来确定。

例如一个词:“苹果”,将其表示成 [0.4, 0.5, 0.9, ...], “香蕉”:[0.3, 0.8, 0.1, ...]。如下图所示,相似的单词就会被投影成相似的角度。对应与one-hot的向量表示,如此表示方式,1.避免大量词汇的数据稀疏性,2.同时对数据进行了降维。3.句子级上的表示,加入了词与词之间的相互关系。

其实word嵌入是一种分布式的特征表述,向量的不同维度用来表征不同特征,不同维度上就代表着不同的语义。例如苹果和红旗都是红色的,苹果和香蕉都是水果。所以编码中编入的信息包含颜色和属性信息的话,则实质上往不同空间维度上投影,则语义相似性度量的结果是不一样的。

下面转载自知乎:

作者:李韶华
链接:https://www.zhihu.com/question/32275069/answer/109446135
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

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

相似词映射到相似方向:为什么 
o 基本假设:“相似”词的邻居词分布类似 
倒推:两个词邻居词分布类似 → 两个词语义相近 
猫 - 宠物主人 喂食 蹭 喵 
狗 - 宠物主人 喂食 咬 汪 
o v(“猫”)≈v(“狗”) 
o Apple: tree red growth design music companyengineering executive
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 罕见词也可以学到不错的表示:“风姿绰约” ≈“漂亮”
原文地址:https://www.cnblogs.com/DjangoBlog/p/8000927.html