CMSにデジタルマーケティング機能を統合。ライトワイヤード

ChatGPT統合によるCMS革命

レコメンデーションシステムの基本とBtoBサイトへの応用:ChatGPTエンベディングの活用

レコメンデーションシステムは、類似した好みを持つユーザーに高評価のアイテムを推薦するユーザーベースのアプローチと、ユーザーが過去に評価したアイテムに類似したアイテムを推薦するアイテムベースのアプローチに大別されます。しかし、BtoBサイトでは、限られたデータ量とユーザーの複雑なニーズにより、これらのアプローチを適用することが難しい場合があります。本記事では、これらの課題を克服するための一つの解決策として、ChatGPTのエンベディング技術を用いたレコメンデーションシステムの概要と、その具体的なメリット、さらには弊社サイトでの実践事例を紹介します。

レコメンデーションの基本とその挑戦

クリックして拡大

ユーザーベースのレコメンデーションシステム

ユーザーベースのレコメンデーションシステムでは、類似した好みや行動パターンを持つユーザーを見つけ、そのユーザーが高く評価しているアイテムを推薦します。

利用シーンの例
  1. ソーシャルネットワーキングサービス
    ユーザーの相互作用や関連性に基づいて友達やフォロワーを推薦する。
  2. オンライン小売
     顧客の購買履歴やブラウジング行動に基づいて、似た好みの他の顧客が購入した商品を推薦する。
  3. 映画や音楽のストリーミングサービス
    ユーザーの視聴履歴や評価に基づいて、同様の嗜好を持つユーザーグループが好むコンテンツを提案する。
必要な作業
  1. データの収集
    ユーザーの行動(クリック、購入、レビューなど)や属性(年齢、性別、居住地など)に関するデータを収集します。
  2. 類似ユーザーの特定
    コサイン類似度、ジャッカード類似度、ピアソン相関係数などを使用して、類似した好みを持つユーザーを特定します。
  3. レコメンデーションの生成
    類似ユーザーが好んだアイテムを対象ユーザーに推薦します。
課題
  • スケーラビリティ
    ユーザー数が増えると、類似ユーザーを見つけるための計算量が膨大になり、処理速度が低下します。
  • コールドスタート問題
    新規ユーザーに対して効果的なレコメンデーションを提供するのが難しいです。
  • スパーシティ問題
    ユーザーが少数のアイテムしか評価していない場合、正確な類似度を計算するのが難しいです。

アイテムベースのレコメンデーションシステム

アイテムベースのレコメンデーションシステムでは、類似した特性を持つアイテム間の関係性に基づいて推薦を行います。このアプローチは、ユーザーが過去に高く評価したアイテムと類似のアイテムを推薦することで機能します

利用シーンの例
  1. eコマースサイト
    商品ページに訪れた顧客に対して、「この商品を見た人はこんな商品も見ています」といった形で関連商品を提案する。
  2. ニュースサイトやブログ
    記事の閲覧履歴に基づいて、読者が関心を持ちそうな関連記事を提案する。
  3. 書籍販売サイト
    読者が選んだ本に基づいて、同じジャンルや著者の他の書籍を推薦する。
  4. クロスセルおよびアップセル戦略
    顧客がカートに追加した商品と関連性の高いアクセサリーや補完商品を推薦する。
必要な作業
  1. データの収集
    アイテムに関するデータ(属性、価格、カテゴリなど)とユーザーのアイテムに対する評価や行動データを収集します。
  2. アイテム間の類似度計算
    アイテムの特性やユーザー評価に基づき、アイテム間の類似度を計算します。
  3. レコメンデーションの生成
    ユーザーが過去に評価したアイテムと類似したアイテムを推薦します。
課題
  • アイテムの多様性
    アイテムベースのアプローチは、ユーザーにとって新しいジャンルのアイテムを推薦するのが難しい場合があります。
  • アイテムメタデータの品質
    アイテム間の類似度を正確に計算するためには、高品質なアイテムメタデータが必要ですが、これの収集・維持は大変な作業です。
  • 時代遅れの情報
    アイテムの人気が時間とともに変化する場合、時代遅れの情報に基づいてレコメンデーションすることがあります。

ユーザーベースのレコメンデーションが他のユーザーの行動に基づいて推薦を行うのに対し、アイテムベースのレコメンデーションはアイテム自体の特性や顧客のアイテムに対する過去の反応を利用しています。
クリックして拡大

BtoBサイトでレコメンデーションシステムを利用する際に直面する難しさ

