精度が少し低下

最近英語のメールを受け取ることが多くなったためか(といっても大半は SourceForge でモニタしているフォーラムのメッセージなのだけど)、精度が少し落ちてしまった。フォーラムのメッセージを spam と判定したのでそれを学習させたら、その後届いた spam を4通も連続して見逃し。精度は 98.91% に。英語のメールについては spam 以外をほとんど教えてなかったのが原因なのだけど、99% を切ったのはかなり久しぶりだなぁ。

これと関連して、コーパス内の単語の数を言語ごとに確認できるような機能があるといいなぁと思った。それには、メールがどんな言語で書かれているかを記録しないといけなくなるのでちょっと難しそうだけど。実際には、その情報を使って、言語ごとに確率を調べるべきなのかなという気もする。こんなことはほとんどないのかもしれないけど、ある単語が、別の言語ではまったく違う意味、なんてこともあるかもしれない。そうした場合、メールが書かれている言語に対応したコーパスを使えば、より正確な判断ができる……と思ったのだけど、処理が複雑になる割にあまり効果はないかもしれない。実際、一人の人が受信するメールの言語の種類ってそんなに多くはないと思うし。

見方を変えると、自分がメールをやり取りする言語以外は spam である確率が高い。そういえば、そんなアイデアid:jishiha さんがフォーラムに書かれていた。たしかにこの方法は効果がありそうだ。うちの場合、spam のほとんどは英語で、たまに日本語のものがくるくらいだったりするので私の環境ではあまり効果がないかもしれないが。

翻訳も一段落ついたので、テストツールの使い方を覚えようかなと計画中。「make test」で走らせられることはわかったのだけど、いくつか必要なモジュールがあるみたい。そのうちまた書こうと思う。