lecture2-word2vec-七月在线nlp

离散表示:

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

    

  

原文地址:https://www.cnblogs.com/rosyYY/p/8538167.html