分类:Finding scientific topics

来自Big Physics
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.


T. Griffiths, and M. Steyvers. Finding scientific topics. Proceedings of the National Academy of Sciences 101 (Suppl. 1): 5228-5235(2004).

Abstract

A first step in identifying the content of a document is determining which topics that document addresses. We describe a generative model for documents, introduced by Blei, Ng, and Jordan [1], in which each document is generated by choosing a distribution over topics and then choosing each word in the document from a topic selected according to this distribution. We then present a Markov chain Monte Carlo algorithm for inference in this model. We use this algorithm to analyze abstracts from PNAS by using Bayesian model selection to establish the number of topics. We show that the extracted topics capture meaningful structure in the data, consistent with the class designations provided by the authors of the articles, and outline further applications of this analysis, including identifying ‘‘hot topics’’ by examining temporal dynamics and tagging abstracts to illustrate semantic content.

总结和评论

这个工作提出一种方法来解决文章的主题识别问题。假定我们有一个有很多文章的语料库。其中的一篇文章[math]\displaystyle{ i }[/math],我们有一个这篇文章的词的分布函数[math]\displaystyle{ P\left(w_{i}\right) }[/math],我们想得到这篇文章属于哪一个主题,也就是一个主题的分布函数[math]\displaystyle{ P\left(z_{i}=j\right) }[/math]。怎么办?

文章提出来了一种找出来隐含层信息的方法。从思路上,这个工作这样来看这篇文章词的分布[math]\displaystyle{ P\left(w_{i}\right) }[/math]:它是这篇文章对应着的主题产生的,也就是先有一个文章的主题的分布函数[math]\displaystyle{ P\left(z_{i}=j\right) }[/math],然后有一个每一个给定主题的给定的词的分布函数[math]\displaystyle{ P\left(w_{i}|z_{j}\right), j=1,\cdots, T }[/math]来决定。也就是,[math]\displaystyle{ P\left(w_{i}\right)=\sum_{j=1}^{T} P\left(w_{i}|z_{j}\right)P\left(z_{i}=j\right) }[/math]。那么,剩下的问题是,你怎么知道[math]\displaystyle{ P\left(w_{i}|z_{j}\right) }[/math][math]\displaystyle{ P\left(z_{i}=j\right) }[/math]

如果有标注好主题的训练样本,则我们可以通过统计得到[math]\displaystyle{ P\left(w_{i}|z_{j}\right) }[/math],然后就可以反解出来[math]\displaystyle{ P\left(z_{i}=j\right) }[/math]。当然,实际上就算满足这个条件,具体计算上,还是要用机器学习的技术的。这个就是之前我们做美国物理学会论文APS数据的一个思路。

那么,当没有标注好主题的论文样本的时候,怎么办?我们可以想办法同时来调整[math]\displaystyle{ P\left(w_{i}|z_{j}\right) }[/math][math]\displaystyle{ P\left(z_{i}=j\right) }[/math]来实现计算出来的分布函数和[math]\displaystyle{ P\left(w_{i}\right) }[/math]接近。那具体这个调整怎么做,就是技术细节了。文章用了一个叫做Dirichlet函数的东西。

除了简单地使用这个方法做主题识别,以及把这个方法推广到实矢量空间(和word2vec结合用于文章主题识别),其实这个方法还有很大的一个直接借鉴的地方:无监督学习,一石二鸟挖掘隐含信息。一个看起来不可能的问题——从一个因变量求出来两个自变量,实际上是能够解决的,只要其中的一个自变量,这里就是非定主题的词分布[math]\displaystyle{ P\left(w_{i}|z_{j}\right) }[/math]具有普适性,也就是可以从大量样本中学出来。这个还要继续挖掘。

更多的关于Latent Dirichlet allocation(LDA)方法可以看这篇文章[2]和这个Wikipedia上的LDA页面

参考文献

  1. Blei, D. M., Ng, A. Y. & Jordan, M. I. (2003) J. Machine Learn. Res. 3, 993-1022
  2. Blei, D. M. (2012). Probabilistic topic models. Communications of the ACM, 55(4), 77-84.

本分类目前不含有任何页面或媒体文件。