28

我想知道如何计算文本分类的逐点互信息。更准确地说,我想对推文进行分类。我有一个推文数据集(带注释),并且每个属于该类别的单词类别都有一个字典。鉴于此信息,如何计算每条推文的每个类别的 PMI,以将推文分类为这些类别之一。

4

1 回答 1

38

PMI 是衡量特征(在您的情况下是单词)和类(类别)之间的关联,而不是文档(推文)和类别之间的关联。该公式可在Wikipedia上找到:

                  P(x, y)
pmi(x ,y) = log ------------ 
                  P(x)P(y)

在该公式中,X是对单词的出现进行建模的随机变量,并对Y类别的出现进行建模。对于给定的单词x和给定的类y,您可以使用 PMI 来确定特征是否具有信息性,并且您可以在此基础上进行特征选择。拥有更少的特征通常可以提高分类算法的性能并大大加快它的速度。然而,分类步骤是分开的——PMI 仅帮助您选择更好的特征来输入您的学习算法。


编辑:我在原帖中没有提到的一件事是 PMI 对词频很敏感。让我们将公式重写为

                  P(x, y)             P(x|y)
pmi(x ,y) = log ------------ = log ------------ 
                  P(x)P(y)             P(x)

xy完全相关时,P(x|y) = P(y|x) = 1,所以pmi(x,y) = 1/P(x)。不太频繁x的 -es(单词)将比频繁的x-es 具有更高的 PMI 分数,即使两者都与y.

于 2012-11-21T12:02:04.220 回答