Mozilla Thunderbirdで Junk Mail の振り分け

| | コメント(0) | トラックバック(0)

現在、WindowsXP + Mozilla Thunderbird 0.3 (20031013) を使用しています。
ジャンクメールの振り分けがちっともうまくいきません。

  1. 「Tool」>「Junk Mail Controls」>「Settings」タブ>「Account」で振り分け機能を使いたいメールアドレスを選択
  2. 「Tool」>「Junk Mail Controls」>「Adaptive Filters」タブ>「Enable adaptive junk mail detection」にチェック
  3. 「Tool」>「Junk Mail Controls」>「Settings」タブの設定を適当に設定

いくら学習させても(といっても、数百通位Junk Mailを学習させただけ)1通も振り分けてくれるようにならない。

ちょっと検索してみるとどこがいけなかったかわかりました。

・*bird 日記: ジャンクメールコントロール顛末 [2003/08/09]
http://www5e.biglobe.ne.jp/~level0/mozilla/news200307.html#20030809_bird_diary

要点は「Mozilla Thunderbirdのtraining.datファイル(Junk Mailの学習ファイル)をうまく生成できない。既に生成されているtraining.datファイルを使って振り分けることは問題ない。Mozilla1.4で作成されたtraining.datファイルの成績が良い。」というもの。

幸い私は以前使用してたMozilla1.4のtraining.datファイルが残っていたので、(Thunderbirdのtraining.datファイルはバックアップをとって)上書きコピーしました。

すると・・・、お!振り分けてくれるようになりました。
もっと良い別の解決策があるのかもしれないけど、今回はこの方法で行きます。

ちなみに、training.datファイルは

● Mozillaの場合
C:\Documents and Settings\UserName\Application Data\Mozilla\Profiles\default\[ランダムな文字列].slt\training.dat

● Thunderbirdの場合
C:\Documents and Settings\UserName\Application Data\Thunderbird\Profiles\default\[ランダムな文字列].slt\training.dat

にあります。

Mozilla Thunderbird 0.4の場合 (2004/01/25追記)

Mozilla Thunderbird 0.4 (20031205)」を入れてみました。
700通程度のジャンクメールを読み込ませて、「training.dat」を作成しました。
そして、1000通程度のメール(ジャンク/Notジャンク混合)を振り分けました。
取りこぼしはMozilla 1.4で作成したのと同じか、むしろ少ないくらいに感じました。
誤認識は数通ありました。
だいぶ使えるようになった気がします。
詳細な比較は行っていないので、感覚的に結論付けてますが・・・。
もう少し使ってみようと思います。

(2004/02/15 追記 ここから)
Mozilla Thunderbird 0.5の場合

Mozilla Thunderbird 0.5 (20040207)」をインストールしました。

メッセージが届いたときに、読んでる最中のメッセージが一番上までスクロールしてしまうバグがFixされたようです。
ちょっとこれはうれしいかも。

私にとって一番気になる事は、どの程度正確にジャンクメールを振り分けてくれるかです。

2004/01/25 追記したのと同じ方法で検証を行おうとしました。
「ジャンクメール」だけを読み込ませ「training.dat」を作成した後、「Notジャンクメール」に対して「Run Junk Mail Controls on Folder」を実行すると、全てのメールがジャンクメール扱いになってしまいます。

どうやら、「training.dat」を作成する時、「Notジャンクメール」も読み込ませないといけないみたいです。

では、なぜ2004/01/25にやった時はうまくいったんでしょう?
2004/01/25の記述は、信憑性がなくなってしまいました・・・。

Perl Scriptを使って「training.dat」を解析する

「数値的に解析できたらなぁ」と考えていたら、「training.dat」を解析してくれるPerlスクリプトを見つけました。

・training.datの中身を覗いてみる (Tips:えむもじら)
http://www5e.biglobe.ne.jp/~level0/mozilla/tips.html#training.dat

「spamdump.pl」をダウンロードして試してみました。

C:\> spamdump.pl training.dat

エラーが出るようだったら(私はエラーがでる事もありました)、以下のようにしてもいいようです。

