主题模型(topic model)是以
非监督学习的方式对文集的隐含语义结构(latent semantic structure)进行
聚类(clustering)的统计模型。
对主题模型的研究最早来自1998年Christos H. Papadimitriou、Prabhakar Raghavan、Hisao Tamaki和Santosh Vempala提出的潜在语义索引(Latent Semantic Indexing, LSI)。1999年,Thomas Hofmann提出了概率性潜在语义索引(Probabilistic LST, PLST)。
2003年,David M.Blei、Andrew Ng和Jordan I. Michael提出了
隐含狄利克雷分布(Latent Dirichlet Allocation, LDA)。LDA得到了广泛使用,并衍生出了很多改进版本,例如在2006年由Wei Li和Andrew McCallum提出的弹珠机分布模型(pachinko allocation model)。
在主题模型中,主题(topic)是以文本中所有字符为支撑集的概率分布,表示该字符在该主题中出现的频繁程度,即与该主题关联性高的字符有更大概率出现。在文本拥有多个主题时,每个主题的概率分布都包括所有字符,但一个字符在不同主题的概率分布中的取值是不同的。一个主题模型试图用数学框架来体现文档的这种特点。主题模型自动分析每个文档,统计文档内的词语,根据统计的信息来断定当前文档含有哪些主题,以及每个主题所占的比例各为多少。
举例而言,在“狗”主题中,与该主题有关的字符,例如“狗”、“骨头”等词会频繁出现;在“猫”主题中,“猫”、“鱼”等词会频繁出现。若主题模型在分析一篇文章后得到10%的“猫”主题和“90%”的狗主题,那意味着字符“狗”和“骨头”的出现频率大约是字符“猫”和“鱼”的9倍。
在自然语言处理中,主题模型被用于对文本的表征(representation)进行降维(dimensionality reduction)、按主题对文本进行聚类、以及根据用户偏好形成文本推荐系统。