离散表示:
one-hot
bag of words --
词权重 ~不能表示顺序关系
TF-IDF (Term Frequency - Inverse Document Frequency)
[0.693, 1.386, 0.693, 0.693, 1.099, 0, 0, 0, 0.693, 0.693]
词t的IDF weight N: 文档总数, nt: 含有词t的文档数
Binary weighting
[1, 1, 1, 1, 1, 0, 0, 0, 1, 1]不能表示顺序关系
Bi-gram和N-gram
Unigram/1-gram
Bi-gram/2-gram
P(Mary likes too) = P(too | Mark, likes) * P(likes | Mary) * P(Mary)
= P(too | likes) * P(likes | Marry) * P(Mary)
分布式表示 (Distributed representation)
用一个词附近的其他词来表示该词
共现矩阵 (Cocurrence matrix)
Word - Document 的共现矩阵主要用于发现主题(topic), 用于主题模型, 如LSA (Latent Semantic Analysis)。局域窗中的Word - Word 共现矩阵可以挖掘语法和语义信息
用SVD对共现矩阵向量做降维
NNLM (Neural Network Language model)
直接从语言模型出发, 将模型最优化过程转化为求词向量表示的过程
投影矩阵:词10000个 则10000*1-》300*1,相当于取出投影矩阵对应的该单词的那一列
拼接
最后要得到的结果是: 我 爱 北京 三个词都出现后,接下来一个词是什么--softmax给出1*10000的概率向量
word2vec: CBOW(连续词袋) --
没有用NNLM中的hidden layer(即去掉了非线性层,这样用cpu就可以做,不是个神经网络)
不做投射层了,而作一个词向量查询表
输入的时候直接是四个词的稠密向量--随机初始化
没有用拼接300-》900维,而是sum300-》300
输出还是10000维词向量,概率最大的就是预测出的词
两边的词预测中间的一个词- Continuous Bag-of-Words
中间的一个词预测两边- skip gram
改进--最后一层十万维维度太高
hirerachical softmax:编码成更低维度,并且信息都在 --》树--》哈夫曼编码,层次softmax,连续做做决策,计算量变为树的深度logv的数量级
negative sampling负例采样:10000个样本,中有10000-1个负样本 --》只取部分负样本--》如何取使得不影响结果:不是随机的,与我 喜欢 你 三个词的频率有关
离散表示
• One-hot representation, Bag Of Words Unigram语言模型
• N-gram词向量表示和语言模型
• Co-currence矩阵的行(列)向量作为词向量
分布式连续表示
• Co-currence矩阵的SVD降维的低维词向量表示
• Word2Vec: Continuous Bag of Words Model
• Word2Vec: Skip-Gram Mode