我在一个出版网站工作。我有兴趣开发一个模型,该模型可以根据用户之前参与的内容来预测用户对一段或一组内容的亲和力。
内容通过类别和标签进行分类。每个项目的参与度可以是二进制(点击)或 0-1 浮点值(标准化的参与时间长度)。
我应该如何训练模型才能让我有效地为每个用户进行个性化?
我不需要实时访问推荐。理想情况下,我会每周使用新的点击流数据重新训练模型,并批量下载描述每个用户的热门类别和标签的具有亲和力分数的数据。
谢谢。
我在一个出版网站工作。我有兴趣开发一个模型,该模型可以根据用户之前参与的内容来预测用户对一段或一组内容的亲和力。
内容通过类别和标签进行分类。每个项目的参与度可以是二进制(点击)或 0-1 浮点值(标准化的参与时间长度)。
我应该如何训练模型才能让我有效地为每个用户进行个性化?
我不需要实时访问推荐。理想情况下,我会每周使用新的点击流数据重新训练模型,并批量下载描述每个用户的热门类别和标签的具有亲和力分数的数据。
谢谢。
从您的用例开始,用户个性化配方是您应该开始的地方。此配方旨在根据用户之前与项目/内容的交互向用户推荐项目(在您的情况下为内容)。
此配方(以及所有个性化配方)的主要输入是交互/事件。对您来说,这将是内容的点击/查看。如果您有这些点击的历史交互,则可以使用此数据准备 CSV。最少的必填字段是USER_ID
、ITEM_ID
和TIMESTAMP
,其中每一行代表特定用户与项目交互的时刻。您可以选择包含EVENT_TYPE
列和EVENT_VALUE
列。的值EVENT_TYPE
取决于您的应用程序和事件分类。如果您现在只是跟踪点击,您可以使用click
orview
作为事件类型,然后根据需要在将来添加对更多事件类型(例如bookmark
,favorite
等)的支持。为了EVENT_VALUE
(类型浮动),您可以使用您的标准化时间长度。您可以通过在创建解决方案时EVENT_VALUE
指定eventType
和来过滤训练中包含的事件。例如,如果您认为任何等于或大于 0.4 的值表示用户对某条内容的积极兴趣,您可以将 a 设置为 0.4,并且 Personalize 将仅在训练中包含等于或高于该值的交互. Personalize 还将事件值作为模型中的一个特征包括在内,但它不会用于加权或奖励基于此值的交互。eventValueThreshold
eventValueThreshold
用户个性化配方还将考虑项目和用户数据集(如果提供)。对于您的用例,提供项目数据集是您为每条内容(项目)指定类别和标签的地方。您还可以将每条内容的原始文本作为文本字段包含在项目数据集中。Personalize 将自动从您的文本字段中提取特征,以提高推荐的相关性。
将数据集导入数据集组后,您可以使用用户个性化配方和解决方案版本(代表经过训练的模型)创建解决方案。要每周获得批量推荐,您将每周使用批量推理作业为每个用户生成推荐。然后可以处理批量推理作业的输出,以根据推荐的内容确定每个用户的类别和标签亲和力。