[What's AI]人工知能の話題

- 協調フィルタリング

レンタルビデオ店には非常にたくさんの映画があります.あまりに多すぎてどれが面白いかよくわかりません.そんなとき,面白そうな映画を選んでくれるシステムを推薦システム(recommender system)といいます.

---

この推薦システムには二種類の主な実現方法があります.一つは,好きな監督・俳優・ジャンルなどを決めると,それにあった映画を見つけるという内容に基づくフィルタリング(content-based filtering)という方法です.そして,もう一つがここで紹介する協調フィルタリング(collaborative filtering)です.この映画は面白かったとか,この映画はつまらなかったとかの批評のデータをいろいろな人から集めておき,そのデータを参考にして,面白そうな映画を推薦する方法です.

---

ここでは,協調フィルタリングの一つであるJ.RiedlらのGroupLensの方法(注1)を紹介します.もとは,ネットニュースの記事の推薦システムでしたが,現在は改良されて映画の推薦をするMovieLensに発展しています.このMovieLens(注2)GroupLensのページで試してみることができます(英語).

---

それでは,協調フィルタリングがどんなものか紹介しましょう.次の5本の映画がある場合について考えてみます.

人工知能の休日 AIウォーズ 13日の人工知能 AIジョーンズ 七人の人工知能

---

Aさんがもう見た映画の評価Aさんが,推薦システムで面白そうな映画を探しています.この5本の映画の中で,“人工知能の休日”と“AIウォーズ”の2本は見たことがありません,残り3本の映画については見たことがあります.Aさんのこれら3本の映画についての評価は右の図のようなものでした.1〜5の5段階評価で1は面白くなかった,5は面白かったこと,また,「?」は見ていないことを示しています.

協調フィルタリングでは,他の人の評価を参考にして推薦する映画を決めます.そこで,図のBさん,Cさん,Dさんの評価を参考にします.

---

まず,Aさんの批評と他の三人の批評がどれくらい似ているかを調べます.

AさんとBさんの評価を比べると,“AIジョーンズ”と“七人の人工知能”についての評価は一致します.Bさんは“13日の人工知能”を見たことがないので無視します.このことから,AさんとBさんは似ているといえます(注3)

次にAさんとCさんを比べると,Aさんは“13日の人工知能”を,2と評価していてつまらないと思っていますが,Cさんは,逆に5と評価していてとても面白いと思っています.また,“AIジョーンズ”についても逆の評価がなされています.このことから,AさんとCさんの好みは正反対であるといえます.

最後に,AさんとDさんですが,評価が一致しているものもありますが,逆のものもあります.ですので,AさんとDさんは似ているとも似ていないともいえるので,中立とします.

---

 

Aさんがまだ見ていない映画の評価次に,Aさんに“人工知能の休日”や“AIウォーズ”を推薦するかどうかを,他の三人の意見をもとに決めます.

右の図は,Aさんが見たことのない二つの映画についての,Bさん,Cさん,Dさんの評価です.

“人工知能の休日”について考えてみると,Aさんと評価が似ているBさんは1と低く評価しているので,Aさんにとってもつまらないと予測されます.また,Cさんは5と高い評価をしていますが,AさんとCさんの好みは正反対なので,やはり,Aさんにはつまらないと予測されます(注4).ですので,Aさんには“人工知能の休日”は推薦しません.

“AIウォーズ”については,Aさんと好みが似ているBさんが高い評価をしているので,Aさんにとっても面白いと推測されます.Dさんはあまり良い評価をしていませんが,AさんとDさんの関連は中立なので,この評価は重視しません.ですので,Aさんには“AIウォーズ”を推薦します.

---

この協調フィルタリングの手法は,映画以外にも,雑誌やニュースの記事,書籍などいろいろなものに応用できます.また,電子商取引サイトなどで商品を提示したりするのにも利用されています.ここで説明した方法の改良や,新しい方法が考案され,また,内容に基づくフィルタリングと組み合わせる方法についても研究されています.

-----

注1:P.Resnick, N.Iacovou, M.Suchak, P.Bergstrom, and J.Riedl. "GroupLens: Open Architecture for Collaborative Filtering of Netnews" In Conference on Computer Supported Cooperative Work, pp. 175-186 (1994)

注2:GroupLensは,NetPerceptionsによって商用化され協調フィルタリング手法による商用システムの成功例として知られています.継続された研究プロジェクトは,MovieLensへと独自の発展をとげました.

注3: 正確には,AさんとBさんの映画の5段階評価をベクトルと見なして,ベクトルの相関係数を求めて,似ているかどうかの指標として利用します.「似ている」とき,相関係数は1に近づき,「正反対」のとき-1に近づき,「中立」の場合は0になります.

注4:正確には,他の3人それぞれについて,その映画の評価から,その人の全映画についての平均評価を引き,それにAさんとの相関係数を掛けたものを総和が大きいものから順に推薦します.

 
 
      人工知能学会の問い合わせ先一覧