BtoBサイトでアイテムベースやユーザーベースのレコメンデーションシステムを利用する際に直面する難しさは、BtoC環境とは異なる特有の課題に起因します。以下に、これらの課題を詳しく説明します。
 
  1.  データの量の問題
    アクセスログの少なさ: BtoBサイトは、一般的にBtoCサイトと比較して訪問者数が少ない傾向にあります。これにより、ユーザー行動に関するデータが限られ、レコメンデーションシステムを駆動するための十分な情報が得られない場合があります。
    アイテムの種類と量の限定性: BtoBサイトでは扱うアイテムの種類や量が限られていることが多く、アイテムベースのレコメンデーションを生成するためのデータが不足しがちです。
     
  2. ユーザーの多様性とニーズの複雑さ
    購買決定プロセスの複雑性: BtoBの購買決定プロセスは、多数の関係者や長期にわたる検討フェーズを伴うことが多く、単純な行動パターンでは捉えられない複雑性があります。
    個々のニーズの特異性: BtoBの顧客は、それぞれ独自のビジネスニーズを持っており、一般化された推薦ではニーズに合致しない可能性があります。
     
  3. コールドスタート問題
    新規アイテムとユーザー: 新規アイテムやユーザーに対して効果的なレコメンデーションを提供することは、既存のデータが限られているBtoB環境では特に困難です。
     
  4.  プライバシーとセキュリティの懸念
    データの機密性: BtoB取引では、取引先の情報やビジネスプロセスに関するデータが機密性を持つことが多く、これらの情報をレコメンデーションシステムに利用することはプライバシーおよびセキュリティの観点から難しい場合があります。
     
  5. カスタマイゼーションの必要性
     高度なカスタマイズの要求: BtoB顧客は、製品やサービスに対して高度なカスタマイズを求めることが多く、一般的なレコメンデーションアルゴリズムでは対応が難しい場合があります。

これらの課題を克服するためには、BtoB環境特有のニーズに合わせたレコメンデーションシステムの設計や、機械学習モデルの高度なカスタマイズが必要となります。

ChatGPTのエンベディングによるレコメンデーションシステム

ChatGPTのエンベディングによるレコメンデーションシステムは、テキストコンテンツを数値のベクトル表現(エンベディング)に変換し、これらのベクトルを用いてアイテム間またはコンテンツ間の類似度を計算する仕組みです。このアプローチは、自然言語処理(NLP)の進展により、特にテキスト豊富なドメインでのレコメンデーションに革新をもたらしています。
 

ChatGPTのエンベディングによるレコメンデーションの仕組み

  1. テキストのエンベディング
    ChatGPTやその他の言語モデルを使用して、アイテムの説明、レビュー、記事などのテキストデータを高次元のベクトルに変換します。
  2. 類似度の計算
    生成されたエンベディング間で類似度(例:コサイン類似度)を計算し、アイテム間またはコンテンツ間の関連性を評価します。
  3. レコメンデーションの生成
    類似度スコアに基づいて、ユーザーが興味を持ちそうなアイテムやコンテンツを推薦します。

メリット

  • 深いテキスト理解
    ChatGPTのような強力な言語モデルを使用することで、テキストの意味論的な理解に基づいた精度の高いレコメンデーションが可能になります。
  • コールドスタート問題の緩和
    新規アイテムに対しても、テキストデータさえあればエンベディングを生成し、関連するアイテムを推薦できるため、コールドスタート問題に対するある程度の解決策となります。
  • コンテンツベースの柔軟性
    ユーザーデータが不足している場合でも、アイテム自体のコンテンツに基づいてレコメンデーションを行うことができます。

デメリット

  • 解釈性の欠如
    エンベディングと類似度計算は、その性質上、ユーザーにとって直感的に理解しにくい場合があります。
  • 計算資源
    大規模な言語モデルを用いる場合、エンベディングの生成と類似度計算には相応の計算資源が必要になります。
  • コンテキストの考慮
    テキストデータのエンベディングは強力ですが、ユーザーの現在のコンテキストや状況を直接反映することは難しい場合があります。
クリックして拡大
クリックして拡大

ユーザーベース、アイテムベースとの比較

  • データ要件
    ユーザーベースやアイテムベースのレコメンデーションは、ユーザー行動データに大きく依存しますが、ChatGPTのエンベディングはテキストコンテンツが主なデータソースです。
  • 柔軟性
    ChatGPTのエンベディングは、テキストデータから豊富な情報を抽出できるため、特にコンテンツ主導のレコメンデーションにおいて柔軟性があります。
  • 新規アイテムの扱い
    ユーザーベースやアイテムベースのアプローチは新規アイテムやユーザーに弱いですが、ChatGPTのエンベディングは新規アイテムのテキスト情報から即座に価値を引き出すことができます。

