5 amazon-web-services amazon-personalize
我正在使用 Amazon Personalize 创建推荐引擎。我必须为它发送以下数据,
USER_ID,ITEM_ID,EVENT_TYPE,EVENT_VALUE,TIMESTAMP
Run Code Online (Sandbox Code Playgroud)
我不明白EVENT_TYPE,并EVENT_VALUE在里面。
EVENT_TYPE、EVENT_VALUE是可选的,如果您刚刚开始使用 AWS Personalize,您可以暂时跳过它们。
EVENT_TYPE是存储在数据集中的交互的事件类型。交互是用户与项目的交互。
EVENT_VALUE是交互事件的值。
也许例子会让它更容易理解:
让我们从头开始,在 AWS Personalize 中,您有 3 种不同类型的数据集:
数据集的内容取决于您的用例,例如,如果您想为使用视频共享平台的用户推荐视频,那么您的数据集可能包含如下数据:
但要使其与 AWS Personalize 兼容,您应该转换属性名称以匹配 Personalize 要求:
如您所见,交互数据集包含以下信息:
您可以选择向此交互数据集添加更多信息,方法是提供EVENT_TYPE和EVENT_VALUE。所以例如它会是这样的:
在提供视频内容的服务中,EVENT_TYPE可以是例如video_view,EVENT_VALUE 的值将介于 0.0 和 1.0 之间,这将显示用户观看了多少视频。例如,0.5 将是视频的 50%。
该EVENT_TYPE和EVENT_VALUE是可选的,所以你不必为他们提供,但它不影响质量的建议。所述EVENT_VALUE仅用于个性化的构造(稍后详细说明)。
还有一种情况,你应该记住。如果您只提供EVENT_TYPE或EVENT_VALUE,AWS Personalize 将给您一个错误,因为您需要它们,或者两者都不需要(这是有道理的,因为存储具有未知值或类型的事件数据毫无意义)。
EVENT_TYPE不必只是video_view。它也可以有不同的值,例如,如果用户要喜欢视频,您的应用程序将像这样保存此交互:
EVENT_TYPE = '喜欢'
EVENT_VALUE = 1
不喜欢可能是:
EVENT_TYPE = '喜欢'
EVENT_VALUE = -1
通常,个性化在模型训练期间不包括事件值。它只是被忽略了。
但是,您可以使用它来实现您自己的逻辑。例如,您可以在解决方案创建期间提供事件值阈值:

在解决方案训练期间,此值阈值将用于确定是否应忽略给定的交互。例如,如果事件值是观看视频的百分比进度,则阈值为 0.9 将确保比训练期间包含的交互完全观看视频。
同样如上图所示,您可以指定事件类型本身,因此给定的解决方案将忽略所有与事件类型不匹配的交互。在某些情况下它可能会有所帮助。
事件类型也可以在几个月前添加的过滤器选项中使用。过滤掉用户已经完全观看或购买的项目可能会有所帮助,例如:
EXCLUDE itemId WHERE INTERACTIONS.event_type in ("fully_watched")
EXCLUDE itemId WHERE INTERACTIONS.event_type in ("purchased")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
911 次 |
| 最近记录: |