2006年2月20日

[SpamAssassin-JP 42]SpamAssassin 3.1.0の日本語化対応パッチ

** SpamAssassin メーリングリスト **
** 注意:このメールへの返信は SpamAssassin-jp へ行きます **
久保と申します。

このMLに初めてポストいたします。よろしくお願いいたします。

シグネチャにも書いたように、私の会社ではSpamAssassinベースのスパムフィル
タを出していて、その新バージョンを作るために日本語スパムへの対応の強化が

不可欠になりました。spamassassin-dev MLを見ていたら、John Myersさんが文
字セットをUTFー8に正規化するというパッチを提案しておられたので、この成果
の上に日本語を正しく処理できるようなパッチを作りました。

このパッチはSA 3.1.0用で、暫定的に次のURLに置いてあります。

http://www.3ware.co.jp/tests/sa310/spamassassin-normalize.patch

このパッチを使うと、次のような御利益があります。

(1) local.cfやuser_prefsのテストに日本語が直接書けるようになる

注意: スピードの観点からUTF-8を理解しないモードで動作しますので、
正規表現は使えますが「日本語正規表現」対応ではありません。また、
日本語はUTF-8で書かなければなりません。

(2) ベイズフィルタの検出精度が大幅に向上する

日本語特有の課題(文節区切り、単語の途中で改行してもいい)に対応してい
て、Bayesデータベースには日本語の単語が登録されます。この結果、単語
の出現傾向が正確に把握できるようになり、BAYES_nnのテストの精度が劇的
に向上しました。

なお、単語区切りのためにkakasiが必要です。MeCabを使う方が文字セット
変換が減らせるので望ましく、テスト的に動かしていますが、テスト不足な
のでkakasi版を公開します。

ベイズフィルタの検出精度の向上については、簡単なレポートを作ってあります。

http://www.3ware.co.jp/tests/sa310/Bayes_improvement.pdf

このパッチを使ったSAを約2ヶ月運用していますが、ホワイトリストなどと組み
合わせることにより、99パーセント程度の良好なスパム判定実績が得られています。

とはいうものの、このパッチには次のような注意点があります。

(1) まだSpamAssassinのソースに取り入れられていない。使うのだったら自己責
任でどうぞ

現在とりあえず日本語に対して上記のような優秀な成果が得られています
が、SpamAssassin開発グループにはまだ受け入れられていません。それは、
以下のような課題がまだ残っているためです。

(2) 従来のconfファイルとの互換性がない

bodyなどのテストが日本語(UTF-8)で記述できるというのは、非常に大きな
メリットだと思います。しかしWebで公開されているこれまでのヒントや
ルール集と互換性がなくなります。また、日本語スパムはShift-JISが使わ
れていることが結構多いので、文字セットごとの判断をさせたいことがある
かもしれません。UTFー8に統一することで、文字セット依存の判断が書けな
くなります。

nbody (normalized bodyの意味)などという新しいテストのキーワードを
作って、従来のbodyルールもそのまま使えるような、互換性への配慮が必要
だろうと思います。

(3) わかち書き対応の課題

kakasiをとりあえず使っていますが、ネイティブのkakasiはUTFー8を受け付
けません。このため内部的にEUC_JPに変換してわかち書き処理を行い、その
後UTFー8に戻すという処理を書いています。当然中国語やハングルのことを
考えると好ましくないし、コード変換のオーバーヘッドも少々気になりま
す。

またApacheライセンスと相性がいいものを選ばないと実装がややこしくなっ
てしまう、という問題もありそうです。

(4) 日本語以外のマルチバイト言語対応

前項にも書きましたが、日本語以外の言語のことは、はっきりいって考慮し
ていません。言語依存の詳細な処理はともかく、各言語ごとに最適な処理を
スイッチできるようなフレームを用意する必要があるのかな、と思っていま
す。

公開したパッチは、今後のSAの国際化やローカライズについての有力な叩き台に
なるんじゃないかと思っています。しかし同時に上記のような課題や制限もたく
さん残っています。

ただ、残念ながら私自身このパッチを強化するだけの技術力と時間がありませ
ん。どなたかこのパッチを引き継いで前進させていただけないでしょうか。

また、実際にかなりスパム検出精度が向上するので、注意点などをわきまえた上
で日本語スパム対応のルールセットのノウハウを持ち寄って高めあう活動もしや
すくなると思います。

別にこのパッチをどうする、ということをメインにするわけじゃないのですが、
SAを使ったスパム対策の情報を共有し、普及するために、「日本SpamAssassin
ユーザ会」を呼びかけたいとも思っています。このことについては別メールに分
けてポストします。

--
----------------------------------------------------------------------
久保 元治 (株)サードウェア
Motoharu Kubo 274-0815 千葉県船橋市西習志野3-39-8
mkubo@xxxxx URL: http://www.3ware.co.jp/
Phone: 047-496-3341 Fax: 047-496-3370
携帯: 090-6171-5545/090-8513-0246
★弊社からのメールはZ-Linuxメールフィルタで全数検査しています★
--
SpamAssassin メーリングリスト
http://mm.apache.jp/mailman/listinfo/spamassassin-jp

投稿者 xml-rpc : 2006年2月20日 15:57
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/40673
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。