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=PATHinstall.rbを起動したruby使用するrubyコマンド。
--kakasi=PATH自動検索kakasiコマンドのパス。
--without-kakasikakasiを使いません。メール中の日本語を処理できなくなります。

imap-bayes

$ imap-bayes [command] Maildir

Maildir には、Maildir形式のメールボックスを指定します。 command は以下のどれかです。

command働き
--initMaildir/imap-bayes.conf を初期化します。
--learn前回からの差分を学習します。1日1回、自動で実行されます。
--relearn学習データをクリアして1から学習しなおします。
--analyze直前に届いたメールの分析結果をCSV形式で出力します。
--testランダムに選んだメールをテストデータとして分類実験をして、精度を評価します。
(なし)標準入力からメールを受け取って、メールボックスに振り分けます。普通はqmail経由で実行されます。

Maildir/imap-bayes.conf

設定ファイルです。 "項目=値" の形式で書きます。

項目説明
IGNORES自動分類の対象外にするフォルダを ":" (コロン)で区切って指定します。日本語のフォルダ名を書くときは文字コードをEUCにしてください。サブフォルダを指定するには "." (ドット)を使います(例: "プライベート.家族")。
LIMIT各フォルダの最新 LIMIT 通のメールが学習対象になります。総メール数が多いと学習にメモリや時間を食います。逆に少なすぎると分類精度が下がります。

連絡先

質問、不具合、意見、パッチなどは下のコメント欄or掲示板にて。

  • s/ただし、何も保証しない/また、何も保証しない/ -- 2005-05-12 13:37:09 (木)
  • procmail経由でも使えています、Maildir/の部分は$HOME/Maildir/としないとだめですけど。 -- ぐはぐは 2005-05-12 20:17:28 (木)
  • 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? 2005-05-13 09:07:14 (金)
  • I started an english translation on imap-bayes-en . -- mourad? 2005-05-14 10:12:30 (土)
  • 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) 2005-05-17 14:32:39 (火)
  • 報告ありがとうございます。あとで追記しておきますね。>ぐはぐはさん -- Gimite (作者)? 2005-05-17 14:41:50 (火)

更新履歴

  • Ver. 0.2 (2006/5/7)
    • ライセンスに問題があったため変更。

ライセンス

GPL Ver.2です。


*1 sendmailやpostfixでも使えると思いますが、ここではqmailを前提として説明しています。

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-10-26 (日) 11:07:18 (3039d)