开篇Richard教授总结了深度学习如何应用于NLP领域,包括:
详细请参考:斯坦福大学NLP-cs224课程笔记1:应用深度学习到自然语言处理简介
在第一堂课中,Richard教授留了3门课外阅读材料,线性代数,概率统计,凸优化,大神推荐的材料每门都浓缩到只有10页左右,但基本都包括了重要知识点。接下来,边学边结合这些资料,应该效果会更好,如有需要在后台回复:math.
接下来,跟随Richard一起学习NLP之词向量模型,词向量模型是将词语表达为数值向量的过程,这是进行数值计算的前提,也是NLP工作开展的第一步。
one-hot 数值表达单词的方法很直接,将此库单词数标记为向量的长度,每个词向量的分量只有一个为1,其余全为0,1的位置对应该词在词典的位置,比如:
adore 表示为 [ 0,0,0,1,...,0,0 ]
respect 表示为 [ 0,1,0,0,...,0,0 ]
这种表示方法的优点是简洁,每个词分配一个编号,比如 adore 编号为102,respect 编号为34214,配合最大熵,SVM等算法可以完成NLP的一些任务。但缺点也很明显:
一个单词的意思总是通过与它邻近的那些单词定义,这是NLP中最成功的idea之一。当一个单词 w 出现在文本中,w 的上下文就是在fixed-size窗口内的单词集合,例如 w 为 banking 时,它的语义可以通过以下三个句子的 banking 的上下文推断。
正是通过单词 w 的上下文确定 w 意思的想法,才有了下面的分布的、稠密的词向量表达,克服了 one-hot 表达的缺点。
基于此想法构建 w 的词向量,同 w 有相似上下文的那些单词,也会与 w 有相似的词向量,如 linguistics 表达为:[ 0.286 0.792 −0.177 −0.107 0.109 −0.542 0.349 0.271 ],注意无特殊说明,向量一般都指列向量。
有时也称 word vectors 为 word embeddings, 或 word resprensentations.
Mikolov et al. 2013 利用单词的意思通过其上下文确定的思想,开源了一个学习词向量的框架:Word2vec 模型。Word2vec 的主要思想:
当文本扫描到位置 t 即单词 into 时,假定上下文窗口尺寸定义为 2 ,into 的上下文为前、后共 4 个位置,分别计算 4 个概率 : P(Wt+j | Wt)
下一个位置上的单词为 banking,同样计算 4 个概率:
更一般地,在已知中心词 wj 和 wj 的上下文窗口尺寸为 m 下,预测 wj 的上下文窗口的单词集合,即求窗口内几个单词都出现的概率,如下,T 为整个文本的单词个数,参数 theta 就是需要求解优化的参数:
最大似然估计的目标函数与线性回归、逻辑回归的一致,详细推导过程可以参考之前推送(后台回复 9 ),如下,即求目标函数的最小值:
目标函数中参数 theta 是待求解的,但是概率 P 是需要提前求解的,如何求解呢?
在这个模型中,处于文本中的每一个单词要么是中心词,要么是上下文,每个单词 w 用 2 个向量来表达:
然后,对于中心词 c 和上下文词 o,给定 c 时 o 出现的概率可以表达为一个 softmax 函数:
分子中向量 Vw 和 Uw 相似性(相关性)越大,则分子越大;分母取e后,相当于对文本中的所有单词进行了正则处理。
可以用梯度下降求解目标函数中的参数,依次扫描每一个窗口,分别求出中心词的梯度及上下文窗口的梯度,同时更新本窗口的参数,如下所示当扫描到中心词 banking 时的场景。关于这部分内容,仍然参考之前推送(后台回复 9 )
截止目前,我们都是已知中心词预测上下文单词,这就是 Skip-grams (SG) 模型;反过来,如果已知上下(bag of context words)预测中心词,称为 Continuous Bag of Words (CBOW)
注意到词库单词数亿级时,求成本函数的梯度便是亿级的,迭代更新一次将会很慢! 解决办法是每次迭代时,选择一批窗口作为样本,更新样本的窗口参数,这种方法称为 Stochastic gradient descent (SGD)
如果样本出现负采样技术时,需要对目标函数适当做适当修正,可以参考 google 的 Distributed Representations of Words and Phrases and their Compositionality” (Mikolov et al. 2013).
查看本课程完整资料,请后台回复:cs224
点击以下标题查看相关内容:
本文分享自 程序员郭震zhenguo 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!