Apple iTunes「Genius」アルゴリズムをどのように実装しますか?
質問
iTunesで「Genius」機能を実装する最善の方法と方法については常に疑問に思っていました。
恐らくそれをブルートフォースすることができましたが、誰かが洞察を持っているかどうか疑問に思っていました。
ありがとう。
解決
Geniusアルゴリズムは、電子商取引システムのホットトピックである推奨システムの例です。そのため、Netflixには数百万ドルの賞金があり、数年にわたって推奨システムをわずか10%改善するだけでした。
iTunesには音楽のコレクションがあります。天才は、あなたがこの音楽を持っているなら、それを好きにならなければならないと仮定することができます。十分な人が曲Aを持つ曲Bを持っている場合、Geniusは、曲Aがある場合、おそらく曲Bが好きになると言うことができます。
曲を持っているだけでは、かなり弱い推奨事項です。ユーザーがその音楽を評価して、「推奨」の強さを向上させることができれば、より良いでしょう。それに基づいて。
あなたがこれを気に入ったなら、あなたは推薦システムの良い入門書としてそれを愛することを確信しています。
他のヒント
Step1 -ユーザーごとのすべてのクリック/プレイのデータを収集します。それは大量のデータになります。
Step2 -ランキング/推奨リスト生成システムを作成します。すべての曲について、ユーザーが視聴/再生しているすべての製品/曲のランキング/優先度タイプリストを生成します。単純な例では、同じ組み合わせを共有している人や、各曲が再生される再生時間を共有している人はいません。
Step3 -制限(例:top10)を維持して、上記の曲のリストからの推奨事項を表示します。
これはそれほど難しくありませんでした。トリックまたは天才は、ステップ2で作成したリストに重みを追加することにあります。推奨システムが重みでどのように機能するか(exページランクの場合)。
非常に複雑なコンピューターサイエンスの分野にこのような単純で単純な説明をすることで、データマイニングエンジニアを失望させたかもしれません。ご容赦ください。 :)
これを見てください、用語の頻度–逆文書の頻度、それは好きなものに応じてランク付けする方法は、より「ユニーク」になります。気に入った曲がおすすめに与える影響が大きくなります。
基本的に、U2が好きでプレイするだけなら、アルゴリズム/プログラムがあなたの好みに合った特別な何かを推奨するのは難しいでしょう。
一方、iTunesの使用方法がより多様な場合、あなたが本当に好きなあまり知られていないバンドは、あなたを大衆から隔離するので、より重くなります。
重要なポイント:ユーザーの多くのからのデータが必要です。これをブルートフォースで自分で実行することはできません(完全に手作業で作成するつもりでない限り)。