名称 | バージョン | 備考 |
---|---|---|
Solaris | 10 | Ruby が動く環境 |
Ruby | 1.8.4 | bsfilter は Ruby で書かれている。 Freeware for Solaris のパッケージを使用した。 |
MeCab(和布蕪) | 0.90 | 形態素解析エンジン。 他に ChaSen(茶筌) と KAKASI をサポートしている。また、標準のままでも bigram(連続する漢字2文字で1token) と block(連続する漢字全部で1token) をサポートしている。 |
mecab-ruby | 0.90 | MeCab のRubyバインディング。 |
procmail | 3.22 | MDA(Mail Delivery Agent)。メールの振り分け。 |
bsfilter | 1.0.12 + MeCab 0.90 用パッチ | MeCab 0.90 を使用する場合はパッチが必要。 フォーラムには revision: 1.78.2.1 で取り込んだと書いてあるが、私の環境では動作しなかった。 追記:報告者のk3cさんも動かなかったようで、4/12に1.78.2.1用のパッチも登録された。 |
Postfix | 2.2.9 | メールサーバ(MTA : Mail Transport Agent)。 Solaris 10 へのインストール手順は『Postfixのパッケージ作成手順 for Solaris 10』参照。 |
Dovecot | 1.0 beta5 | IMAP, IMAPS, POP3, POP3S サーバ。 インストールおよび設定手順は『Dovecot で IMAP サーバ構築』参照。 |
メールの保存形式 | --- | やっぱ Maildir でしょう。 |
$ gunzip ファイル名 # pkgadd -d 展開後のファイル名
$ tar zxf mecab-0.90.tar.gz $ cd mecab-0.90 $ ./configure $ make # make installIPA辞書:
$ tar zxf mecab-ipadic-2.7.0-20060408.tar.gz $ cd mecab-ipadic-2.7.0-20060408 $ ./configure $ make # make install
$ mecab すもももももももものうち すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ も 助詞,係助詞,*,*,*,*,も,モ,モ もも 名詞,一般,*,*,*,*,もも,モモ,モモ も 助詞,係助詞,*,*,*,*,も,モ,モ もも 名詞,一般,*,*,*,*,もも,モモ,モモ の 助詞,連体化,*,*,*,*,の,ノ,ノ うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ EOS
$ tar zxf mecab-ruby-0.90.tar.gz $ cd mecab-ruby-0.90 $ ruby extconf.rb $ make # make install
$ tar zxf procmail-3.22.tar.gz $ cd procmail-3.22 $ make # make BASENAME=/usr/local install-suid
$ tar zxf bsfilter-1.0.12.tgz $ patch -p1 -d bsfilter-1.0.12 < bsfilter-rubymecab0.90.patch patching file bsfilter/bsfilter # cp bsfilter-1.0.12/bsfilter/bsfilter /usr/local/bin/
jtokenizer MeCab insert-flag insert-probability
$ bsfilter --add-clean ~/Maildir/.Clean/cur/*
$ bsfilter --add-spam ~/Maildir/.Spam/cur/*
$ bsfilter --update
PATH=$HOME/bin:/usr/bin:/usr/local/bin MAILDIR=$HOME/Maildir DEFAULT=$MAILDIR/ LOGFILE=$HOME/log/procmail.log LOCKFILE=$HOME/.lockmail :0 fw | bsfilter --auto-update --pipe --insert-flag :0 * ^X-Spam-Flag: Yes .Spam/
"|IFS=' ' && p=/usr/local/bin/procmail && test -f $p && exec $p -Yf- || exit 75 #ユーザ名"
$ bsfilter --sub-spam --add-clean --update ファイル名
$ bsfilter --sub-clean --add-spam --update ファイル名
$ bsfilter ファイル名 combined probability ファイル名 1 0.012701最後の数字がspamの確立で 0 から 1 の範囲の値が返る。
$ bsfilter < cleanのファイル名 ; echo $status 1 $ bsfilter < spamのファイル名 ; echo $status 0