リコメンデーションからアイテムを除外する

このドキュメントでは、クエリごとにリコメンデーションからアイテムを除外したい場合について網羅しています。もしリコメンデーションから除外したいアイテムがある場合は、それらのアイテムにnoShowの属性を指定してください。詳細はフィールドの編集/アイテムの非表示のドキュメントを参照してください。

特定のインプレッションに対して、返されたリコメンデーションから特定の[アイテム]を除外したい場合は、下記のとおりに、レジスターコールのオプションでexcludeItemsというフィールド名に[アイテム]のリストを指定します。

ほとんどのコンテキストにおいては、ユーザが過去に閲覧したアイテムは既にリコメンデーションから除外されています。そのため、閲覧履歴を送る必要はありません。このオプションは、複数のページに渡ってリコメンデーションを表示する場合や、LiftIgniterをソースとしないリコメンデーションのエリアで表示されているアイテムに対して重複を避ける際に、有効に活用できます。

$p('register', {
                  max: 100, // あらゆるアイテムが見れるように大量のリクエストを送信しました
                  opts: {excludeItems : ["url1", "url2"]},
                  widget: 'default-widget', // ウィジェット名
                  callback: function(resp) {
                    console.log(JSON.stringify(resp, null, 2));
                    console.log("// TEST.");
                  }
               }
);
1425

Illustration of how adding excludeItems changes the set of recommendations to ones that exclude the list sent.

その他の方法

その他の方法としては、下記のようなものが考えられます:

  • 汎用的な除外については、noShowを使用してアイテムを非表示にしてください。
  • 古いアイテムを除外する場合は、リコメンデーションのアイテムに表示期間を設定してください。
  • 少ない数のアイテムからリコメンデーションを取得する場合は、特定のアイテムをRerankするオプションを使用してください。
  • 同じカテゴリの中でリコメンデーションのアイテムを制限する場合は、カテゴリからリコメンドするのドキュメントを参照してください。
  • また、クライアント側でリコメンデーションを表示する前にフィルタする方法もあります。

ModelクエリAPIエンドポイントに関連するオプション

ModelクエリAPIエンドポイントを使用している場合は、クエリのJSONに[excludeitems]の名前の文字列配列を含めることができます。詳しくは、ModelクエリAPIエンドポイントのドキュメントを参照してください。