この記事を読んでできること
2語間の関係を教師ありで分類・抽出する.
具体的には,(スポーツ, 野球, has-a)みたいなデータから以下のような予測ができるようになります(確率付きで).
ブルーベリー is-a 果物
動物 has-a モルモット
動物 has-a ワタボウシタマリン
スポーツ is-a スポーツ
登山 is-a スポーツ
ロデオ is-a スポーツ
動物 has-a ユーラシアカワウソ
スポーツ has-a フリーダイビング
競馬 is-a スポーツ
スポーツ has-a ゴルフ
今回扱う関係は,has-aとis-aだけです.これを使うと,例えば「スポーツ」と検索した人に対して,例え記事の中に「スポーツ」という単語がなくても「スポーツ」とhas-aの関係にある「野球」や「サッカー」の記事を提示することができます.しかもそのスコアは事前に計算しておくことができます.
どうやってやるか
今回は,単語間の関係をWord2Vecで学習させようと思います.Word2Vecにはアナロジーを捉えられるという話があります.あの有名な,king - man + woman = queen というやつですね.これは,king - man = queen - womanとも書けます.つまり,2語間の差が関係を表しており,この例だと,kingとmanの関係とqueenとwomanの関係が同じであると捉えることができます.
さて,Word2Vecで学習したベクトル表現を使うと,差ベクトルがうまいこと関係を表すと書きましたが,必ずしもそうなっているとは限りません.加えて,ユーザが扱いたい関係とWord2Vecで学習した関係が一致しているとも限りません.そこで,今回も例のごとく教師あり学習を使います.ユーザは教師データを通して,扱いたい関係をアルゴリズムに伝えることができます.大事なことは,どんな関係でも教師データを使ってアルゴリズムに伝えることができるということです.
詳しくは
コードとともにword2vecを使った単語間関係分類に載せてあります.