词向量Word Embedding

本文深入探讨词向量,包括one-hot编码的局限、统计语言模型如Ngram和SVD,重点讲解Word2vec的CBOW与Skip-gram模型,以及解决维度灾难的方法如负采样和层次softmax。还提到了GLOVE算法,它是SVD与Word2vec的结合,用于改进词向量表示。最后讨论了词向量评估、训练过程和面试中可能遇到的相关问题。
摘要由CSDN通过智能技术生成

词向量

词向量做的事情就是将词表中的单词映射为实数向量。

one-hot编码

one-hot对每个词进行编号,假设词表的长度为n,则对于每一个词的表征向量均为一个n维向量,且只在其对应位置上的值为1,其他位置都是0。
问题:
1.有序性问题:它无法反映文本的有序性。
2.语义鸿沟:其无法通过词向量来衡量相关词之间的距离关系,无法反映词之间的相似程度。
3.维度灾难:高维情形下将导致数据样本稀疏,距离计算困难,这对下游模型的负担是很重的。

统计语言模型

从统计语言模型开始,来解决无序性的这个问题。

Ngram模型

问题
1.由于参数空间的爆炸式增长,它无法处理更长程的context(N>3);
2.它虽然可以描述上下文之间的概率关系,但这种处理方式本质的数学的形式仍是一个个离散的one-hot向量,或者说Ngram仅仅解决了文本之间的转移概率的问题,并没有解决文本本身的表征问题。无法表述两个词之间的相似性。
我们知道one-hot向量的长度对应于整个词表的长度。在动辄上完甚至上百万的实际应用中,这样的表征方法将面临巨大的维度灾难问题。

分布式表征

解决维度灾难的问题。使用稠密连续向量表征文字
词袋假说(Bag of Words Hypothesis)
矩阵的行对应词典里的一个word;矩阵的列对应训练语料里的一篇文档;矩阵里的元素代表着word在文档 中出现的次数(或频率)。那么,我们就可以提取行向量做为word的语义向量,或者提取列向量作为文档的主题向量。
分布假说(Distributional Hypothesis)
基于Distributional Hypothesis构造一个word-context的矩阵。此时,矩阵的列变成了context里的word,矩阵的元素也变成了一个context窗口里word的共现次数。
用SVD算法表征的词向量就是Bag of Words Hypothesis,而word2vec算法是基于Distribut

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值