我想在专家查找项目中使用Mallet。我对Mallet几乎是个新手,但我知道它可以从一组文档中训练出主题。假设我已经用Mallet训练了50个主题。我想计算这个概率:p(topic|q)
或者p(q|topic)
q
是查询。它是一个词(如算法、安卓等),我希望找到该领域的专家。
当我阅读这篇文章:如何使用Mallet获取词-主题概率时,有个用户提到我们可以使用--word-topic-counts-file
选项来计算概率。假设我已经通过Mallet生成了这个文件。它的结构如下:
0 android 2:211 is 3:3...
我了解这个结构的语义,但我不知道如何计算给定查询的topic概率(即p(topic|q)
或者p(q|topic)
)
附注:我使用“或者”这个词是因为我不确定Mallet计算的是哪个
任何帮助都将不胜感激
回答:
以GlieBrt对链接问题的回答中的这一行举例
1 needham 19:2 17:1
这里可以计算p(topic|q)
如下:
p(19|needham) = 2/3 = 0.67
和
p(17|needham) = 1/3 = 0.33
用你自己的例子来说就更简单了:
0 android 2:21
p(2|android) = 1.0