第二章 主题模型及其主要推断算法
2.1 LDA 概述
以科技文献为例,科学家写文献的时候,第一步就是确定可能用到的“主题”[3],这也决定了科学家的研究方向,然后搜集各个“主题”下可能用到的单词,从而组合完成论文的写作,这也是文本的生成过程。这里所说的主题实际上是固定单词表上的概率分布[1],即图 2-1 所示(列出单词表部分),本身没有什么意义,但是可以用专家评价或者根据主题下概率大的单词,来推测主题所包含的意义。主题信息决定了作者的兴趣所在以及与其他文章的区别所在,同时也可用来判断文章间的相似性。
主题模型广泛的采用文本生成模型(generative models),它简化文本的生成过程为简单的概率采样步骤,将文本表示为一组主题的概率混合(mixtures of topics),其中主题为单词的概率分布。例如,如图 2-2 的一篇关于“Learning theory”的文章,可以用一组主题{theory,work,human}、{specie,animal,plant}和{school,student,university}等来间接地表示这篇文章,当然这些主题只是一些单词的概率分布。通过对这组主题的采样,可以得到主题下相关的单词集合,经过不断地重复选取单词,就可以组合成为这篇“Learning theory”的文章。
从图 2-2 可以看出,生成一篇文章,先选取主题混合,然后根据对应主题逐步生成所有的单词。生成模型先假定观测数据的隐含结构,然后用统计推理的方法恢复隐含结构,即什么样的隐含结构能够最大概率的生成观测数据。相反,当读者阅读文献时,首先关注的是文献的主题(也即关键词)是否自己兴趣或者关注所在,这也决定了读者是否进一步阅读下去。主题模型就是通过发现这种隐含的主题结构,使得我们能轻易的理解和概括大规模电子文档,这是仅靠人力所不能有的优势。以文本为例,主题模型就是通过计算机统计文档-词汇共现矩阵(co-occurrence)——WD 矩阵,然后利用生成模型对文本进行建模,最后利用学习算法推测得到一组主题,以此来表示文本的关键信息。虽然计算机不可能像读者一样富有创造性和准确性,但是在大规模数据集上可以完美建模。例如数字化图书馆和数字化档案馆,主题建模可以用这种快速的学习算法来帮助管理员弄清他们所拥有的,提供更好的索引信息,从而快速的找到所需的信息。
2.2 主要推断算法概述
主题模型的参数推断是指通过训练数据集,学习得到模型参数,LDA 即学习主题是什么以及文本包含哪些主题,从而利用模型对测试数据进行预测的过程。LDA广泛采用 Variational Bayes(VB)[2]和 Collapsed Gibbs sampling(GS)[3]作为近似推理及参数估计算法,此外 Teh 等人结合 GS 和 VB 算法的各自优点,提出了 collapsedVB(CVB)[25]算法,选择一个合适的算法要在效率、准确性等综合方面考虑,实验表明 CVB 算法较之 GS 和 VB 算法在精度和速度上都有改善。本文主要采用的 BeliefPropagation(BP)[4]主要在一种简化的 CVB 算法基础上进行改进,在各种评价指标下全面胜出,也是本文并行化算法重点参考的 LDA 学习算法之一。
第二章 主题模型及其主要推断算法....................7
2.1 LDA 概述 ...........................................7
2.2 主要推断算法概述.................................. 11
第三章 OpenMP 与 MPI.............................18
3.1 MPI 编程技术 ..............................................18
3.2 OpenMP 编程技术 ....................................22
3.3 本章小结.....................................................29
第四章 基于 OMPI 的快速 BP .............................30
4.1 基于 MPI 的快速 BP 算法的..............................30
4.2 基于 OpenMP 的快速 BP .................................34
4.3 本章小结...........................................36
第五章 实验结果和.....................................................37
5.1 评价标准...................................................................37
5.2 VB、GS 和 BP 算法比较 ....................................37
第六章 总结和展望
6.1 工作总结
本文利用应用最广泛的 LDA 主题模型来对文本进行建模,用来自动快速地发现文本的隐藏主题结构,从而获得文本的主要信息。而在 LDA 模型推断问题上,运用了快速 BP 算法,以信息传递的方式看待 LDA 模型,更从理论和实验证明了快速 BP算法在数据集上无论是混淆度还是速度都占有优势。通过对快速 BP 算法的研究,本文开发了基于 MPI 和 OpenMP 的并行快速 BP 算法,并通过实验论证在大规模文本建模上的适用性。本文主要完成了以下工作:
1. 研究关于 LDA 主题模型的资料,从中了解文本的生成过程,LDA 建模过程以及主要应用等,为解决大规模文本建模奠定理论基础。
2. 针对 LDA 模型参数推断的问题,分别研究了 VB、GS、BP 的主题模型推断算法。其中 VB 近似推断算法通过不断逼近模型参数的后验概率的方法来得到模型参数,但是和真实值总是存在距离,而且引入了 digamma 函数,使得计算效率大大降低。GS 近似推断算法则通过从隐藏变量的后验概率分布不断采样来间接得到模型参数,但是 GS 在采样过程中只保留了部分信息,导致精确度不够,而且需要对文本单词逐个采样迭代,在大规模数据集上速度也不理想。而 BP 算法采用信息传递的思想来解决 LDA 建模问题,信息传递过程中保留了所有信息,使得精确度很高,但是同样带来了内存占用大和效率低的问题。快速 BP 算法在 BP 算法的基础上进行改进,在信息传递过程中保留部分变化大的信息,解决了计算效率问题,是解决大规模文本建模的优先选择。对于 VB、GS、BP 和快速 BP 的主题模型推断算法的研究,为下一步具体算法的并行设计做好了技术支持。
参考文献
[1] Blei D.M, Ng A.Y, and Jordan M.I. Latent Dirichlet allocation[J]. Journal of MachineLearning Research, 2003, 3(4-5): 993-1022.
[2] Hofmann T. Probabilistic Latent Semantic Analysis[C]. In Proceedings of the FifteenthConference on Uncertainty in Artificial Intelligence, 1999: 289-296.
[3] Griffiths T.L and Steyvers M. Finding scientific topics[J]. PNAS, 2004, 101:5228-5235.
[4] Bishop C.M. Pattern recognition and machine learning[M]. Springer, 2006.
[7] Blei D.M and Lafferty J. /shdxyjslw/ Correlated Topic Models[J]. NIPS, 2006.
[8] Chang J and Blei D.M. Relational Topic Models for Document Networks[C].AISTATS, 2009.
[9] Wang X.R, McCallum A, and Wei X. Topical n-grams: Phrase and topic discovery,with an application to information retrieval[C]. In Proceedings of the 2007 SeventhIEEE International Conference on Data Mining, 2007: 697-702.
[10]Blei D. M and McAuliffe J. Supervised topic models[J]. NIPS, 2007.
[11]Wang X and McCallum A. Topics over time: a non-Markov continuous-time model oftopical trends[J]. KDD, 2006.