• [转]fasttext 与 word2vec、doc2vec 的区别


    总结得清晰简明,转之~

    from https://blog.csdn.net/qfikh/article/details/105649650

    相似:

    图模型结构很像,都是采用embedding向量的形式,得到word的隐向量表达。
    都采用很多相似的优化方法,比如使用Hierarchical softmax优化训练和预测中的打分速度。
    不同点:

    1.word2vec是一个无监督算法,而fasttext是一个有监督算法。
    2.模型的输入层:word2vec的输入层是上下文单词;而fasttext 对应的整个句子/文本的单词及其n-gram特征。word2vec要求训练样本是基于上下文带有“序”的属性,而fasttext使用的是词袋模型的思想,使用的是n-gram的无序属性。
    3.隐层:对于cbow,隐层采用简单的求和;对于fastText,隐层是由输入层求和并平均
    4.模型的输出层:word2vec的输出层,对应的是每一个term,计算某term的概率最大;而fasttext的输出层对应的是分类的label。不过不管输出层对应的是什么内容,起对应的vector都不会被保留和使用。
    5.word2vec的学习目标是得到词向量,而fasttext的学习目标是得到文本的分类结果。Word2vec的目的是得到词向量,该词向量 最终是在输入层得到,输出层对应的 h-softmax也会生成一系列的向量,但最终都被抛弃,不会使用。fastText则充分利用了h-softmax的分类功能,遍历分类树的所有叶节点,找到概率最大的label(一个或者N个)
     

    Fasttext模型有个致命的问题,就是丢失了词顺序的信息,因为隐层是通过简单的求和取平均得到的。为了弥补这个不足,Fasttext增加了N-gram的特征。

    n-gram的怎么处理:

    Fasttext采用了Hash桶的方式,把所有的n-gram都哈希到buckets个桶中,哈希到同一个桶的所有n-gram共享一个embedding vector。Ref:https://blog.csdn.net/kingzone_2008/article/details/81429501

    3. 字符级n-gram带来两点好处: Ref:https://zhuanlan.zhihu.com/p/129756562

    对于低频词生成的词向量效果会更好。因为它们的n-gram可以和其它词共享。
    对于训练词库之外的单词,仍然可以构建它们的词向量。可以叠加它们的字符级n-gram向量。
    4、为什么fastText甚至可以为语料库中未出现的单词产生词向量
    fastText一个重要的特性便是有能力为任何单词产生词向量,即使是未出现的,组装的单词。主要是因为fastText是通过包含在单词中的子字符substring of character来构建单词的词向量,正文中也有论述,因此这种训练模型的方式使得fastText可以为拼写错误的单词或者连接组装的单词产生词向量

    doc2vec相比于word2vec的c-bow模型,区别点有:

    训练过程中新增了paragraph id,即训练语料中每个句子都有一个唯一的id。paragraph id和普通的word一样,也是先映射成一个向量,即paragraph vector。paragraph vector与word vector的维数虽一样,但是来自于两个不同的向量空间。在之后的计算里,paragraph vector和word vector累加或者连接起来,作为输出层softmax的输入。在一个句子或者文档的训练过程中,paragraph id保持不变,共享着同一个paragraph vector,相当于每次在预测单词的概率时,都利用了整个句子的语义。
    在预测阶段,给待预测的句子新分配一个paragraph id,词向量和输出层softmax的参数保持训练阶段得到的参数不变,重新利用梯度下降训练待预测的句子。待收敛后,即得到待预测句子的paragraph vector。


      doc2vec相比于word2vec的skip-gram模型,区别点为:在sentence2vec里,输入都是paragraph vector,输出是该paragraph中随机抽样的词。


    ————————————————
    版权声明:本文为CSDN博主「人鱼线」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qfikh/article/details/105649650

    /* 人应该感到渺小,在宇宙面前,在美面前,在智慧面前; 而在人群中,应该意识到自己的尊严。*/
  • 相关阅读:
    [kuangbin带你飞]专题十二 基础DP1 E
    hdu 1203 I NEED A OFFER! (01背包)
    hdu 2602 Bone Collector (01背包)
    hdu 4513 吉哥系列故事——完美队形II (manacher)
    hdu 2203 亲和串 (KMP)
    hdu 1686 Oulipo (KMP)
    hdu 1251 统计难题 (字典树)
    hdu 2846 Repository (字典树)
    hdu 1711 Number Sequence (KMP)
    poj 3461 Oulipo(KMP)
  • 原文地址:https://www.cnblogs.com/Arborday/p/14859318.html
Copyright © 2020-2023  润新知