POPFile 全般 → 毎回得点が低いSpamに分類される

毎回得点が低いSpamに分類される

こんにちは,お世話になっております。
POPFile v1.1.0を使用していますが,毎回,spamに分類されるメール(メーリングリストのメール)があり困ってます。

シングルメッセージビューで確認すると,以下のように表示されて正しく分類されて
いるように見えます,再分類もここ3週間ほどしているのですが,毎回,spamに
分類されてしまいます。

分類: spam
現在のコーパスによる分類 AAAAAAAAAA

単語の得点を確認すると,以下のように表示されます。(再分類前の状態です)

バケツ カウント 得点 確率
AAAAAAAAAA 872 2598.850484 0.999999
other 508 1647.885880 0.000000
work 287 1062.687044 0.000000
spam 290 1059.780240 0.000000
BBBBBBBBBB 238 944.020178 0.000000
personal 189 835.205063 0.000000

これでみると,spamの得点は上位から4番目にも関わらず,spamに分類されています。
その日によって若干違いはありますが,常に,spamの得点は3番目以下になります。

マグネットも設定してはいますが,当メールには全く無関係ですし,分類先もpersonalにしていますので,
関係性は薄いと思われます。

今年になって,分類の精度が落ちてきた為,全てのバケツの単語を削除して,分類精度をリセットしたの
ですが,操作等で間違ってしまったのでしょうか。

このまま,辛抱強く,再分類を続けるしか手はないのでしょうか。

