我想知道如何计算文本分类的逐点互信息。更准确地说,我想对推文进行分类。我有一个推文数据集(带注释),并且每个属于该类别的单词类别都有一个字典。鉴于此信息,如何计算每条推文的每个类别的 PMI,以将推文分类为这些类别之一。
问问题
29571 次
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)
当x
和y
完全相关时,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 回答