UNIX用ツール
Japanese / English
imap-bayesとは †
- メールを全自動でフォルダに振り分けるソフトです。
- IMAPを使ってる人向けです。procmailのようにサーバ側で動作します。
- 過去の分類を学習するベイジアンフィルタなので、ルールの設定は不要です。
- 分類ミスの訂正に特別な操作は不要です。メールソフトで正しいフォルダにメールを移動するだけです。
- 分類対象のフォルダは何個でもOKです。
既知の問題 †
- このソフトのメンテナンス(改良、バグ修正)は停止しています。
- 学習対象のメールが多いと、かなりメモリを消費します。
- 例:作者の環境
- 振り分け対象フォルダ: 約30個
- imap-bayes.confのLIMIT: 100(デフォルト)
- 消費メモリ(振り分け時): 約70MB
- 学習中にIMAPフォルダの削除/移動/名前変更を行うと、エラーが起きるようです。
ダウンロード †
imap-bayes-0.2.tar.gz
※このソフトはβ版です。最悪の場合、届いたメールがバグによって消失する可能性があります。充分注意して使ってください。
動作条件 †
メール環境が
- UNIX系のOS(現在FreeBSD 4.10でのみ動作確認)。
- qmailを使っている。*1
- Maildir形式のメールボックス(後述)。
- IMAPでメールを受信している。
という条件を満たしていないと、使えません。また、
が必要なので、インストールしておいてください。
簡単な使い方 †
ダウンロードしたファイルを解凍して、その中のinstall.rbを実行します(要root権限)。
# ruby install.rb
これでインストール完了。あとはユーザ(メールボックス)ごとの設定です。 ~/.qmail を開いて、
./Maildir/
という行があるのを確認します。ディレクトリ名が違う場合は、以下の説明を読み替えてください。ディレクトリ名の最後に "/" (スラッシュ)が付いていない場合は、Maildir形式ではないのでimap-bayesは使えません。
$ cd
$ imap-bayes --init ./Maildir
$ imap-bayes --learn ./Maildir
これで最初の学習が始まります。しばらく時間がかかります。(今後は1日1回、自動で学習します)
最後に、 ~/.qmail の
./Maildir/
という行を
| preline /usr/local/bin/imap-bayes ./Maildir
に書き換えれば完了です。
試しに自分宛てにメールを送って、ちゃんと(どれかのフォルダに)届くことを確認してください。
詳しい使い方 †
install.rb †
# ruby install.rb [options]
options には以下のオプションを指定できます。
オプション | デフォルト | 説明 |
--prefix=PATH | /usr/local | ここにインストールします。 |
--ruby=PATH | install.rbを起動したruby | 使用するrubyコマンド。 |
--kakasi=PATH | 自動検索 | kakasiコマンドのパス。 |
--without-kakasi | | kakasiを使いません。メール中の日本語を処理できなくなります。 |
imap-bayes †
$ imap-bayes [command] Maildir
Maildir には、Maildir形式のメールボックスを指定します。 command は以下のどれかです。
command | 働き |
--init | Maildir/imap-bayes.conf を初期化します。 |
--learn | 前回からの差分を学習します。1日1回、自動で実行されます。 |
--relearn | 学習データをクリアして1から学習しなおします。 |
--analyze | 直前に届いたメールの分析結果をCSV形式で出力します。 |
--test | ランダムに選んだメールをテストデータとして分類実験をして、精度を評価します。 |
(なし) | 標準入力からメールを受け取って、メールボックスに振り分けます。普通はqmail経由で実行されます。 |
Maildir/imap-bayes.conf †
設定ファイルです。 "項目=値" の形式で書きます。
項目 | 説明 |
IGNORES | 自動分類の対象外にするフォルダを ":" (コロン)で区切って指定します。日本語のフォルダ名を書くときは文字コードをEUCにしてください。サブフォルダを指定するには "." (ドット)を使います(例: "プライベート.家族")。 |
LIMIT | 各フォルダの最新 LIMIT 通のメールが学習対象になります。総メール数が多いと学習にメモリや時間を食います。逆に少なすぎると分類精度が下がります。 |
連絡先 †
質問、不具合、意見、パッチなどは下のコメント欄or掲示板にて。
- s/ただし、何も保証しない/また、何も保証しない/ --
- procmail経由でも使えています、Maildir/の部分は$HOME/Maildir/としないとだめですけど。 -- ぐはぐは
- Hello. This looks very nice, but I don't know Japanese well enough yet to understand the instructions and comments in the code. Could someone provide an english version of this page? Thanks. -- mourad?
- I started an english translation on imap-bayes-en . -- mourad?
- Thank you very much for starting imap-baes-en page. I'll edit the page, but my English is poor. Feel free to correct it if you find it strange/incomprehensible. -- Gimite (author)
- 報告ありがとうございます。あとで追記しておきますね。>ぐはぐはさん -- Gimite (作者)?
更新履歴 †
ライセンス †
GPL Ver.2です。