総じて、ChatGPTのエンベディングによるレコメンデーションは、テキスト重視のアプローチであり、その深いテキスト理解能力により、新しい形のレコメンデーションシステム構築を可能にします。

相互に関連性が高いコンテンツを「おすすめ」

このサイトでは、ChatGPTのエンベディング技術を活用して、機能紹介、導入事例、読み物カテゴリの各ページに、相互に関連性が高いコンテンツを「おすすめ」として提案しています。特定の機能説明ページから内容の類似性に基づいて他の機能や事例への推薦を行うことで、ユーザーが直感的に求める情報に簡単にアクセスできるようになります。さらに、「この機能を見た方にはこんな事例もおすすめです」という形で関連するコンテンツを提示することで、ユーザーの興味を引き、新しい発見へと導くことが可能です。

例:機能詳細ページ:関連する機能ページをおすすめします。
https://writewired.jp/features/cms/template-development.html

例:導入事例ページ:関連する機能ページをおすすめします。
https://writewired.jp/case/medical01.html

例:読み物ページ:関連する機能、導入事例ページをすすめします。
https://writewired.jp/knowledges/cms/cms.html

ChatGPTのエンベディングを利用することで、リソースが限られた環境下でもユーザー一人ひとりのニーズに合わせたカスタマイズされた情報提供が実現し、BtoBサイトのレコメンデーションシステムにおいて、より効果的なユーザーエクスペリエンスを提供する新たな道を切り開くことができます。
クリックして拡大

ユーザーの閲覧履歴に基づいて、関連性の高いコンテンツを「おすすめ」

このサイトでは、ChatGPTのエンベディング技術を活用して、機能紹介、導入事例、読み物カテゴリの各ページに、ユーザーの閲覧履歴に基づいて、関連性の高いコンテンツをおすすめしています。これは、過去に閲覧したコンテンツからユーザーの興味や好みを分析し、それに基づいた記事をおすすめする機能です。

例えば、「以前閲覧した記事と関連するテーマのコンテンツ」を提案することで、ユーザーが次に読みたいかもしれない記事を簡単に見つけることができます。この機能は、ユーザーにとって価値ある情報へのアクセスを容易にし、サイト内での体験をより豊かなものにすることを目指しています。

あなたへのおすすめコンテンツ

例:機能詳細ページ:
https://writewired.jp/features/cms/template-development.html
例:導入事例ページ
https://writewired.jp/case/medical01.html
例:読み物ページ:
https://writewired.jp/knowledges/cms/cms.html

あなたへのおすすめコンテンツは、サイトの行動履歴により表示内容がパーソナライズされます。
クリックして拡大

おもな機能

ChatGPT連携設定の管理

Completion、Embedding、Chat、Recommendationなど、複数のChatGPTとの連携設定を管理できます。それぞれ、プロンプトや学習対象のコンテンツ(ライブラリ)を任意に指定することができるようなっています。

ChatGPT連携の一括処理

ChatGPT連携設定で選択されたコンテンツ(ライブラリ)を対象にバッチ処理で一度に処理します。Completion、Recommendationの結果は管理画面から閲覧でき、コンテンツデータに自動で反映することも可能です。

コンテンツ管理画面のAIライティングアシスト機能

事前にプロンプトとともにコンテンツ管理画面でChatGPTと連携する際のアシスト機能として利用できます。ChatGPTと連携したログはコンテンツ画面に蓄積されるので、過去のログを見ながらコンテンツの改善が可能です。

Completion

プロンプトと対象コンテンツを指定して一括でChatGPTと連携、結果を保存します。一括処理の結果は管理画面から一覧で閲覧でき、コンテンツ管理画面でもアシスト機能として閲覧できます。結果をコンテンツデータに直接反映することも可能です。

Embedding

対象コンテンツと任意の形式のファイルを保管管理できる「ライブラリ」の対象ファイルを元にEmbeddingを行います。ここで作成されたデータはChat、Recommendationの参照元学習データとして利用できます。

Chat

プロンプトと参照元学習データを指定してチャットボットを設定します。任意のEmbeddingを指定して、任意の数のチャットボットを用途に合わせて自由に作成できます。

Recommendation

参照元のEmbeddingとレコメンド先のEmbeddingを指定することができます。例えば製品詳細ページに関連するFAQページをお勧めとして表示するなど、様々用途に利用できます。