recommend engineとは
例えばNetflixを開くと、「あなたにお勧め」
という欄がトップ画面にある。
この「あなたにお勧め」
を抽出するエンジンのこと。
recommend engineの制度によってサイト全体の売り上げが大きく変わるため、データサイエンティストの活躍の場の一つとなっている。
recommend engineを作るフレームワークとしてsurpriseなどがある。
recommend engineの種類
大体3種類ほどあるようだ。
Simple engine
単純に評価が高いものをお勧めする。
個別ユーザーの好みは評価しない。
例えば、「君の名は」の評価が星5の時、
それを全てのユーザーにお勧めする。
利点
とてもシンプルで実装が簡単
欠点
個別のユーザー毎の好みを反映してレコメンドしていない。
そのため女性に対しSF、男性には女性人気の恋愛映画をレコメンドしたり精度が低い
Content-based engine
単純に似ている内容の商品をレコメンドする。
例えばプレデターとエイリアンは内容が似ている。
あなたがプレデターが好きならエイリアンを勧める。
利点
実装が非確定簡単な事、人に説明しやすい。
映画をジャンル分けしてレコメンドする時に強い(SF、恋愛など)
欠点
流行に対応できないため、古い映画をレコメンドしがち。内容が似たものをレコメンドするだけのため、低評価、高評価に関係なくお勧めしてしまう。
Collaborative Filtering engine
あなたに似たユーザーが好きなものをあなたにお勧めする。
例えば、あなたが崖の上のポニョ(ジブリ作品全般)が好きだとする。
あなた以外の崖の上のポニョ(ジブリ作品全般)が好きなユーザーは、なぜか「君の名は」も好きだ
なのでrecommend engineは、あなたに「君の名は」をお勧めする。
利点
個別のユーザーの好みに対しレコメンドするので精度が高い。
欠点
実装がやや難しく、人に説明しづらい。
大量のデータが無いと精度が低い。
まとめ
Netflixなどデータに強い会社はcollaborative Filtering engineを採用している。
上から下へ行くほど実装難易度は上がるが、精度も上がっていく印象