SpamAssassinのこと(4)
SpamAssassinの開発用メーリングリストにパッチのことやその成績を書いたところ、いろいろなアドバイスや意見のフィードバックがありました。
その中で大きな検討ポイント、課題として残っているのは、次の3点です。
- 日本語特有の処理を組み込むと、わかち書きプログラムなどが必須になるし、処理速度が低下する。不要なユーザのために、選択できるようにする必要がある。
- わかち書き(トークナイズ)は日本語だけのニーズではなく、必要とする他の言語にも対応できるような工夫が必要。
- スパム特有のことばの出現を調べる場合、(1)元のメールのテキストそのままで調べる、(2)文字セットをUTF-8に統一した結果で調べる、(3)さらにわかち書きした結果で調べる、というやり方が考えられる。
現在、SpamAssassin-JPメーリングリストで滝澤さんがこれらの問題に取り組んでおられて、これらのほとんどはほぼ解決できました。
1についてはnormalize_charsetというSpamAssassinのグローバルなオプションを用意し、使わない場合には文字セットの統一やわかち書きをスキップするようになっています。
2についてはプラグインという方式を採用して、任意のわかち書きプログラムと組み合わせられるように改善されています。
3については、文字セットを統一しないオリジナルのメールテキストに対するチェックは従来どおりのbodyという名前のルールで対応し、文字セットを統一した後のテキストに対するチェックのためにnbodyという新しいルールが書けるようになりました。ただし、わかち書きを行うかどうか、まだ検討が必要だろうと思います。
すでに滝澤さんのパッチは私のところのメールサーバで約1ヶ月順調に動作しており、動作上の問題はないことがほぼ確認できています。今後の予定としては、上記の3の課題への対応をはかり、その上でSpamAssassin開発グループにパッチを提出、最終的にはSpamAssassinの将来バージョンのどこかで正式に取り込まれるよう働きかけていこうと思っています。
SpamAssassinというソフトやその取り組みに興味がある方は、ぜひ日本語スパム対応を強化する取り組みにご参加ください。