登录

会员权益

获取需求

查看名片

专属客服

尊贵标识

VIP低至1.5U/天

Line如何万中选一精准推荐,购物平台关键技术大剖析

分享

支付動態

2024-09-27

作为导购平台,Line购物将用户导引到所需的商家平台,全靠精准推荐。他们用检索、排名、再排名这三大阶段,来打造这套推荐系统

Line团队打造一套3阶段购物推荐系统,分别从上千万商品库中捞出几百个用户可能有兴趣的商品,接着通过用户行为,来排名候选的推荐商品、缩小推荐范围,最后加上商业逻辑来决定最终推荐给用户的商品。(/Line)

「在数百万到数千万的商品中,如何快速找到用户有兴趣的商品,推荐给他们?」Line台湾机器学习工程师黄耀庆这句话,点出推荐系统对Line购物的重要性和挑战。

Line购物是一个导购平台,就像是消费者与店家的桥梁,将用户导向成千上万款商品各自的品牌商网站、电商平台上的商品网页。为了提高销售量,得想办法从百万、甚至是千万量级的商品数量,迅速找出用户有兴趣的几个商品,推荐给他们。

为此,Line团队发展出一套高度个人化的购物推荐系统,光是推荐情境模块就有20多种,比如个人化文章推荐、降价商品推荐、搜索关键字推荐,又或是类似商品推荐等。这套以机器学习驱动的核心推荐系统叫做Brickmaster,在2022年正式激活。

Line台湾如何设计它,来因应多情境和海底捞针般的精准推荐挑战?多位Line台湾开发团队成员,在Hello World开发者大会上揭露了背后的挑战和开发经验。

分3阶段打造精准推荐系统

首先,开发团队将Line购物导购的推荐流程,切分为3大阶段,一方面提高推荐精准度,又能集成不同消费者行为和业务考量的需求。

第一步是「检索(Retrieval)」,从包含千万个商品的数据库中,捞出数百个用户可能感兴趣的商品。接着是「排名(Ranking)」,根据用户行为,将第一阶段捞出的上百个候选推荐商品,缩小至数十个商品。

最后是「重新排名(Re-rank)」,这是用来结合各种商业逻辑(如促销活动、节日活动和商品获益)、商品新鲜度和商品多样性的考量,来调整候选推荐商品。完成这些阶段后,系统可以产生一份用来吸引顾客的推荐商品清单。

阶段1:检索

黄耀庆指出,与全站商品相比,用户有兴趣、会点击的商品,几乎只占了全站商品的「0.001%」想要从庞大的商品中,找出这么少的目标商品,正是第一步,检索阶段的严峻挑战。

为快速从巨量商品中,找出用户感有兴趣的商品,Line采用推荐领域中经典的双塔模型方法。这个双塔模型可分为用户塔(User tower)和商品塔(Item tower),两个塔各为一套多层的类神经网络。

其中,用户塔用来处理用户特征,得到用户的嵌入矢量。商品塔则用于处理商品特征,产出商品嵌入矢量。这双塔产出的用户矢量和商品矢量,再经过内积运算,进行用户-商品矢量的相似度搜寻,经运算最终得到目标答案,也就是用户有兴趣点击的商品清单。

为让模型精准产出使用者矢量和商品矢量,得先进行特征工程。Line将双塔模型所需的特征分为两种,即文件和行为,比如在用户特征部分,就有用户文件(如基本数据)和用户行为(如点击次数、点击品项),在商品特征部分,则是商品文件和商品行为,如商品名称、ID、价格,以及同一商品被不同性别购买的次数、商品与不同族群的交互关系等。

这些特征涵盖数值、类别和文本等3种类型,Line对这些类型特征,各有其处理方式。比如针对数值型特征进行标准化(Normalization),来缩小数值范围、好让类神经网络学习;又或是使用威尔逊得分区间(Wilson Score Interval),来减少数值的偏差。

对于类别型特征,也有几种常见的处理方式,像是将商品品项转换为数字编码的独热编码方法、确保顺序逻辑的序数编码等。文本型特征则以BERT编码来处理。

