Fortress: A Case Study in Stabilizing Search Recommendations via Temporal Data Augmentation and Feature Pruning
Fortress 是一个通用框架,它通过收集历史快照、检测不稳定预测、隔离波动特征以及利用稳定特征重新训练的四步流程,识别并剪除引发时间不稳定性的特征,从而增强搜索推荐模型的稳定性和准确性,进而有效平衡参与信号的预测能力与随时间保持一致性能的需求。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象你是一位经营繁忙餐厅(即应用市场)的厨师。你的工作是根据顾客的需求(即搜索查询),为他们推荐最完美的菜肴(即应用)。
你有两种主要方式来决定推荐哪道菜肴:
- 菜单描述(语义特征):你查看食材和食谱描述。这就像利用人工智能(大语言模型)来理解“辣味意面”与“红酱意面”是匹配的。这种方式非常稳定,因为食谱不会日复一日地发生太大变化。
- 大众热度(互动特征):你查看人们当下实际在点单和点击的内容。如果所有人突然都在点“辣味意面”,你就推荐它。这非常有力,因为它反映了实时的需求,但它不稳定。如果大众的情绪每小时都在变化,你的推荐就会摇摆不定。前一分钟它还是头号菜肴,下一分钟就消失了。
问题:“摇摆”效应
这篇论文描述了一个被称为时间不稳定性的问题。想象一位顾客询问“辣味意面”。
- 上午 9:00:系统推荐它,因为大众热度很高。
- 上午 11:00:大众情绪略有转变。系统突然停止推荐它。
- 下午 1:00:热度回归,它又回到了名单上。
这让顾客感到沮丧。这感觉就像餐厅不可靠。在应用世界中,这意味着用户今天可能在搜索结果中看到某个应用,而明天它就消失了,尽管他们并没有改变搜索内容。这种“摇摆”破坏了信任。
解决方案:"Fortress"
作者构建了一个名为Fortress的框架来解决这个问题。将 Fortress 想象成一位质量控制检查员,他查看的是餐厅过去几周的历史,而不仅仅是今天。
以下是 Fortress 的工作原理,分步说明,使用一个简单的类比:
- 时间旅行快照:Fortress 不是只看一天的数据,而是查看餐厅在多天内的“快照”表现。它追踪同一顾客订单随时间的变化。
- 识别善变的食材:它会问:“哪些食材(特征)会导致推荐结果在日复一日间剧烈变化?”
- 例如:它可能会发现某个特定的“趋势信号”导致系统在周二推荐某个应用,却在周三将其剔除,尽管该应用依然优质。
- 修剪:Fortress 识别出这些“善变”的食材。它意识到,虽然它们增加了一点点风味(准确性),但它们导致菜肴每次点单时味道都不同(不稳定性)。因此,它修剪(移除)了它们。
- 重新训练厨师:系统仅使用稳定的食材重新训练推荐模型。它保留了始终可靠的“菜单描述”,以及那些不会引起剧烈波动的“大众热度”信号。
结果:更可靠的餐厅
该论文在庞大的应用商店上测试了这种方法。以下是他们的发现:
- 更高的准确性:通过仔细移除“善变”的特征,系统在预测用户想要什么方面实际上变得更好了(提升了 PR-AUC)。这就像意识到某些流行的装饰实际上混淆了顾客,因此移除它们让菜肴更清晰。
- 更少的“摇摆”:最大的胜利在于稳定性。“变异系数”(一种 fancy 的说法,指分数波动的大小)下降了。
- 从实际意义上讲:应用在搜索结果中出现后又消失的次数显著减少。在某些地区,这种“摇摆”率下降了近50%。
核心启示
Fortress 教导我们,在推荐系统中,一致性与准确性同样重要。
你可以拥有一个超级智能但每小时都改变主意的模型,这对用户来说毫无用处。或者,你可以拥有一个稍微不那么“时髦”但每次询问都能给出同样可靠答案的模型。Fortress 找到了最佳平衡点:它保留了实时用户数据的强大功能,但去除了那些使系统 jittery(不稳定)和不可靠的部分。
简而言之:Fortress 围绕数据中最不稳定的部分筑起了一道墙,确保你在应用商店今天看到的内容,明天很可能也在那里。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。