spamassassin-3.2.5-ja-test1.patch (2008-06-17) ---------------------------------------------------------------------------- README ---- 概要 オリジナルのSpamAssassinの3.2系列はnormalize_charsetオプションを有効にする ことにより、日本語等のマルチバイトの文字をUTF-8に正規化してから、ルールの 評価を行うことができることが意図されています。 しかし、SpamAssassin 3.2.5では、実はこの設定オプションは十分には機能してい ません。 そのため、この日本語対応パッチでは日本語等のマルチバイト文字の言語を正しく 扱うことができるようにしています。 なお、このパッチは日本SpamAssassinユーザ会(http://spamassassin.jp/)により 開発が行われています。 ---- バージョン3.1系列との違い SpamAssassinの3.2系列ではJohn Gardiner Myer氏のnormalize_charsetパッチが 取り入れられています。normalize_charsetオプションを有効にすると、メールの ヘッダや本文の文字エンコーディングをUTF-8に変換した上で、ルールの評価を行 います。 日本語対応パッチでは3.2系列のnormalize_charsetオプションに仕様を合わせる ために3.1系列に日本語対応パッチとは互換性が無くなっています。 3.1系列の日本語対応パッチで提供していた"nbody"ルールやヘッダテストにおける ":utf8"クエリはなくなりました。直接、bodyルールやヘッダテストにUTF-8の文字 を記述することになります。 また、旧来のISO-2022-JPの文字をバイト文字で記述するルールは normalize_charsetオプションを有効にすると使えなくなります。 ---- パッチの配布元 次のサイトから日本語対応パッチをダウンロードできます。 http://spamassassin.jp/download/sa3.2/ 以下のパッチ等をダウンロードできます。 説明ファイル(このファイル) spamassassin-3.2.5-ja-test1.txt 日本語対応パッチ(総合パッチ) spamassassin-3.2.5-ja-test1.patch 分かち書きプラグインの設定ファイル tokenizer.pre orig_patchesディレクトリには総合パッチを機能毎に分けた個別のパッチが置いて あります。 spamassassin-3.2.5-normalize_charset-test1.patch spamassassin-3.2.5-report_charset-test1.patch spamassassin-3.2.5-tokenizer-test1.patch spamassassin-3.2.5-tokenizer_plugin-test1.patch spamassassin-3.2.5-util_charset-test1.patch ---- このパッチが以下のことを行っています。 * 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/ インストール時の注意事項: - バージョン1.0ではモジュールの依存関連の記述等がいい加減であるため ビルドやテストが失敗することがあります。 そのため、予め、次のモジュールをインストールしてください。 - Module::Build - ExtUtils::ParseXS - ExtUtils::CBuilder - Test::More - Data::Dump 2. 形態素解析エンジンMeCab 必要とするバージョン: 0.92以降 配布元: http://mecab.sourceforge.jp/ インストール時の注意事項: - ./configureのオプションで"--with-charset=utf8"を付ける必要がある。 3. MeCabの辞書mecab-ipadic 必要とするバージョン: 2.7.0-20060707以降 配布元: http://mecab.sourceforge.jp/ インストール時の注意事項: - 先にMeCab 0.92以降をインストールする必要がある。 - char.defを編集して次のように書き換える。 # ASCII #0x0021..0x002F SYMBOL #0x0030..0x0039 NUMERIC #0x003A..0x0040 SYMBOL #0x0041..0x005A ALPHA #0x005B..0x0060 SYMBOL #0x0061..0x007A ALPHA #0x007B..0x007E SYMBOL 0x0021..0x007E ALPHA - ./configureのオプションで"--with-charset=utf8"を付ける必要がある。 4. MeCabのPerlバインディングText::MeCab 必要とするバージョン: 0.12以降 配布元: http://search.cpan.org/~dmaki/Text-MeCab/ ---- SpamAssassin SpamAssassinのtar ballを展開後、このパッチを当ててください。 cd Mail-SpamAssassin-3.2.x patch -p1 < spamassassin-3.2.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.2.5-ja-test1.patch (2008-06-17) spamassassin-3.2.4-ja-test1.patchからの変更点 - SpamAssassin 3.2.5に対応した。 ---- spamassassin-3.2.4-ja-test1.patch (2008-01-21) spamassassin-3.2.3-ja-test1.patchからの変更点 - SpamAssassin 3.2.4に対応した。 ---- spamassassin-3.2.3-ja-test1.patch (2007-12-27) 旧パッチspamassassin-3.1.8-normalize-test8.patchからの変更点 - 3.2系列ではJohn Gardiner Myer氏のnormalize_charsetパッチが取り入れられて いるため、3.2系列のnormalize_charsetオプションの機能に合わせて、日本語対応 パッチを作り直した。 ----------------------------------------------------------------------------