LDA主题模型

朴素贝叶斯的分析

  1. 可以胜任许多文本分类问题。
  2. 无法解决语料中的一词多义和多词一义的问题,它更像是词法分析,而非语义分析。
  3. 如果使用词向量作为文档的特征,一词多义和多词一义会造成计算文档间相似度的不准确性。
  4. 可以通过增加“主题”的方式,一定程度上解决上述问题

        a.      一个词可能被映射到多个主题中

        一词多义

        b.      多个词可能被映射到某个主题的概率很高

        多词一义


pLSA模型

1. 基于概率统计的pLSA模型(概率隐语义分析)增加了主题模型,形成简单的贝叶斯网络,可以使用EM算法学习模型参数


pLSA的总结

1. pLSA应用于信息检索、过滤、自然语言处理等领域,pLSA考虑到词分布和主题分布,使用EM算法来学习参数

2. 虽然推导略显复杂,但最终公式简洁清晰,很符合直观理解,需用心琢磨;此外,推导过程使用了EM算法,也是学习EM算法的重要素材。

什么是主题

因为LDA是一种主题模型,那么首先必须明确知道LDA是怎么看待主题的。对于一篇新闻报道,我们看到里面讲了昨天NBA篮球比赛,那么用大腿想都知道它的主题是关于体育的。为什么我们大腿会那么聪明呢?这时大腿会回答因为里面出现了“科比”、“湖人”等等关键词。那么好了,我们可以定义主题是一种关键词集合,如果另外一篇文章出现这些关键词,我们可以直接判断他属于某种主题。但是,亲爱的读者请你想想,这样定义主题有什么弊端呢?按照这种定义,我们会很容易给出这样的条件:一旦文章出现了一个球星的名字,那么那篇文章的主题就是体育。可能你马上会骂我在瞎说,然后反驳说不一定,文章确实有球星的名字,但是里面全部在讲球星的性丑闻,和篮球没半毛钱关系,此时主题是娱乐还差不多。所以一个词不能硬性地扣一个主题的帽子,如果说一篇文章出现了某个球星的名字,我们只能说有很大概率他属于体育的主题,但也有小概率属于娱乐的主题。于是就会有这种现象:同一个词,在不同的主题背景下,它出现的概率是不同的。并且我们都可以基本确定,一个词不能代表一种主题,那么到底什么才是主题呢?耐不住性子的同学会说,既然一个词代表不了一种主题,那我就把所有词都用来代表一种主题,然后你自己去慢慢意会。没错,这样确实是一种完全的方式,主题本来就蕴含在所有词之中,这样确实是最保险的做法,但是你会发现这样等于什么都没做。老奸巨猾的LDA也是这么想的,但他狡猾之处在于它用非常圆滑手段地将主题用所有词汇表达出来。怎么个圆滑法呢?手段便是概率。LDA认为天下所有文章都是用基本的词汇组合而成,此时假设有词库V={v1,v2,....,vn}V={v1,v2,....,vn},那么如何表达主题kk呢?LDA说通过词汇的概率分布来反映主题!多么狡猾的家伙。我们举个例子来说明LDA的观点。假设有词库

{}{科比,篮球,足球,奥巴马,希拉里,克林顿}
假设有两个主题
{}{体育,政治}
LDA说体育这个主题就是:
{:0.3:0.3:0.3:0.03:0.03:0.04}{科比:0.3,篮球:0.3,足球:0.3,奥巴马:0.03,希拉里:0.03,克林顿:0.04}
(数字代表某个词的出现概率),而政治这个主题就是:
{:0.03:0.03:0.04:0.3:0.3:0.3}{科比:0.03,篮球:0.03,足球:0.04,奥巴马:0.3,希拉里:0.3,克林顿:0.3}
LDA就是这样说明什么是主题的,竟说得我无言以对,细思之下也是非常合理。
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mn_kw/article/details/79956445
文章标签: 主题模型
个人分类: 算法
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