之前的一篇文章《常见推荐策略及其在OTA上的应用》给出了常见的推荐系统的一些常见推荐策略,以及OTA公司如何利用这些策略来进行产品推荐。
而为了提高推荐的准确率,需要了解用户,尤其是在OTA行业,获取实时用户意图对个性化推荐起着非常重要的作用,在做产品分析和设计的时候应该按照黄金圈(WHY,HOW,WHAT)的顺序来进行,但是为了读者理解的方便,本文改变了一下顺序,首先给出WHAT,然后从WHY和HOW二个方面分享一下构建OTA实时用户意图的思路。
WHAT(是什么)?
不同公司的定义可能不一样,这里首先解释一下什么是实时用户意图。本文实时用户意图是基于旅游行业,它的定义为:结合用户短期内的用户行为,通过个性化推荐算法预测得到的用户实时旅游偏好。下面给出两个实时用户意图的例子:
示例1:一个用户搜索了12月1日从上海到北京的机票,并且查看了多次航班,那么该用户的实时意图包含:该用户处于行程探索期,对北京有兴趣,并且交通工具偏好坐飞机,舱位偏好经济舱,预计出行时间是12月1日。同时通过浏览交叉规则,可以预测用户可以有酒店偏好,自由行偏好,门票玩乐等多种产品类型偏好,依据大数据的分析,可以得到用户对不同产品类型的偏好程度会不一样。
示例2:一个用户订了一张12月1日从上海到北京的机票,那么该用户的实时意图包含:该用户处于行程出发前,将要去北京,有去北京的机票订单,舱位是经济舱,出行时间是12月1日。同时通过订单交叉规则,可以预测用户可以有酒店偏好,门票玩乐等多种产品类型偏好,依据大数据的分析,可以得到用户对不同产品类型的偏好程度会不一样。
通过以上两个例子可以了解实时用户意图里面包含什么内容,格式如下图所示,在具体的个性化推荐应用中,在不同的栏位就可以知道进行怎样的推荐了,可以参考《常见推荐策略及其在OTA上的应用》里面的案例。
WHY(为什么)?
了解了什么是实时用户意图,从产品的目标和用户的需求两个方面分析一下为什么要做实时用户意图。
产品的目标
引入个性化推荐的目标是为了提高OTA平台上的产品转化率以及产品的连带率,因为转化率及连带率的提升企业可以获得更多的商业价值
用户的需求
用户的主要需求在于可以通过OTA平台快速,方便地找到自己想要的产品,主要体现在:购物路径不用太长;有辅助决策内容来降低决策的费力度;有交叉推荐的内容等等
一言概之:用户通过平台找到适合自己的产品来得到产品的使用价值,而平台通过用户购买产品获得佣金而得到产品的商业价值。
HOW(怎么做)?
实时用户意图是怎么做到可以满足用户需求的呢?它基于的假设是:用户对自己感兴趣的内容会多次浏览或搜索,举例来说,在OTA行业,如果一个用户相去马尔代夫度假,那么他会查看马尔代夫的攻略,机票,酒店或者度假产品等等,通过用户的实时行为操作,我们可以预测用户的目的地偏好是马尔代夫。
实时用户意图是依赖于用户的近实时用户行为,生成实时用户意图的流程如下:
以上流程又可以分成几大块内容:
数据获取
通过前端埋点获取用户的实时行为数据,这些埋点数据被送到流处理(如Storm或Spark等)进行埋点内容的解析,并且做实时数据清洗,输出标准格式的用户行为数据。数据来源主要包括:
- 用户的搜索及搜索条件
- 用户的浏览产品及浏览产品的特征
- 用户的搜藏产品及搜藏产品的特征
算法模型
算法模型分成两个部分:离线算法模型和实时算法模型。离线算法对时效性要求不高,所以算法模型一方面可以采用更多的数据内容,不管是从数据的广度还是深度,另一方面算法模型的复杂度也可以很高,这样可以输出高质量的数据结构;实时算法模型因为时效性要求很高,所以在使用数据方面和算法模型方面都会比离线算法模型差很多。
离线算法模型以日为单位对全站的用户行为进行迭代计算,得到浏览交叉系数及订单交叉系数(其实离线算法模型还提供了其它方面的内容,在后下一篇《OTA推荐系统之用户体系》中介绍)。实时算法模型实时对用户的每一次操作进行迭代算法计算,结合离线提供交叉系数,实时更新用户意图,以便提供给推荐系统使用(一般采用Redis存储)。
实时用户意图是个性化推荐系统中的一个重要组成部分,本文通过WHAT,WHY,HOW三个方面讨论了实时用户意图,希望给大家以启示。
,