で使用されるアルゴリズムの詳細な説明 Adobe Target Recommendations(モデルトレーニングのロジックと数学的な詳細、およびモデル提供のプロセスを含む)
モデルトレーニングは、 Adobe Target 学習アルゴリズム。 モデルの提供は次のようになります Target は、サイト訪問者にレコメンデーションを配信します(コンテンツ配信とも呼ばれます)。
Target には、次の幅広いタイプのアルゴリズムが含まれています Recommendations:
項目ベースのアルゴリズム:「この品目を閲覧した人が他にこの品目を閲覧した/購入したものも、これらの品目を閲覧/購入した」論理に従うアルゴリズムを含めます。 これらのアルゴリズムは、包括的な項目と項目の協調フィルタリングの下にグループ化され、 類似の属性を持つ品目 アルゴリズム
ユーザーベースのアルゴリズム:次を含める: 最近表示された項目 および お勧め アルゴリズム
人気度ベースのアルゴリズム:Web サイト全体で最も多く閲覧された品目または最も多く購入された品目、またはカテゴリまたは品目属性別に最も閲覧された品目または最も多く購入された品目を返すアルゴリズムを含めます。
買い物かごベースのアルゴリズム:複数品目ベースのレコメンデーションを、「これらの品目を閲覧した人が購入した、またはそれらの品目を閲覧または購入した」というロジックと共に含めます。
カスタム条件:にアップロードされたカスタムファイルに基づくレコメンデーションを含める Target.
各アルゴリズムタイプと個々のアルゴリズムについて詳しくは、 レコメンデーションキーに基づくレコメンデーションの設定.
上記のアルゴリズムの多くは、1 つ以上のキーの存在に基づいています。 これらのキーは、(レコメンデーションがおこなわれた場合に)コンテンツ配信時に類似した品目を取得するために使用されます。 顧客指定のキーには、その訪問者が閲覧している現在の品目、最後に閲覧または購入した品目、最も多く閲覧された品目、現在のカテゴリ、お気に入りのカテゴリが含まれます。 買い物かごベースやユーザーベースのレコメンデーションなど、他のアルゴリズムは、暗黙のキーを使用します(顧客が設定できない)。 詳しくは、 レコメンデーションキー、 レコメンデーションキーに基づくレコメンデーションの設定. ただし、これらのキーはモデル提供時にのみ関連します(コンテンツ配信)。 これらのキーは、「オフライン」またはモデルトレーニング時間ロジックには影響しません。
以下の節では、上記のアルゴリズムタイプとは少し異なる方法でアルゴリズムをグループ化します。 次のグループは、モデルトレーニングロジックの類似性に基づいています。
アルゴリズムの内容は次のとおりです。
品目 — 品目の協調フィルタリングのレコメンデーションアルゴリズムは、多くのユーザーの行動パターン(つまり協調)を使用して、特定の品目に有用なレコメンデーションを提供する必要があるという考えに基づいています。 一般的な傘の下には様々なアルゴリズムが存在しますが 協調フィルタリングの場合、これらのアルゴリズムは一般的に行動データソースを入力として使用します。 In Target Recommendationsに値を入力すると、ユーザー別のアイテムの一意のビューおよび購入になります。
「この品目を閲覧/購入した人がこれらの品目も閲覧/購入した」アルゴリズムの目標は、すべての品目のペアの間の類似性 s(A、B) を計算することです。 特定の品目 A に対して、上位のレコメンデーションは、類似性 s(A、B) で並べ替えられます。
このような類似性の例の 1 つは、項目間での共起です。両方の品目を購入したユーザーの単純数。 直感的な指標ですが、人気のある商品をレコメンデーションする方向に偏っている点で、そのような指標は素朴です。 例えば、食料品店でパンを買う人が多い場合、パンは全ての商品との共生度が高くなりますが、必ずしも良いお勧めとは限りません。 Target の代わりに、ログ尤度比 (LLR) と呼ばれる、より高度な類似性指標を使用します。 この量は、A と B の 2 つの項目の確率が、共同発生しない確率と非常に異なる場合に大きくなります。 具体性に関しては、次のような場合を考えてみましょう。 これを閲覧した人が購入したもの アルゴリズム。 LLR 類似性は、B が購入された確率が高い場合に大きくなります not 誰かが A を見たかどうかに関係なく
例えば、
品目 A では品目 B を推奨しないでください。このログの尤度比の類似性の計算の詳細が提供されます このPDF.
次の回路図に、実際のアルゴリズム実装の論理的な流れを示します。
これらの手順の詳細は次のとおりです。
データを入力:収集した訪問者のビューおよび購入の形式の行動データ Target の実装 or from Adobe Analytics.
モデルトレーニング:
モデルサービング:Recommendationsコンテンツの配信元 Target's グローバル「Edge」ネットワーク. mbox リクエストが Target レコメンデーションコンテンツは、適切な 項目キー recommendations アルゴリズムは、リクエストから解析されるか、ユーザープロファイルから検索され、前の手順で計算されたレコメンデーションを取得するために使用されます。 現時点では、適切な デザイン がレンダリングされます。
含まれるアルゴリズム:
このタイプのアルゴリズムでは、名前とテキストの説明が意味的に類似している場合、2 つの項目が関連していると見なされます。 行動データソースを使用する必要があるほとんどの recommendations アルゴリズムとは異なり、コンテンツの類似性アルゴリズムは、商品カタログからのメタデータを使用して、品目間の類似性を導き出します。 Target したがって、( 例えば、 Target アクティビティ )。
モデルサービングとコンテンツ配信の側面は Targetのコンテンツ類似性アルゴリズムは、他の項目ベースのアルゴリズムと同じです。モデルトレーニング手順は大幅に異なり、次の図に示す一連の自然言語処理および前処理手順が含まれます。 類似性計算の中心は、カタログ内の各項目を表す、変更された tf-idf ベクトルの余弦の類似性の使用です。
これらの手順の詳細は次のとおりです。
データを入力:前述のように、このアルゴリズムは、純粋にカタログデータに基づいています ( Target 経由 カタログフィード、エンティティ API、またはページ上の更新から.
モデルトレーニング:
属性の抽出:通常の静的フィルター、カタログルールおよびグローバル除外の適用後、このアルゴリズムは、エンティティスキーマから関連するテキストフィールドを抽出します。 Target は、エンティティ属性の名前、メッセージ、カテゴリの各フィールドを自動的に使用し、カスタムから任意の文字列フィールドを抽出しようとします エンティティ属性. この処理は、そのフィールドの値の大部分を数値、日付、ブール値として解析できないようにすることでおこなわれます。
ステミングおよび停止語の削除:より正確なテキスト類似性の照合をおこなうには、項目の意味を大きく変更しない一般的な「stop」単語(「was」、「is」、「and」など)を削除することをお勧めします。 同様に、ステミングとは、同じ意味を持つ(例えば、「connect」、「connecting」、「connection」、「connection」など)、それぞれが同じルートワードを持つ、異なるサフィックスを持つ単語を減らすプロセスを指します。"connect") です。 Target は Snowball ステマーを使用します。 Target は最初に自動言語検出を実行し、最大 50 言語に対して単語の削除を停止し、18 言語に対してステミングを実行できます。
n グラム生成:上記の手順の後、各単語はトークンとして扱われます。 複数のトークンの連続したシーケンスを 1 つのトークンに組み合わせるプロセスを、n-gram 作成と呼びます。 Targetアルゴリズムは、最大 2 グラムを考慮します。
tf-idf 計算:次の手順では、項目の説明におけるトークンの相対的な重要性を反映する tf-idf ベクトルを作成します。 項目 i の各トークン/用語 t に対して、 |D|項目を指定した場合、用語の頻度 TF(t, i) が最初に計算されます(項目 i に用語が出現する回数)。また、文書の頻度 DF(t, D)。 要するに、トークンが存在する項目の数です。 tf-idf の測定は次のとおりです
Target は Apache Spark の tf-idf 機能化実装。内部では、各トークンを 218 個のトークンのスペースにハッシュ化します。 この手順では、顧客が指定した属性ブースティングと埋め込みも、 条件.
項目の類似性の計算:最終的な項目類似性計算は、近似コサイン類似性を使用して行われます。 2 つの項目に対して A および Bを返します。ベクトル tA と tB を使用すると、コサインの類似性は次のように定義されます。
すべての N x N 項目間の類似点を計算する際の大幅な複雑さを回避するには、 tf-idf ベクトルは、最大 500 個のエントリのみを含むように切り捨てられ、この切り捨てられたベクトル表現を使用して項目間のコサインの類似性を計算します。 このアプローチは、局所感応性ハッシュなどの他の近隣近傍 (ANN) の手法に比べ、疎ベクトル類似性計算に対してより堅牢であることが証明されています。
モデルサービング:この手順は、前の節で説明した項目間の協調フィルタリング手法と同じです。
アルゴリズムの内容は次のとおりです。
最新の Target レコメンデーションアルゴリズムのスイートは、 お勧め と、買い物かごベースの一連のレコメンデーションアルゴリズムを参照してください。 どちらのタイプのアルゴリズムも、協調フィルタリングの手法を使用して、個々の項目ベースのレコメンデーションを形成します。 次に、サーバータイムで、ユーザーの閲覧履歴の複数の項目 ( お勧め) や、ユーザーの現在の買い物かご(買い物かごベースのレコメンデーション用)を使用してこれらの項目ベースのレコメンデーションを取得し、結合されてレコメンデーションの最終リストが作成されます。 パーソナライズされたレコメンデーションアルゴリズムには、多くの種類が存在することに注意してください。 複数キーアルゴリズムを選択すると、訪問者が閲覧履歴を持っている場合にレコメンデーションがすぐに利用可能になり、最新の訪問者の行動に応じてレコメンデーションを更新できます。
これらのアルゴリズムは、品目ベースのレコメンデーションの節で説明した基本的な協調フィルタリング手法に基づいて構築され、品目間の最適な類似性指標を決定するためのハイパーパラメーターの調整も組み込まれています。 アルゴリズムは、各ユーザーの行動データの時系列分割を実行し、ユーザーが後で閲覧または購入する項目を予測しながら、前のデータに対してレコメンデーションモデルをトレーニングします。 最適な [平均精度] (https://en.wikipedia.org/wiki/Evaluation_measures_(information_retrieval?lang=ja) が選択されます。
次の図に、モデルのトレーニング手順とスコアリング手順のロジックを示します。
これらの手順の詳細は次のとおりです。
データを入力:これは、品目 — 品目協調フィルタリング (CF) メソッドと同じです。 両方をお勧めします および買い物かごベースのアルゴリズムは、ユーザーが収集した閲覧と購入の形式で、行動データを使用します。 Target の実装 or from Adobe Analytics.
モデルトレーニング:
トレーニングステップでは、複数のタイプのベクトル類似性を計算します。LLR 類似性 (ここで述べる)、コサインの類似性(既に定義)および正規化された L2 類似性 ( 以下のように定義されます。
モデルサービング:以前のアルゴリズムでは、レコメンデーションを提供する際に取得用に単一のキーを指定し、その後にビジネスルールを適用することが必要でしたが、それとは異なり、 お勧め と買い物かごベースのアルゴリズムは、より複雑なランタイムプロセスを使用します。
これらのプロセスを次の図に示します。訪問者が品目 A と購入した品目 B を閲覧します。個々のレコメンデーションは、各品目ラベルの下に表示されるオフラインの類似性スコアを使用して取得されます。 取得後、レコメンデーションは、合計された重み付け類似性スコアと結合されます。 最後に、顧客が以前表示および購入した品目を除外する必要があることを指定したシナリオでは、フィルタリング手順により、レコメンデーションのリストから品目 A および B が削除されます。
アルゴリズムの内容は次のとおりです。
Target では、最も多く閲覧された品目と、Web サイト全体でのトップセラー品目の両方に対して、または品目属性またはカテゴリで分類された人気度ベースのアルゴリズムを提供します。 人気度に基づくアルゴリズムは、特定の期間内に品目が閲覧または購入されたセッション数に基づいて品目をランク付けします。
これらのアルゴリズムはすべて、集計された行動データを組み合わせて、品目が閲覧され、購入されたセッションの合計数を時間別と日別の解像度で記録します。 その後、個々のアルゴリズムは、顧客が設定したルックバックウィンドウで最も多く閲覧された品目または最も購入された品目を見つけます。
個々のアルゴリズムの微妙な違いは次のとおりです。
「最近表示された」レコメンデーションアルゴリズムを使用すると、セッション内でレコメンデーションをパーソナライズできます。 このアルゴリズムには、オフラインの「モデルトレーニング」は必要ありません。 代わりに、 Target は、一意の 訪問者プロファイル 特定のセッションで閲覧された品目の実行中のリストを維持し、これらの品目を recommendations アクティビティで表示できるようにする。 これにより、レコメンデーションと次のページのパーソナライゼーションに対するリアルタイムの更新が可能になります。
カスタム条件を使用すると、 自分のレコメンデーションを~にアップロードする Target:重要な柔軟性を提供し、「独自のモデルを持ち込む」機能を可能にします。 カスタム条件は、 項目ベース レコメンデーションの取得に単一のキーが使用され、ビジネスルール/フィルターが適用されるという点で、レコメンデーションは、オンラインコンテンツ配信フェーズでは項目ベースのレコメンデーションアルゴリズムと同様に動作します。