理想未来ってなんやねん

娘可愛い。お父さん頑張る。

協調フィルタリングとは

協調フィルタリングについて、気になったのでメモ。

協調フィルタリング(きょうちょうフィルタリング、Collaborative Filtering、CF)は、多くのユーザの嗜好情報を蓄積し、あるユーザと嗜好の類似した他のユーザの情報を用いて自動的に推論を行う方法論である。趣味の似た人からの意見を参考にするという口コミの原理に例えられることが多い。
例えば、ユーザAがアイテムXを好むとすると、アイテムXを好む別のユーザBが好むアイテムYを探し出し、ユーザAもアイテムYを好むのではないか、という推論をコンピュータによって自動的に行う。実装にはユーザ同士の類似度を、同じアイテムにつけた評価の相関係数などによって表して類推に利用することが多い。
協調フィルタリングはリコメンデーション(推薦)やパーソナライゼーションに利用されている。実際にAmazon.comの「おすすめの商品」や、はてなアンテナの「おとなりアンテナ」などに応用されており、Web 2.0においてロングテールを支える要素技術として捉えることができる。
協調フィルタリングにはユーザの評価付けによる明示的なものと、システムの操作履歴(例えばブラウザの閲覧履歴)などを利用した暗黙的なものがある。
推薦システムを実現するものとしては協調フィルタリング以外にもコンテンツベースの方法があるが、たとえば本であればユーザが好む本と同じ著者の本を推薦するなどというもので、コンテンツ自体が似ているかどうかを判別するための情報(ここでは著者の情報)が必要となる。協調フィルタリングはコンテンツが何であれ、ユーザによる評価が与えられれば利用できる。


実装例について。

■実装例
協調フィルタリングの実装方法にはいくつかあるが、「相関分析」を応用する方法が一番シンプルかつ古典的である。
例えば商品の購入や、記事の閲覧等のユーザ行動を数値化しプロファイル・蓄積する。 新規ユーザ行動と蓄積された既存の他ユーザ行動で相関分析を行い、高い相関が認められるユーザと「嗜好が近い」ものと仮定する。
「嗜好が近い」のであれば同じような「行動を好む」と予想し、蓄積された既存の他ユーザにはあるが新規ユーザにはない行動(商品の購入や、記事の閲覧)をおすすめ情報として提示する。
これらの実装方法は非常にシンプルで、例えば「Microsoft Excel」等の表計算ソフトに組み込まれている標準関数群のみで十分実装できるものである。


相関分析を応用する方法が一番シンプルかつ古典的らしい。