我正在尝试重现 Graber 等人的结果。表明当 LDA 与多语言语料库一起使用时,一个主题(例如,前 10 个)最可能的术语将来自单一语言。他们的论文在这里。
这是执行 IMO 的合理健全性检查,但我遇到了困难。
我正在使用他们使用的相同语料库Europarl 语料库,语料库由保加利亚语和英语组成。我将保加利亚语和英语语料库与
cat corpusBg.txt corpusEn.txt >> corpusMixed.txt.
这包含每行一个句子,保加利亚语的行集合和英语的第二个集合。当我拟合一个包含 4 个主题的 LDA 模型时,前 10 名中有 3 个仅包含英语术语,而第 4 个是英语和保加利亚语之间的混合词。我正在使用 LDA 的默认设置:
texts = [[word for word in doc.lower().split()] for doc in open('corpusMixed.txt', 'r')]
dictionary = corpora.Dictionary(texts)
corpus = [dictionary.doc2bow(doc) for doc in texts]
lda = models.ldamodel.LdaModel(corpus, id2word = dictionary, num_topics = 4)
topics = lda.print_topics(lda.num_topics)
for t in topics:
print t
请注意,我没有删除停用词或稀疏术语,但我认为这无关紧要。直觉上应该有一些主题只有保加利亚语,而另一些主题只有英语,不是吗?