-
Notifications
You must be signed in to change notification settings - Fork 596
主题去重工具
Di Jiang edited this page Aug 22, 2017
·
1 revision
本页介绍对于一个训练好的主题模型,如何进行主题去重并对冗余度较高的主题进行聚合。
对于任意两个主题,我们考虑其前K个词的分布,我们提供了两个指标进行冗余性评估:
- 对于任意两个主题,计算它们前K个词的Jaccard Similarity,定义为:
如果相似性 ≥ 用户定义的Jaccard_thresh,即认定这两个topic存在较大的冗余。
- 对于任意两个主题,计算它们前K个词的Weighted Jaccard Similarity,定义为:
如果相似性 ≥ 用户定义的Jaccard_thresh,即认定这两个主题存在较大的冗余。
我们记录了所有冗余的主题对,通过Disjoint-Set (即Union-Find) 找到非连接的若干集合,并把每个集合内的主题合并到一起,完成主题去重。
运行merge_run.py
脚本对训练好的主题模型进行去重:
$ python TopicMerge/merge_runner.py --model_dir=../model/news --conf=lda.conf --k=30 --Jac_opt=0 --threshold=0.1 --output_file=news_lda.merge.model
-
model_dir
是模型目录 -
conf
是模型配置文件,默认为lda.conf -
k
是每个主题选取前K个词进行相似度计算,默认为30 -
Jac_opt
选择衡量策略,0表示启用Jaccard Similarity,1表示启用Weighted Jaccard Similarity -
threshold
是设定阈值,高于该阈值表示两个主题为冗余,需要根据压缩程序来设定该值 -
output_file
是输出文件
运行上述命令对新闻LDA模型进行去重,效果如下:
Merge 1036 redundant topics into 87 topics (sets).
Now, in total we have 1051 refined topics.