← 全部深度解读
📖 深度解读 · PERSONALIZATION

IntentTune: Using user demand and personalization to resolve "unknown" query intents for e-commerce search

Rachith Aiyappa, Ishita Khan, Chester Palen-Michel, Jayanth Yetukuri, Samarth Agrawal, Mehran Elyasi, Shuang Zhou · arXiv 2607.01530 · 发表 2026-07-01
13 分钟阅读时长 4860字 4.30综合分 第 3 名07-03 Personalization 日报
目录 · 6 节1问题与动机2方法详解3核心技术贡献4实验结果分析5局限与未来方向6工业实践意义
相关 5新颖 4实用 4证据 3时效 5
它把搜索 query understanding 与个性化排序连接起来:当 query 本身信息不足时,用户最近搜索和浏览序列可以成为 intent resolver 的特征,而不只是排序模型的后置特征。对社区 UGC 搜索,这意味着“关键词召回前”就应引入轻量用户意图推断,例如把模糊 query 映射到用户偏好的内容类目、创作者类型或消费场景,再影响召回/重排;同时需保留 population prior 作为冷启动兜底,但不能把它当成主信号。

1. 问题与动机

这篇论文处理的是电商搜索里非常常见但容易被低估的“unknown intent”问题:用户输入的 query 往往极短,例如 watch、shirt、boots、sneakers,文本本身没有明确表达性别、年龄段、尺码、品类细分等关键属性。论文指出,现代搜索栈通常先用 Query Understanding 模型给 query 打 gender intent、age-group intent、size intent、category 等标签,再把标签交给召回与排序。但当 query 过短时,BERT 分类器或 token classifier 会把大量样本落到 unspecified 类,导致后续 lexical retrieval 和 embedding-based retrieval 都只能围绕粗粒度意图工作。作者的动机不是把 query 模型本身做得更大,而是问:这些缺失意图能否由用户行为和全站需求补齐?这一点对社区 UGC 搜索同样重要,因为用户常用一两个词表达模糊需求,真实意图隐藏在历史点击、历史搜索和会话上下文中。

论文把该问题放在 eBay 的 fashion query understanding 场景中验证。现有 baseline intent models 的宏/微 F 值都高于 0.9,但这是在 query 显式表达属性时的表现;一旦 query 没有写出属性,模型仍会返回 unspecified。作者强调,这类错误会在检索源头传播,而不是只影响最终排序。相比传统个性化搜索主要在 retrieval 之后重排结果,IntentTune 把个性化信号前移到 intent inference 阶段,用它重写或细化搜索任务本身。

2. 方法详解

IntentTune 接在现有 QU pipeline 后面运行。系统首先用既有模型预测四类意图:gender intent、age-group intent、size intent 和 category prediction。gender 是四分类:male、female、unisex、unspecified;age 是八分类:infant、toddler、kids、teen、young adult、adult、senior、unspecified;size 模型是 BERT token classification,识别 clothing_size、shoe_size、size_type 等细粒度实体;category 模型基于历史搜索数据把 query 映射到类目 taxonomy。当任一模型返回 unspecified,或 category prediction 过粗时,pipeline 才触发 IntentTune。

框架包含两条补全路径。第一条是 demand-based resolution:利用 category prediction 的高置信类目推断缺失属性。例如 dell shirt 被类目模型映射到 Men > Men’s Clothing > Shirts > T-Shirts 时,可以推断 male 和 adult。作者没有把它用于 size,因为类目层级对尺码没有稳定约束,强行推断可能伤害召回。第二条是 personalization-based resolution:把用户级上下文交给内部托管 LLM,让它在明确定义的 intent class 空间内推断 gender、age、size 和 category。论文实际使用两类个性化输入:账号创建时的非敏感 profile 属性,以及过去一个月内的 historical queries。为了控制噪声,历史 query 只保留 baseline intent 模型高置信的记录:gender confidence > 0.8,或者非 unspecified age intent confidence > 0.9。category 推断时,LLM 还会看到 category prediction model 给出的候选类目列表,只能在候选中选择或缩窄。

数据集构造也很具体。作者从大规模 fashion search query 中抽取 30 个具有 size、age、gender unspecified 问题的 ambiguous queries,再抽取 30 个有足够搜索活动的用户;用户必须在一个 session 中浏览至少 20 个搜索结果页,并且在六个月内参与过不止一次搜索 session。30 个 query 与 30 个用户两两组合,形成 900 个 user-query pair。人工标注时同时参考 user profile、historical queries 和用户在 session 中选择过的 aspect filters。size 允许多标签,gender 和 age 为单标签。

3. 核心技术贡献

第一,论文把个性化搜索的作用点从后排序前移到 query intent 解析。传统个性化搜索通常拿用户画像去 rerank 已召回文档,但如果召回阶段已经因为 boots 被解释成错误性别或年龄段而漏召,重排很难补救。IntentTune 在 QU 输出 unspecified 时就介入,使下游检索任务变得更具体。

第二,论文清楚地区分了 demand signal、static profile 和 dynamic behavior 三类信号,并用同一个任务验证它们的有效性差异。结果显示,全站需求可以解释一部分 age 和 gender,但 historical queries 明显更强;而 profile 属性虽然看起来稳定,却不一定反映当前购买或搜索意图。这个结论对社区场景也成立:用户长期注册信息往往不如最近搜索和点击能解释当下意图。

