レコメンデーション機能を開発しましょう

レコメンデーション機能は、ユーザーに対して特定のアイテムやコンテンツを推薦する機能です。ユーザーが過去に評価したアイテムや他のユーザーの評価データを元に、類似のユーザーやアイテムを推薦します。類似のユーザーが好むアイテムを推定することで、新しいアイテムをレコメンドします。

現状

商品画面では、商品名(name)、商品説明(description)、画像(cover)、価格(price)を表示しており、

レビュー機能の開発で、評価、コメント一覧を追加しました。

開発タスク

おすすめ商品のリストを追加してください。

画面仕様

機能仕様

おすすめ商品の仕様

おすすめ商品を最大5件表示してください。

おすすめ商品は、商品画像、評価(その商品を評価したユーザーの評価値の平均)、商品名を表示してください。

おすすめ商品は横スクロールできるようにしてください。約1000pxの横幅で3つの商品が表示されるぐらいのサイズ感、デザインにしてください。

レコメンデーションのアルゴリズム

アルゴリズムは、ユーザーベースの協調フィルタリング、またはアイテムベースの協調フィルタリングで実装してください。

類似度はコサイン類似度を用いてください。

データが足りないときは?

協調フィルタリングでは、多くのユーザーの評価情報が必要です。正しく動くことを検証するために、疑似データを生成して、データベースに保存するマイグレーションコードを実装してください。