paint-brush
カスタム レコメンデーション エンジンを構築する理由と構築方法@itrex
1,342 測定値
1,342 測定値

カスタム レコメンデーション エンジンを構築する理由と構築方法

ITRex17m2023/06/13
Read on Terminal Reader

長すぎる; 読むには

人々が [Netflix](https://hackernoon.com/company/Netflix/) で視聴する番組の 80% 以上は、プラットフォームのレコメンデーション エンジンを通じて発見されています。このブログ投稿では、レコメンデーション エンジンを構築するプロセスをガイドし、AI サービス ベンダーに頼る前に知っておくべきことをすべて説明します。
featured image - カスタム レコメンデーション エンジンを構築する理由と構築方法
ITRex HackerNoon profile picture
0-item
1-item


人々がNetflixで視聴する番組の 80% 以上は、プラットフォームの推奨エンジンを通じて発見されます。それは、あなたの目に映るものの大部分が、高度な機械によって行われた決定の結果であることを意味します。


このストリーミング サービスは、人工知能を利用してコンテンツ内の微妙なスレッドを調べ、視聴者の好みを深く掘り下げています。そして、間違いなく言えるのは、その努力は報われるということです。

まだ時代遅れだが、顧客のビジネス体験を向上させたいと考えている場合は、読み続けてください。このブログ投稿では、レコメンデーション エンジンを構築するプロセスをガイドし、AI サービス ベンダーに頼る前に知っておくべきことをすべて説明します。


レコメンデーション エンジン 101: 開発に取り組む前に知っておくべきこと

レコメンデーション エンジンの構築方法に入る前に、レコメンデーション エンジンの種類、使用例、実装オプションについて見てみましょう。


レコメンドエンジンの種類

従来、レコメンデーション システムは、コンテンツ ベースのフィルタリング システムと協調フィルタリング システムという 2 つの大きなカテゴリに分類されます。

コンテンツベースのフィルタリング

コンテンツベースのフィルタリング システムは、コンテンツの特性や機能に基づいて推奨事項を生成します。言い換えれば、ユーザーが以前に気に入ったり、やり取りしたりしたものと同様の製品やコンテンツを推奨します。このようにして、レコメンデーション エンジンは、「西部戦線では静かに」と「Catch-22」を楽しんだ読者に「武器よさらば」を提案する可能性があります。


しかし、エンジンはどのアイテムが類似しているかをどのようにして判断するのでしょうか?それを理解するために、レコメンデーション エンジンを構築するための Netflix のアプローチを見てみましょう。 Netflix のレコメンデーション システムはハイブリッドな性質を持っていますが、コンテンツの類似性に大きく依存しています。


このストリーミング サービスには、すべての新しいコンテンツを監視してラベルを付けるタグ付けチームがいます。タグは、作品がどれだけアクション満載であるか、宇宙を舞台にしているか、特定の俳優が主演しているかなど、多岐にわたります。機械学習アルゴリズムを使用して視聴者の行動に対してタグ データを分析することで、ストリーミング プラットフォームは各ユーザーに実際に関連するものを判断できるようになります。


協調フィルタリング

協調フィルタリング システムは、 ユーザーのフィードバックに基づいて推奨事項を作成します。このようなシステムは、同様のアイテムを楽しんだユーザーは新しい製品やコンテンツに対しても同様に反応する可能性が高いと想定しています。


協調フィルタリングに依存したレコメンデーション エンジンを構築するには、ユーザー ベースとアイテム ベースの 2 つのアプローチがあります。


ユーザーベースのフィルタリングを使用すると、共通の設定を持つ類似したユーザーのセグメントを作成できます。したがって、ユーザーには、セグメント内の他のユーザーが気に入ったアイテムが推奨される可能性があります。コンテンツの特徴は考慮されていません。


アイテムベースのフィルタリングを使用すると、エンジンは、ユーザーが気に入ったアイテムと提案されたアイテムの類似性に基づいて推奨事項を作成します。コンテンツベースのフィルタリングに似ていますね。コンテンツ ベースのフィルタリング システムとアイテム ベースの協調フィルタリング システムは両方とも、アイテムの類似性を使用して推奨を作成しますが、何が類似しているかを判断する方法が異なります。


コンテンツベースのフィルタリング システムは、ユーザーがすでに気に入ったアイテムに類似したアイテムを推奨するだけです。アイテムベースの協調フィルタリングを使用すると、あなたが気に入ったアイテムに似ていて、同じセグメントのユーザーからも好まれているアイテムが推奨されます。




レコメンデーション エンジンの使用例

高度なパーソナライゼーションはユーザーの期待に不可欠なものとなっており、企業はレコメンデーション エンジンを使用してオンライン エクスペリエンスを充実させる必要があります。レコメンデーション エンジンが非常に一般的になっている分野は次のとおりです。


  • 小売と e コマース: e コマースのレコメンデーション エンジンは、製品の分類から顧客に購入する新しいアイテムの提案まで、あらゆることを行うことができます。電子商取引でのレコメンデーション エンジンの実装と、それに伴う顧客サービスの強化、マーケティングの改善、アップセルの可能性の拡大によってもたらされる影響を過大評価することは困難です。たとえば、有名な電子商取引の大物である Amazon は、 収益の 35% をレコメンデーション システムのおかげで生み出しています


  • メディアとエンターテイメント: プレイリストのキュレーションから過去のインタラクションに基づいたパーソナライズされた提案の提供まで、レコメンデーション エンジンは、他の方法では発見できないコンテンツをユーザーに表示することで、メディアとエンターテイメント プラットフォームがユーザーをより長く引きつけるのに役立ちます。 YouTubeNetflixSpotifyなどの最大のメディアおよびエンターテイメント プラットフォームは、新規ユーザーを引きつけて維持するために、AI が生成したパーソナライズされたレコメンデーションに大きく依存しています。


  • ソーシャル メディア: ソーシャル メディア セクターでは、テクノロジーを活用してパーソナライズされた提案も提供しています。ソーシャル メディア プラットフォームは、ユーザーが類似のページやアカウントを見つけられるようにすることで、ユーザーがコンテンツの操作に多くの時間を費やすように誘導し、クリックスルー率を高め、収益を増加させます。


  • 銀行と金融: AI ベースの推奨システムにより、銀行はユーザーの取引を分析し、アップセルして収益を増やすことができます。たとえば、ユーザーが 500 ドル相当の航空券を購入すると、レコメンデーション エンジンは自動的にユーザーが海外旅行をしていると想定し、旅行保険のバンドルを購入することを提案します。



選択できる実装オプション

レコメンデーション エンジンの構築に着手すると、独自の利点と考慮事項を持ついくつかの実装オプションに遭遇することになります。

プラグアンドプレイの推奨エンジン

プラグアンドプレイの推奨エンジンは、パーソナライズされた推奨事項を製品またはプラットフォームに組み込むための便利で手間のかからない方法を提供します。これらはあらかじめ構築されており、既存のインフラストラクチャにシームレスに統合できるように設計されています。


プラグアンドプレイの推奨エンジンの主な利点は、そのシンプルさと使いやすさにあります。これらは通常、ユーザーフレンドリーになるように設計されており、技術に詳しくない人でも最小限の労力でセットアップできるようになります。プラグアンドプレイ レコメンデーション エンジンの例は、Recombee、Seldon、LiftIgniter などのプラットフォームにまたがります。


付属のプラグ アンド プレイ レコメンデーション エンジンの欠点は、カスタマイズと適応性が限られていることです。これらは利便性と速度を提供しますが、カスタム ソリューションが提供するレベルの柔軟性と微調整が提供されない場合があります。

事前トレーニングされたクラウドベースのレコメンデーション サービス

クラウドベースのレコメンデーション エンジンにより、クラウド サービス プロバイダーの膨大な計算リソースと専門知識を活用できます。これらのレコメンデーション サービスは通常、開発者がレコメンデーション機能をアプリケーションに簡単に統合できるようにする使いやすい API を提供します。


クラウドベースのレコメンデーション エンジンは拡張性も高く、大規模なユーザー ベースや高いトラフィック負荷にも対応できます。もう 1 つの利点は、基礎となるモデルがサービス プロバイダーによって更新および改良されるため、継続的に改善できることです。


Amazon Web Services、Google Cloud Platform、Microsoft Azure などの大手クラウド サービス ベンダーは、事前トレーニングされた推奨サービスを提供しています。


事前トレーニング済みのクラウドベースのレコメンデーション サービスを選択する際に考慮すべき要素は、データ プライバシー、ベンダー ロックイン、カスタマイズ要件など多岐にわたります。これらのサービスは利便性と拡張性を提供しますが、特定のビジネス ニーズに合わせて推奨アルゴリズムをカスタマイズするという点で制限がある場合があります。

カスタムレコメンデーションエンジン

カスタム レコメンデーション エンジンは最高度の柔軟性と制御を提供し、独自のアルゴリズムを組み込み、ドメイン固有の知識を活用し、データのニュアンスを考慮することができます。カスタム方法を使用すると、ユーザーの好み、アイテムの特性、およびコンテキスト要因の複雑さを捉えることができ、通常はより正確で関連性の高い推奨事項が得られます。


ただし、カスタム レコメンデーション エンジンは最も高い柔軟性を提供しますが、多大な開発リソース、機械学習の専門知識、および継続的なメンテナンス作業も必要とします。したがって、カスタム レコメンデーション エンジンを構築する前に、ビジネス ニーズ、利用可能なリソース、長期目標を慎重に評価してください。


経験則では、次のシナリオではカスタム ルートを選択します。


  • 独自のビジネス ニーズがある: 既製のソリューションでは満たせない独自の要件がある場合は、カスタムを選択してください。これにより、特定のタスクに合わせてアルゴリズムを調整できます。たとえば、あなたは職人技による製品を販売するニッチな e コマース プラットフォームだとします。製品の提案に関しては、明確な要件がある場合があります。推奨エンジンは、製品の希少性、職人技、特定のスタイルや素材に対するユーザーの好みなどの要素を考慮する必要があります。レコメンデーション エンジンを最初から構築すると、ユーザーの好みに合わせたレコメンデーションを生成できる可能性が高くなります。


  • 完全な制御と所有権が必要: カスタム レコメンデーション エンジンを構築すると、データの前処理からアルゴリズムの選択、微調整に至るまで、レコメンデーション生成プロセス全体を完全に制御できます。これにより、サードパーティのソリューションに依存することなく、システムの完全な所有権を取得し、ビジネスの進化に合わせてシステムを適応させることができます。


  • ドメイン固有の知識を持っている: ドメイン固有の専門知識を持っているか、レコメンデーションの精度を大幅に向上できる特殊なデータにアクセスできる場合は、カスタム ソリューションを構築することでその知識を効果的に活用できます。カスタマイズされたレコメンデーション エンジンを開発することで、事前トレーニングされたソリューションでは利用できないドメイン固有の機能や制約を組み込むことができます。


  • アプリケーションには高いスケーラビリティとパフォーマンスが必要です。大量のユーザーやアイテムが予想される場合、厳格なレイテンシ制約がある場合、または大規模で複雑なデータセットを処理する必要がある場合、カスタム レコメンデーション エンジンを構築すると、最大限のパフォーマンスを実現するためにシステムを柔軟に設計および最適化できます。スケーラビリティとパフォーマンス。リアルタイムまたはほぼリアルタイムの推奨事項を生成する場合も同じことが当てはまります。


  • 競争上の優位性を獲得したい: 正確なレコメンデーションが製品やサービスの核となる差別化要因である場合、カスタムのレコメンデーション エンジンを構築すると、競争上の優位性が得られる可能性があります。この場合、オーダーメイドのソリューションに投資すると、ユニークでパーソナライズされたエクスペリエンスを提供し、エンゲージメント、ロイヤリティ、顧客満足度を向上させる機会が得られる可能性があります。

カスタム レコメンデーション エンジンを段階的に構築する

パーソナライズされた推奨事項の提供は、通常、機械学習で解決されるタスクです。ニューラルネットワークも使用できます。ただし、その役割はほとんどがトレーニング データの前処理に限定されています。ここでは、ITRex の機械学習開発者が共有するレコメンデーション エンジンを構築するプロセスの主要な手順を示します。

ステップ1. 方向を設定する

プロジェクトの残りの方向性を設定して開発をキックオフします。この段階で行うべき重要なことは次のとおりです。


  • 目標の設定とプロジェクトの範囲の定義

レコメンデーション システムで達成する予定の内容を明確に説明し、設定した目標とリソースと予算の制限を比較検討します。たとえば、オンライン ストアでの顧客エンゲージメントを向上させ、売上を増やしたい場合は、プロジェクトの範囲を、すでに購入した顧客への製品の推奨に限定することができます。範囲を非常に狭く保つことで、すべての顧客を対象とするレコメンデーション エンジンを構築するよりも労力が少なくなりますが、ROI を生み出す可能性は依然として非常に高くなります。


  • 利用可能なデータソースの評価

レコメンデーション システムのパフォーマンスは、トレーニング データの量と品質に大きく依存します。トレーニングに着手する前に、推奨事項を生成するのに十分なデータ ポイントがあるかどうかを慎重に評価してください。


  • パフォーマンス指標の定義

レコメンデーション エンジンを構築する際の重要な課題の 1 つは、最初に考慮する必要があるが、成功指標の定義です。 ML アルゴリズムのトレーニングに取り掛かる前に、新しく生成されたレコメンデーションをユーザーが実際に楽しんでいるかどうかを判断する方法を考えてください。


ステップ 2. トレーニング データを収集する

カスタム レコメンデーション システムを構築するプロセスの次のステップは、機械学習アルゴリズムをトレーニングするためのデータを収集して準備することです。信頼できるレコメンデーション システムを構築するには、ユーザーの好みに関する十分なデータが必要です。


レコメンデーション エンジンを構築するアプローチに応じて、焦点は変わります。協調フィルタリング システムを作成する場合、収集するデータはユーザーの行動を中心としています。コンテンツベースのフィルタリング システムを使用すると、ユーザーが好むコンテンツの機能に重点を置くことができます。


協調フィルタリング

ユーザーの行動に関するデータは、さまざまな形式で取得される場合があります。


  • 明示的なユーザー フィードバックとは、レビューを書く、コンテンツや製品を高く評価する、苦情を言う、返品を開始するなど、ユーザーに努力を求めるものすべてです。
  • 暗黙的なユーザー フィードバック。過去の購入履歴、ユーザーが特定のオファーの閲覧に費やした時間、視聴習慣、ソーシャル メディアに残されたフィードバックなど。


レコメンデーション エンジンを構築するときは、明示的なフィードバックと暗黙的なフィードバックの両方を組み合わせることをお勧めします。後者を使用すると、ユーザーが認めたがらない好みを掘り下げることができ、システムがより正確になるためです。



コンテンツベースのフィルタリング

コンテンツベースのフィルタリング システムのデータを収集する場合、ユーザーの好みを掘り下げる際に、どの製品/コンテンツの機能に頼るべきかを理解することが重要です。


音楽愛好家向けのレコメンデーション エンジンを構築しているとします。スペクトログラム分析を利用して、特定のユーザーがどのような種類の音楽を好むかを理解し、同様のスペクトログラムを持つ曲を推奨することができます。


あるいは、おすすめの基準として曲の歌詞を選択し、同様のテーマを扱う曲をアドバイスすることもできます。


重要なのは、テストと調整を行って何が最適かを理解し、初期モデルを継続的に改善する準備を整えることです。


ステップ 3. データをクリーンアップして処理する

高性能のレコメンデーション エンジンを構築するには、ユーザーの好みの変化を考慮する必要があります。お勧めするものによっては、古いレビューや評価が意味を持たなくなる場合があります。

不正確さを防ぐには、現在のユーザーの好みを表す可能性が高い特徴のみを調べ、関連性のなくなったデータを削除し、古いアクションではなく最近のユーザーのアクションに重みを追加することを検討してください。


ステップ 4. 最適なアルゴリズムを選択する

レコメンデーション エンジンを構築するプロセスの次のステップは、タスクに適した機械学習アルゴリズムを選択することです。 ITRex のデータ サイエンティストは、次の点を考慮することを推奨しています。


  • 行列分解は、大規模なデータセットを小さな部分に分割して、ユーザーとアイテム間の隠れたパターンや類似点を明らかにします。


  • テンソル因数分解は、テンソルと呼ばれる高次元のデータ構造を処理できる行列因数分解の拡張です。テンソルを潜在因子に分解することでより複雑なパターンを捕捉し、ユーザーとアイテムの相互作用をより詳細に理解できるようにします。


  • 因数分解マシンは、高次元データと疎データを処理できる強力なモデルです。これらは機能間の相互作用をキャプチャし、推奨タスクに適用できます。機能の相互作用を考慮することで、データが不完全な場合でも正確な推奨事項を提供できます。


  • 近隣モデルは、属性や行動に基づいてユーザーやアイテム間の類似点を見つけます。特に協調フィルタリングに効果的であり、ネットワーク内のユーザーまたはアイテム間のつながりを構築し、類似したユーザーまたはアイテムの好みに基づいて推奨を行います。


  • ランダム ウォークは、ネットワーク内のアイテムまたはユーザー間の接続を調査するグラフベースのアルゴリズムです。ネットワークをナビゲートすることで、アイテムまたはユーザー間の類似点をキャプチャし、キャプチャした接続に基づいて推奨事項を作成します。


  • SLIM は、アイテムが互いにどのように関連しているかを理解するためにレコメンデーション システムで使用される手法です。アイテム間の関係のパターンを見つけることに重点を置き、それらのパターンを使用して推奨事項を作成します。


  • 線形モデルは、特徴間の線形関係に基づいてユーザーのアイテムの好みを予測します。これらは理解しやすく、すぐにトレーニングできますが、他のアプローチほど効果的に複雑なパターンを捕捉できない可能性があります。


また、次の深層学習モデルから選択することもできます。


  • DSSM (深層構造セマンティック モデル) は、テキストまたはドキュメントの表現を学習します。彼らは、構造化された枠組みの中で単語の意味論的な意味とその関係を捉えることに重点を置いています。


  • グラフ畳み込みネットワークは、グラフ構造のデータ用に設計されています。これらはグラフを操作し、グラフ内のノード間の関係と相互作用をキャプチャします。


  • 変分オートエンコーダーは、基礎となる潜在空間をキャプチャすることでデータの表現を学習する生成モデルです。これらのモデルは、エンコーダ/デコーダ アーキテクチャを使用してデータを低次元空間に圧縮し、再構築します。


  • Transformer は、セルフ アテンション メカニズムを使用して、文またはドキュメント内の単語間の文脈上の関係をキャプチャするモデルです。


注意すべき重要な点は、上記の方法が単独で使用されることはほとんどないということです。代わりに、次の技術とアルゴリズムを介して結合されます。


  • アンサンブルには、複数のモデルを個別にトレーニングし、さまざまな手法を通じてそれらの予測を組み合わせることが含まれます。各モデルは最終的な予測に等しく貢献しており、その組み合わせは通常は簡単で、追加のモデルをトレーニングする必要はありません。


  • スタッキングには、より高度なアプローチが必要です。これには、基本モデルと呼ばれる複数のモデルをトレーニングし、メタモデルを通じてそれらの予測を組み合わせることが含まれます。基本モデルは入力データに基づいて予測を行い、その予測がメタモデルの入力特徴になります。その後、メタモデルは最終的な予測を行うためにトレーニングされます。


  • AdaBoost は、さまざまなデータ サブセットでベース モデルを反復トレーニングすることにより、ベース モデルの精度を向上させるアンサンブル学習アルゴリズムです。このアプローチは、正しく分類することが難しいインスタンスに焦点を当て、後続のトレーニング反復でより多くの注意を向けます。各反復で、AdaBoost は分類精度に基づいてトレーニング インスタンスに重みを割り当てます。次に、重み付けされたデータに基づいてパフォーマンスの悪いモデルをトレーニングします。重み付けによって、以前の反復で誤って分類されたインスタンスが強調されます。


  • XGBoost は、弱い予測モデルを繰り返し組み合わせて、より強力なモデルを作成するアンサンブル手法です。モデルを逐次的にトレーニングし、後続の各モデルが前のモデルによって発生したエラーを修正します。



ステップ 4. モデルをトレーニングして検証する

レコメンデーション エンジンのアルゴリズムに焦点を当てたら、モデルをトレーニングして検証します。レコメンデーション エンジンを構築するプロセスのこのステップは次のようになります。


まず、データをトレーニング セットとテスト セットの 2 つのセットに分割する必要があります。トレーニング セットは、その名前が示すように、ユーザーの好みのパターンを認識するようにモデルを学習します。テスト セットは、新しいデータに対するモデルのパフォーマンスを評価するのに役立ちます。


トレーニング セットを用意したら、モデルのトレーニングを開始します。これには、アルゴリズムをデータに公開して、根底にあるパターンと関係を学習できるようにすることが含まれます。


トレーニング フェーズの後は、テスト セットを使用してモデルのパフォーマンスを評価します。これは、モデルが新しいデータにどの程度効果的に一般化されるかを理解するのに役立ちます。


あるいは、リアルタイムのフィードバックを利用して、モデルのパフォーマンスを理解することもできます。このようにして、モデルを実稼働環境にデプロイし、生成された推奨事項をユーザーのフィードバックにマッピングします。次に、反復学習プロセスを通じてパラメーターを調整するようにモデルを設定する次のステップに進みます。

ステップ 5. モデルのハイパーパラメータを調整する

モデルのパフォーマンスを評価したら、必要に応じて微調整できます。協調フィルタリング アルゴリズムに基づいて構築された推奨システムの例を考えてみましょう。

協調フィルタリングでは、近隣ユーザーの数によって、推奨を行うときに考慮される類似のユーザーまたはアイテムの数が決まります。協調フィルタリングに依存して新しい映画を提案するレコメンデーション エンジンを構築しているとします。最初に、近隣ユーザーの数を 10 に設定します。これは、モデルが推奨事項を生成するときに、最も類似した 10 人のユーザーの好みを考慮することを意味します。


モデルのパフォーマンスを評価した後、推奨の精度が期待よりも低いことがわかりました。これを改善するには、近傍モデルの数を調整してモデルを微調整することにします。


さまざまな近傍サイズの影響を調べるために、範囲値を使用して実験を実行できます。たとえば、近傍数を 5 に減らすと、精度が大幅に向上する可能性があります。ただし、再現率がわずかに減少していることに気づく場合があります。これは、モデルがいくつかの関連する推奨事項を見逃していることを示しています。 20 という数字を増やすと、再現率がわずかに向上する可能性がありますが、提案がパーソナライズされなくなる可能性があります。


重要なのは、精度と再現率の間で妥協点を決め、多様なユーザーの好みの把握と正確なレコメンデーションの維持との間のバランスを取ることです。


ステップ 6. モデルを実装、監視、および更新する

モデルが準備され、実行する準備ができたら、それを実装します。


実装を確実に成功させるには、モデルを既存のインフラストラクチャに組み込む最も効果的な方法を検討してください。たとえば、モデルを Web サイトのバックエンドに埋め込んで、ユーザー インターフェイスとシームレスに対話できるようにすることができます。この統合により、ユーザーの好みに動的に適応するリアルタイムの推奨が可能になります。


あるいは、モデルをレコメンデーション エンジン API などのサービスとしてデプロイし、アプリケーションの他のコンポーネントを簡単に呼び出すこともできます。このサービス指向のアプローチにより柔軟性とスケーラビリティが確保され、アプリケーションがレコメンデーション エンジンの機能を簡単に活用できるようになります。


実装フェーズは、推奨事項をユーザーにどのように提示するかを検討する良い機会でもあります。それらは、Web サイトのホームページにパーソナライズされた提案として表示され、直感的なインターフェイスできちんと分類されて表示されますか?それとも、アプリのインターフェースにシームレスに統合され、適切なタイミングで表示され、ユーザーを驚かせるのでしょうか?選択はあなた次第ですが、常にユーザーエクスペリエンスを最優先にしてください。


最後に、実装されたモデルを厳密にテストして、シームレスな機能を確認することが重要です。包括的なテストを実行して、さまざまなユーザー インタラクション全体でのパフォーマンスと動作を検証し、推奨事項が正確かつタイムリーで、ユーザーの期待に沿っていることを確認します。


レコメンデーション エンジンを構築する際の課題とその解決方法

パーソナライズされた関連性の高いレコメンデーションを提供するには、レコメンデーション エンジンを構築する際の課題を理解することが重要です。最も一般的なものの概要は次のとおりです。

課題 1. 成功の測定

レコメンデーション エンジンを構築する際の重要な課題の 1 つは、最初に考慮する必要があるが、成功指標の定義です。言い換えれば、データの収集と ML アルゴリズムのトレーニングに取り掛かる前に、新しく生成されたレコメンデーションをユーザーが実際に楽しんでいるかどうかを判断する信頼できる方法を見つけ出す必要があります。これは開発プロセスの指針となります。

たとえば、あなたはストリーミング プラットフォームだとします。 「いいね」の数や月々の有料サブスクリプションの数を数えて、レコメンデーション エンジンのパフォーマンスを測定できます。ただし、ユーザーが自分の好みを明確に述べたり、サービスの料金を支払うことに消極的である一方で、あなたの推奨事項は大丈夫である可能性があります。


当社のデータ サイエンティストの経験によれば、ユーザーの行動はレコメンデーション システムのパフォーマンスを測定するより信頼性の高い方法であることがわかっています。明示的なフィードバックが与えられなかったとしても、ユーザーが一晩で番組を一気に視聴した場合、その番組を楽しんだことに疑いはありません。

課題 2. 次元の呪い

データの次元とは、データセット内のフィーチャの数を指します。多くの場合、入力機能が増えると、正確なレコメンデーション エンジンを構築することがより困難になります。 YouTube を例に挙げてみましょう。プラットフォーム上では何十億もの動画とユーザーが共存しており、各ユーザーはパーソナライズされたおすすめを求めています。ただし、人的リソースと計算リソースは限られており、推奨事項が読み込まれるまで何時間も費やしたいと思う人はほとんどいません。


この課題に取り組むには、推奨アルゴリズムを起動する前に、候補生成という追加のステップが必要です。このステップにより、数十億のビデオを、たとえば数万のビデオに絞り込むことができます。そして、この小さなグループは、推奨事項の生成に使用されます。


候補の生成には、最近傍検索を含むさまざまな戦略が使用されます。次元の問題を克服するためのその他の一般的な方法には、同じような年齢グループの人々の間で共有される人気のあるカテゴリーや好みを調査することが含まれます。


課題 3. コールドスタート

レコメンデーション エンジンの構築プロセスにおけるもう 1 つの一般的な問題であるコールド スタートの難問は、システムにユーザーまたはアイテムに関する十分な情報が不足している場合に発生し、正確なレコメンデーションを提供することが困難になります。このハードルを克服するには、協調フィルタリング、コンテンツベースのフィルタリング、またはハイブリッド アプローチなどの方法を採用する必要があります。


課題 4. ロングテール

レコメンデーション システムは、「ロングテール」として知られる現象に悩まされる場合があります。これは、人気のあるアイテムはより多くの注目と推奨を受けますが、人気の低いアイテムはユーザーに気付かれないままであることを意味します。この問題に対処するには、パーソナライズされた推奨事項を生成し、個々のユーザーの好みを考慮する必要があります。


課題5. 新商品のコールドスタート

新しいアイテムがシステムに追加されると、推奨事項を生成するための履歴データがほとんどまたはまったくないため、関連する提案を作成することが困難になります。この問題に取り組む 1 つのアプローチは、コンテンツ フィルターを使用し、プロモーションや広告を通じてユーザーを積極的に新しいアイテムと対話させることです。


課題 6. 新規ユーザーのコールド スタート

同様に、新規ユーザーは正確な推奨を行うための十分な履歴データを持っていない可能性があります。この課題を克服するには、コンテンツベースのフィルタリング、フィードバック要求、最初のユーザー調査などの方法を使用できます。


課題 7. データの希薄性

レコメンデーション システムでは、多くのユーザーが少数のアイテムを評価したり操作したりする場合、データの希薄性がよく発生します。これにより、ユーザーの好みを予測することが困難になります。この問題に対処するには、次元削減、正則化、その他の手法を組み込んだ行列因数分解法を使用できます。


要約すると

レコメンデーション エンジンの構築は、アルゴリズム、ユーザーの洞察、反復的な改良によって促進される作業です。問題の定義から、綿密なデータ前処理による適切なアプローチの選択、モデルのトレーニングに至るまで、各ステップが強力なレコメンデーション システムの作成に貢献します。


ユーザーの好みを理解し、カスタマイズされた推奨事項を提供するレコメンデーション エンジンの機能は、ビジネスにとって計り知れない可能性を秘めています。 Amazon、YouTube、Spotify など、あまり知られていないものの、成功を収めている多くの企業は、自社の製品に革命を起こし、その後、カスタマイズされたレコメンデーションによって収益を伸ばしました。


たとえば、重要な差別化要素として高度にパーソナライズされたレコメンデーションに依存する音楽ストリーミング プラットフォームである Spotify は、ユーザー ベースと収益を毎年拡大し続けています。 2022 年第 4 四半期だけでも、新しいお気に入りの曲を発見できるという約束により、 プラットフォームの月間アクティブ ユーザー数は 20% 増加し、純増数は 3,300 万人に達しました。

まだ時代遅れである場合は、AI の力を活用し、カスタム レコメンデーション エンジンでユーザー エクスペリエンスに革命を起こしましょう。


強力なレコメンデーション エンジンを使用してソリューションを強化したいと考えていますか? ITRex コンサルタントにご相談ください