第三,作者把 LLM 限制在结构化标签空间内使用。模型不是自由生成解释或改写整条 query,而是在明确 intent class、候选 category、历史 query 证据和阈值过滤后的上下文上做受约束推断。这种设计降低了 LLM hallucination 对召回链路的影响,也更容易接入现有 search stack。

第四,论文提供了一套可复现的评估拆分:30 个 query、30 个用户、900 个 pair,并在 age、gender、size 和 category refinement 上分别统计。虽然规模不大,但它把“模糊 query + 用户上下文”的标注问题定义清楚了,适合作为企业内部构建类似 benchmark 的模板。

4. 实验结果分析

论文的核心实验比较 demand-based、profile-based personalization 和 historical-query-based personalization。人工标注数据的分布高度不均衡:age 中 adult 762 个,占 84.67%,unspecified 107 个;gender 中 unspecified 362 个,占 40.22%,male 354 个,female 183 个;size 最稀疏,unspecified 707 个,占 73.72%,剩余尺码长尾分散。因此作者报告 accuracy、weighted precision、weighted recall 和 weighted F1。

维度方法AccuracyWeighted F1关键观察
AgeDemand0.6740.698全站需求能覆盖一部分主流意图
AgeProfile0.6500.687静态属性不如需求信号
AgeHistorical Queries0.8330.816相比 demand,weighted F1 提升约 17%
GenderDemand0.3870.330对较均衡的 gender 任务较弱
GenderProfile0.3870.382profile 也不能有效消歧
GenderHistorical Queries0.7410.726accuracy 接近翻倍,weighted F 分数提升超过 90%
SizeHistorical Queries0.7430.853只评估历史 query 路径,因为需求和 profile 缺少可靠 size 信号

覆盖率结果同样重要。Demand-based 模块能为 77.3% 的 ambiguous queries 预测 age,为 76.56% 预测 gender;historical-query personalization 对 age 的预测覆盖为 90.22%,对 gender 为 75.44%;profile 对 age 为 73.44%,对 gender 为 86.44%。这说明 profile 在某些覆盖率上并不差,但质量不如历史 query。category refinement 部分,historical-query personalization 可以在 68.5% 的候选类目中把 demand 模块给出的多个候选正确缩减到单个类目;另有 10% 被标记为需要进一步 review,说明候选类目集合本身可能缺失或错误。

实验中最有价值的现象是:静态用户属性并不等于搜索意图。一个成年人可能正在搜索儿童鞋,一个女性账号也可能给男性家人购物。历史 query 能捕捉这些临时但强烈的任务上下文,所以对 gender 和 age 的提升最大。作者也明确说本文不是追求 SOTA,而是证明把用户上下文接入 query understanding 可以带来可观收益。

5. 局限与未来方向

作者提出的主要局限有两类。第一,多源上下文会冲突:profile 可能指向 adult,historical queries 指向 kids,用户最近选择的 aspect filters 又指向另一个方向。当前 IntentTune 没有系统解决冲突,只是分别评估 demand、profile 和 historical query。真正上线时需要一个冲突仲裁机制,例如基于时间衰减、意图类型、历史置信度和业务风险来融合。

第二,cold-start 仍然困难。当用户几乎没有历史行为、需求信号稀疏,或者 query 本身是探索式搜索时,IntentTune 缺少可用上下文,无法稳定推断个性化意图。作者还把线上指标留给未来工作,包括 user satisfaction、CTR、engagement 等。另一个论文没有展开的限制是隐私与合规:使用过去一个月搜索 query 作为 LLM prompt,需要严格的数据脱敏、最小化输入和审计,否则很难进入高敏感业务链路。

6. 工业实践意义

对搜索/推荐从业者,IntentTune 的第一条实践建议是:不要只把个性化放在排序层。对于 UGC 短文本搜索,很多低相关结果来自召回前的 query intent 错误;如果能在 query understanding 阶段推断缺失属性、主题或场景,再交给召回模型,后续 nDCG 和 CTR 的上限都会提高。

第二,历史 query 应该被当作高价值上下文,而不是普通 profile 特征。论文中 historical-query path 在 age 上达到 0.833 accuracy、0.816 weighted F1,在 gender 上达到 0.741 accuracy、0.726 weighted F1,明显优于 demand 和 profile。社区产品可以把最近 7-30 天的搜索、点击、收藏和筛选条件转成结构化 intent evidence,用于 query rewrite、召回过滤或生成式解释。

第三,LLM 的工程角色应当受约束。IntentTune 使用内部 LLM 推断标签,但输入里有 class definition、ambiguous query、候选类目和经过置信阈值过滤的历史 query;输出也是 intent assignments。这比让 LLM 直接生成完整搜索 query 更可控,也更容易做离线评估。上线时可以先在低风险类目做 shadow evaluation,监控 unspecified 减少率、类目缩窄正确率、召回覆盖率、CTR 和人工 badcase。

第四,系统需要明确的 fallback。对于冲突上下文和 cold-start 用户,不应强制个性化;可以回退到 demand-based inference 或保留 unspecified,交给多路召回兜底。对 UGC 社区来说,还可以把“个性化意图强度”作为排序特征,而不是硬过滤条件,以避免过度个性化导致新内容探索下降。

← 全部深度解读 出现于报告:2026-07-03 · Personalization #3 (4.30) 原文 ↗