组合多个表达式 - Amazon Personalize

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

组合多个表达式

要将多个表达式组合在一起,请使用竖线分隔符 (|)。如果您要使用单个筛选条件并对物品数据集和物品交互数据集或操作数据集和操作交互数据集进行筛选,请使用表达式的组合。首先对每个表达式进行独立评估,产生的结果要么是两个结果的并集,要么是交集。以下示例说明如何为物品和物品交互数据集创建表达式,但在使用操作和操作交互时,同样的规则也适用。

匹配表达式示例

如果两个表达式都使用 EXCLUDE 或两个表达式都使用 INCLUDE,则产生的结果是两个结果的并集,如下所示(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 的两个表达式。第一个表达式仅包括含您使用 $CATEGORY 参数获取建议时指定的一个或多个类别的物品。第二个表达式包括用户已标记为 favorite 的物品。建议将仅包括含您指定的类别的物品以及用户已标记为收藏的物品。

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

INCLUDE还有EXCLUDE例子

如果一个表达式使用 INCLUDE,另一个表达式使用 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 参数获取建议时指定的一个或多个类型的物品。第二个表达式排除用户单击或流式传输过的物品。建议将仅包括含有您指定的类型但尚未被单击或流式传输的物品。

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