はじめに
こんちくわ。ZOZOTOWN のレコメンド機能を管掌するチームでエンジニアリングマネージャーをやっている棚本(@i6tsux)です。
この記事では、映画好きが勢いで作った 「今の気分に合う映画をおすすめするアプリ」 の話をつらつらと書いてゆきます。
背景 / 課題
映画が好きで、ほぼ毎日なにかしら観ています。
そんな中で 「見たいと思える映画に出会うのは、意外と難しい」 と感じます。
しかも、時間をかけて選んだはずなのに、
いざ観はじめると 「うーん、なんかハマらないなぁ」 となってしまうことも珍しくありません。
これが結構つらい。
やりたいこと
やりたいことはすごくシンプルで、
- 今の自分が「観たい」と思える映画に出会えること
- 観はじめて「やっぱ違ったかも」とならないこと
この2つを満たすことです。
振り返ってみると、
「わ〜、これは良いかったな、、、!」と思える作品は、
作品の出来そのものというより、
そのときの気分や状態にハマっていた ことが多い気がします。
だったら、「今の気分に合う映画を探す仕組みを作ればいい」そう考えて、このアプリを作りました。
既存サービスだと何が足りないのか
自分は映画サブスクを5つほど使っています。
どれも便利ではありますが、レコメンドに関しては少し物足りなさを感じています。
(ちなみに私の一番のお気に入りは U-Next です。公開したばかりの作品だったりニッチな作品があるのが GOOD)
多くの場合、過去の視聴ログをもとに
「あなたはこれが好きそう」と提示される形が中心で、
「今の気分」 が考慮されることはほとんどありません。
「今日は軽いものが観たい」
「余韻に浸れる作品がいい」
「なんとなく人生を感じたい」
そういう その瞬間のモード に寄り添った推薦があればいいのに、と思ったのが今回の出発点です。
気分をどうやって知るか
とはいえ、
「今どんな気分?」と聞かれて、
それをそのまま言語化するのは結構むずかしい。
考えているうちに面倒になったり、
そもそも自分でもよく分かっていなかったりします。
そこで今回は、
こちらから用意した選択式の質問に答えてもらう形を取りました。
細かく説明してもらうのではなく、
ポチポチ答えていくうちに、
なんとなく「今の自分っぽい状態」が浮かび上がってくる、
そんなイメージです。
システム設計(ざっくり)
今回は「まず動くものを作る」ことを優先して、
細かいことはあまり考えずに割り切りました。
設計はかなりシンプルです。
- 質問文の生成 と 映画の推薦 は ChatGPT に任せる
- 映画の概要やポスターなどの情報は TMDB から取得する
アプリ側では、
- 質問の流れを制御する
- APIを呼ぶ
- 結果をそれっぽく表示する
このあたりにだけ集中して、
考える部分はChatGPT、データはTMDB
という構成にしています。
成果物
実際に使ってみると、
「たしかに今の気分っぽいな」 と思える映画がちゃんと返ってきて、
普通に満足しています。
アプリはこちらで公開しています。
https://whilm.com/
どんな感じか分かるように、
デモ動画も載せておきます。
今後の展望
思ったよりちゃんと使えるものになったので、
もう少し触り心地を良くしていこうと思っています。
まずは何より、動作がとにかく重い。
ここは早めにどうにかしたいところです。