(11) spamdump.xpi について
by きよ
at 2005/01/17 18:49:10
レス投稿
日本語トークンの話、面白いです。サンプル数が1万を超えれば英語と混ざっても抜群の効果はあると思います、現状でも日本語スパムの認識率は意外と高いのですから。
spamdump.xpi ですが、12MBほどの training.dat では「Load」ボタンを押しても表示されません。メモリー制限でも有るんでしょうか。 2MBほどの training.dat では同じようにスクリプトがどうのこうのと警告ダイアログが出ますが、これはキャンセルを押し続ければ表示されます。 training.dat は20MBを超えるので、表示出来るようになれば嬉しいのですが。
http://kiyo.chips.jp/blog/
(12) Re: spamdump.xpi について
by junnno'
at 2005/01/18 03:51:55
レス投稿
> 日本語トークンの話、面白いです。サンプル数が1万を超えれば英語と混ざっても抜群の効果はあると思います、現状でも日本語スパムの認識率は意外と高いのですから。
日本語と英語のバランスが悪いときに、お互いに確率を「希釈」してしまうのは確実のようです。今時点の実験から見ると、英語メールと日本語メールを分離して認識すれば95%ぐらいまではいけると思っています。
spamdump.xpiは、Javascriptの制限により、トークン数が多くなると止まります。まともに使えるのは大体10万トークンぐらいまでのようです。
(19) Re: spamdump.xpi について
by きよ
at 2005/01/18 16:04:07
レス投稿
> 日本語と英語のバランスが悪いときに、お互いに確率を「希釈」してしまうのは確実のようです。今時点の実験から見ると、英語メールと日本語メールを分離して認識すれば95%ぐらいまではいけると思っています。 そんなもんなんですか? 日本語のメールに英単語が混ざっているようなメールならそういうことも有るかも知れませんが、(Eudoraのベイジアン・フィルタと同じなら)「1本のメールに現れる頻度」のはずだから、希釈されているという感じではなさそうですが。
ThunderbirdはEudoraと違って明示的にスパムは「J」非スパムは「Shift + J」にて学習させなければ自動的にはデータベースに新しいトークン(一部かも)を追加しないのですね。 かなり細かく学習させているので実行速度は犠牲になっていますが、後で見直さなくてもすむ程度の振り分けをやってくれています。
> spamdump.xpiは、Javascriptの制限により、トークン数が多くなると止まります。まともに使えるのは大体10万トークンぐらいまでのようです。 Javascriptに そんな制限が有ったんですか。うちは途中で止まって Bad のトークン数は見えませんが以下の数値です。 Number of good messages: 21007 Number of bad messages: 19319 Number of good tokens: 364310
これはEudoraのベイジアン・フィルタによって正しくスパム扱いされたメールと保存してある非スパムメールで学習させた結果ですが、一昨日作り直したので小さくなってしまいました。
http://kiyo.chips.jp/blog/
(20) Re: spamdump.xpi について
by junnno'
at 2005/01/18 16:19:49
レス投稿
> そんなもんなんですか? 日本語のメールに英単語が混ざっているようなメールならそういうことも有るかも知れませんが、(Eudoraのベイジアン・フィルタと同じなら)「1本のメールに現れる頻度」のはずだから、希釈されているという感じではなさそうですが。
そうなのかも……。 実は確率計算の詳しいところはよく理解していないのです。 もしかすると、ヘッダの分析で躓いている?
Thunderbirdは判別したメールで再帰的に学習することはないようです。 これやりすぎると、途中でご主人様の趣味が変わったときにフォローできなくなる様な気がします。 リセットすれば良いのでしょうけどね。
Thunderbirdであんなに学習に時間がかかるのはなんででしょうねー。 ハッシュテーブルからの検索はほぼ一瞬みたいですけど。
(22) Re: spamdump.xpi について
by きよ
at 2005/01/18 19:01:07
レス投稿
> > そんなもんなんですか? 日本語のメールに英単語が混ざっているようなメールならそういうことも有るかも知れませんが、(Eudoraのベイジアン・フィルタと同じなら)「1本のメールに現れる頻度」のはずだから、希釈されているという感じではなさそうですが。 > > そうなのかも……。 > 実は確率計算の詳しいところはよく理解していないのです。 私も数学は嫌いです。 なんか、いろんなところを見てみると難しそうな計算式で表現してありますが、スパムでの出現回数と非スパムでの出現回数をトークン毎に登録しておき、その差をポイント制にして発見されたトークンのポイントを合計して、ユーザーが指定した閾値で決めているっていう感じなんでしょうね (^^;) (Thunderbirdでは閾値は90に設定されていますね)
> もしかすると、ヘッダの分析で躓いている? でも英語のトークンを見てもヘッダからの情報はまともな物じゃないですしね。 私はSubject:ヘッダの分析は期待していません。偽装レベルの高いスパムのヘッダは「Re:」だけとかブランクや「口が堅い人ですよね?秘密厳守でお願いしたいのですが…。」とか(^^;)、規則性を取っても面倒なものばかりです。 ここも、Eudoraのベイジアン・フィルタではヘッダにはヘッダ専用の正規表現のフィルタ定義が用意されています。(私は追加設定していませんが)
> Thunderbirdは判別したメールで再帰的に学習することはないようです。 > これやりすぎると、途中でご主人様の趣味が変わったときにフォローできなくなる様な気がします。 > リセットすれば良いのでしょうけどね。 そうですね、そのためにThunderbirdにはリセットを用意してあるんだと思います。 Eudoraのベイジアン・フィルタにはリセットが有りません。たぶん趣味が変わると出現頻度の数値が逆転するのでしょう。 データベースは膨れ上がるままで、30MBを超えることも有ります。スパムから非スパムへの突然の変更は自動的な非スパムのアドレス登録で対処します。(Thunderbirdは自動ではアドレス登録しませんね)
> Thunderbirdであんなに学習に時間がかかるのはなんででしょうねー。 > ハッシュテーブルからの検索はほぼ一瞬みたいですけど。 結果を書き込むところでは直接ファイルに書いているから遅いんでしょうね。読み込みは単語のグループ毎にメモリーにインデックスを展開しているとか工夫されていると思うのですが... Eudoraはテキストファイルなので もっと時間がかかります。(検索も遅い)
現状のままでもEudoraよりも Thunderbirdのベイジアン・フィルタが優れているのは、日本語がutf-8なので「トークンとして認識した文字列はそのままデータベースに保存され利用される」という点でしょう。 Eudoraのベイジアン・フィルタは日本語のトークンは一切登録&利用されません。(無理やり登録しましたが効果無しでした)
ちょっと長くなりますが、 以下は training.dat の中身を スパムに典型的な「エッチ」という言葉と、仕事やメーリングリストで流れてくる「データ」という言葉で検索して出てきた全てです。
”エッチ”で検索した場合 エッチビデオ エッチング <---------これだけはスパムではないですね エッチフレンド エッチトーク エッチメール エッチテープ チャットエッチ エッチ・・・ カーエッチ エッチー [tab]エッチ <--------- [tab]も日本語? エッチポーズ
”データ”で検索した場合(スパムからの登録は全くなし) フォームデータ データバックアップ バイナリーデータ ログデータ データセンタ データベース・テーブル データ・ウエアハウス データベー オンライン・リアルタイム・データベース データベースアクセス データベースアーキテクト ・コンピュータデータソース データベースマネージメントシステム ・データアクセス データファイル レコードデータ オープンソースデータベースサーバー データベースデータベース データベース・クラスター リテラルデータ ネットワークアドレスデータ メッセージデータ
たったこれだけの長さのカタカナ文字列に頻度パラメータが設定されているだけでも かなりのフィルタ効果は出ていると思うのです。この上 漢字仮名混じりの熟語や例文をトークンにした場合のベイジアン・フィルタっていうのは最強だと思います。
おそらく、熟語や例文だけを予め登録しておいて トークンとして扱える「切れ目」だけの考慮のロジックを入れておくだけで日本語のベイジアン・フィルタとしては他にないほどの品質を出せるのではないでしょうか。 # たとえトークンを新たに追加する機能がなくても、です
先の投稿に書くのを忘れたんですが、junnnoさんのexeセットを試させていただきました。しかし、最初の起動時にエラーダイアログが出たり 私にとって重要なextension(Enigmailなど)がなぜか使えなくなったので、少しの間 試しただけで利用を断念してしまったのです。
長くなってすみませんでした。
http://kiyo.chips.jp/blog/
|