LLMを活用したAIフレグランスアドバイザーの仕組みと開発背景

こんにちは!株式会社High Link CTOの nogaken(@nogaken1107) です。

ハイリンクでは”香りとの出会いを最適化する”をビジョンとする「カラリア」という香り領域の総合プラットフォームを運営しています。

先日、大規模言語モデル (以下LLM)を活用し、探したい香りのイメージに合った香水を提案する「AIフレグランスアドバイザー Kaori 」(以下 「Kaori」)のα版をリリースしました。

香りの総合プラットフォーム「カラリア」 「AIフレグランスアドバイザー Kaori」 α版をリリース!|株式会社High Linkのプレスリリース

この記事では「Kaori」の仕組みと開発背景について触れていきます。

「AIフレグランスアドバイザー Kaori」とは?

「Kaori」は曖昧な香りのイメージから、おすすめの香水を提案するLLMベースの推薦システムです。ユーザーは、自身の頭の中にある曖昧なイメージからおすすめの香水を知ることができます。LINEから利用することができ、会員登録なしに誰でも利用することができます。

友達登録URLはコチラ: https://lin.ee/OwyrwPQ

「Kaori」の利用例

「Kaori」の仕組み

「Kaori」のシステムは以下のような特徴を持っています。

  • シンプルな一問一答形式のシステム
  • 社内のアイテム情報DB (BigQuery)にアクセスし、正確な商品情報を提示する
  • 香水の提案に特化し、それ以外の入力は受け付けない。

商品名やその商品の特徴を正確にユーザーに伝えるために、LLMに応答文を直接出力させるのではなく、アイテム情報DBに対するクエリを出力させ、クエリから取得したアイテム情報を返すような仕組みになっています。

以下のシステムの処理の流れを図にしたものです。

処理の流れとしては、事前に定義したメタプロンプトにユーザー入力文を埋め込んだプロンプトをLLM (GPT-3.5) APIに入力 (2)し、アイテム情報DBへの検索クエリ、おすすめ文言と、出力の適切さを表すスコアを出力させます(3)。LLMの出力として得られた検索クエリを変換したSQL文を、BigQueryに対して投げ (4) 検索結果を取得します (5)。最後に、(3)でLLMに出力させたおすすめ文言と検索結果をユーザーに応答します。

6月に追加された Function Callingが出る前に開発されたため、クエリの出力はクエリ例のfew-shot learningでなんとかしています。

開発における工夫

開発の際、以下のような点を工夫しました。

おすすめ文言とクエリは一度に出力させる

おすすめ文言とクエリを一度に出力させることで、ユーザーへの応答時間とコストを削減しています。同時に出力させることでプロンプトの複雑性があがるため、最初は出力が安定しませんでしたが、プロンプトの構造を明示的にしたりアウトプット例とは別にアウトプットの型を明示することで安定した出力を得ることができるようになりました。

LLMに出力の不適切さをLLM自身に出力させる

ここで詳細に記述すること避けますが、LLMの不適切な出力は、商品に対する誤解を生んだり、法的なリスクにつながることが考えられるため制御する必要があります。そこで「ある観点」での不適切さをスコアとしてLLM自身に出力させ、一定以上であれば応答をしない、という形で不適切な出力をフィルターアウトしています。こういったアプローチはもちろん完璧ではありませんが、テストケースを作成しそれに対する出力を人間で目視するというアプローチで品質を担保しています。

まず使ってもらってフィードバックをもらう

こういった新たな取り組みをする際は、まずは使ってもらってフィードバックをいただくことが重要だと考えています。そのため、かなり初期の段階で社内に対して限定リリースを行い、早期にフィードバックをもらいました。

また、現在、「Kaori」は文脈を考慮しない、一問一答のシステムとなっていますが、これは開発期間を短くし、まず小規模のユーザーに使ってもらうことで実際のユーザーの入力や要望を早期に集めることを目的としています。

プロンプトエンジニアリングにドメインエキスパートを巻き込む

プロンプトを改善する過程で、社内に在籍している香水紹介のエキスパート「フレグランスアドバイザー」の方に入り込んでもらい、商品をおすすめする上で適切な文言やクエリが出力されるように、プロンプトの改善に取り組みました。実際の業務としてユーザーに香水を提案しているプロの知見を組み入れることで、提案の質を上げることができました。

