1 / 59

ベイジアンネットワーク ~ spam フィルタを作ってみよう~

ベイジアンネットワーク ~ spam フィルタを作ってみよう~. spam メール. 元ネタ 味付き豚肉の缶詰 Homel Foods 社 イギリスのコメディ 同じ言葉を連呼 妨害行為 しつこい= SPAM. 発表の流れ. コンピュータが扱う複雑な問題 問題のモデリング SPAM フィルタリング ベイジアンネットワーク ベイジアンについての基礎知識 確率の話,ベイズの定理 実習 ベイジアンネットワークを構築してみよう まとめ. コンピュータが扱う複雑な問題. 実世界の現象など 経済システム,社会システム,自然科学 全体の構造が把握できない

albert
Télécharger la présentation

ベイジアンネットワーク ~ spam フィルタを作ってみよう~

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ベイジアンネットワーク~spamフィルタを作ってみよう~ベイジアンネットワーク~spamフィルタを作ってみよう~

  2. spamメール • 元ネタ • 味付き豚肉の缶詰 • Homel Foods社 • イギリスのコメディ • 同じ言葉を連呼 • 妨害行為 • しつこい=SPAM

  3. 発表の流れ • コンピュータが扱う複雑な問題 • 問題のモデリング • SPAMフィルタリング • ベイジアンネットワーク • ベイジアンについての基礎知識 • 確率の話,ベイズの定理 • 実習 • ベイジアンネットワークを構築してみよう • まとめ

  4. コンピュータが扱う複雑な問題 • 実世界の現象など • 経済システム,社会システム,自然科学 • 全体の構造が把握できない • 様々な要素が絡み合って結果が出る • 不確定な要素が多いが,ある程度規則性がある • 部分的なデータからある程度は予測可能

  5. 複雑な問題を扱うのに適している 厳密なモデルと柔軟なモデル • 厳密なモデル • 確定的な表現 • rule base(if thenや述語論理),決定木 • 柔軟なモデル • 曖昧さを許す表現 • 確率,マルコフモデル,ベイジアンネットワーク

  6. ベイジアンネットワーク • 以前に使われてきた多くのモデルを包含し,表現力が高い • 決定木,マルコフモデル • ベイジアンの適用分野 • ヒューマンモデリング • カイル君 • トラブルシューティング • spamメールのフィルタリング

  7. 従来のspamフィルタリング • 『spam/spamではない』を定義する規則 • spam送信業者アドレスブラックリスト • タイトルでのフィルタリング • 送信側と受信側のいたちごっこ • 許可したアドレス以外のメールは受け取らない • PCアドレスから携帯に宛てたメールは届かない • 厳しすぎる制約

  8. 最近のspamフィルタリング • ベイジアンフィルタを使ったフィルタリング • 使用されている単語や単語列からspamである確率を算出 • 学習機能付き • ベイジアンフィルタを使っているソフトウェアたち • SpamBayes,POPFile,bayespam,Mozilla Spam Filtering,BOGOFILTER,BkASPil,bsfilter,ifile,PASP,spamoracle,Spam Assassin,Annoyance Filter,Bspam

  9. ベイジアンネットワークの動作概要 • 確率についての簡単な説明 • 独立と従属 • ベイズの定理 • ベイジアンネットワークの説明 • モデルの作成

  10. 確率の独立と従属 • 独立 • 2つ以上の事象の確率が互いの結果によって変化しない • 2つのさいころA,Bを振ったときに,Aは6が出る確率,Bは2以下が出る確率

  11. 確率の独立と従属 • 従属 • 2つ以上の事象の確率が互いの結果によって変化する • 10本中3本の当たりくじがある宝くじを,A君B君が順番に引く確率

  12. ベイズの定理 • 従属の関係にある事象で,一方が判明したときに,他方の確率を求められる • advertisementという単語が含まれると判明したときに,そのメールがspamである確率

  13. ベイズの定理

  14. モデルの作成

  15. 実習編

  16. 目的 • ベイジアンネットワークを使ってspamメールフィルタを作る spamフィルタ

  17. アウトライン • 実習準備 • 簡単なベイジアンネットワークを作ってみる • SpamAssasinを使ってみる

  18. 実習準備 • 実習準備 • 簡単なベイジアンネットワークを作ってみる • SpamAssasinを使ってみる

  19. 用意する物 • BayoNet • 初心者でも簡単にベイジアンネットが作れるソフト

  20. とりあえずアーカイブを置いたので,取って下さいとりあえずアーカイブを置いたので,取って下さい • Bayonet • Windows版 http://www.ht.sfc.keio.ac.jp/~ryo/a.exe • Linux版 http://www.ht.sfc.keio.ac.jp/~ryo/a.tar.gz

  21. 実習その1 簡単なベイジアンネットワークを作ってみる • 実習準備 • 簡単なベイジアンネットワークを作ってみる • SpamAssasinを使ってみる

  22. の目的 実習その1 • とりあえず簡単なベイジアンネットワークは作り,spamをフィルタする過程を学ぶ

  23. 簡単なベイジアンネットワークを作ってみる • spam特有の単語解析 • Bayonetを用いspam特有の単語リストからベイジアンネットワークを作成 • ベイジアンネットワークからspamである確率を求める

  24. 単語の解析 I have a pen.

  25. spamに出てくる頻度順に単語をソート • Free • poker • casino • advertisement • !!!! など

  26. 単語解析するの大変なんで • とりあえずアーカイブを以下に置いたので,取って下さい • spam単語リスト • http://www.ht.sfc.keio.ac.jp/~ryo/b.csv

  27. 単語解析するのは大変なんで • とりあえずアーカイブを以下に置いたので,取って下さい • spam単語リスト • http://www.ht.sfc.keio.ac.jp/~ryo/b.csv

  28. メールがspamだったかどうか spamに頻出する単語 spam単語リスト • 5つ目のメールは”Free”という単語を含みspamではなかった

  29. 簡単なベイジアンネットワークを作ってみる • spam特有の単語解析 • Bayonetを用いspam特有の単語リストからベイジアンネットワークを作成 • ベイジアンネットワークからspamである確率を求める

  30. Bayonetの起動 • Execute without license keyを選択 • 試用版なので15分たつと何事もなく落ちます(TOT) • そのうちSFC全体でライセンスを買うかもらしいっす

  31. Wizard→Model Construction Wizard ...

  32. なまえをいれてください

  33. DST Type FileDSTSearch algorithm Tree SelectionInformation Criteria C4.5

  34. さっき作ったCSVファイルを選択

  35. Next

  36. has parents?のSPAM以外のところを外す

  37. Finish

  38. Edit→Show All Monitors

  39. ある単語を選択し,CPTタブをクリックすると...ある単語を選択し,CPTタブをクリックすると... この値が...

  40. その単語が全メール中存在する確率

  41. isSpamの項目をし,CPTタブをクリックすると...isSpamの項目をし,CPTタブをクリックすると... この値が...

  42. ある条件下においてspamである確率を示す 条件 spamかどうか? 90% 10%

  43. TRUE FALSE FALSE TRUE ある条件下においてspamである確率を示す advertisement poker free casino isSpam? 90%でspamだと思います

  44. 簡単なベイジアンネットワークを作ってみる • spam特有の単語解析 • Bayonetを用いspam特有の単語リストからベイジアンネットワークを作成 • ベイジアンネットワークからspamである確率を求める

  45. それぞれの単語がメールに含まれていたかを手動入力それぞれの単語がメールに含まれていたかを手動入力 右クリック メールに含まれていた メールに含まれて いなかった

  46. 適当なメールを頭の中で空想し,出てきた単語の値を1.0に変える(isSpam以外)適当なメールを頭の中で空想し,出てきた単語の値を1.0に変える(isSpam以外) 右クリック

  47. spamの項目以外全部入れたら一番右の雷ボタンをPUSH!!spamの項目以外全部入れたら一番右の雷ボタンをPUSH!!

  48. spamのところに計算結果が出るやったー!!

  49. 実習その2 SpamAssasinを使ってみる • 実習準備 • 簡単なベイジアンネットワークを作ってみる • SpamAssasinを使ってみる

  50. の目的 実習その2 • 学習したメールの量と,精度の相関関係を学ぶ もっとたくさんのメールから学習し,spamフィルタを 強化しなければならない

More Related