LDA是一种三层贝叶斯模型,变异式的期望最大化算法

优采云 发布时间: 2021-04-26 19:11

  LDA是一种三层贝叶斯模型,变异式的期望最大化算法

  LDA是三层贝叶斯模型。这三层是:文档层,主题层和单词层。该模型基于以下假设:1)整个文档集中有k个独立的主题; 2)每个主题都是单词的多项式分布; 3)每个文档由k个主题组成,这些主题随机混合; 4)每个文档都是关于k个主题的多项分布; 5)每个文档的主题概率分布的先验分布是Dirichlet分布;

  6)每个主题中单词概率分布的先验分布是Dirichlet分布。

  文档生成过程如下:1)对于文档集M,使用参数β对从Dirichlet分布生成的单词的主题分布参数φ进行采样; 2)对于M中的每个文档m,参数为α。对文档m的Dirichlet分布中doc与主题的分布参数θ进行采样; 3)对于文档m中的第n个单词W_mn,首先根据θ分布对文档m的隐式主题Z_m进行采样,然后根据φ分布A单词W_mn对主题Z_m进行采样。

  —————————————————————————————————————————————— —

  两种估计方法-VEM和gibbs

  通常近似于此后验分布的方法可以分为两类:

  1.变分算法,这是一种确定性方法。变异算法假设一些参数分布,将这些理想分布与后验数据进行比较,然后找到最接近的分布。因此,估计问题被转化为优化问题。主要算法是变分期望最大化(VEM)。此方法是最常用的方法。它主要用于R软件的tomicmodels软件包中。

  2.基于采样的算法。诸如Gibbs采样(gibbs采样)之类的采样算法主要构建马尔可夫链,从后验经验分布中抽取一些样本,并估计后验分布。 Gibbs采样方法被广泛用于R软件的lda软件包中。

  参考:使用R作为主题模型:单词选择和主题编号确定

  R包enumeration-lda和topicmodel

  在R语言中,有两个提供LDA模型的软件包:lda和topicmodels。

  lda提供基于Gibbs采样的经典LDA,MMSB(混合成员随机块模型),RTM(关系主题模型)和sLDA(监督LDA)以及基于VEM(变异期望最大化)的RTM。

  Topicmodels基于软件包tm,并提供了三个模型:LDA_VEM,LDA_Gibbs和CTM_VEM(相关主题模型)。

  此外,软件包textir还提供其他类型的主题模型。

  参考:R的文档主题模型

  ————————————————————————————————————————

  但是主题模型有一个很大的问题:模型的质量

  1、模型的质量很差,该主题上有很多无效词,很难清除;

  2、个主题之间的差异不够明显,效果也不佳;

  在3、的主题中,单词与单词的相关性很低。

  4、无法反映场景。作者最初希望的是一个主题,它收录场景词+用户态度,情感和事件词,它们构成了一个相对完整的系统,但是它相对幼稚。

  5、主题命名是一个难点。如果基本单词无效,则主题画像将很困难。

  ————————————————————————————————————————

  一、腾讯孔雀案

  让我们看一下腾讯孔雀的应用案例:

  输入一个单词,然后将弹出两个内容:搜索术语-主题列表(主题中有很多单词);搜索术语文档列表。

  作者猜测实现三个距离计算的过程:

  首先计算搜索词向量与主题词向量之间的距离,并对主题进行排序;

  计算搜索词与主题下每个单词向量之间的距离,并对单词进行排序;

  最后,计算搜索词与文档向量之间的距离,并对文档进行排序。

  腾讯为开发主题系统付出了巨大的努力,从中您可以看到一些信息:

  1、一般来说,单词与单词之间的相关性不是很强;

  2、词性基本上是名词,几乎没有动作和形容词。

  系统还进行了一些有趣的尝试:使用用户QQ组矩阵,创建主题模型以及对QQ组进行聚类,您可以很好地了解不同用户组喜欢哪些主题组以及有多少个用户组那里的人。

  ————————————————————————————————————————

  二、主题模型的主要功能(请参阅博客)

  使用主题模型,我们如何使用它?它有什么优势?我总结了以下几点:

  1)它可以测量文档之间的语义相似度。对于文档,我们发现的主题分布可以视为文档的抽象表示。对于概率分布,我们可以使用一些距离公式(例如KL距离)来计算两个文档的语义距离,以获得它们之间的相似性。

  2)它可以解决多义词的问题。回想第一个例子,“苹果”可能是水果,或者可能是指苹果。通过获得的“单词主题”的概率分布,我们可以知道“苹果”属于哪个主题,然后通过主题匹配来计算它与其他文本之间的相似度。

  3)可以消除文档中噪音的影响。一般来说,文档中的杂音通常是次要主题,我们可以忽略它们,而仅将最重要的主题保留在文档中。

  4)它是不受监督的且完全自动化的。我们只需要提供培训文档,它就可以自动训练各种概率,而无需任何手动标记过程。

  5)与语言无关。只要任何语言都可以对其进行细分,就可以对其进行培训以获取其主题分布。

  总而言之,主题模型是一个强大的工具,可以挖掘语言背后的隐藏信息。近年来,主要的搜索引擎公司已开始重视这一领域的研究和开发。语义分析技术正在逐渐渗透到搜索领域的各种产品中。在不久的将来,我们的搜索将变得更加智能,让我们拭目以待。

  ————————————————————————————————————————

  三、主题模型的一些扩展

  可以看到模型的扩展

  1、基于LDA的主题模型变形

  用于情感分析:根据主题文档矩阵对主题情感偏向进行评分,对主题进行评分,然后对每个文档的情感进行评分。

  主题之间的相关性:根据主题分布的点积的相似性,确定相关文本并确定主题之间的相关性

  时间序列文本,动态主题模型。

  文本简短,消除歧义并建立语义相似性聚类;

  知识图的构建需要知识图中的一些集合和潜在变量,因此主题建模更适合作为大型的收录性集合;

  使用稀疏性。在该模型中,主题词矩阵将具有非常低的频率数据,因此您可以将其强制为0以减少影响。

  摘录自2、:LDA使用经验如果要训练主题模型以进行预测,则数据量必须足够大;从理论上讲,词汇量越长,主题表达越具体,这需要出色的词库;如果您想将主题划分为更多细节或突出显示专业主题,则需要一本专业词典。 LDA的参数alpha对计算效率和模型结果有很大的影响。选择适当的alpha可以提高效率和模型可靠性;主题数量不特殊突出方法需要更多经验;根据检测热门话题和话题趋势的时间表,话题模型是一个不错的选择;如何使用上述正负词汇,本文找不到合适的方法;

  (参考:R的文档主题模型)

  摘录自3、:LDA使用经验

  在整个过程中有很多不清楚的地方,我只列出以下几点:

  (1) doc应该如何定义,应该以个人为基础训练topicmodel还是应该以每个微博为基础?在比较之后,我发现topicmodel的每个主题模型都以每个微博为单位进行训练。术语类别更一致;因此我选择使用微博作为培训的文档单元,并选择人作为推理的文档单元;但是我没有找到关于此问题的更详细的参考,并且我在上看到了几个topicmodel应用程序Twitter和微博客。以微博作为处理单元。

  (2)不同的估计方法之间有什么区别?R包提供VEM,Gibbs,CTM等,这里没有详细的比较。本文其余部分的结果基于吉布斯估计结果。

  (3) topicmodel适合用于短文本分析吗?稀疏性会带来什么样的问题?实际上,将每个微博作为doc单元进行分析都会引起稀疏性的问题,但是我尚未意识到其潜在的问题。

  (4)中文文本处理感到非常紧迫...除了分词,没有用于词性标记,句法分析,同义词等的特殊R包,并且本文仅作初步介绍。治疗。

  (5)最终的聚类效果不仅考虑了名人的专业领域,还考虑了他们的情感状态,爱好和生活兴趣。这是一个综合的结果。可以通过选择不同的主题来选择不同的专业领域通过进行聚类分析。

  参考:原创链接:关于微博上的名人的事情

  ————————————————————————————————————

  扩展1:主题模型提取在关键词中的应用

  根据行业分类的用户生成文档,并在关键字和短语提取中使用主题建模。同时,可以将行业信息用作对主题敏感的输入排序算法,以提高搜索准确性。

  参考博客:

  ————————————————————————————————————

  扩展2:LDA相似性文章聚类

  论文:Arnab Bhadury的“使用LDA聚集相似的故事| Flipboard工程”

  删除一些干扰词,然后使用向量来表征LDA模型文章,从而提供了一种低纬度,鲁棒性词向量表达方法。

  博客地址:

  ————————————————————————————————————

  扩展名3:中文标签/主题提取/推荐

  知乎的答案总结:如何为中文文本提供中文标签推荐?

  1、根据关键词的权重,例如tfidf值从高到低,向用户推荐TopN 关键词作为文本标签。

  2、 LDA,首先计算每个中文文本的K个主题分布,以概率最高的主题,然后将该主题下概率最高的TopN个单词作为标签推荐给用户,但K该方法的值不容易确定,最终的计算效果不如第一种方法。但是,LDA不适合解决细粒度的标签问题,例如提取实例名称。

  3、标签分发模型(NTDM),源自对社交媒体用户标签的分析和推荐()

<p>4、提取关键词另一个常用的方法是TextRank,该方法基于单词的窗口共现或相似性构造单词网络,然后根据PageRank算法计算单词的权重。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线