确保顾客不错过趋势商品
时间序列预测可实现分钟级的趋势识别,而新颖的两步训练过程提高了预测准确性。
推荐系统自然倾向于推荐那些经时间验证受欢迎的商品——无论是总体上还是特定口味客群中。但基于流行度的推荐可能错过趋势商品,即那些尚未达到高购买量但正快速攀升的商品。如今执行查询的顾客若错过某款新产品,可能感到吃亏——因为两三天后该产品可能成为市场颠覆者。
设想顾客执行商品查询时,不仅能获得基于历史数据的匹配列表,还能看到趋势匹配列表,以便在购买决策时掌握最大信息量。为实时捕捉趋势而非事后从数据中发现,采用时间序列预测来预测近期将流行的商品。
在今年的ACM推荐系统会议(RecSys)上发表的论文中描述了该方法。首先,严格定义趋势的速度指标(每个时间步的商品页面客户交互次数)和加速度指标(速度随时间步的变化率)。随后提出一种新颖的机器学习方案:先通过下一项推荐任务预训练模型,使其学习商品特征与交互模式的关联性,再针对趋势预测(加速度率)任务进行微调。
为评估TrendRec模型,与三个基线模型对比:简单马尔可夫模型(假设交易量逐时间步恒定增长)、指数移动平均模型(基于过去八个时间步加速度的加权和预测下一时间步加速度),以及基于加速度率时间序列训练的神经网络模型。
在五个数据集上使用两种指标测试所有模型。发现本模型凭借对商品特征与销售模式关联的额外认知,全面优于基线神经网络模型——在某个数据集上领先15%和16%。两个神经网络模型显著优于启发式基线,表明加速度率变化遵循数据中可识别的非线性模式。
预训练过程的目标是教模型生成对趋势预测任务有用的商品表示。其假设是:相同客群交互的商品会随时间呈现相似流行度趋势。若模型学会将商品特征与特定客群关联,就能将相同特征与特定趋势模式关联。
因此预训练任务是根据顾客交互历史预测其下一步交互商品。模型接收顾客交互历史作为输入,学习生成两种向量表示(嵌入):顾客偏好嵌入和商品特征嵌入。
预训练后,模型针对从历史加速度率预测未来加速度率的任务进行微调。仍使用商品特征嵌入,但不再使用顾客偏好嵌入。假设偏好嵌入已影响商品嵌入,因为两者是一起训练的。
训练过程中的重要考量是评估模型性能的时间间隔。需要预测加速度率——但针对多长时段?一小时?一天?一周?推测预测加速度的时间间隔与模型学习可行性存在关联。间隔过短则数据噪声过大:例如预测期前15分钟加速度率可能恰好平缓甚至为负,尽管后续三小时很高。反之间隔过长,到期末流行度激增可能已消退,导致整体加速度率看似人为偏低。
训练趋势预测模型时,目标是找到时间间隔的平衡点——该数值在不同数据集间差异很大。实验中发现最简单的启发式基线(假设恒定加速度的模型)能足够好地估计可行性-时间间隔曲线形状,从而支持时间间隔选择。且因启发式非常简单,可高效计算估计值。
实验设置中,TrendRec和所有基线模型预测恒定加速度启发式计算的预测时间间隔内加速度率最高的十款商品。使用两个指标评估结果:经最小-最大缩放归一化的前十结果累计加速度,以及趋势归一化折损累计增益(TNDCG)——该指标评估前十结果的排序,对顶部结果赋予更高权重。两个神经网络模型显著优于启发式基线,但TrendRec全面取得最佳结果。