詳細とノートブックのダウンロードについては、LLM Solution Accelerators for Retailをご覧ください。
商品の推薦(レコメンデーション)は、現代の顧客体験の中核をなす機能です。 ユーザーは以前利用したことのあるサイトに戻ったとき、以前の利用内容に関連するレコメンデーションが表示されることを期待します。 ユーザーが特定のアイテムに興味を持ったとき、類似した関連性のある代替品が提案され、自分のニーズに合ったアイテムを見つけられることを期待します。 また、商品がカートに入れられると、ユーザーは、全体的な購買体験を完成かつ向上させる追加の商品がレコメンドされることを期待します。 このような商品のレコメンデーションが適切に行われれば、買い物がスムーズになるだけでなく、ユーザーは小売店によって認識され、理解されていると感じることができます。
商品のレコメンデーションを生成するための様々なアプローチがありますが、現在使用されているレコメンデーションエンジンのほとんどは、小売業者固有の大規模なデータコレクションに高度な技術を適用することによって学習された、商品と顧客の間の過去の相互作用パターンに依存しています。 これらのエンジンは、成功した顧客エンゲージメントから学んだパターンを強化することには驚くほど強いです。しかし、時には異なる体験を提供するために、このような過去のパターンから脱却する必要が生じます。
データ内のインタラクション数が限られている新商品が登場した場合のシナリオを考えてみましょう。 数多くの顧客との関わりから学んだ知識を必要とするレコメンダーは、レコメンデーションをサポートするのに十分なデータが蓄積されるまで、商品を提案できない可能性があります。
あるいは、一つの商品が異常に注目を集めるという別のシナリオを考えてみましょう。 このシナリオでは、レコメンダーは、ポートフォリオ内の他の実行可能な商品を犠牲にして、圧倒的な人気のために常にこの1つのアイテムを提案する罠に陥る危険性があります。
こ うした課題や類似の課題を回避するために、小売業者は、一般的な知識に基づき、広く認識されている商品連想パターンを採用する戦術を取り入れることが考えられます。 親切な販売員のように、このタイプのレコメンダーは、顧客が興味を持っていると思われる商品を調べ、その商品の組み合わせが示す経路や道筋に沿うと思われる商品をさらに提案することができます。
大規模な言語モデルを使ったレコメンデーション
ある顧客が冬のマフラー、ニット帽、ミトンを買う場面を考えてみましょう。 明らかに、この顧客は寒い季節の外出の準備をしています。 小売業者が最近、厚手のウールソックスと冬用ブーツを商品ラインナップに加えたとしましょう。 他のレコメンデーターは、過去のデータにおけるインタラクションの欠如のために、顧客が閲覧している商品とこれらの商品の関連性をまだピックアップしていないかもしれませんが、共通の知識はこれらの商品を結びつけています。
この種の知識は、一般的なテキストを大量に学習させた大規模な言語モデル(LLM)によって捕捉されることがよくあります。 その文章では、ミトンとブーツは、屋外に出る前に個人が両方のアイテムを身につけることによって直接結びつけられ、「寒い」、「雪」、「冬」といった概念と結びついて、関係が強化され、他の関連アイテムが引き寄せられるかもしれません。
LLMは、マフラー、ニット帽、ミトンに関連する他のアイテムは何かと尋ねられると、何十億もの内部パラメータで捕捉されたこれらの知識すべてを使用して、興味のありそうな追加アイテムの優先順位付けされたリストを提 案します。 (図1)
このアプローチの優れた点は、LLMにカートの中の商品だけを単独で考慮するよう求めることに制限されないことです。 テキサス州南部で冬物商品を購入する顧客は、ミネソタ州北部で同じ商品を購入する顧客とは異なる特定の嗜好を持っている可能性があることを認識し、その地理的情報をLLMのプロンプトに組み込むかもしれません。 また、LLMがそのような取り組みに関連するアイテムを提案することを奨励するために、販促キャンペーンやイベントに関する情報を取り入れることもあります。 ここでもまた、店員のように、LLMはさまざまな入力のバランスをとりながら、意味のある、それでいて適切な推奨事項を導き出すことができます。
レコメンデーションと利用可能な商品をつなぐ
しかし、LLMが提供する一般的な商品レコメンデーションを、どのように商品カタログの具体的な商品と関連付けるのでしょうか? 一般に公開されているデータセットでトレーニングされたLLMは、小売業者の商品ポートフォリオに含まれる特定のアイテムに関する知識を持っていませんし、小売業者固有の 情報を使ってこのようなモデルをトレーニングすることは、時間もコストもかかります。
この問題を解決するのは比較的簡単です。 オンラインで自由に利用できる多くのオープンソースモデルのような軽量の埋め込みモデルを使用すると、各製品の記述情報やその他のメタデータを、いわゆる埋め込み(エンベディング)に変換することができます。 図2
エンベディングの概念は少し専門的になりますが、一言で言えば、テキストを数値で表したもので、ある言語内で認識される一連の概念や関係性をどのようにマッピングするかということです。 例えば、一般的なウィンターブーツと、冬の悪天候に耐える防水キャンバスとレザーのアッパーで雪道や山道を快適に歩くことができるアクメ・トゥルーパーズのような、概念的に類似した2つのアイテムは、適切なLLMを通すと非常によく似た数値表現になります。 各項目に関連する埋め込み間の数学的な差(距離)を計算すると、それらの間には比較的小さな隔たりがあることがわかります。 これは、これらのアイテムが密接に関連していることを示しています。
このコンセプトを実行に移すために必要なことは、具体的な商品説明やメタデータをすべてエンベディングに変換し、検索可能なインデックス、いわゆるベクトルストアに保存することです。 LLMが一般的な商品のレコメンデー ションを行う際、これらのそれぞれを独自のエンベディングに変換し、ベクトルストアで最も密接に関連するアイテムを検索し、顧客の前に配置するポートフォリオ内の特定の商品を提供します。(図3)
Databricksによるソリューションの統合
ここで紹介するレコメンダーパターンは、商品の関連性に関する一般的な知識を活用して、顧客に有用なレコメンデーションを行うことができるシナリオにおいて、組織で使用されるレコメンダーのスイートに大いに追加することができます。 このソリューションを軌道に乗せるためには、組織は大規模な言語モデルと軽量な埋め込みモデルにアクセスし、これら両方の機能と独自の情報を組み合わせる能力を持たなければなりません。 これが完了したら、組織はこれらの資産をすべて、これらの推奨事項が必要とされる顧客と接するインターフェイスの範囲にわたって容易に統合し、拡張できるソリューションに変える能力が必要です。
Databricks データインテリジェンスプラットフォームを使用することで、企業は、データのプラ イバシーを保持しながら、導入と展開が簡単でコスト効率の高い、一貫性のある単一の統合環境を通じて、これらの課題に対処することができます。 Databricksの新しいベクトル検索機能により、開発者は統合されたベクトルストアを利用することができ、その中に格納されているエンベディングが最新であることを保証するワークフローを利用することができます。 新しいFoundation Model APIを通じて、開発者は最小限のセットアップで幅広いオープンソースおよびプロプライエタリの大規模言語モデルを利用することができます。 また、強化されたモデルサービング機能により、エンドツーエンドのレコメンダーワークフローは、最も広範な最新のアプリケーション間での統合を可能にするオープンで安全なエンドポイントの背後に配備するためにパッケージ化することができます。
でも、私たちの言葉を鵜呑みにしないでください。 ご自分の目でお確かめください。 私たちの最新のソリューション・アクセラレータでは、ここに示したパターンを実装したLLMベースの製品レコメンダーを構築し、これらの機能をどのように組み合わせれば、コンセプトから実用化された展開に至ることができるかを実証しています。 すべてのコードは自由に利用可 能です。組織がデータの可能性を最大限に発揮できるよう支援するという私たちのコミットメントの一環として、ぜひあなたの環境でこのソリューションを試してみてください。
ノートブックをダウンロード