🗂
【個人開発 #1-2】レコメンドシステムを作ってみた vol.2 〜画面イメージ・DB設計・処理の流れ〜
作りたいシステム
忙しい人のためのギフト提案型AI「AiSAP!(エイサップ)」
忙しい社会人のために、AIが可能な限り素早く(ASAP: As Soon As Possible)、最適なギフトを提案してくれるWebサービス。
画面イメージ
画面イメージはこんな感じです。
ドロップダウンで条件を選択して検索ボタンを押下すると、ランキングされた商品一覧が表示されます。
DB設計
ER図はこんな感じです。
- 商品テーブル:商品情報を管理。商品1つにつき1つのIDを付与。
- 受け取り手テーブル:受け取り手の情報を管理。受け取り手のパターンは検索条件のパターン数だけ存在するため有限なので、IDではなくタイプという形で振り分け。
- 評価テーブル:各商品が各受け取り手タイプにどれだけクリックされたかを管理。「商品Aは20代の彼女の誕生日プレゼントとして5回クリックされた」といった感じ。
処理の流れはこんな感じです。
- 【ユーザ】検索条件(受け取り手の情報および商品の予算)を選択し、検索ボタンを押下。
- 【システム】選択された受け取り手の情報が、受け取り手テーブルに登録されている受け取り手タイプのうち、どれに該当するかを特定。
- 【システム】選択された商品の予算に該当する商品を抽出。
- 【システム】推薦アルゴリズムが、評価テーブルを元に商品のランクを算出。
- 【システム】ランク上位の商品を出力して画面に表示。
- 【ユーザ】表示された商品のうち、気になる商品をクリック。
- 【システム】クリックされた情報を評価テーブルに登録。
次回は「推薦アルゴリズム」の中身について、詳しく解説していきます!
Discussion