【言語処理】Perlでspamフィルタを作る
■ このスレッドは過去ログ倉庫に格納されています
0041 ◆mR2RlX5cuk
2006/12/07(木) 01:40:49ttp://www.tom.comm.waseda.ac.jp/~ike/column/0006.html
このサイトでは、hum性がP、spam性がQを表しているので>>5でのH、Sにあたります。
まずgary方式の単語スパム確率であるp(w)を下記の式でロビンソン方式の単語spam確率f(w)にします。
f(w) = ((robs * robx) + (n * p(w))) / (robs + n)
robxはspamでもhumでもないときの確率(0.5付近に設定)でn(単語の出現回数)が少ないときは
p(w)は信頼性なしとみなされrobxの確率に近付くようになり、回数が増えると本来のp(w)の値に近付きます。
robsは近付ける強さを表します。
で、ここから後が問題なのですが(>>5で言ったことは忘れてください。。)
(nはメール内に含まれていた単語の種類数)
H = 1 - (1 - f(w1)) * (1 - f(w2)) *...* (1 - f(wn) )^(1 / n)
だと1から各単語spamでない幾何平均をひいているのでこれはspam性を表すSで、
同様に
S = 1 - (f(w1) * f(w2) *...* f(wn))^(1 / n)
はhum性を表すHなのでは、、と思うのです。
そしてもっとわからないのが
I = (H - S) / (H + S)
です。
H∧Sでなければ上の式はまったく意味がないように思うのですが、H∧Sになる理由がわからないのです。。
A Plan for Spam(garyの式解説)
ttp://level.s69.xrea.com/mozilla/spam/index.html
ロビンソンの式解説(本人のところ)
ttp://radio.weblogs.com/0101454/stories/2002/09/16/spamDetection.html
■ このスレッドは過去ログ倉庫に格納されています