spamassassin-3.3.1-ja.patch (2010-08-16) ---------------------------------------------------------------------------- README ---- 概要 オリジナルのSpamAssassinの3.3系列はnormalize_charsetオプションを有効にする ことにより、日本語等のマルチバイトの文字をUTF-8に正規化してから、ルールの 評価を行うことができることが意図されています。 しかし、SpamAssassin 3.3.1では、実はこの設定オプションは十分には機能してい ません。 そのため、この日本語対応パッチでは日本語等のマルチバイト文字の言語を正しく 扱うことができるようにしています。 なお、このパッチは日本SpamAssassinユーザ会(http://spamassassin.jp/)により 開発が行われています。 ---- バージョン3.2系列の日本語パッチとの違い 分かち書きのために、3.2系列ではMeCabとそのPerlバインディングの実装の一つである Text::MeCabモジュールを使っていましたが、3.3系列ではMeCab標準のPerlバイディン グのmecab-perlモジュールを使うようになりました。 ---- 日本語パッチを当てていない物との違い ISO-2022-JPの文字をバイト文字で記述するルールはnormalize_charsetオプション を有効にすると使えなくなります。 ---- パッチの配布元 次のサイトから日本語対応パッチをダウンロードできます。 http://spamassassin.emaillab.jp/pub/ja-patch/sa3.3/ 以下のパッチ等をダウンロードできます。 説明ファイル(このファイル) spamassassin-3.3.1-ja-1.txt 日本語対応パッチ(総合パッチ) spamassassin-3.3.1-ja-1.patch 分かち書きプラグインの設定ファイル tokenizer.pre ---- このパッチが以下のことを行っています。 * normalize_charsetオプションの改良 o UTF-8の文字が文字落ちするバグの修正 o 判定方法の改良 * 文字エンコーディングや言語の判定に関するユーティリティモジュールの追加 * report_charsetオプションの改良 * ベイジアンフィルタのUTF-8対応 o UTF-8の文字が文字落ちするバグの修正 * ベイジアンフィルタの日本語対応 o 日本語のトークナイザーの追加 このパッチが提供する機能は次のものです。 * テストのUTF-8対応 ヘッダテストやボディテストでパターンをUTF-8の文字エンコーディングで記述 できる。 例) header SUBJ_MISHODAKU Subject =~ /(未|末)承諾/ body DEAI /出(会|逢)/ * ベイズフィルタの日本語対応 ベイズフィルタで日本語の文書を正しく学習・判定できるようになる。 このパッチの制限事項は次の通りです。 * sa-compileはUTF-8の文字が含まれているとコンパイルの対象外になります。 これはSpamAssassinの仕様です。 * パターンにおいてUTF-8の文字のブラケット表現(文字クラス)を使用する ことができません。 つまり"/[あーお]+/"のようなパターンを使うことができません。 ---- 使い方 1. 設定ファイルlcoal.cfに次の行を記述します。 normalize_charset 1 2. tokenizer.pre(別配布)をlocal.cfと同じディレクトリにコピーして次の行の コメントを解除してSimpleJAプラグインを有効にします。 loadplugin Mail::SpamAssassin::Plugin::Tokenizer::SimpleJA SimpleJAは文字種(漢字、ひらがな、カタカナ、英数字)により分かち書きを 行うプラグインです。 精度の高い分かち書きを行う場合にはMeCabプラグインを使ってください。 MeCabプラグインを使う場合は次の行のコメントを解除して有効にします。 loadplugin Mail::SpamAssassin::Plugin::Tokenizer::MeCab 3. UTF-8対応のエディタで設定ファイルlocal.cf,user_prefs等を編集して、header テストと"body"ルールにおいて日本語でパターンを記述します。 記述したら、このファイルを文字エンコーディングをUTF-8に指定して保存して ください。 ルールの記述例: header SUBJ_MISHODAKU Subject =~ /(未|末)承諾/ describe SUBJ_MISHODAKU Subject: mishodaku score SUBJ_MISHODAKU 2.5 body DEAI /出(会|逢)/ describe DEAI 'deai' score DEAI 0.5 4. "spamassassin --lint"を実行して、ワーニングが出ていないかを確認します。 5. 以上で準備が整いましたのでspamd等のデーモンを利用している人はデーモン を再起動してください。 ---------------------------------------------------------------------------- INSTALL ---- 事前準備 次のソフトウェアを事前にインストールしてください。 なお、2,3,4に関してはTokenizer::MeCabプラグインを使う場合に必要です。 1. 文字エンコーディング検出器Encode::Detect 配布元: http://search.cpan.org/~jgmyers/Encode-Detect/ 2. 形態素解析エンジンMeCab 必要とするバージョン: 0.98以降 配布元: http://mecab.sourceforge.jp/ インストール時の注意事項: - ./configureのオプションで"--with-charset=utf8"を付ける必要がある。 3. MeCabの辞書mecab-ipadic 必要とするバージョン: 2.7.0-20070801以降 配布元: http://mecab.sourceforge.jp/ インストール時の注意事項: - ./configureのオプションで"--with-charset=utf8"を付ける必要がある。 4. MeCabのPerlバインディングmecab-perl 必要とするバージョン: 0.98以降 配布元: http://mecab.sourceforge.jp/ ---- SpamAssassin SpamAssassinのtar ballを展開後、このパッチを当ててください。 cd Mail-SpamAssassin-3.3.x patch -p1 < spamassassin-3.3.x-ja-yyyy.patch 後は、通常のSpamAssassinのインストールと同じです。 ---------------------------------------------------------------------------- LICENSE Apache License, Version 2.0が適応されます。 ライセンスについての詳細は下記URLを参照してください。 http://www.apache.org/licenses/LICENSE-2.0 ---------------------------------------------------------------------------- AUTHOR - Motoharu Kubo - Takashi Takizawa (Current maintainer) ---------------------------------------------------------------------------- TODO ---------------------------------------------------------------------------- Changes ---- spamassassin-3.3.1-ja-1.patch (2010-08-16) 旧パッチspamassassin-3.2.5-normalize-test1.patchからの変更点 - MeCabのPerlバインディングにmecab-perlを使うようにした。 ----------------------------------------------------------------------------