gpt4 book ai didi

php - 跟踪用户事件以建立个人用户资料和建议

转载 作者:行者123 更新时间:2023-11-29 00:40:29 24 4
gpt4 key购买 nike

我即将建立一个网上商店,需要想出一个跟踪用户信息的解决方案,并在此基础上向用户推荐他们可能也喜欢的产品,从而建立个人用户资料(他们喜欢什么)。

算法要跟踪/使用的信息,我认为应该包括:

  • 过去的订单
  • 愿望 list /书签/收藏夹...
  • 输入的搜索词
  • 查看的产品(此处还跟踪并考虑“掉线”引述,意思是用户是否关闭网站/立即返回或查看更多图片/向下滚动(视口(viewport))等)

产品被分配到类别以及不同的属性,如颜色,标签等。表productcolorcategory有关系等

product
id_product
price
timestamp_added

color
id_color
...

product_color
id_product_color
id_product
id_color

问题是:

1) 你会如何构建一个数据库来跟踪,例如产品查看?应该是这样吗?:

product_viewed
id_product_viewed
id_product
id_user
timestamp

2) 如果我想计算例如基于用户购买、放入愿望 list 、添加书签、查看的产品颜色,用户最喜欢的 3 种颜色:是否可以从性能的角度处理,以计算在每次查询数据库时应向其推荐哪些产品时间?或者您是否不时更新用户配置文件,仅存储基于跟踪数据计算出的当前最喜欢的颜色,并使用存储的计算数据来查找与此信息匹配的产品?

像 facebook、amazon 或 pinterest 这样的大网站是如何做到这一点的?在 Pinterest 上,您会根据您之前点击的项目获得您可能喜欢的项目建议。他们如何处理这个问题?

最佳答案

是的,您的 product_viewed 架构没问题。

至于他们最喜欢的三种颜色,试试这个未经测试的代码:

select c.name, count(*) as rank
from product_viewed pv
JOIN product_color pc on pc.id_product = pv.id_product
JOIN color c on pc.id_color = c.id_color
where pv.id_user = 1
group by c.name
order by rank desc
limit 3

给定用于连接表的 id 的索引以及对查看的项目数量的合理限制,这应该具有不错的性能。以后,您可能只会查看他们最近的 100 种产品等,只是为了防止它永远增长。 (或者,如您所建议的,缓存)。

这并没有什么神奇之处,所以它可能与其他网站正在做的类似。

关于php - 跟踪用户事件以建立个人用户资料和建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12486147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com