正規自己相互情報量NPMIが -1 ~ 1 な訳


自己相互情報量PMI

PMI(x, y) = log{\frac{P(x, y)}{P(x)P(y)}}

これです。$P$ は確率分布です。
PMIは自然言語では、単語 $x, y$ の関連度合いが測れます。
ただ、$x, y$ の希少度が値に大きく影響してしまうので、参考にならないこともあります。
(参考:自然言語処理における自己相互情報量
そこで、正規化します。

正規自己相互情報量NPMI

NPMI(x, y) = \frac{PMI(x, y)}{-log{P(x, y)}}

最初に見た時は「これ正規化になってるの?」って思いました。
でも、 $-1 \leq NPMI(x, y) \leq 1$ なんです。
証明します。

-1 ≦ NPMI(x, y) ≦ 1 の証明

$0 \leq P(x), P(y) \leq 1$ より $- logP(x)P(y) > 0$
よって

\begin{eqnarray}
PMI(x, y) &=& logP(x, y) - logP(x)P(y) \\
&\geq& logP(x, y)
\end{eqnarray}

また、 $0 \leq P(x|y), P(y|x) \leq 1$ より $logP(x|y)P(y|x) < 0$
よって

\begin{eqnarray}
PMI(x, y) &=& log \frac{P(x, y)P(x, y)}{P(x)P(y)P(x, y)} \\
&=& log \frac{P(x|y) P(y) P(y|x) P(x)}{P(x)P(y)P(x, y)} \\
&=& log \frac{P(x|y) P(y|x)}{P(x, y)} \\
&=& log P(x|y) P(y|x) - log P(x, y) \\
&\leq& - log P(x, y)
\end{eqnarray}

したがって

log P(x, y) \leq PMI(x, y) \leq - log P(x, y) \\
-1 \leq NPMI(x, y) \leq 1

以上です。