C:\> type training.dat | perl spamdump.pl
pmin=0.000000 pmax=1.000000 bmin=0
nGood 210
nBad  1529
total non-spam tokens 12989
total     spam tokens 72046
    0  8234 0.990 td
    0  1438 0.990 gamma
    0  1020 0.990 valign
(以下略)

実験に使用したメールデータ

○ メールデータ1

登録するジャンクメール
  ほとんどが英語と中国語 = 1500通
登録するNotジャンクメール = 339通
振り分けテストに使用するメール = 197通

○ メールデータ2

登録するジャンクメール
  ほとんどが英語と中国語 = 6000通
登録するNotジャンクメール
  日本語     = 490通
  日本語以外 = 10通 (少なっ!)
振り分けテストに使用するメール
  ジャンクメールとして認識して欲しい = 1602通
  Notジャンクメールとして認識して欲しい(日本語) = 500通
  Notジャンクメールとして認識して欲しい(日本語以外) = 8通 (少なっ!)

実験方法

  1. 「training.dat」を削除
  2. Thunderbird(Mozilla)の起動
  3. 「登録するジャンクメール」をジャンクメールとして登録
    「Message」>「Mark」>「As Junk」
  4. 「登録するNotジャンクメール」をNotジャンクメールとして登録
    「Message」>「Mark」>「As Not Junk」
  5. Perlスクリプトで「training.dat」で解析
  6. 「振り分けテストに使用するメール」を振り分ける
    「Tools」>「Run Junk Mail Controls on Folder」

メールデータ1の結果

・対象

  • Thunderbird0.1 (Windows2000)
  • Thunderbird0.2 (Windows2000)
  • Thunderbird0.3 (Windows2000)
  • Thunderbird0.4 (Windows2000)
  • Thunderbird0.5 (Windows2000)
  • Thunderbird0.6 (Windows2000) (2004/05/08 追加)
  • Mozilla 1.6 (WindowsXP)

・全てのバージョンにおいて

nGood 339
nBad 500

・各バージョンにおいて

−−−−−−−−−−−−−−−−−−−−−−−−−−|
    |total     |total   |Junk Mail |誤認識 |取り    |
    | non-spam | spam   | として   |       | こぼし |
    | tokens   | tokens | 認識     |       |        |
−−−−−−−−−−−−−−−−−−−−−−−−−−|
0.1 |     11747|   71465|         0|      0|      73|
−−−−−−−−−−−−−−−−−−−−−−−−−−|
0.2 |     11747|   71465|        79|      7|       1|
−−−−−−−−−−−−−−−−−−−−−−−−−−|
0.3 |     11747|   71465|        79|      7|       1|
−−−−−−−−−−−−−−−−−−−−−−−−−−|
0.4 |     11747|   71504|        79|      6|       0|
−−−−−−−−−−−−−−−−−−−−−−−−−−|
0.5 |     11747|   71504|        79|      6|       0|
−−−−−−−−−−−−−−−−−−−−−−−−−−|
0.6 |     10822|   61983|        74|      7|       6| (2004/05/08 追加)
−−−−−−−−−−−−−−−−−−−−−−−−−−|
1.6 |     11711|   75367|        81|      8|       0|
−−−−−−−−−−−−−−−−−−−−−−−−−−|
  • Junk Mail として認識 = ジャンクメールとして振り分けたメール数
  • 誤認識 = ジャンクメールとして振り分けたくないのに、振り分けてしまったメール数
  • 取りこぼし = ジャンクメールとして振り分けたかったのに、振り分けてくれなかったメール数

考察? (2004/02/15)

「えむもじら news」によると、「Thunderbird 0.1」について

いずれにせよ、Thunderbird の学習結果がおかしかったのはこれで明らかになった。
*bird 日記: ジャンクメールコントロール顛末 [2003/08/09]

と書かれていました。
私の結果では「Thunderbird 0.1」でJunk Mailとして認識されなかったのは、結果を見る限り振り分け機能に問題がありそうです。
どのバージョンでも学習機能に問題はないという結果になりました。
私は、受信時の自動振り分けの結果はとりませんでした。

誤認識されたメールは、英語のメールでした。
日本語のメールは誤認識されませんでした。
英語のメールを受信するときは注意が必要そうです。(私の「training.dat」の場合)

