NLP

Skip-gram-Naive-Softmax

  • one-hot 缺陷

    • 维度爆炸

    • 不能表达语义关系:计算机,电脑

Word2Vec

  • 分为 CBOWSkip-gram,两种都是 predictive 的模型。

GloVe

FastText

  • 所谓 fasttext,不过是 word2vec 中 cbow + h-softmax 的灵活使用,体现在两个方面:

    1. 模型的输出层:word2vec 的输出层,对应的是每一个 term,计算某 term 的概率最大;而 fasttext 的输出层对应的是分类的label。不过不管输出层对应的是什么内容,起对应的 vector 都不会被保留和使用;

    2. 模型的输入层:word2vec 的输出层,是 context window 内的term;而 fasttext 对应的整个 sentence 的内容,包括 term,也包括 n-gram 的内容;

      两者本质的不同,体现在 h-softmax 的使用。

      Wordvec 的目的是得到词向量,该词向量 最终是在输入层得到,输出层对应的 h-softmax 也会生成一系列的向量,但最终都被抛弃,不会使用。

      fasttext 则充分利用了 h-softmax 的分类功能,遍历分类树的所有叶节点,找到概率最大的 label(一个或者 N 个)。fasttext

  • 优势:

    • 可以给出训练语料库中没有出现的词的 word embedding(把这个词输入训练得到的网络中计算得到,这点与 Word2Vec 不同,后者是使用训练得到的 word membeddings matrix,不会再用网络计算)。(因为是基于字符级的 n-gram 来训练网络,所以对于之前没有见过的词,可以通过组合 character 的方式得到。也正因如此,训练的时间长,占用的内存大。)

    • 对于出现次数少的词,也能很好的训练得到 word embedding。(还是因为用的是字符级的 n-gram 来训练网络,所以这个词出现的 character 在别的词中也可能会出现,这就增加了训练数据。)

  • 参考

Sentence Vector

Skip Thought Vector

Doc2Vec

  • 参考

Visual Semantic Embedding

参考

Basics

TF-IDF

词袋模型 / 向量空间模型

潜在语义分析

参考