我想知道如何为文本分类计算逐点相互信息。更确切地说,我想将推文归类。我有一个推文数据集(带注释),并且每个类别的单词都有一个字典。给定此信息,如何为每个推文计算每个类别的PMI,以将这些推文分类为这些类别之一。

最佳答案

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完全相关。

关于statistics - 关于文本的逐点相互信息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13488817/

10-09 17:19