您的位置:首页 > 运维架构

话题模型(topic model)的提出及发展历史

2012-06-25 14:10 288 查看
话题模型(Topic model)是目前流行的一种图模型(Graph model)的.其严格遵守贝叶斯概率框架,是一种完全的贝叶斯模型。话题模型作为一种产生式模型,具有非监督学习,能够利用大量的现有的互联网数据,学出的话题易于人类理解,能够发现文档集中隐含的语义的特点。是一种良好的聚类和降维工具。然而对于将话题模型应用分类问题,由于其非监督的特点,其学出来的话题并不一定有利于分类的进行,为此如何有效的加入监督信息也成为了研究热点-----引自论文

lda是一个集合概率模型,主要用于处理离散的数据集合,目前主要用在数据挖掘(dm)中的text mining和自然语言处理中,主要是用来降低维度的。据说效果不错。

topic model 是一种应用十分广泛的产生式模型(generative model),在IR, NLP,ML都有广泛的应用,本文将对目前已有的topic model进行分类总结,然后选择几个代表性的topic model进行较为详细的介绍,从而理解topic model 的思想,以及怎么应用。

topic model最经典的模型之一是LDA(latent dirichlet allocation) ,其它的topic model大都充分利用了LDA的思想去设计,所以下面先简单地描述一下其生成一个文档集合过程:

Topic Model (LDA)认为一个离散数据集合(如文档集合,图片集合,为行文方便,本文统统以文档集合作为描述对象,其他的数据集合只需换掉对应的术语即可)是由隐含在数据集合背后的topic set 生成的,这个set中的每一个topic都是词的概率分布。对于文档中的每一篇文档,先抽取一个topics
proportion \theta;然后对于这个文档中的每一个词的位置 w_i, LDA 先从\theta中选择一个topic,然后再从这个topic对应的词分布中选择一个词去填充;按照上述步骤直到整个文档集合产生完毕。

下面我会把目前出现的topic models进行分门别类,小结。

我认为topic models主要可以分为四大类:1)无监督的、无层次结构的topic model;2)无监督的、层次结构的topic model;3)有监督的、无层次结构的topic model;4)有监督的、层次结构的topic model。

对于1)主要有: PLSA, LDA, Correlated Topic Model, PAM,Concept Topic Model等

对于2)主要有: HLDA, HDP,HPAM等

对于3)主要有: S-LDA, Disc-LDA, MM-LDA, Author-Model, Labeled LDA, PLDA 等等

对于4)主要有: hLLDA, HSLDA

以上模型对应的文章名字,用google直接搜索即可得到,这里就不列出。

下面对于每一类topic model,我都选择一个模型来进行介绍:

对于1) 上述已经介绍了LDA,所以就不介绍这类模型了;

对于2) 我想介绍HLDA(Hierarchical Latent Dirichlet Allocation) 模型

由于LDA产生出来的topic都是孤立的,topic之间没有关系,HLDA模型在LDA的基础上,试图建立topic之间的层次关系,同时考虑到LDA需要指定topic的数量作为参数,如果能自动决定topic的数量就比较理想了。为了自动发现决定topic的数量,HLDA用Chinese Restaurant Process去自动决定每一层的topic数量,然而需要指定topic层次的高度H(也就是有多少层的topic),同时它训练出来的层次结构是等高的,都是H这么高。至于怎么产生文档的每个词,这个和LDA都是一样的。

对于3) 我想介绍Labeled LDA (Labeled Latent Dirichlet Allocation) 模型

这个模型最大的好处是能够训练出来带标签的topic,因为在以前的topic model训练出来的topic都是分布,怎么赋予一个标签给这些topic则是很难的一个问题。

Labeled LDA与LDA最大的不同是: LDA是在所有topics上为某一个词进行选择某个topic,而labeled LDA则是只从文档相关的label对应的topic中去选择,其余和LDA都是一样的。

对于4) 我想介绍hLLDA (hierarchical Labeled Latent Dirichlet Allocation)模型

这个模型最大的好处就是在Labeled Latent Dirichlet Allocation模型的基础上扩展到层次结构,其思想也是很简单的,认为一个文档只是由这个文档对应的层次label所产生,具体学习和推断的时候几乎和Labeled Latent Dirichlet Allocation模型一样。

这些模型相对来说都是较为容易理解的,关键是要先理解LDA,包括数学公式的推导,如果LDA能弄得比较清楚,其它的模型就会非常的容易理解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: