現在のようにHadoopが使えるようになった今、大規模サイトではバッチで分散処理をすべきです。 しかし、小規模サイトの場合、そもそも計算するべきログが少ないため、わざわざ分散処理をするまでもありません。 ある程度リアルタイムに処理することを考えます。 そこで今回はまず簡単なレコメンドの考え方を説明します。 レコメンドのアルゴリズムは基本的には協調フィルタリングを用います。 しかし、小規模サイトの場合、ログが少ないため、それだけではコールドスタート問題が起きてしまいます。だから、ログが十分に得れない場合はコンテンツベースでレコメンドすべきです。 協調フィルタリングを使うと、「思わぬ気づき(セレンディピティ)」を与えることができますが、コンテンツベースでは「当然の結果」を返すことができます。このことを考えると、できるだけ協調フィルタリングを用いたほうが、おもしろいレコメンドをユーザーにすること