您的位置:首页 > 其它

【NLP系列3】主题模型LDA

2019-03-29 15:08 435 查看

直观认识LDA:
非监督模型。把文章丢模型里,对其内容进行分类。但对于分类后的label叫什么是不知道的。

一、直观理解LDA模型:
例子:一位资深HR筛选程序员简历时,会对每份简历的特征进行提取。把所有的简历和所有的特征进行组合。来猜想是彩笔还是大牛。
(1)穿格子衬衫
(2)高学历
(3)参加过N多个项目
当HR看到一份简历包含格子衬衫,但没做过项目。则会考认为彩笔的可能性大。
理论:
公式
2、LDA含义:
(1)一种无监督的贝叶斯模型。
在训练时不需要手工含有label的训练集,仅仅给出文档集以及指定的主题数量k即可(如有100篇文章,需要划分为10个主题)。对于每一个主题,均可以找到一些词描述它。
(2)一种词袋模型。
它认为一篇文档是由一组词构成的一个集合,词与词之间不考虑顺序关系。一篇文档可以包含多个主题,文档中的每一个词都可以由其中的一个主题生成。(每个主题之间的词,无交集。)
(3)一种主题模型。
它可以将文档集中的每篇文档的主题,按照一定概率分布的形式给出。(如对1篇文档进行主题判断,会生成一个10维向量,每个元素是对应主题的概率,概率最大的即为最终判定的主题类型)
3、LDA原理
给出一份简历,判断是否为大牛=这个人天然是个大牛的概率*如果是大牛,他的简历长的样子。

二、LDA原理的深入理解:
(1)LDA的生成过程:

  • 对于语料库中的每一篇文章:
    a.对每一篇文章,从主题分布中抽取一个主题(如下图左)
    b.从被抽到的主题所对应的单词分布中,抽取一个单词(如下图右)
    c.重复上述a过程,直到遍历文档中的每一个词
    d.重复上述d过程,直到遍历主题T中的每一个主题
  • 详细解释如下:
    < w代表单词;d代表文档;t代表主题;大写代表集合,小写代表个体>
    (a)D中每一个文档d看作一份单词序列<w1,w2,…,wn>,wi表示第i个单词。
    (b)D中设计的所有不同单词组成一个词汇表大集合V(vocabulary,类似于词袋),LDA以文档集合D作为输入,希望训练出的两个结果向量θd,ϕt (假设形成k个topic,V中一共m个词): 对于D中的文档d,对应到不同Topic的概率θd<pt1,…,ptk>,其中,pti表文档d是第i个主题的概率。计算方法
    pti = nti/n
    nti表示文档d中对应为第i个主题的单词数量;n表示文档d中所有词的总数量
  • 对于每个T中的主题t,生成不同单词的概率ϕt <pw1,…,pwm>,其中,pwi表示t生成V中第i个单词的概率。计算方法:
    pwi = Nwi/N
    Nwi表示主题t中对应为V中单词的数目,N表示主题t中所有单词的总数.

==>综合上述解释,得出LDA核心公式
P(词 | 文档)=P(词 | 主题)*P(主题 | 文档)

P(w|d) = P(w|t)∗P(t|d) = ϕt /θd =(主题t中对应为V中单词的数目/N表示主题t中所有单词的总数)*(文档d中对应为第i个主题的单词数量/文档d中所有词的总数量)

  • 直观的看这个公式,就是以Topic作为中间层,可以通过当前的θd和φt给出了⽂
    档d中出现单词w的概率。其中p(t|d)利⽤θd计算得到,p(w|t)利⽤φt计算得到。
  • 实际上,利⽤当前的θd和φt,我们可以为⼀个⽂档中的⼀个单词计算它对应任
    意⼀个Topic时的p(w|d),然后根据这些结果来更新这个词应该对应的topic。然
    后,如果这个更新改变了这个单词所对应的Topi c,就会反过来影响θd和φt。

(2)LDA的学习过程:
1、先随机地给向量θd和φt赋值(对所有的d和t)
2、针对⼀个特定的⽂档ds中的第i单词wi,如果令该单词对应的topic为tj,可以把
上述公式改写为:Pj(wi | ds)=P(wi | tj)*P(tj| ds)
3、枚举T中的topic,得到所有的pj(wi | ds)。然后可以根据这些概率
值结果为ds中的第i个单词wi选择⼀个topic。最简单的想法是取令pj(wi | ds)最⼤
的主题tj(注意,这个式⼦⾥只有j是变量
4、然后,如果ds中的第i个单词wi在这⾥选择了⼀个与原先不同的topic,就会对θd和φt有影响。它们的影响⼜会反过来影响对上⾯提到的p(w | d)的计算。
5、对D中所有的d中的所有w进⾏⼀次p(w | d)的计算并重新选择topic看作⼀次迭代。这样进⾏n次循环迭代之后,就会收敛到LDA所需要的结果了
三、LDA公式:
分为5个步骤:(还在理解中,后续补充。可以参考下文链接的2位大神讲解)
一个函数:gamma函数
四个分布:二项分布、多项式分布、beta分布、Dirichlet分布
一个概念和一个理念:共轭先验和贝叶斯框架
两个模型:plSA、LDA
一个采样:Gibbs采样
(详细介绍可参考:https://www.geek-share.com/detail/2627211860.html
https://blog.csdn.net/u010159842/article/details/80332030

参考:七月在线

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: