アマゾンなどで見られる「協調フィルタリング」の機能があります。

「協調フィルタリング」のようにデータベースをつくるなどのやや大掛かりな仕組みをつくることなく、
閲覧ページと関連したページへのリンクを表示するような方法はないでしょうか?

ごくミニマムな仕組みを具体的にご教授いただければと思います。
上記のようなホームページを教えていただけるだけでも結構です。
どうぞよろしくお願いいたします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/01/20 18:20:24
  • 終了:2008/01/27 18:25:02

回答(1件)

id:yabloko No.1

yabloko回答回数63ベストアンサー獲得回数122008/01/23 04:02:30

ポイント60pt

協調フィルタリングに対して少々誤解なさっているかもしれません。協調フィルタリングの大きなメリットの一つは、データベースをつくるといった大掛かりな準備が不要であるということです。


関連情報を提供する仕組みには、メタ情報の付加による方式と、ユーザの行動から類似を推測する方式とがあります。


前者は、各情報に対してタイトルやカテゴリといったメタ情報を事前に付加しておき、それを元に検索を行うことで関連情報を抽出します。内容ベース(content-based)フィルタリングと呼ばれるものがこの方式です。

YouTubeの関連動画はこの手法で提供されています。各動画には、カテゴリ・タイトル・タグといったメタ情報が付加されています(動画登録時に登録者が入力します)。ある動画の関連動画を抽出する時には、その動画と同じ(似た)メタ情報を持つ動画を検索すればよいのです。

メタ情報が正しく付加されていれば高い精度が実現できます。しかし、情報にメタ情報を付加する手間がかかるという問題があります。また、正しいメタ情報を付加することは、手作業で行うにしても自動化するにしても、意外に難しいものです。

この人力検索はてなのページ右側にある「関連キーワード」もメタ情報にあたりますが、これは質問文の中から自動抽出しているため、必ずしも正しいメタ情報とはかぎらないことがあります。「関連キーワード」があまりうまく抽出されていない質問は、これを元に抽出されている「おとなり質問」の精度も低いように見えます(もちろん、関連キーワードがうまく抽出されている場合は高い精度が得られています)。

http://q.hatena.ne.jp/1132143404


一方、協調フィルタリングは後者の方式にあたります。

最大のメリットは、メタ情報を付加するなどの準備が一切不要ということです。どのページとどのページが関連しているかという情報は、サイトにアクセスしたユーザ全員が勝手につくりあげていってくれるのです。

「ユーザαが商品AとBを購入した、ユーザβが商品AとBとCを購入した、ユーザγが商品Cを購入した」という過去の事実があったとします。ユーザδが商品Aのページにアクセスしたとすると、商品Bを関連商品として提示すればよいのではないかという推測が成り立ちます。

デメリットとしては、ユーザが少ない状態では精度が低くなること(=コールドスタート問題)があります。Amazonの関連商品の提示はなかなか有効に機能している例だと思いますが、その大きな理由はAmazonの利用者が非常に多いということにあります。


#ご質問に対する明確な答えではありませんので、ご満足いただけなかった場合はポイント不要です。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません