如何使用 Mallet 获得给定查询的主题概率

How to get probability of topic given a query using Mallet

我想将 Mallet 用作专家查找项目的一部分。我几乎是 Mallet 的新手,但我知道它从一组文档中训练主题。假设我有 50 个由 Mallet 训练的主题。我想计算这个概率:p(topic|q) 或者 p(q|topic)

q 是查询。是一个词(比如algorithm,android等),希望找到指定领域的专家。

当我读到这个 ​​post : how to get word-topic probability using mallet 时,一位用户说我们可以使用 --word-topic-counts-file 选项计算概率。假设我已经通过 Mallet 生成了这个文件。它具有以下结构:

0 android 2:21
1 is 3:3
.
.
.

我知道这个结构的语义,但我不知道如何计算给定查询的主题概率(即 p(topic|q)p(q|topic)

P.S:我使用“任一个”这个词是因为我不确定 mallet 会计算出其中的哪一个

如有任何帮助,我们将不胜感激

使用 GlieBrt's answer to the linked question

中的示例行
1 needham 19:2 17:1

这里p(topic|q)可以计算为

p(19|李约瑟) = 2/3 = 0.67

p(17|李约瑟) = 1/3 = 0.33

有你自己的例子,就更简单了:

0 android 2:21

p(2|android) = 1.0