2017-09-01 108 views
3

我一直在做一个研究项目的自然语言叙述报告的LDA主题模型(使用Gensim和python)。我有几个较小的语料库(从1400到200个文档 - 我知道,这很小!),我想比较,但我不知道怎么做,除了看每个LDA模型(例如pyLDAviz) 。我的学术背景不在CS,而且我对NLP还是有点新的。用自然语言比较几种语料库的最佳方法是什么?

跨语料库/主题模型比较话题有哪些好方法?例如,是否有可能估计两个LDA模型重叠?或者还有其他方法来评估几个语料库的主题相似性吗?

在此先感谢您的帮助!

回答

0

将语料库加入到一个大语料库中,做一个主题模型,其中包含对您来说很重要的参数,并比较主题在子语料库中的分布情况。

这是我知道的唯一干净的方法。注意不同的随机种子会产生不同的主题模型,其他所有参数都是固定的没有这样的东西一个语料库的主题模型。

一个例子(其中subcorpora是不同年份的科学论文出版)可在this abstract发现(全部引文:

@InProceedings{fankhauser-etal2016, 
Title     = {Topical Diversification over Time in the {R}oyal {S}ociety {C}orpus }, 
Author     = {Peter Fankhauser and J{\"o}rg Knappen and Elke Teich}, 
Booktitle    = {Proceedings of DH 2016}, 
Year      = {2016}, 
Address     = {Krakow, Poland}, 
Month     = {July 12-16}, 
url      = {http://dh2016.adho.org/abstracts/322}, 
} 

)。

+0

谢谢!你有一个教程或例子来说明如何比较这个主题在子目录中的分布情况吗?鉴于属于每个子体的文档没有标记/标记模型中其子体的名称,我不知道如何做到这一点。任何帮助将不胜感激! –

+0

@PaulMiller:我添加了一个我在答案中共同撰写的实例研究。当然,你必须做一些簿记(例如,通过保存属于各自子分支的文件清单)。对于统计数据,我们使用R和python,但是你可以选择你喜欢的任何工具。 – jknappen

+1

我认为没有正确的数学方法(但)来比较在不同的语料库上训练的主题。但是,如果您确实将所有文档组合到一个语料库中,并且使用[Jenson Shannon距离]可以很容易地找到文档(通过其主题分布)之间的相似性(https://stackoverflow.com /问题/ 15880133 /詹森 - 香农发散) – killerT2333

相关问题