在实务上,Line将双塔模型拆为2种运作模式,商品塔采取脱机处理,用户塔则靠在线处理。这是因为,商品行为的改变频率较低,但用户喜好变动快速,模型得在短时间内处理,才能筛选出最贴近需求的商品。

不只可以利用用户与商品的相似度,来寻找推荐商品,也可以利用用户最近喜欢的商品清单,来寻找更多用户感兴趣的同一类商品。这是Line购物在检索阶段,会使用的另一种商品相似度搜寻(Item to item)作法,一样采用双塔模型方法,只是将其中一塔改为用户最近喜欢的商品,另一塔则是商品库商品,通过比对用户最近喜欢的商品特征,以及商品库商品最新特征,来找出用户可能有兴趣的商品。

阶段2:排名

经过检索阶段,可以从上千万个商品中,筛选出几百个用户感兴趣的商品了。但这个数量还是太多,接下来借由排名作法,找出优先推荐的项目。

Line会根据用户在Line购物「推荐版位」(比如夯话题)上的行为,推测用户感兴趣的浓厚程度,来排列候选推荐商品的顺序。这可以想像为,另一种缩小推荐商品范围的方法。

在这个阶段,Line团队一样采用类神经网络,来计算在推荐版位,用户会点击的商品。排名模型所处理的特征有3种,包括用户特征、商品特征,以及用户-商品特征(比如用户对商品的点击或购买次数)。

在实务上,为支持庞大的运算需求,Line采用开源大数据处理工具PySpark,以分布式运算来运行排名模型的推论工作。这一步,就像是将原本一台机器100秒才能完成的工作,分散给100台机器处理,1秒就能完成该工作。

阶段3:再排名

完成第二阶段的排名工作,筛选出使用者最有兴趣到一般有兴趣的商品排序后,还需要进行最后一步的调整,才推荐给用户。

调整条件可分为三类,包括商品多样性、商品新鲜度和商业逻辑。进一步来说,商品多样性是指,推荐商品要包含不同类型的商品,而不是前10名都推同一类型商品给用户,比如鼠标。

就商品新鲜度而言,顾名思义是尽量推荐较新的商品给用户。不过,新上架的商品缺乏足够的数据,难以靠模型学习来筛选。于是,Line团队改以规则式方法,让新上架的商品,也能纳入推荐商品名单内,来增加曝光度。于是,Line团队改以规则式方法,将新上架的商品纳入推荐商品名单内,来增加曝光度。这么做,短期内点击率虽会下降,但长期而言,有益于推荐系统发展。

这是因为,当用户接收到的推荐商品,都来自自己认知范围内,久而久之容易腻。而保留流量给新品推荐,不只能让用户探索兴趣,也能曝光新品、累积数据,利于后续模型训练和推荐。

最后的商业逻辑,则是指推荐商品要符合促销活动、节假日活动或商品获益考量。比如父亲节时,提高当时时令礼品的权重。

至此,「检索」、「排名」、「再排名」这三大阶段,构成了Line购物推荐系统的核心流程。

善用开源技术提高模型处理效率

由于商品库和用户数量庞大,模型必须处理成千上万个特征,需要大量运算处理。因此,除了分布式处理特征工程的PySpark,Line团队还借助一些开源工具,来提高作业效率和各阶段任务管理。

这包括用来支持模型分布式训练的数据函数库Petastorm,用来管理和追踪模型实验成效的MLflow,能将PyTorch模型训练代码模块化的PyTorch Lighting,以及可视化管理模型训练调度的Airflow。

这些工具相互搭配,而且缺一不可。比如,PySpark借助多台机器资源,来分布式运行Line购物商品和用户特征工程,Petastorm能快速打散Line购物累积的巨量数据并读取,MLflow则用来追踪推荐模型表现,比如实验中哪些模型超参数效果最好,而PyTorch Lighning除了能将模型训练模块化,还能简洁记录推荐模型信息等。这些工具也是Line购物打造出超强推荐系统的关键。

 相关报导 

免责声明:
详情
HUIDU.io

GROWTH DRIVEN GLOBAL PTE. LTD. 202618650K

101 THOMSON ROAD, #28-03A, UNITED SQUARE, SINGAPORE 307591

Copyright 2026 HuiDu