【问题标题】:Re-Ranking Algorithm for Anonymous Users匿名用户的重新排名算法
【发布时间】:2022-02-16 00:21:32
【问题描述】:
我有一个网站:
- 10,000 页,每页代表一个类别,例如:“笔记本电脑”。
- 我在每个页面上展示了 20 个推荐产品
- 99% 的用户是匿名用户
- 对于每个用户,我都有一个上下文(设备、用户代理和类别)
- 对于每种产品,我都有价格和卖家名称
- 我有 2 个事件:出境和购买
我想根据用户上下文对每个新匿名用户的结果重新排序(重新排序、排序)。我想根据表现(出境和购买)重新排名。
您对特定算法或工具或服务有推荐吗?我发现 AWS Personalize 非常好,但问题是我的所有用户都是匿名的,所以我认为它在我的用例中不会有效。
【问题讨论】:
标签:
sorting
recommendation-engine
recommender-systems
personalization
amazon-personalize
【解决方案1】:
当大多数/所有用户都是匿名的时,Amazon Personalize 仍然可以有效使用。如果您使用 cookie 或本地存储将用户跟踪为访问者,则访问者的会话 ID 可以被视为 Personalize 中的 userId。您将失去在多个会话中将同一逻辑用户的活动拼接在一起的连续性,但您仍然可以获得会话中的个性化。这需要在sessionId 字段中使用访问者的会话ID 调用PutEvents,并排除 userId 字段。然后在调用GetRecommendations 或GetPersonalizedRanking API 时,使用访问者的会话ID 作为userId 字段。 Personalize 将在提供推荐或重新排列项目时考虑访问者会话的事件活动。
如果访问者是已知用户或后来成为已知用户(即登录或创建帐户),则在 userId 字段中为 PutEvents 和 GetRecommendations/GetPersonalizedRanking 传递他们的用户 ID。在下一次培训中,Personalize 会将任何先前的匿名事件(即具有sessionId 但不具有userId 的事件)关联到用户。关键是在会话用户的匿名和已知事件中使用一致的sessionId。