Thunderbird 0.5を使っていこうと思います。
(それにしても、2004/01/25の結果はなんだったんだろう?)
(2004/02/15 追記 ここまで)

(2004/05/08 追記 ここから)
考察? (2004/05/08)

Mozilla Thunderbird 0.6 (20040502)」をインストールしました。

Improved Junk Mail Controls
The algorithm for the adaptive junk mail controls has been heavily redesigned to learn faster and catch more spam.
What's New (Release Notes - Thunderbird 0.6)

と、Junk Mail Controlsが改良されたそうなので、追加実験をしました。(結果の項目参照)

Junk Mail Controlsは確かに変更されているようです。
0.2〜0.5ではほとんど結果に変化ありませんでしたし。

この実験では、「学習させたジャンクメール」はほとんどが英語か中国語、「学習させたnotジャンクメール」はほとんどが日本語(少し英語)です。
取りこぼしの中に中国語が含まれていました。
これはちょっと残念。。

学習させたメール、振り分けるメールの種類や数にもよるのかもしれませんが、今回の実験では振り分け(or学習)の性能が落ちたような。。。?

実験結果はありませんが、ラベルをつけて学習/振り分けすると「total non-spam tokens」「total spam tokens」「振り分け結果」が変わりました。
0.5ではnGoodの値も変わってました。(それって良いの?)
Junk Mail Controlsする時、ラベルもチェックしてるのかも?
(2004/05/08 追記 ここまで)

(2004/06/26 追記 ここから)
メールデータ2の結果

・対象

  • Thunderbird0.5 (WindowsXP)
  • Thunderbird0.6 (Windows2000)
  • Thunderbird0.7 (Windows2000)

・全てのバージョンにおいて

nGood 500 (Thunderbird0.5ではなぜか419)
nBad 6000

・各バージョンにおいて

−−−−−−−−−−−−−−−−−−−−−−−−|
    |total     |total   |誤認識 |誤認識 |取り   |
    | non-spam | spam   |       |  Not  | こぼし|
    | tokens   | tokens |   ja  |   ja  |       |
−−−−−−−−−−−−−−−−−−−−−−−−|
0.5 |     18776|  185782|      0|      3|      6|
−−−−−−−−−−−−−−−−−−−−−−−−|
0.6 |     17556|  160327|      0|      5|    338|
−−−−−−−−−−−−−−−−−−−−−−−−|
0.7 |     17950|  163130|      0|      6|     13|
−−−−−−−−−−−−−−−−−−−−−−−−|
  • 誤認識 ja= ジャンクメールとして振り分けたくないのに、振り分けてしまった日本語のメール数
  • 誤認識 Not ja= ジャンクメールとして振り分けたくないのに、振り分けてしまった日本語以外のメール数
  • 取りこぼし = ジャンクメールとして振り分けたかったのに、振り分けてくれなかったメール数

考察? (2004/06/26)

Mozilla Thunderbird 0.7 (20040616)」をインストールしました。

0.7のリリースノートでは「Junk Mail Controls」については触れてなかったみたい。

今までのテストデータ(メールデータ1)はメール数が少なかったので、今回から別のテストデータ(メールデータ2)を使う事にしました。
といっても、メールデータ2でも極端に少ないメールの種類もありますが・・・。
その辺を踏まえて結果を見てください。

0.6に比べて0.7は取りこぼしがかなり減ったみたい。
日本語以外のメールの誤認識については、「登録する日本語以外のNotジャンクメール」数が少なすぎるのでなんとも言えないかも。
(2004/06/26 追記 ここまで)

トラックバック(0)

このブログ記事を参照しているブログ一覧: Mozilla Thunderbirdで Junk Mail の振り分け

このブログ記事に対するトラックバックURL: http://kinshachi.ddo.jp/mt/mt-tb.cgi/136

コメントする


画像の中に見える文字を入力してください。

このブログ記事について

このページは、ikeが2003年11月 5日 00:47に書いたブログ記事です。

ひとつ前のブログ記事は「産総研の高木氏のWebアプリ関係のドキュメント」です。

次のブログ記事は「WebProbe」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

最近のコメント

Powered by Movable Type 4.261