自然语言处理-主题模型(LDA)

作者: 做梦的小鱼 | 来源:发表于2017-12-14 14:43 被阅读50次

本文不是站在专业的角度上去解释LDA深奥的原理,而是从科普的角度加上本人简单粗暴的理解,使从未接触过的LDA的人对其有一个通俗印象。(ps:本人不是该领域的技术人员,只是一个对其感兴趣的业外人,很多表述有不严谨之处,恳请指出,本人耐心接受,不喜勿喷)

1、概念

a、是一种无监督的贝叶斯模型

b、是一种主题模型,它可以将文档集中每篇文档的主题按照概率分布的形式给出

c、同时它是一种无监督学习算法,在训练时不需要手工标注的训练集,需要的仅仅是档集以及指定主题的数量量k即可。

d、是一种典型的词袋模型,即它认为一篇文档是由一组词构成的一个集合,词与词之间没有顺序以及先后的关系。

以上概念摘自网络,根据我的理解,上面一段话翻译成人话就是:

①可以把文档集中的每一篇文档是什么主题以概率分布的形式给出来,形式如下图:

这样的一个作用就是只要有一篇文章,就可以知道这一篇文章被分为每一类主题的概率,如果这个数据量比较大的情况下,基本可以判断出这篇文章是什么主题。

②对于①判断文章主题的准确性,是可以通过文章训练后提高的,而用于训练的文章,也不需要提前标注文章的一些属性。

③这个模型处理的方式是把文章通过分词形成一个个词,且不考虑词与词之间顺序,就像是一个装满词语的口袋一样,称为词袋模型。

2、原理

根据上述基本可以理解为:给你一篇文章,你就能够判断这篇文章是什么主题的,好牛逼的样子,但是是怎么做到的呢?

这里又的搬出伟大的贝叶斯公司:

我们不讨论计算的步骤,反正已经经过无数大神门验证过了,我们就直接相信这个是正确的就行了,一步一步计算后得到下面公式:

P(θ | y) = P(θ | x) * P(x | y)

然后把字母换成我们的汉字,就变成了下面的公式:

P(单词 | 文档) = P(单词 | 主题) * P(主题 | 文档)

仔细一看,我们要求的不就是P(主题 | 文档)这个吗?而对于给定的一篇文章,P(单词 | 文档)是很容易统计出来的,所以我们只要有P(单词 | 主题)这样一个东西问题不就解决了吗?

所以我们训练生产LDA的目的,就是要拿到P(单词 | 主题)这样一个分布。由此引出的LDA的生成过程如下:

one、对于语料库中每一篇文档,从主题分布中选出一个主题

two、从该主题的单词分布中抽出一个单词

three、重复上述的过程,知道遍历文章的每一个单词

理解:

如上图,使用公式P(单词 | 文档) = P(单词 | 主题) * P(主题 | 文档),通过左图,也就是P(主题 | 文档)的值,和直接统计的P(单词 | 文档)的值,不断的去修正P(词|主题)的分布。当训练达到一定的程度之后,可以直接把右图也就是P(词|主题)的分布是正确的。这样就可以在使用LDA时,通过主题和词的分布,结合P(单词 | 文档) = P(单词 | 主题) * P(主题 | 文档)公式,对于一篇新的文章,可以拿到P(主题|文档)的值,也就是该文档的主题分布。

3、总结

所谓的LDA模型,实际上就是基于许多理论基础,通过大量的文档,总结出主题的单词分布,使用的时候,又根据此模型,反算出该文档的主题分布,从而判断该文档主题。

看了上文的解释之后,对LDA是不是有个最初步的印象了呢?

相关文章

  • 自然语言处理-主题模型(LDA)

    本文不是站在专业的角度上去解释LDA深奥的原理,而是从科普的角度加上本人简单粗暴的理解,使从未接触过的LDA的人对...

  • 10 主题模型 - 代码案例一 - LDA主题模型初识

    08 主题模型 - LDA09 主题模型 - LDA参数学习-Gibbs采样 安装 lda 库使用第三方的lda库...

  • [Gensim] 1 Word Embedding之bag of

    Gensim是一个Python的自然语言处理库,能够将文档根据TF-IDF, LDA, LSI 等模型转化成向量模...

  • 词典构造方法之LDA主题模型

    词典构造方法之LDA主题模型 主题模型LDA原理理解 LDA是一种非监督学习技术,可以用来识别大规模文档集(doc...

  • LDA主题模型

    LDA数学八卦学习笔记 数学知识 Gamma函数 Gamma函数的性质其可以看作阶乘在实数集上的扩展 Gamma分...

  • LDA主题模型

    JGibbLDA是Java版本的LDA算法,可以通过命令行的方式使用,也可以通过通过调用LDACmdOption中...

  • LDA主题模型

    待整理 假设文档是由n个词组成的,且不考虑词之间的关系,假设我们的词典有V个词语,v1,v2,...vv,那么最简...

  • LDA主题模型

    一、几个基础概念 1、贝叶斯理论:先验分布+数据(似然)=后验分布2、二项分布、Beta分布与共轭分布先验分布和后...

  • 主题模型LDA

    作用:对文档抽取主题概率分布思想:人类生成文章的过程如下:比如假设事先给定了这几个主题:Arts、Budgets、...

  • 12 主题模型 - 代码案例三 - scikit-learn中的

    11 主题模型 - 代码案例二 - scikit-learn中的LDA模型13 主题模型 - 代码案例四 - sc...

网友评论

  • TreeMap:牛逼牛逼,社会社会

本文标题:自然语言处理-主题模型(LDA)

本文链接:https://www.haomeiwen.com/subject/zjdkwxtx.html