题目重点:根据用户正在输入的片段推断任务意图,处理不确定性、时序偏差、隐私和误触发。
题意与假设
这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。
- 训练版只在当前应用内、用户授权后,处理逐步输入的文本和有限上下文,输出意图分布与可选建议,不自动执行高风险动作。
- 意图层级示例为查找信息、写作、安排日程、修改文档等;这些标签是示范,不宣称原题给了 taxonomy。
- 输入可能只有几个字符,系统必须允许 unknown/暂不建议;未完成文本比最终查询更含糊。
解题路线
- 先定义产品动作和损失:误提示是否打断用户、漏提示是否只是少一次建议;据此设意图置信阈值和多级退出。
- 训练样本按时间截断,只用输入当时已经出现的前缀和允许的上下文,标签取用户后续明确动作或人工标注;不能在训练时偷看完成后的整句再宣称前缀推断准确。
- 候选模型可先用规则/轻量分类器快速估计大类,低置信再调用更重的上下文模型;输出概率校准和 unknown 类,不必每键击都跑大模型。
- 对输入流做 debounce、取消旧推理、版本号阻止过期建议覆盖新输入;上下文权限收紧到当前文档/应用,敏感内容不进跨用户缓存。
- 离线按前缀长度、语言、意图类别和用户群分层看 top-k、校准与误提示;线上衡量建议接受、撤销、打断率、延迟和隐私投诉,保留关闭与反馈入口。
手动走一遍
用户刚打‘约’,可能是约会议、约餐厅,也可能还没成词,模型应保持低置信而不弹日历。用户继续输入‘约明天下午和组里同步’,安排会议概率升高,但仍先显示建议而不是直接发邀请。第二个推理请求比第一个晚完成时,旧版本结果不得覆盖新建议。
规模与取舍
每输入事件分类一次时成本随事件率 E 和模型开销 M 约为 O(EM);debounce 把触发率降到停顿/语义变化频率。上下文截断与缓存可控,但实际设备/服务端延迟预算题目未明确。
易错点与追问
容易失分的边界
- 把输入意图题退化成补全下一个词。
- 训练时用完整最终文本,线上却只有短前缀,产生时间泄漏。
- 低置信时仍自动执行动作,误触发成本高。
- 旧异步预测覆盖新输入状态。
- 跨应用读取输入却没有权限或隐私边界。
继续深挖
- 如何定义 unknown 类和低置信退出阈值?
- 同一句话有多个可能任务时怎样呈现候选?
- 多语言和拼写纠错怎样影响意图识别?
- 本地推理与云推理在隐私和延迟上如何取舍?
