

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# フィルター式の例
<a name="filter-expression-examples"></a>

 次のセクションのフィルター式を使用して、独自のフィルター式を作成する方法について説明します。

**Topics**
+ [アイテムレコメンデーションのフィルター式の例](item-recommendation-filter-examples.md)
+ [ユーザーセグメントのフィルター式](user-segment-filter-examples.md)
+ [アクションレコメンデーションのフィルター式の例](action-recommendation-filter-examples.md)
+ [複数の式の組み合わせ](multiple-expression-example.md)

# アイテムレコメンデーションのフィルター式の例
<a name="item-recommendation-filter-examples"></a>

以下のフィルター式は、アイテムインタラクション、アイテムメタデータ、およびユーザーメタデータに基づいてアイテムレコメンデーションをフィルタリングする方法を示しています。それらはデータ型別に編成されています。

**Topics**
+ [アイテムインタラクションデータ](#item-interaction-filter-examples)
+ [アイテムデータ](#item-filter-examples)
+ [ユーザーデータ](#user-filter-examples)

## アイテムインタラクションデータ
<a name="item-interaction-filter-examples"></a>

次の式は、`$EVENT_TYPE` パラメータを使用してレコメンデーションを取得するときに指定する 1 つのイベントタイプ (クリックなど) または複数のイベントタイプに基づいてアイテムを除外します。

```
EXCLUDE ItemID WHERE Interactions.EVENT_TYPE IN ($EVENT_TYPE)
```

 次の式は、ユーザーがクリックまたはストリーミングしたアイテムを除外します。

```
EXCLUDE ItemID WHERE Interactions.EVENT_TYPE IN ("click", "stream")
```

次の式は、ユーザーがクリックしたアイテムのみを含みます。

```
INCLUDE ItemID WHERE Interactions.EVENT_TYPE IN ("click")
```

## アイテムデータ
<a name="item-filter-examples"></a>

次の式は、`$CATEGORY` パラメータを使用してレコメンデーションを取得するときに指定する 1 つまたは複数のカテゴリに基づいてアイテムを除外します。

```
EXCLUDE ItemID WHERE Items.CATEGORY IN ($CATEGORY)
```

次の条件式には、現在の商品 (関連商品レコメンドのリクエストで指定した商品) よりも安価で、現在の商品と同じスタジオで作成された商品のみが含まれます。CurrentItem 要素でフィルターを適用できるのは、ドメインのユースケースまたはカスタムレシピが関連商品のレコメンデーションを生成する場合だけです。

```
INCLUDE ItemID WHERE Items.PRICE < CurrentItem.PRICE AND Items.GENRE IN CurrentItem.GENRE
```

 次の式は、カテゴリ別フィールドの複数レベルに基づいてアイテムを除外します。CATEGORY\$1L1 の値が `shoe` のアイテムでも、CATEGORY\$1L2 の値が`boot` *ではない*アイテムは除外されます 

```
EXCLUDE ItemID WHERE Items.CATEGORY_L1 IN ("shoe") AND Items.CATEGORY_L2 NOT IN ("boot")
```

以下の式は、`$PRICE` パラメータを使用してレコメンデーションを取得する際に指定した価格以下の価格を持つアイテムのみを含めます。

```
INCLUDE ItemID WHERE Items.PRICE <= $PRICE
```

次の式には、レコメンデーションを取得するときに指定する (UNIX エポック時間) より前に作成されたアイテムのみが含まれます。

```
INCLUDE ItemID WHERE Items.CREATION_TIMESTAMP < $DATE
```

次の式は、`$GENRE` パラメータを使用してレコメンデーションを取得するときに指定した 1 つまたは複数のジャンルのアイテムのみを含みます。

```
INCLUDE ItemID WHERE Items.GENRE IN ($GENRE)
```

次の式には、現在のアイテムよりも高価*で*、指定したタイムスタンプ (UNIX エポック時間) よりも後に作成されたアイテムのみが含まれます。このフィルターは、関連商品のレコメンデーションを取得していて、価格やさまざまな作成日に基づいて特定のビジネスルールを適用したい場合に使用できます。

```
INCLUDE ItemID WHERE Items.PRICE < CurrentItem.PRICE AND Items.CREATION_TIMESTAMP > $DATE
```

## ユーザーデータ
<a name="user-filter-examples"></a>

次の式は、`$GENRE` パラメータを使用してレコメンデーションを取得するときに指定する 1 つまたは複数のジャンルのアイテムを除外しますが、現在のユーザーの年齢が、`$AGE` パラメータを使用してレコメンデーションを取得するときに指定する値と等しい場合に限ります。

```
EXCLUDE ItemID WHERE Items.GENRE IN ($GENRE) IF CurrentUser.AGE = $AGE
```

次の式は、現在のユーザーの年齢が `18` を超えている場合、CATEGORY\$1L1 向けの `watch`と CATEGORY\$1L2 向けの `luxury`を持つアイテムのみを含みます。

```
INCLUDE ItemID WHERE Items.CATEGORY_L1 IN ("watch") AND Items.CATEGORY_L2 IN ("luxury") IF CurrentUser.AGE > 18
```

# ユーザーセグメントのフィルター式
<a name="user-segment-filter-examples"></a>

以下のフィルター式は、アイテムインタラクションデータとユーザーメタデータに基づいてユーザーセグメントをフィルタリングする方法を示しています。それらはデータ型別に編成されています。

 **ユーザーデータ** 

次のフィルター式は、ユーザーセグメントを取得するときに指定した値と等しいメンバーシップステータスを持つユーザーのみを含みます。

```
INCLUDE UserID WHERE Users.MEMBERSHIP_STATUS IN ($MEMBERSHIP)
```

次のフィルター式は、ユーザーセグメントを取得するときに指定した値未満の `AGE` のユーザーを除外します。

```
EXCLUDE UserID WHERE Users.AGE < $AGE
```

 **アイテムインタラクションデータ** 

次のフィルター式は、アイテムをクリックまたは評価したユーザーのみを含みます。

```
INCLUDE UserID WHERE Interactions.EVENT_TYPE IN ("click", "rating")
```

以下のフィルター式は、ユーザーセグメントを取得するときに指定したイベントタイプとアイテムインタラクションしたユーザーセグメントからユーザーを除外します。

```
EXCLUDE UserID WHERE Interactions.EVENT_TYPE IN ($EVENT_TYPE)
```

# アクションレコメンデーションのフィルター式の例
<a name="action-recommendation-filter-examples"></a>

以下のフィルター式の例は、アクションインタラクションデータ、アクションデータ、およびユーザーデータに基づいてアクションをフィルタリングする方法を示しています。それらはデータ型別に編成されています。

**Topics**
+ [アクションインタラクションデータ](#action-interaction-filter-examples)
+ [アクションデータ](#action-filter-examples)
+ [ユーザーデータ](#user-action-filter-examples)

## アクションインタラクションデータ
<a name="action-interaction-filter-examples"></a>

次のフィルター式は、レコメンデーションを取得するときに指定したイベントタイプを持ち、ユーザーがインタラクションしたアクションのみをレコメンデーションに含めます。

```
INCLUDE ActionID WHERE Action_Interactions.EVENT_TYPE IN ($EVENT_TYPE)
```

次のフィルター式は、ユーザーが実行していないアクションをイベントタイプに基づいて除外します。

```
EXCLUDE ActionID WHERE Action_Interactions.EVENT_TYPE IN ("NOT_TAKEN")
```

## アクションデータ
<a name="action-filter-examples"></a>

次の式は、`$CATEGORY` パラメータを使用してレコメンデーションを取得するときに指定する 1 つまたは複数のカテゴリに基づいてアクションを除外します。

```
EXCLUDE ActionID WHERE Actions.CATEGORY IN ($CATEGORY)
```

次の式は、レコメンデーションを取得するときに指定した値より大きい値を持つアクションのみを含めます。

```
INCLUDE ActionID WHERE Actions.VALUE > ($VALUE)
```

## ユーザーデータ
<a name="user-action-filter-examples"></a>

次の式は、現在のユーザーがプレミアムメンバーシップを持っている場合、プレミアムメンバー向けのアクションのみを含めます。

```
INCLUDE ActionID WHERE Action.MEMBERSHIP_LEVEL IN ("Premium") IF CurrentUser.MEMBERSHIP = $PREMIUM
```

次の式は、現在のユーザーがプレミアムメンバーの場合、レコメンデーションを取得するときに指定した値より小さい `VALUE` を持つアクションを除外します。

```
EXCLUDE ActionID WHERE Actions.VALUE < ($VALUE) IF CurrentUser.MEMBERSHIP = $PREMIUM
```

# 複数の式の組み合わせ
<a name="multiple-expression-example"></a>

パイプ区切り文字 (`|`) を使用して、複数の式を組み合わせます。1 つのフィルターを使用して、アイテムデータセットとアイテムインタラクションデータセット、またはアクションデータセットとアクションインタラクションデータセットをフィルタリングするときには、複数の式を組み合わせて使用します。各式は最初に独立して評価され、結果は 2 つの結果の和集合または共通部分のいずれかになります。以下の例は、Items データセットとアイテムインタラクションデータセット用の式を作成する方法を示していますが、Actions と Action interactions を扱う場合も同じルールが適用されます。

**マッチング式の例**

 両方の式が `EXCLUDE` を使用するか、両方の式が `INCLUDE` を使用する場合、結果は次のように 2 つの結果の和集合になります (A と B は異なる式です)。
+ `Exclude A | Exclude B` は `Exclude result from A or result from B` に等しい
+ `Include A | Include B` は `Include result from A or result from B` に等しい

次の例は、`INCLUDE` を使用する 2 つの式を組み合わせる方法を示しています。最初の式には、`$CATEGORY` パラメータを使用してレコメンデーションを取得するときに指定する 1 つまたは複数のカテゴリを持つアイテムのみが含まれます。2 番目の式は、ユーザーが `favorite` としてマークしたアイテムを含みます。レコメンデーションには、ユーザーがお気に入りとしてマークしたアイテムとともに、指定したカテゴリのアイテムのみが含まれます。

```
INCLUDE ItemID WHERE Items.CATEGORY IN ($CATEGORY) | INCLUDE ItemID WHERE Interactions.EVENT_TYPE IN ("favorite")
```

**INCLUDE と EXCLUDE の例**

 1 つ以上の式が `INCLUDE` を使用し、もう 1 つの式が `EXCLUDE` を使用する場合、結果は次のように `INCLUDE` 式の結果から `EXCLUDE` 式の結果を減じたものとなります (A、B、C、および D は異なる式です)。
+ `Include A | Exclude B` は `Include result from A - result from B` に等しい
+  `Include A | Include B | Exclude C | Exclude D` は `Include (A or B) - (C or D)` に等しい 

式の順序は関係ありません。EXCLUDE 式が INCLUDE 式の前にあっても、結果は同じです。

次の例は、`INCLUDE` 式と `EXCLUDE` 式を組み合わせる方法を示しています。最初の式には、`$GENRE` パラメータを使用してレコメンデーションを取得するときに指定する 1 つまたは複数のジャンルを持つアイテムのみが含まれます。2 番目の式は、ユーザーがクリックまたはストリーミングしたアイテムを除外します。レコメンデーションには、これまでにクリックまたはストリーミングされていない、指定したジャンルのアイテムのみが含まれます。

```
INCLUDE ItemID WHERE Items.GENRE IN ($GENRE) | EXCLUDE ItemID WHERE Interactions.EVENT_TYPE IN ("click", "stream")
```