关于文本的逐点互信息

Oli*_*s_j 21 statistics nlp machine-learning

我想知道如何计算文本分类的逐点互信息.更确切地说,我想按类别对推文进行分类.我有一个推文数据集(有注释),每个类别的词都有一个字典属于该类别.鉴于此信息,如何计算每个推文的每个类别的PMI,以便在这些类别之一中对推文进行分类.

mba*_*rov 33

PMI衡量一个特征(在你的情况下是一个单词)和一个类(类别)之间的关联,而不是文档(推文)和一个类别之间的关联.该公式可在维基百科上找到:

                  P(x, y)
pmi(x ,y) = log ------------ 
                  P(x)P(y)
Run Code Online (Sandbox Code Playgroud)

在该公式中,X是随机变量,用于对单词Y的出现进行建模,并对类的出现进行建模.对于给定的单词x和给定的类y,您可以使用PMI来确定某个功能是否提供信息,并且您可以在此基础上进行功能选择.功能较少通常会提高分类算法的性能并大大加快速度.然而,分类步骤是分开的 - PMI只能帮助您选择更好的功能以提供给您的学习算法.


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

                  P(x, y)             P(x|y)
pmi(x ,y) = log ------------ = log ------------ 
                  P(x)P(y)             P(x)
Run Code Online (Sandbox Code Playgroud)

何时xy完全相关P(x|y) = P(y|x) = 1,如此pmi(x,y) = 1/P(x).频率较低的x-es(单词)将具有比频繁x-es 更高的PMI分数,即使两者都完全相关y.

  • `P(x)`是单词`x`(小写)出现的概率,它是包含单词的文档数和文档总数之间的比率.`P(y)`是类(类别)`y`的概率,它以类似的方式计算.`P(x,y)`如果标签'y'和*包含单词`x'的文件数和文件总数之间的比例. (12认同)
  • Gerlof Bouma撰写了一篇题为"配置提取中的归一化(逐点)互信息"的论文,我相信它能解决对词频的敏感问题.基本上只是将pmi除以`-log(P(x,y))`. (3认同)