2016-05-31 5 views
0

私は、ユーザーが好みの曲のジャンルを持っており、ユーザーがそれを評価する曲を聞くたびにこのアプリを持っています。ユーザーに最も関連性の高い曲を表示したい好きかもしれません。データベーススキーマをどのように持ちますか?ユーザーからすべてのデータを取得する必要があり、特定のユーザーにとって最も関連性の高い曲を取得する方法は? 明確な説明をいただければ幸いです。ユーザーデータに基づいて関連する曲を表示する

答えて

1

あなたの評価に基づいてユーザーの曲を推薦していますか?その場合、少なくとも数曲の曲をレコーディングするには、データベース内のすべてのユーザーが必要になることがあります。ユーザーがまだ曲を評価していない場合(最近自分のアプリケーションに登録したことがあるかもしれません)、彼にはどの曲もおすすめできません。この問題は「コールドスタート問題」と呼ばれています。

質問には、ジャンル、アーティスト、アルバム、年のいずれかで曲をグループ化することができます。また、これらのパラメータを組み合わせて使用​​することもできます。だから、あなたの曲のテーブルは、曲の名前と、おそらく一意のIDと共に、これらの値を持つでしょう。ユーザーテーブルは、ユーザーIDと名前のように小さくすることができます。また、同じ年齢と場所の他のユーザーの好みに基づいて彼の曲を推薦できるように、年齢、場所を含めることもできます。

また、すべてのユーザーが異なる曲を提供する評価(1対多マッピング)を含むUser-Songマップテーブルがあります。この表は、ユーザーの好きな曲を見つけるために使用できます

3

これは、recommender systemsとして知られている研究の非常に活発なフィールドです。真剣に対処したい場合は、データベース設計は最初のステップに過ぎません。あなたは、あなたの質問は、具体的データベーススキーマについてでした適切なアルゴリズムなどを考える必要がありますので、私は、次の測定値をお勧めします:

+0

あなたが推薦するすべてのリソースを適切なアルゴリズム? –

+1

@TarunPothulapati私は次のリンクから始めたいと思う:https://www.quora.com/Which-algorithms-are-used-in-recommender-systems。さらに深く掘り下げたい場合は、Courseraに特化しています。https://www.coursera.org/learn/recommender-systems –

関連する問題