1.窗口
假设窗口是2,这意味着根据两个词来预测下一个词,而正确的词概率最高。通过训练,使正确的词概率最高。
2.误差函数
使用交叉熵,也可以用最小二乘法,但交叉熵在分类问题上效果更好。
3.word2vec
输入是one hot形式。
4.CBOW
通过上下文预测中心词。
5.skip-gram
通过中心词预测上下文。
6.one-hot表示的缺点
(1)无法度量两个词之间的关系,因为one-hot编码使得词之间两两正交。(语义相似性)
(2)one-hot编码表现语义方面比较差。
7.词表示的方法
(1)基于计数的方法
比如对于以下四个句子,要学习kitten,cat,dog的词向量,窗口为3,因此只截取目标单词左右三个单词。
and the cute kitten purred and then
the cute furry cat purred and miaowed
that the small kitten miaowed and she
the loud furry dog ran and bit
去掉功能性单词(and the then that she)
剩下的单词做成一个集合:{cute,purred,furry,miaowed,small,loud,ran,bit}
用这些集合中的单词表示三个目标单词,有:
kitten:[1,1,0,1,1,0,0,0]
cat: [1,0,1,1,0,0,0,0]
dog: [0,0,1,0,0,1,1,1]
同时计算两两词之间的相似性,用余弦相似度(cos(u,v) = u点乘v/(u的长度*v的长度))
cos(kitten,cat) = 2/(2*根号3) = 0.58
cos(kitten,dog) = 0
cos(cat,dog) = 1/(根号3*2) = 0.29
计算相似性还可以用内积。
这种方法的意思是词语的相似性取决于上下文的相似性。
#词向量的长度与窗口长度呈正相关。
(2)基于语境预测的方法
(3)基于任务的方法
8.关于sigmoid和softmax
softmax函数一般用于将向量转化为概率值,向量中值最大的元素,概率也最大。公式就是