IIRことIntroduction to Information Retrieval輪講の第14回目に行きました。
山下たつをさん主催のこの輪講、私は初回から参加しています。
進め方は、英語テキストを読んでいき内容をしっかり理解しながら、関連の話題についても話し合うという感じです。
私は数学をちゃんと勉強していないので、数式には苦労します。記号の読み方が分からなかったりしますし。
アルゴリズムが擬似コードで書かれている箇所があるのはありがたいです。数式よりコードのほうが長いですが、私には分かりやすいです。
このブログで内容を紹介するにあたっては、数式もコードも使わずに、文章で振り返りながら自分の理解を確認してみたいと思います。
今回は 第13章、”Text classification and Naive Bayes”を読みました。長いので13.5.5までになりました。
テキスト分類のポピュラーな手法、ナイーブベイズについての章です。
テキスト分類の必要性の話から始まっています。メールの分類など、文章によってテキストを分類したいということはよくあります。
「どの単語が含まれる場合」など細かいルールを作っておけばうまく分類できますが、新しいテキストに対応しつづけるのは大変です。
そこで、機械学習、特に教師付き学習を使います。
教師付き学習とは、あらかじめトレーニング用文書セットを用意し、それぞれの文書がどのクラス(「迷惑メール」など)に分類するかを人間が教えておくものです。
機会学習の方法として、多項ナイーブベイズモデルと、ベルヌーイモデルの二つが出てきます。
やり方はよく似ていますが、計算方法が違います。
多項モデルは同じ単語が文書中に何回出てきたかによって結果が変わります。
他方、ベルヌーイモデルでは、ある単語がある文書に出現したか、しなかったかだけで表されます。
やり方を文章で書いてみます。
まずは準備です。人手で分類済みのトレーニングセットを用意し、全部のクラスに対して以下を行います。
トレーニング文書セット中、各クラスに該当した文書の割合を数えておきます。
そして、クラスと単語の組み合わせごとに、その単語が出てくる文書が、そのクラスに分類された確率(条件付き確率)を求めておきます。
求め方は、多項モデルの場合は、「その単語の出現数 + 1」を、「そのクラスに含まれたトークン数(単語の重複を含む数) + テストセット全体の語彙数(重複を含まない数)」で割ります。
+1するのは、ゼロにならないようにです。
これで準備完了。
未知の文書に対して自動分類を実行する時は、それぞれのクラスに分類される事後確率を調べます。
そのクラスになる事前確率(割合)に、出現した単語がそのクラスに分類される条件付き確率を全部かけていきます。
なお、小数が小さくなりすぎるとコンピュータで扱いづらくなるので、それぞれの確率は対数にします。
これを全部のクラスに対して行います。結果としてその文書は、一番値が高かったクラスに割り振られることになります。
注意点として、計算される数値はクラスを比較するための相対的な意味しか持たないものです。最高の値が0.8だったか0.1だったかにはあまり意味がありません。
そのため、「どのクラスでもない」という結果が必要な場合は、「どれでもない」というクラスを用意しておく必要があるのだと思います。
トレーニングはクラス数×語彙数に、テストはクラス数×文書中の単語数に比例する時間で処理できます。実用的だということです。
次に、考慮する単語を絞ってしまう素性(そせい)選択の手法が紹介されています。
たまたまトレーニングセットで特徴的な語彙の使われ方があると、それに影響されて精度が悪くなるという問題があります。
素性選択は、処理効率を上げるだけでなく、これに対して有効な手法だと紹介されています。
やり方としては、相互情報量、カイ二乗検定、頻度による方法が挙げられています。
頻度による方法は、多くの文書に出ている単語を使う、というもので、単純なので失敗することもあります。
相互情報量とカイ二乗検定は、クラスと単語の関連性が偶然っぽいか、偶然ではなさそうかを数値で出すものです。
あるクラスCとある単語Tについて、CであってTを含む文書、CであってTを含まない文書、CでないがTを含む文書、CでなくTを含まない文書の四通りの文書数を挙げ、それを式に当てはめます。
式についてはすみません、意味があまりよく理解できていないので省略します。

株式会社マリーチで企画、開発を担当する道須のブログです。
No comments
Comments feed for this article
Trackback link: http://www.marici.co.jp/blog/nowhere/2008/09/29/introduction-to-information-retrieval-14/trackback/