Home > Application | Internet | tower > インストール: SpamAssassin 3.2.5 + 日本語パッチ

インストール: SpamAssassin 3.2.5 + 日本語パッチ

考えた末に、結局日本語パッチもあてることにする。

フィルタによる選別結果を転送の基準付けに使用しているので、やはり精度が高いことが望ましいからだ。

まず、すでに(なぜか)インストールされている、3.3.1をアンインストールする。

# yum remove spamassassin

perl-Encode-Detect

すでにperl-Encode-Detect-1.01-1.el5.rf.i386がインストールされている。

MeCab 0.93

MeCab関連のインストールはちょっとてこずった。

MeCab: Yet Another Part-of-Speech and Morphological Analyzerより、mecab-0.98.tar.gzをダウンロード、 "--with-charset=utf-8"をつけて、configureなのだが...

src/mecab.h内の以下を修正しておく必要がある(数字に付いている括弧を外す)。

#define MECAB_NOR_NODE  0
#define MECAB_UNK_NODE  1
#define MECAB_BOS_NODE  2
#define MECAB_EOS_NODE  3
#define MECAB_EON_NODE  4

#define MECAB_USR_DIC   1
#define MECAB_SYS_DIC   0
#define MECAB_UNK_DIC   2

これを直しておかないと、Text::MeCabのmake testでエラーになってしまう。

$ tar zxvf mecab-0.98.tar.gz
$ cd mecab-0.98
$ ./configure --with-charset=utf-8
$ make
$ sudo make install

(/usr/local/libが、/etc/ld.so.confに書いてあるのを確認して)
$sudo /sbin/ldconfig

MeCab IPA 辞書

やはり、MeCab: Yet Another Part-of-Speech and Morphological Analyzerからmecab-ipadic-2.7.0-20070801.tar.gzをダウンロード。

char.defのASCIIの部分をを以下のように編集。

# 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=utf-8
$ make
$ sudo make install

文字コードは当然utf-8。

Text::MeCab

cpanでインストール可能。
文字コードは当然utf-8。

# cpan Text::MeCab

なお、前述のmecab.hの修正を行わないと、make testでエラーが発生するため、cpanはもちろん、http://search.cpan.org/~dmaki/Text-MeCab/からダウンロードしたtarballからもインストールできない。

最初、ぐぐってみた結果いくつか見つかったMakefile.PLのパスの修正をしたのだが、ダメだったので試行錯誤。

日本語パッチ版SpamAssassin

SpamAssassinから、Mail-SpamAssassin-3.2.5.tar.gzをダウンロード、さらに日本SpamAssassinユーザ会から、spamassassin-3.2.5-ja-test1.patchをダウンロード、展開して日本語パッチをあてて、インストール。

$ cd Mail-SpamAssassin-3.2.5
$ patch -p1 < spamassassin-3.2.5-ja-test1.patch
$ perl Makefile.PL
$ make
$ make test
$ sudo make install

このままだと、ログにwarningがでるので、/usr/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin/Plugin/Tokenizer/MeCab.pmのsub tokenizeを以下のように修正。

参考: http://xoops.fens.net/modules/wiki/?Linux/cfg/Mail-SpamAssassin-3.2.5

    for (my $node = $mecab->parse($text); $node; $node = $node->next) {
#      push(@buf, $node->surface);
      if ( defined $node->surface) {
       push(@buf, $node->surface);
      }
    }

/etc/mail/spamassassin/lcoal.cfに次の行を追加。

normalize_charset 1

tokenizer.preを/etc/mail/spamassassin/にコピーして、以下の行をコメントアウトして、

loadplugin Mail::SpamAssassin::Plugin::Tokenizer::SimpleJA

以下の行のコメントを解除してMeCabを有効化。

loadplugin Mail::SpamAssassin::Plugin::Tokenizer::MeCab

これで、SpamAssassin 3.2.5 + 日本語パッチ自体のインストール自体は完了。

Trackbacks:0

TrackBack URL for this entry
http://rally.jp/cgi-bin/mt/mt-tb.cgi/1912
Listed below are links to weblogs that reference
インストール: SpamAssassin 3.2.5 + 日本語パッチ from Computer

Home > Application | Internet | tower > インストール: SpamAssassin 3.2.5 + 日本語パッチ

Search
etc...
Feeds

Return to page top