Intelligent Recommendations Modeling の FAQ
この記事では、Intelligent Recommendations サービスが使用するモデリング アルゴリズムの種類を詳しく調査し、モデリングに関する一般的な質問への回答を提供します。
コンテンツ
- アルゴリズムの概要
-
よく寄せられる質問
- モデルのモデリング ステータスを追跡するにはどうすればよいですか?
- ビジネスにはどのアルゴリズムとリスト タイプを選択すればよいですか?
- Matrix Factorization アルゴリズムと Direct Association アルゴリズムのどちらを使用するかは、どう決定すればよいですか?
- 適切なレコメンデーションを確実に行うには、何回やり取りする必要がありますか?
- Interactions Data Entity に InteractionsGroupingId、UserId、ItemId、ItemVariantId を含める必要があるのはなぜですか?
- カテゴリ、色、モデルなどのアイテム メタデータを使用できますか?
- レコメンデーションのパーソナライズに、人口統計などのユーザー メタデータを使用できますか?
- ユーザー同士のレコメンデーションを行うことはできますか?
- Intelligent Recommendations で使用される Matrix Factorization モデルの詳細はどこで確認できますか?
Intelligent Recommendations アルゴリズムの概要
Intelligent Recommendations Modeling コンポーネントは、いくつかの異なるアルゴリズムを利用して、ランク付けされたリストを作成します。 リスト API はクエリに応答し、モデリング用に選択されたアルゴリズムのタイプに応じて結果を返します。 Intelligent Recommendations で使用されるアルゴリズムの種類については、以下の表を参照してください:
[!注意]
ベスト プラクティスとして、実験を使用していくつかの異なるリスト タイプ &/ またはデータ タイプからの結果を比較してから、ビジネス ユース ケースに最適なアルゴリズムと データセット (これはデータ型の組み合わせと実際の動作の両方)。
アルゴリズムの種類 | 説明 |
---|---|
行列分解 (MF) | Matrix Factorization は、特定のユーザー インタラクション (購入、使用、クリックスルー、ビュー、ダウンロードなど) に基づいて、ユーザーからアイテムへ、アイテムからアイテムへ リレーションシップを作成することに焦点を当てた、協調フィルタリング アルゴリズムの一種です。 このアルゴリズム タイプのランク リストは、特定のユーザーの過去の好みに基づいてリストされます。これは、個人的な「好み」ベースのランキングと呼ばれるものです。 また、アイテムとユーザーのインタラクションに基づいてアイテム間の類似性も導き出します。 行列因子分解 (「A」 が 「B」 に類似している場合、「B」 は 「A」 にも類似している。) は、対称的かつ推移的な (「A」 が 「B」 に類似していて、「B」 が 「C」 に類似しているならば、「A」 は 「C」 に類似している。) ランキングを生成します。 相互作用シグナルとカタログ メタデータを含むデータセットを使用する場合は、Matrix Factorization アルゴリズム タイプを使用すると、最良の結果が得られます。 この機能は、映画やテレビ、ゲーム、ストリーミングなどのエンターテイメント ドメインに最適ですが、小売、食料品、旅行プラン、製造など、顧客との対話シグナルに依存する他のドメインでもうまく機能します。 |
直接関連類似性 (DAS) | Direct Associated Similarities (DAS) アルゴリズムは、有用性が過去の嗜好 (好み) よりも重要なアプリなど、ユーティリティベースのニーズが高いローカル/有向アフィニティ ドメインに適しています。 たとえば、「A」、「B」、「C」の順に行動する人は、その後に「D」の行動をする傾向があります。 DAS は非対称であり、結合性がありません。 当社のサービスは、DAS アルゴリズムを使用して Next Best Action API を強化し、明確で反復可能なグループ化に基づいてコンテンツの提案を作成します。 Next Best Action の一般的なアプリケーションは、小売店のチェックアウト エクスペリエンスでよく見られます。たとえば、「頻繁に一緒に購入する」などの「バスケットの完了」シナリオでは、ユーザーのカートの内容に基づいて補完的なアイテムの提案が提供されます。 DAS は、グループを再結合し、異なるサブドメインからアイテムを推奨することもできます。 たとえば、食料品店の買い物客は、カートにハンバーガーのパテとパンが入ったナプキンと皿を勧められる場合があります。 「ネクスト ベスト アクション」の恩恵を受ける分野には、食料品、販売、トラブルシューティング、経理などがあります。 |
視覚ベースの類似性 (VBS) | Visual-Based Similarity (VBS) は、ディープ ラーニングの視覚認識アルゴリズムであり、特定のシード アイテムに対して、類似した画像を持つアイテムの視覚的に類似したレコメンデーションを返します。 行列因数分解と同様に、VBS アルゴリズムによって生成される推奨事項は対称的です。 このディープ ラーニングによる畳み込みニューラル ネットワークは、バックボーンとして「Argus」を使用していますが、テナントの画像に対してより深い技術を使用してビューの不変条件をさらに学習させ、テナントのドメインに対してより適切なレコメンデーションを提供します。 VBS は、ファッション、デザイン、ジュエリーなど、視覚的な属性が商品の主要なセールスポイントとなる領域で、非常に大きな力を発揮します。 |
テキストベースの類似性 (TBS) | テキスト ベースの類似性 (TBS) アルゴリズムは、提供されたカタログ内のアイテムのタイトルと説明で言語モデルをフォーカス トレーニングすることにより、特定のシード アイテムに対してテキスト的に類似したレコメンデーションを返します。 このアルゴリズムは、タイトルと説明がわかりやすいドメインで特にうまく機能し、ユニークで直感的なレコメンデーションを生成します。 このモデルは、TNLR という Transformer ベースの言語モデルをバックボーンとしていますが、提供されたデータセットに対して転移学習やディープ ラーニングの手法を用いることで、意味的に意味のある最新のレコメンデーションを提供することが可能となります。 TBS は入力に自然言語処理 (NLP) を使用しており、このアルゴリズムをさまざまな分野 (旅行の旅程と遠足、ワイナリー、科学雑誌の研究データベース、トラブルシューティングなど) に適用できます。 |
参照リスト | 参照リストは、総売上高、クリック数、発売日、またはさまざまな指標の組み合わせなどの情報によって分類されたヒューリスティックなチャートを使用して、カタログをブラウズすることができます。 サポートされているリストは、「新着」、「トレンド」、「人気」です。 チャートは、エンド ユーザーに製品をすばやく操作してもらい、最新かつ最高の製品カタログを見てもらうための優れた出発点です。 入力インタラクション タイプを変更することで、ブラウズ リストをさらに拡張できます。 たとえば、購入 シグナルに基づくモデルは「最も人気のある購入商品」を返し、一方、モデルのシグナルを ビュー に変えると「最も人気のある閲覧商品」を返します。 |
よく寄せられる質問
このセクションでは、Intelligent Recommendations モデルとそのアプリケーションに関してよく寄せられる一連の質問について説明します。
モデルのモデリング ステータスを追跡するにはどうすればよいですか?
Intelligent Recommendations のお客様は、アカウントで作成した各モデルのモデリング ステータスを追跡できます。 モデルを構成した後、サービスは定期的にステータス ログ ファイルを作成し、(モデリング層に関して) すべてのアルゴリズムの現在のステータスを報告します。 これらのログにアクセスする方法の詳細については、モデリング ステータス レポート ガイドを参照してください。
ビジネスにはどのアルゴリズムとリスト タイプを選択すればよいですか?
使用するリスト タイプとアルゴリズムの選択は、ビジネス ユース ケース、経験、およびモデリングに使用できるデータによって異なります。 利用可能なリスト名と AlgoType の組み合わせの完全なリストについては、リストの名称と AlgoTypes テーブル、Refinements を参照してください。
一般に、インタラクションのモデリングは、人々がインタラクションする内容を反映します。 たとえば、MF アルゴリズムを使用するリスト タイプ「People Also」を、 「このアクションを行った顧客は、このアクションも行っている」と記述します。 アクションが購入の場合、リストは「これを買った人は、これも買っています」になります。
アイテム メタデータは、メタデータの量と質が十分であると仮定して、アイテム間の類似性を確立するためにも使用できます。 たとえば、商品画像が似ているものは密接な関係があると考えられるように、説明文が似ているものは密接な関係があると見なすことができます。 このメタデータは、インタラクションが利用できない場合にアイテムの結果を作成するのに役立ちます (モデリングの「コールド アイテム」とも呼ばれます)。
インタラクションとメタ データベース (アイテムやユーザー) を組み合わせたアプローチは、インテリジェント レコメンデーションと併用することで、シナリオや体験をカスタマイズすることが可能である。 複数の異なるモデルを使用して (アカウントごとに 1 つのモデルを使用して) 実験し、ユース ケースに最適なアプローチを確認してください。
利用可能なデータ型とユース ケースをアルゴリズム型にマッピングする
利用できるデータ型 | シナリオ | Algorithm |
---|---|---|
対話 例: ビュー、購入、使用など ユーザーは何をしましたか? |
おすすめ 個人用設定 その他の行動 次の最善のアクション |
行列分解 (MF) 有向アソシエーション (DAS) |
テキスト メタデータ 例: タイトルと説明 |
類似する説明 | テキストベースの類似性 (TBS) |
ビジュアル メタデータ 例: 複数の角度からの商品画像 |
類似する外観 注: すべてのドメインがこのシナリオに当てはまるわけではありません。 画像がアイテムの適切な表現である場合に使用する必要があります。 |
視覚ベースの類似性 (VBS) |
その他の項目メタデータ 例: 形状、カテゴリ、タグなど |
インタラクションと同じ。 このサービスでは、さまざまな方法でモデルを構築することもできます: - 項目のメタデータとインタラクションを組み合わせたハイブリッドな方法 - または項目のメタデータのみを使用して構築 (MF または DAS アルゴリズムを使用) |
行列分解 (MF) 有向アソシエーション (DAS) |
ユーザー メタデータ 例: 統計情報 |
関連するシナリオは、ユーザーのカスタマイズに関するものです。 - おすすめ - カスタマイズ このサービスでは、さまざまな方法でモデルを構築することもできます: - ユーザーのメタデータと対話を組み合わせたハイブリッドな方法 - またはユーザーのメタデータのみを使用して構築 (MF または DAS アルゴリズムを使用) |
行列分解 (MF) 有向アソシエーション (DAS) |
Matrix Factorization アルゴリズムと Direct Association アルゴリズムのどちらを使用するかは、どう決定すればよいですか?
データで両方を試して、ビジネス要件に基づいてどちらのアルゴリズムがより適切な結果を返すかを確認することをお勧めします。
次の場合は、行列分解 (MF) アルゴリズムを試してください:
- ドメイン内のアイテム間の接続は、ほとんどが可換型 (対称的、例: A=>B の場合、 B=>A) と 相関型 (例: A=>B かつ B=>C の場合、 A=>B) です。
- データがまばらで、多くの項目に対して十分なレコメンデーションが必要です。
次の場合は、直接関連付け (DAS) アルゴリズムを試してください:
- ドメイン内のアイテム間の接続は、ほとんどが指向型 (非対称的、例: A =>B の場合、 B=>A ではない) と直接型 (非相関型) です。
- 「次の最善のアクション」(順序付けられた項目のリストが与えられた場合、次に行うべきこと) は重要なシナリオです。
- アイテムの 1 つのサブドメインを別のサブドメインに推奨したいと考えています。
- より表れる直接的なつながりは、より結果に反映されるはずです。
詳細については、リスト名と AlgoTypes テーブル、Refinements を参照してください。
適切なレコメンデーションを確実に行うには、何回やり取りする必要がありますか?
一連の重要な製品のダミアンを適切にモデル化するには、各製品に、「ほかのユーザーの好み」や「おすすめ」(カスタマイズ) などのシナリオで少なくとも 5 つ以上のインタラクションを含める必要があります。 また、「次善のアクション」 の結果を生成するために、InteractionGroupingId (同じ注文の各項目は、Interactions データエンティティに同じ InteractionGroupingId
の行を持つ) でグループ化された複数の製品を含む十分な対話が必要となるでしょう。
目安としては、項目数の 5 倍程度の対話数を確保することです たとえば、カタログに 1000 個のアイテムがある場合、少なくとも 5000 回の対話でモデル化を試みることが推奨されます。
疑問が残る場合、入力データセットのシンプルなモデル (列数が少ない)、できるだけ多くの対話 (行数が多い) で試してみるのが有効です。 データ コントラクトの品質を評価し、モデルのパフォーマンスに関する指標を確認するには、Intelligent Recommendations ダッシュボードをご参照ください。
Interactions Data Entity に InteractionGroupingId、UserId、ItemId、ItemVariantId を含める必要があるのはなぜですか?
InteractionGroupingId
システムに接続されたグループ、特にアイテムを示し、ボード全体の全体的な推論を改善します。 たとえば、小売のシナリオで InteractionGroupingId でトランザクションをグループ化すると、ショッピングカートで「よく一緒に買われる商品」や、「次善のアクション」の役割で完了するタスク、「他のユーザーの好み」で類似の項目をシステムが学習する場合に役立つことがあります。
UserId
は、アイテムと、アイテムを操作するユーザーとの間で形成される リレーションシップ をモデル化するためにシステムによって使用されます。これは、モデルの焦点に応じて、パーソナライズされたモデリング シナリオと非パーソナライズされたモデリング シナリオの両方を作成できます。 UserId を使用したパーソナライズされたアプローチでは、システムは、個々のユーザーの履歴設定に基づいて、ユーザーとアイテム間のマッピングをモデル化します。 次に、"おすすめ" と呼ばれる "以前の履歴に基づいて、好きかもしれない" モデルを生成します。
ItemId
は実際のアイテムの参照先です。 各項目をその相互作用に結びつけ、パターンがモデルに現れるようにすることが不可欠です。 対話を持たない ItemIds は、他の商品のレコメンドに表示されず、また、「この商品を気に入っている人は、こんな商品も気に入っています」といったモデルのシードとして使われると、レコメンドの質が悪くなる可能性があります。
ItemVariantId
主に、「似ている」シナリオと、相互作用ではなく画像メタデータを考慮に入れる Visual Based Similarity (VBS) アルゴリズムに使用されます。 このフィールドは、相互作用に依存するモデルとアルゴリズムには必要ありません。
シナリオごとに必要なデータ エンティティの詳細については、データ エンティティ マッピング表をご覧ください
カテゴリ、色、モデルなどのアイテム メタデータを使用できますか?
アイテムのメタデータは、さまざまな点で役立ちます:
- インタラクションの入力に加えて、アイテムのより良いモデル化が可能なため、インタラクションがほとんどまたはまったくないアイテム (コールド アイテム) でも、「その他のおすすめ」のレコメンデーションを取得できます。
- アイテムのメタデータ (コンテンツ タグなど) に完全に基づいたモデルを作成し、「類似アイテム」タイプのレコメンデーション結果を返すことができます。
- 方法: メタデータ アイテムに TagId を付与します。 Interactions データエンティティでは、各 Interaction 行の TagId として InteractionGroupingId を設定し、ItemId として item を、UserID として user を保持します。 TagId の仕組みの詳細については、 メタデータのタグ付けとバケット化に関するガイドを参照してください。
[!重要]
アイテム メタデータベースのモデルには別のアカウントを使用し、IR アカウントごとに 1 つの IR モデルを持ち、それらは純粋なユーザー対話ベースのモデル/アカウントとは別になります。
- 情報量の多い説明文を持つアイテムは、NLP ディープモデルによって「類似説明文」のレコメンデーションを受けることができます。
- 画像付きのアイテムやバリエーションは、視覚認知のディープ ラーニングモデルによって、「似ているもの」をレコメンドしてもらうことができます。
レコメンデーションのカスタマイズに、人口統計などのユーザー メタデータを使用できますか?
Intelligent Recommendations サービスを使用すると、顧客はメタデータのタグ付けプロセスを通じてユーザー メタデータを含めることができます。 ユーザー メタデータは、次のような関連コンテンツをすべてのユーザーに推奨する際に威力を発揮します
- 新規または不定期な顧客 (“コールド ユーザー” とも呼ばれます)。
- メタデータのタグ付けを使用して、共通の属性を持つユーザーを接続します。 レコメンデーションを使用した人口統計のバケット化の詳細と例については、メタデータのタグ付けとバケット化に関するガイドを参照してください。
ユーザー同士のレコメンデーションを行うことはできますか?
現時点では、完全なユーザー同士のレコメンデーションはサポートされていません。 現時点では、データ コントラクトにいくつかの変更を加えることで、一部のデータセットでユーザー間のレコメンデーションを取得できます。
- 元の対話の入力ごとに、各行を次のように構成します:
- InteractionGroupingId 列に ItemID を書き込みます
- ItemId 列に UserID を書き込みます
- API リクエストを行う: データ コントラクトを変更した後、UserId を指定して「People also」リストタイプを呼び出し、類似したユーザーのリストを返します。
Intelligent Recommendations で使用される Matrix Factorization モデルの詳細はどこで確認できますか?
MF モデル: ランダム グラフを使用した 1 クラスの協調フィルタリング。 こちら で説明したベイジアン行列因数分解の社内バージョンを開発し、 こちらで説明したように埋め込みを学習するために使用できます。
関連情報
トラブルシューティング ガイド
API ステータス コード
データ コントラクト
データ エンティティ マッピング テーブル。
メタデータのタグ付けとバケット化のガイド。