PAI-Recでは、各サービスと実験は、ホームページのウォーターフォールレコメンデーション、カート内の「おすすめ」レコメンデーション、詳細ページの関連レコメンデーションなど、レコメンデーションシナリオに関連付けられている必要があります。次のセクションでは、関連用語について説明します。
レコメンデーションシナリオ
レコメンデーションシナリオを作成する場合は、レコメンデーションシナリオのページ位置を示す名前を使用することをお勧めします。たとえば、次の図では、シナリオの説明「ホームページのウォーターフォールレコメンデーション」に含まれる「ホームページ」という言葉はシナリオの位置を示し、「ウォーターフォール」はユーザーがホームページをスクロールダウンしてレコメンデーションを参照できることを示します。
「トラフィックコード」フィールドは、PAI-Recシステムにルーティングされないレコメンデーションリクエスト用に予約されています。これは一般的なシナリオです。セルフマネージドのレコメンデーションシステムがある場合は、最初に作成したシナリオのレコメンデーショントラフィックの10%~20%をPAI-Recシステムに切り替えることができます。PAI-Recシステムが目的の効果を達成したら、徐々にPAI-Recシステムにより多くのトラフィックを切り替えることができます。次の例では、HomePageRecシナリオのトラフィックはデフォルトでPAI-Recシステムにルーティングされます。「トラフィックコード」列の値 selfhold は、セルフマネージドのレコメンデーションシステムにルーティングされるトラフィックを示し、値 thirdparty は、サードパーティのレコメンデーションシステムにルーティングされるトラフィックを示します。

次の図は、6 人のユーザーのトラフィック構成を示しています。ユーザー定義のトラフィック割り当てロジックに従って、「トラフィックコード」フィールドはユーザー a とユーザー b に対して selfhold に設定されています。これは、2 人のユーザーのレコメンデーション結果がセルフマネージドのレコメンデーションシステムから取得されることを意味します。「トラフィックコード」フィールドはユーザー c とユーザー d に対して PAI-REC に設定されています。これは、2 人のユーザーのレコメンデーション結果がPAI-Recシステムから取得されることを意味します。「トラフィックコード」フィールドはユーザー e とユーザー f に対して thirdparty に設定されています。これは、2 人のユーザーのレコメンデーション結果がサードパーティのレコメンデーションシステムから取得されることを意味します。

ラボと実験レイヤー
ユーザーのレコメンデーションリクエストがPAI-Recシステムにルーティングされると、PAI-Recシステムはこれらのレコメンデーションリクエストをバケットに分割します。Alibaba CloudのPAIチームは、業界の一般的なA/Bテストスキームに基づいて、ラボ、実験レイヤー、実験グループ、および実験を設計します。ラボには実験レイヤーが含まれ、実験レイヤーには実験グループが含まれ、実験グループには実験が含まれます。
ラボはトラフィックの集合です。1 つ以上のラボを作成できますが、ベースラボは必須です。ラボを 1 つだけ作成する場合、このラボはフォールバックのベースラボとして使用する必要があります。トラフィックは優先的にベース以外のラボと照合され、ルーティングされます。一致するラボがない場合、トラフィックはベースラボにルーティングされます。したがって、フォールバック用のラボは 1 つだけ作成できます。
比較的単純なリコールとランキングロジックを持つフォールバックラボと、一般的に使用される複雑なリコールとランキングロジックを持つベース以外のラボを作成できます。このようにして、トラフィックが急増した場合、一部のトラフィックをベースラボにルーティングして、レコメンデーションシステムの安定性を確保できます。

前の図は、ベースラボの構成を示しています。次のセクションでは、パラメーターについて説明します。
ラボ名: カスタムラボ名。
説明: ラボの詳細な説明。
ラボタイプ:
ベースラボ: ベースラボは必須ですが、ベース以外のラボはオプションです。
ベース以外のラボ: トラフィックは優先的にベース以外のラボと照合され、ルーティングされます。ベースラボのモデルが単純だが、ベース以外のラボのモデルが複雑な場合は、2 つのラボを作成できます。ベースラボは、一般的なランダムフォールバックロジックを使用して実装することもできます。
ランタイム環境: レコメンデーションエンジンのランタイム環境。有効な値: Daily、Staging、および Production。
バケット分割方法:
UID ベースのバケット分割: UID の最後の桁に基づいてバケット分割が実行されます。
ハッシュ化された UID ベースのバケット分割: UID のハッシュ値に基づいてバケット分割が実行されます。
条件ベースのバケット分割: gender=man などのキーと値の式に基づいてバケット分割が実行されます。
バケット: このラボのバケット数。この例では値は 100 です。
トラフィック割り当て: このラボに割り当てられたバケットの数。0~99 に設定できます。
レイヤリング: 実験レイヤー。ほとんどの場合、recall、filter、coarse_rank、および rank のレイヤーが構成されます。
テストユーザー: テストユーザーのトラフィックは、照合なしでこのラボに直接ルーティングできます。
手動入力: 複数のユーザー ID を入力し、コンマ (,) で区切ることができます。
ユーザーグループ ID: [ユーザーグループ管理] ページで作成されたユーザーグループを選択します。
実験グループと実験
実験レイヤーごとに複数の実験グループを作成し、実験グループごとに複数の実験を作成できます。複数のアルゴリズムエンジニアがリコールまたはランキング実験を実行する必要がある場合は、複数の実験グループを作成してこれらの実験を分離できます。
ほとんどの場合、実験グループには複数の実験が含まれています。次の図に示す例では、 swing と etrec の 2 つの実験が構成されており、実験 dssm はテスト中です。 dssm のトラフィック比率は 0% に設定されており、この実験はオンライン状態です。この構成は、構成済みのホワイトリストを使用してレコメンデーション効果を得るのに役立ちます。
