分析にすごい時間がかかる
「協調フィルタリング」を実装したくて、りろんを覚えてから、いざ実践。
まず、1個のアイテム(仮にAとする)に対して、そのアイテムをダウンロードしているユーザーの一覧を取得する(これでまずユーザーの対象が全ユーザーから、特定のユーザーに絞り込まれたことが分かる)。次に、それらのユーザーが、アイテムA以外のアイテムを何回取得しているかを集計する。これらがレコメンドの素データになる。そうして、足し込んでいった結果、アイテムAと最も近しいアイテムαが算出できることになる。まあ、実際にはアイテムAの隣にあるアイテムBだったりするわけだけれども。
そうやってアイテム同士の相関を取っていくことで、アイテム間の連携が見えてくるというわけ。
ただ、実際やってみると、全アイテムではないにしてもそれなりの計算量になる。なので、レコメンドするためのデータは1日1回集計するとか、そういった工夫をしないといけない。少なくともリアルタイムは無理である。