1.主题模型的引入
上次介绍完朴素贝叶斯后,我们发现它可以胜任许多文本分类问题,但是也存在一个缺陷:无法解决预料中一词多义和多词一义的问题;如果使用词向量作为文档的特征,一词多义和多词一义会造成计算文档间相似度的不确定性。为此,可以通过增加主题的方式,在一定程度上解决上述问题:即一词可能被映射到多个主题中,多词也可能被映射到某个主题。
怎样才能生成主题?对文章的主题应该怎么分析?这是主题模型要解决的问题。
首先,可以用生成模型来看文档和主题这两件事。所谓生成模型,就是说,我们认为一篇文章的每个词都是通过“以一定概率选择了某个主题,并从这个主题中以一定概率选择某个词语”这样一个过程得到的。那么,如果我们要生成一篇文档,它里面的每个词语出现的概率为:
2.LDA
在说这部分之前,默认把Beta分布和Dirichlet分布已经了解。
2.1LDA 的解释
假设共有m篇文章,一共涉及了K个主题;每篇文章都有各自的主题分布,主题分布是多项分布,该多项分布的参数服从Dirichlet分布,该Dirichlet分布的参数为a;每个主题都有各自的词分布,词分布为多项分布,该多项分布的参数服从Dirichlet分布,该Dirichlet分布的参数为beta;对于某篇文章中的第n个词,首先从该文章的主题分布中采样一个主题,然后在这个主题对应的词分布中采样一个词。不断的重复这个随机生成过程,直到m篇文章全部完成上述过程。其中w是可以观察到的已知变量,a和beta是根据经验给定的先验参数,其他的变量z,theta都是未知的隐含变量,需要根据观察到的变量来学习估计的。