文章目录
- word2vec
- GloVe
- 评价词向量
- Intrinsic(内部评价)
- 词义与词义歧义
- Improving Word Representations Via Global Context And Multiple Word Prototypes (Huang et al. 2012)
- Linear Algebraic Structure of Word Senses, with Applications to Polysemy (Arora, …, Ma, …, TACL 2018)
- Extrinsic(外部评价)
- 所有截图来源于CS224N,和文中所提到的博客,感谢他们
word2vec
word2vec的主要思想:
- 对文本中的每个词进行迭代
- 使用词向量预测context words
- 更新词向量来让预测更准确
优化:梯度下降
使用SGD(随机梯度下降)来加快更新速度
- 每次只使用一个window来更新
- 在一个window中,至多只有2m+1个词,所以梯度很稀疏(下图示例为:center word:like,context words:I,learning等)
我们或许只能更新实际出现过的词的词向量
- 解决方法:要么使用稀疏矩阵只更新U和V的特定的行,或者对每个词向量使用hash
- 若词向量数量很多,并且要做分布式计算,最好不要进行巨大的更新
带有负采样的Skip-grams(HW2)
-
softmax的正则化因子(分母)计算消耗巨大
-
带有负采样(negative sampling)的Skip-grams:
训练一对真词(上下文窗口中的中心词和单词)与几个噪声对(中心词和随机词)的二元逻辑回归(在标准的word2vec和HW2中都使用了负采样) -
需要最大化目标函数
-
使用与HW2更类似的符号表示
选取了k个负样例(选取概率为 )- the unigram distribution U(w) raised to the 3/4 power
- The power makes less frequent words be sampled more often
最大化真实上下文词出现在中心词的概率,最小化随机词出现在中心词的概率
为什么不直接统计共现次数
1.采用window方式(即统计word共现)
- window length 1(more common:5-10)
- 得到的词共现矩阵是对称矩阵
- 例子:
- 存在的问题:
- 随着词表的增加而增加
- 维度较高–>需要大量存储空间
- 后续分类模型存在稀疏性问题
- –》模型缺乏鲁棒性
- 解决方法:使用较低纬度的向量
- 想法:将“大多数”重要信息存储在一个固定的、少量的维度中:一个密集的向量
- 通常为25—100维,与word2vec类似
- 如何减小维度:
- 1.奇异值分解(SVD)
- 2.缩放单元格中的计数(Hacks to X (several used in Rohde et al. 2005))
功能词出现太频繁,语法有太大的影响:
- 采用min(X, t), with t ≈100
- 直接忽视掉
- 使用皮尔逊相关代替计数,然后将负值设置为0
对结果的可视化
- 1.奇异值分解(SVD)
2.统计word-document共现矩阵
- Latent Semantic Analysis(潜在语义分析)
Count based vs. direct prediction
- 左边是基于计数的方法的一些特点:训练快、有效利用了统计信息、初步统计了词的相似性
- 右边是基于预测的方法的一些特点:可以捕获超出单词相似度的复杂模式
GloVe
此处PPT内比较简介,推荐文章:https://zhuanlan.zhihu.com/p/42073620
- LSA和word2vec作为两大类方法的代表,一个是利用了全局特征的矩阵分解方法,一个是利用局部上下文的方法。
- GloVe模型将这两中特征合并到一起,即使用了语料库的全局统计(overall statistics)特征,也使用了局部的上下文特征(即滑动窗口)。为了做到这一点GloVe模型引入了Co-occurrence Probabilities Matrix。
- 目标函数如下(具体推导见上述推荐博客)
评价词向量
Intrinsic(内部评价)
- 在具体的子任务上评价
- 需要快速计算
- 能够帮助理解这个系统
- 除非与实际任务建立了关联,否则不清楚是否真正有用
词向量类比(Word Vector Analogies)
通过捕获直观的语义和句法类比问题之后的余弦距离来评价词向量
问题:如果信息不是线性的?
GloVe的可视化
类比评价与超参数
- 训练次数越多越好
- 数据越多越好
另一种内部评价
词向量距离及其与人类判断的关系
词义与词义歧义
- 大多数单词含有很多意义
- 一个向量能否捕获所有的意义,或者会将意义搞得一团糟
Improving Word Representations Via Global Context And Multiple Word Prototypes (Huang et al. 2012)
想法:将单词窗口聚集在单词周围,重新训练每个单词,并将其分配给多个不同的集群bank1、bank2等
Linear Algebraic Structure of Word Senses, with Applications to Polysemy (Arora, …, Ma, …, TACL 2018)
- 单词的不同意义存在于标准单词嵌入(如word2vec)中的线性叠加(加权和)中
Extrinsic(外部评价)
- 这门课中所有的下游任务(命名实体识别等等)