何か,解決策がありましたらアドバイスをいただければと思います。
よろしくお願いします。

  • Message #704

    分類: spam
    現在のコーパスによる分類 AAAAAAAAAA

    この症状からしますと、データベースに何か問題がある可能性が高いと思われます。
    まずは、

    http://getpopfile.org/docs/jp:troubleshooting:corruptcorpus
    http://getpopfile.org/docs/JP:howtos:sqlitestatuscheck

    あたりを参考に、データベースが破損していないかどうかを確認してみてください。

    また、バケツタブに表示される単語数や固有単語数はどのようになっていますか?
    メールを再分類するとこれらの数字が増えますか?
    spam に分類されてしまうメールは特定のメーリングリストのメールだけですか?

    もし可能でしたら、POPFile のデータベースと、問題の起こるメール(POPFile
    のキャッシュで問題ありません)を amatubu _at_ mac.com まで送付して
    いただきましたらこちらでも検証してみようと思います。

    • Message #707

      アドバイスありがとうございます。

      あたりを参考に、データベースが破損していないかどうかを確認してみてください。

      "pfidbstatus.exe" /REGISTRY で,確認してみましたが,以下に示すように,
      破損していないように見受けられます。
      (ユーザー名は,XXXXXとしてあります)


      POPFile SQLite Database Status Check (integrated) v0.1.9


      Current user : XXXXX
      Current folder: C:\Program Files\POPFile
      Command line : /REGISTRY

      Trying to find database using registry data (HKCU)... found it!

      POPFile database found (C:\Documents and Settings\XXXXX\Application Data\POPFile\popfile.db)

      SQLite v3.3.7 utility found in C:\Program Files\POPFile

      Database is in SQLite 3.x format, uses schema version 3 and its size is 9,725 KB

      Result of running the 'pragma integrity_check;' command:
      ok

      The POPFile database has passed the SQLite integrity check!


      (report finished 09-Feb-2009 @ 10:33:37)


      また、バケツタブに表示される単語数や固有単語数はどのようになっていますか?
      メールを再分類するとこれらの数字が増えますか?

      バケツタブの単語数は,分類前と再分類後では,以下のようになり,問題の
      AAAAAAAAのバケツの単語数,固有単語数は増えます。

      【分類前】
      BBBBBBB 825 (0.77%)
      AAAAAAA 68,283 (64.11%)
      other 11,019 (10.34%)
      personal 468 (0.43%)
      spam 18,114 (17.00%)
      work 7,786 (7.31%)

      AAAAAAAAのバケツの状況

      バケツ内単語数 68,283 (固有単語数 10,586)
      総単語数 106,495
      総数に対する割合 64.11%

      【分類後】
      BBBBBBB 825 (0.76%)
      AAAAAAA 69,378 (64.48%)
      other 11,019 (10.24%)
      personal 468 (0.43%)
      spam 18,114 (16.83%)
      work 7,786 (7.23%)

      AAAAAAAAのバケツの状況
      バケツ内単語数 69,378 (固有単語数 10,720)
      総単語数 107,590
      総数に対する割合 64.48%

      spam に分類されてしまうメールは特定のメーリングリストのメールだけですか?

      おっしゃるとおりです。
      ただし,ほぼ同じような内容のメーリングリストの内容を同じバケツに分類しているのですが,
      常に,SPAMに分類されるのはそのうち一つのメーリングリストだけです。

      もし可能でしたら、POPFile のデータベースと、問題の起こるメール(POPFile
      のキャッシュで問題ありません)を amatubu _at_ mac.com まで送付して
      いただきましたらこちらでも検証してみようと思います。

      ありがとうございます。
      POPFileのDBと,同じバケツに分類していて,spamになるメールと正しく分類されるメールを
      送付させていただきます。

      お手数ですが,よろしくお願いいたします。

      • Message #711

        POPFile のデータベースと設定ファイル、正しく分類されないメールなどを
        送付いただいたおかげで原因が分かりました。

        原因は、GLOBAL_message_cutoff の設定が変な値(数字でない文字列)に
        なってしまっていたことでした。

        なぜ値が変になってしまったのかは不明ですが、この値が数字でない文字列や
        「0」になっている場合、POPFile はメールの受信時に「ヘッダ部分のみ」を
        使用してメールを分類するようになってしまい、これが原因で正しいバケツに
        分類されなかったようです。

        POPFile コントロールセンターのシングルメッセージビューでは、「0」が
        指定された場合「メッセージ全体」を使用してメールを分類するため、受信時
        とは異なり、正しいバケツに分類されていました。

        このオプションは、オプション・リファレンスでは

        http://getpopfile.org/docs/JP:OptionReference#%E5%85%A8%E4%BD%93%E7%9A%84%E3%81%AA%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3

        POPFile がメッセージの内容を分析する最大のサイズ(バイト)。これ以降は無視されます。0 にすると、無制限になり、これはすなわち、サイズに関係なくメッセージのすべてが分析されます。

        と書かれており、「0」が指定された場合は、シングルメッセージビューでの
        動作のとおり、「メッセージ全体」を分類に使用することになっています。
        しかし、メール受信時にはそのような処理になっていませんでした。

        これはバグですので、次のバージョンで修正を行います。
        (「0」が指定された場合はメッセージ全体を使うようにする)

        とりあえずは、GLOBAL_message_cutoff の設定をデフォルトの「100000」
        に戻してご使用ください。

        また、数字でない文字列が設定されてしまった原因については不明ですが、
        数字でない文字列が設定されていた場合はデフォルトの「100000」に設定
        しなおすように変更しようと思います。

        • Message #712

          これはバグですので、次のバージョンで修正を行います。
          (「0」が指定された場合はメッセージ全体を使うようにする)

          このバグのために新しいチケットを発行しました。

          http://getpopfile.org/ticket/93

          これから修正に取りかかります。

        • Message #714

          お世話になりました。
          amatubuさんの適切なご回答のおかげで,約1日たった現在では,問題が解消されています。

          GLOBAL_message_cutoff の値が,数字ではない文字列「POPFile::Configuration=HASH(0xf06b24)」となっておりそれらしい値(?)に見えてたので,疑いもしませんでした。

          現在はデフォルト値の「100000」に設定しており,その他のメールでたまに分類が違っていたものも,
          正しく分類されています。

          本当に助かりました。ありがとうございます。

          • Message #847

            こんばんは。

            この問題を修正した新しいバージョンのリリース候補版が公開されました。

            http://getpopfile.org/
            からダウンロードできますので、よろしければお試しください。

            Naoki