ナイーブベイズでネガポジ判定をする.
2週間前ぶりの更新です.ナイーブベイズについて,メモっておきます. ナイーブベイズ分類器は,教師付きの学習をさせ,ベイズの定理を使って文章などを分類するものです.多変数ベルヌーイモデルと,多項モデルの2つがありますが,テキスト分類では多項モデルのほうが精度がいいみたいなので,多項モデルを使うことにします.ここでは,8つのツイートを学習の元にして,あるツイートがネガティブなものかどうかを判定するサンプルを書いておきます. 始めに学習用として,適当なツイートを取ってきて,自力でネガポジの判定をしておきます. ポジ:twitterは良いものです. ポジ:twitter最高やん. ポジ:facebookも悪くはない. ポジ:facebookは最高に良い. ネガ:twitterは最高ではない. ネガ:twitterは悪いのだ. ネガ:facebookは良くない. ネガ:facebookはもうダメだ. そして,形態素解析をして,整理します. ポジ:twitter 良い ポジ:twitter 最高 ポジ:facebook 悪い ない ポジ:facebook 最高 良い ネガ:twitter 最高 ない ネガ:twitter 悪い ネガ:facebook 良い ない ネガ:facebook ダメ 次にポジティブなツイート数(Np),ネガティブなツイート数(Nn)を数えます. また,ポジティブの中に含まれる単語の数(Nword,p)を全単語について数えます.ネガティブも同様に数えます. Np= 4 Nn = 4 Ntwitter,p = 2 Ntwitter,n = 2 Nfacebook,p= 2 Nfacebook,n= 2 N最高,p = 2 N最高,n = 1 N良い,p = 2 N良い,n = 1 N悪い,p = 1 N悪い,n = 1 Nない,p = 1 Nない,n = 2 Nダメ,p = 0 Nダメ,n = 1 そして,ポジティブな確率(Pp),ネガティブな確率(Pn),ポジティブという条件のもとでwordを含む確率(qword,p),ネガティブという条件のもとでwordを含む確率(qword,n)を求めます.(ホントはもっと複雑です.) Pp = Np / (Np + Nn) = 4/(4+4) = 0....