zoukankan      html  css  js  c++  java
  • Word2Vec和LDA的区别与联系

      Word2vec是目前最常用的词嵌入模型之一。是一种浅层的神经网络模型,他有2种网络结构,分别是CBOW(continues bag of words)和 skip-gram。Word2vec 其实是对”上下文-单词“矩阵进行学习,其中上下文由周围的几个单词组成,由此得到的词向量表示 更多的融入了上下文共现的特征。 也就是说,如果2个词所对应的Word2vec向量相似度较高,那么他们很可能经常在相同的上下文中出现。

      LDA(Latent Dirichlet Allocation 隐狄利克雷模型)是主题模型(Topic Models)的一种计算方法。LDA是利用文档中单词的共现关系来对单词按主题聚类,也可以理解为‘文档-单词“矩阵进行分解,得到”文档-主题“和”主题-单词“两个概率分布。

    Word2Vec和LDA的区别:

      1、Word2vec是词聚类,属于词嵌入模型,LDA是主题词聚类,属于主题模型。主题模型和词嵌入模型最大的不同在于其模型本身,主题模型是一种基于概率图模型的生成式模型,其似然函数可以写成若干个条件概率连乘的形式,其中包含需要推测隐含变量(即主题);词嵌入模型一般表达为神经网络的形式,似然函数定义在网络输出之上。需要通过学习网络的权重以得到单词的稠密向量表示。

      2、词向量所体现的是语义(semantic)和语法(syntactic)这些 low-level的信息。而LDA的主题词表现的是更 high-level的文章主题(topic)这一层的信息。比如:

       1)计算词的相似度。同样在电子产品这个主题下,“苹果”是更接近于“三星”还是“小米”?

       2)词的类比关系:vector(小米)- vector(苹果)+ vector(乔布斯)近似于 vector(雷军)。

       3)计算文章的相似度。这个LDA也能做但是效果不好。而用词向量,即使在文章topic接近的情况下,计算出的相似度也能体现相同、相似、相关的区别。   反过来说,想用词向量的聚类去得到topic这一级别的信息也是很难的。很有可能,“苹果”和“小米”被聚到了一类,而“乔布斯”和“雷军”则聚到另一类。

    Word2Vec和LDA的联系:

      1、在方法模型上,他们两者是不同的,但是产生的结果从语义上来说,都是相当于近义词的聚类,只不过LDA是基于隐含主题的,WORD2VEC是基于词的上下文的,或者说LDA关注doc和word的共现,而word2vec真正关注的是word和context的共现。

      2、主题模型通过一定的结构调整可以基于”上下文-单词“矩阵进行主题推理。同样的,词嵌入方法也可以根据”文档-单词“矩阵学习出词的隐含向量表示。

      3、加入LDA的结果作为word embeddings的输入,可以增强文章分类效果。

    参考:

    https://blog.csdn.net/qq_29678299/article/details/88727380

    http://www.voidcn.com/article/p-sczvqzls-tq.html

    https://www.zhihu.com/question/40309730

  • 相关阅读:
    查询数据库锁的SQL
    注解学习实例(模拟hibernate,table,column注解,拼装SQL)
    mongoDB学习笔记
    拼装SQL.例子
    MySQL实现类似Oracle序列的函数
    面试总结
    linux下常用命令
    PHP 中 flush() 与 ob_flush() 的区别
    PHP 使用共享内存的资料
    移动设备的web站开发和将web封转成移动端应用的一些资料
  • 原文地址:https://www.cnblogs.com/liuxiaochong/p/14193237.html
Copyright © 2011-2022 走看看