3

番組に関する情報を使用して番組レコメンデーションを作成しようとしているので、これはコンテンツ ベースであると思います。視聴した番組を選んでもらい、コンテンツに基づいて類似の番組をおすすめしてもらいたい。

現在、私のデータファイルは次のようになっています

Code          Genre
1260064148537,NOGENRE
1260064149243,Drama
1260064149741,Spoof
1260064764631,Classical
12600647412748,HipHopRnB&Dancehall
126006483593,NOGENRE
1260065049943,NOGENRE
12600705429,Sketch
1260070324431,News
126007032486,Sport
...

ジャンルの類似点を見つけるために独自の ItemSimilarity を作成しましたが、Long と String があるため、データで DataModel を使用する方法と、それをレコメンダーに送信する方法がわかりません。独自の DataModel を作成する必要がありますか? もしそうなら、どうすればいいですか?

4

1 に答える 1

5

最初の質問は、ユーザーを番組に結び付ける他のデータがあるかどうかです。そうでない場合、実際にはレコメンダーの問題はありません。これは単なる類似品の問題です。ユーザーが今見ているものに似たものをお勧めします。

もちろん、類似性を定義する必要があります。ショーごとに 1 つのラベルしかない場合、同じラベルを持っている場合は似ていると言う以外にできることは多くありません。ItemSimilarity現在のアイテムに最も類似したものを計算するために、すべてのアイテムを使用して反復処理することができます(おそらくこれを事前計算します)。

もちろん、ラベルを共有しているかどうかに応じて類似度が 0 または 1 である場合、それは類似度の問題ではありません。それはただの検索です。同じカテゴリのものを見つければ完了です。

レコメンダーは、ユーザー アイテム データが重要な場合に役立ちます。この種のデータをItemSimilarity使用して を作成し、それとユーザー アイテム データ (おそらくビュー カウントなど) を使用してレコメンダーを作成できます。しかし、より豊富なラベル データを取得できるかどうかも評価する必要があると思います。もしそうなら、あなたは確かにより良い類似性指標を作ることができます.

(これは、DataModel上記の理由で使用する入力ではありません。ただし、文字列識別子は使用できないことに注意してください。数字でなければなりません。追加作業を伴う文字列を使用することは可能ですが、それだけの価値はありません。)

于 2012-10-12T16:34:24.910 に答える