上下文的数据又可以分为两种,时间上下文与地点上下文。
举一个栗子,在时间上下文的情况下,某外卖app需要根据早中晚人们的用餐习惯来给用户推送不一样的食物或者优惠券,这样推荐不同的食物更符合用户的习惯。
另外根据地点的上下文说的是,如果你在办公室用某外卖app点一份外卖,那么推荐给你的外卖餐厅是要离你较近的,而不是推送十公里以外的餐厅。
我们要知道个性化推荐一般会有两种通用的方法,包括基于内容的个性化推荐,和基于用户行为的个性化推荐。
基于用户行为的推荐,会有基于物品的协同过滤(Item-CF)与基于用户的协同过滤(User-CF)两种。
而协同过滤往往都是要建立在大量的用户行为数据的基础上,在产品发布之初,没有那么大量的数据。所以这个时候就要依靠基于内容的推荐或者热度算法。
一般来说,基于内容的推荐的意思是,会在产品初期打造阶段引入专家的知识来建立起商品的信息知识库,建立商品之间的相关度。
比如,汽车之家的所有的车型,包括了汽车的各种性能参数;电商网站中的女装也包括了各种规格。
在内容的推荐过程中,只需要利用用户当时的上下文情况:例如用户正在看一个20万左右的大众轿车,系统就会根据这辆车的性能参数,来找到另外几辆与这辆车相似的车来推荐给用户。
一般来说,建立这样的数据库需要专业人士、编辑等通过手动完成,有一定的工作量,但对于冷启动阶段的产品来说,是一个相对有效的方法。
汽车之家网站在用户查看一辆车的同时推荐与其相似的车
另外一种情况是纯文本的内容没有明确的参数特征,在这种情况下,需要通过文本分析技术来自动提取文本的关键词(通过自然语言技术的进行分词),通过数据挖掘来找到文本与文本之间的联系和相似性。
另外,由于各种社会热点话题普遍是人们关注较高的,以及由于在产品发展初期,没有收集到大量用户数据的情况下,“热度算法”也是一种惯常使用的方式。
这里值得注意的是,热点不会永远是热点,而是具有时效性的。
所以发布初期用热度算法实现冷启动,积累了一定量级以后,才能逐渐开展个性化推荐算法。
而热度算法在使用时也需要考虑到如何避免马太效应:毋庸置疑的是,在滚雪球的效应之下,互联网民的消费&观点&行为会趋同,就像前一阵《战狼2》的热映一样,史无前例的票房成绩完全取决于铺天盖地式的宣传,而群体将会成为乌合之众。
每个有推荐功能的产品都会遇到冷启动(cold start)的问题,也是很多创业公司遇到的较为棘手的问题。
在早期团队资金有限的情况下,如何更好地提升用户体验?
如果给用户的推荐千篇一律、没有亮点,会使得用户在一开始就对产品失去了兴趣,放弃使用。所以冷启动的问题需要上线新产品认真地对待和研究。
在产品刚刚上线,新用户到来的时候,如果没有他在应用上的行为数据,也无法预测其兴趣。另外,当新商品上架也会遇到冷启动的问题,没有收集到任何一个用户对其浏览,点击或者购买的行为,也无从判断将商品如何进行推荐。
所以在冷启动的时候要同时考虑用户的冷启动和物品的冷启动。