Forums: POPFile 全般 (Thread #7842)

得点の計算方法について (2005-06-09 14:53 by mariee #14612)

単語マトリクスの「頻度」「確率」「得点」で、頻度と確率はわかるのですが、得点が何を基準にして出している数字なのかがわかりません。
何か特別な式などがあるのでしょうか?

RE: 得点の計算方法について (2005-06-12 02:07 by amatubu #14634)

あまり詳しくはないのですが、得点は頻度をもとに

(ln(頻度)-ln(コーパスにない単語の頻度))/ln(10)

として計算されます。(ln は自然対数)

コーパスにない単語の頻度(確率)は
http://popfile.sourceforge.net/cgi-bin/wiki.pl?JP_FrequentlyAskedQuestions/NewWords
にありますように、1/(10*コーパスの大きさ(=単語数)) ですから、

(ln(頻度)-ln(1/(10*単語数)))/ln(10)

となりますが、これをもう少し単純な式に変形すると

得点=log(頻度)+log(単語数)+1

ということになります。(log は常用対数)

なぜここで対数が出てくるのかといいますと。
メールをどのバケツに分類するかについては
http://popfile.sourceforge.net/cgi-bin/wiki.pl?JP_Glossary/Bayesian
のような計算をするのですが、その際には 1 よりも小さな数を
たくさん掛け合わせることになり、どうしても誤差が生じてしまいます。
これを避けるために、確率の対数をとってそれを足しあわせる
ようにしているのです。そのあたりの説明は、英語ですが
http://sourceforge.net/docman/display_doc.php?docid=13648&group_id=63137
に書かれています。

どのバケツの確率がいちばん高いかを計算するためには log(頻度)
を使うだけで実際には UI に表示される「得点」を使っている
わけではないのですが、マイナスの数字が並ぶよりも 1 以上の
数字が並んだ方がわかりやすいだろうということでそういう値を
表示しているのではないかと思います。
(もちろん、この「得点」を計算するときに使っている
 ln(1/(10*単語数)) の部分はすべてのバケツについて等しい
 値なので、「得点」を使ってバケツごとの確率を計算しても
 同じ結果になるわけですが)

こんな内容で参考になるでしょうか。
Reply to #14612

RE: ご返答ありがとうございました (2005-06-13 17:04 by mariee #14677)

参考にさせていただいて、計算してみます。
ありがとうございました!
Reply to #14612