次章では、「Kaori」の開発背景となる、カラリアのビジョンについて紹介していきます。

開発背景: データを用いて”香りとの出会いを最適化する”

カラリアのビジョン

香水をはじめとするフレグランス領域の購買体験は、購買の意思決定に嗅覚 (Web上では体感することのできない)が絡むという性質上、EC化が難しいとされています。

これまで、EC化の波によって多くの購買体験がWebによって代替されてきました。本はAmazon、洋服はZOZOといったプレイヤーによって、読みたい本に、欲しい服に、すぐに、簡単に出会い、手に入るようになりました。経産省が公開している調査によると、書籍 (書籍、映像・音楽、ソフト)のEC化率は40%以上、衣類 (衣類・服装雑貨等)のEC化率は20%以上となっています。

電子商取引に関する市場調査の結果を取りまとめました (METI/経済産業省)

それに対して、フレグランス領域は特にEC化率が低い領域です。

香水を含む化粧品 (化粧品、医薬品)のEC化率は7%強と、他領域と比較すると低く留まっています。

香水をはじめとするフレグランスアイテムを、他の領域と同じように、気軽に選べて、購入でき、楽しめる。そういった未来になれば、生活の彩り方もより豊かになると考えています。

そういった思いでカラリアでは、”香りとの出会いを最適化する”というビジョンを掲げ、香り領域の購買体験のアップデートに取り組んでいます。

これまでのデータを活用した取り組みと課題

カラリアのビジョンに近づく上で、これまでにデータを活用したアプローチに積極的に取り組んできました。

フレグランスプロフィール、香水診断、レコメンドなどは、サブスクリプションモデルだからこそ集まる、大量のユーザーの購買行動履歴やレビューデータと、対象ユーザーの行動情報をもとに、購買に寄与するような情報を提示する機能たちです。

フレグランスプロフィール。ユーザーは自分の香りの好みを知ることができ、好みをものにしたおすすめアイテムを知ることができる
香水診断。ユーザーは15問の簡単な質問に答えるだけで、自分の好みの香りタイプとおすすめアイテムを知ることができる

これらは香り選びにおいて参考にはなり、多くのユーザーに価値を届けられているものの、ユーザーが本当に欲するものやそのイメージを汲み取り、それに対して魅力的な形で伝え、ユーザーの香りとの出会いをサポートするという点ではまだまだ理想的とは言えない状態です。

体験の質という点では、百貨店などで香水の販売員の方々が行っているような、ユーザーの曖昧な要望やイメージから想像を膨らませて意図を汲み取り、魅力的な表現で商品をおすすめする体験と比べると、乖離が大きく、理想とのギャップは大きいです。

フレグランスアドバイザーとスケーラビリティの課題

また、カラリアでは、データを用いた自動的なアプローチだけでなく、LINE上で香りのプロであるフレグランスアドバイザーがユーザーに香りの相談を受け付ける無料サービスを行なってきました。

このサービスは、質の高い提案で一部の方々にご好評いただいている一方、リソース上の問題で多くの人に提供することはできないというスケーラビリティの課題があります。

LLMによる体験アップデートの挑戦

これまでの、データを活用した取り組みの課題と、人手によるフレグランスアドバイスのスケーラビリティの課題、これらを解消するための足掛かりにできないかと、新たな体験作りに挑戦したものが、先日リリースした「AIフレグランスアドバイザー Kaori」です。

LLMの高度な言語理解能力と表現力は、ユーザーの意図を汲み取り、魅力的な表現で推薦するという、商品推薦の枠組みにマッチしていると考えています。

また、今回「Kaori」では、チャットボットの形で体験を作りましたが、チャットボットはLLM応用のほんの一部分でしかないと考えています。オンライン上でのユーザー体験の様々なところでLLMの言語運用能力を活かした改善の可能性があると考えています。

おわりに

この記事では、「フレグランスアドバイザー Kaori」の仕組み・開発背景について紹介しました。

ハイリンクでは、顧客体験の向上と、業務効率化二つの軸で、LLMの活用に積極的に投資をしていいく予定です。

LLMを活用して、ユーザーや事業に対して価値を生んでいくことに興味のあるエンジニアは、ぜひ気軽にお話しさせてください。

herp.careers