通常 Topic Model 对文本数据集建模,模型对训练数据集拟合的程度自然而然的使用来作为衡量模型好坏的指标,但是这样学出来的主题通常与人对主题的理解有较大差异。由此提出了一些用于衡量 Topic 质量的指标,主要分为两种(1)intrinsic measures;(2)extrinsic measures
在这篇最新的 paper 中,主题质量的衡量分为四个步骤:
- Segmentation of Word Subsets 某个主题内词子集的划分
- Probability Estimation 基本的概率值的计算
- Confirmation Measure 支持度计算
- Aggregation 整合所有主题上的主题指标
1 Segmentation of Word Subsets
一个词集合 \(W\) 的一致性(Coherence)是用于描述主题内一个词子集被其他词子集支持的程度。本步骤主要的任务是构造一个词子集对集合 \(S\),数学表示为 \(S=\{(W', W^*)\}, W'\cap W^* = \emptyset,W'\subseteq W, W^* \subseteq W\)
2 Probability Estimation
考虑数据单元的粒度大小,对于词有四个不同的概率计算方法
\(P_{bd}\): Boolean Document Estimation. 在文档级别上对出现的词只计数一次
\(P_{bp}\): Boolean Paragraph Estimation. 在段落级别上对出现的词只计数一次
\(P_{bs}\): Boolean Sentence Estimation. 在句子级别上对出现的词只计数一次
\(P_{sw}\): Boolean Sliding Window Estimation. 在窗口(窗口大小可自定义)级别上对出现的词只计数一次
概率 \(P(w_i, w_j)=\frac{Count(w_i,w_j)}{|D|}\)
概率 \(P(w_i)=\frac{Count(w_i)}{|D|}\)
其中 \(Count(w_i,w_j)\) 是同时出现 \(w_i\) 和 \(w_j\) 的数据单元个数,\(Count(w_i)\) 是包含 \(w_i\) 的数据单元的数量,\(|D|\) 是数据集中数据单元的数量。当数据单元的粒度为文档的时候,\(|D|\) 就是总的文档的数量;当粒度为 Window 的时候,\(|D|\) 就是总的窗口的数量
3 Confirmation Measure
这个步骤就是真正定义 topic score 衡量主题质量的方法了,各种 Topic Coherence 计算方法在这个步骤上不同,基于上一步中的概率公式来计算
UMass Mimno11a
\(score(w_i,w_j)=log\frac{P_{bd}(w_i,w_j)+\epsilon}{P_{bd}(w_j)}, j<i\)
UCI Newman10a
\(score(w_i,w_j)=log\frac{P_{sw}(w_i,w_j)+\epsilon}{P_{sw}(w_i)P_{sw}(w_j)}, j<i\)
NPMI
\(score(w_i,w_j)=\frac{log\frac{P_{sw}(w_i,w_j)+\epsilon}{P_{sw}(w_i)P_{sw}(w_j)}}{-log(P_{sw}(w_i,w_j))+\epsilon}, j<i\)
Word2vec based Similarity Score
\(score(w_i,w_j) = cosine(V_{w_i}, V_{w_j}), j<i\)
TF-IDF based improvement for UMass
\(score(w_i,w_j) = log(\frac{\sum_{d=1}^{|D|} \left(tfidf(d,w_i)\times tfidf(d,w_j)+\epsilon\right)}{\sum_{d=1}^{|D|} tfidf(d,w_j)}), j<i\)
TBuckets
4 Aggregation
上面的三个步骤是针对一个主题的计算方法,第四步是为了整合多个 Topic 上的得分。比如和取多个主题得分的均值,中位数或者几何中心等等
参考 (References)
- Exploring Topic Coherence over many models and many topics 2012
- Exploring the Space of Topic Coherence Measures 2015
- Gensim Implements of Topic Coherence Measurements
- https://labs.imaginea.com/how-to-measure-topic-coherence/
- http://qpleple.com/topic-coherence-to-evaluate-topic-models/
- http://qpleple.com/bib/#Newman10a