搜索 Query 解析
Query 解析 是搜索链路中的关键环节,用于理解用户的查询并为后续处理(如检索和排序)提供清晰的结构化输入。它的核心任务是将用户输入的、非结构化的自然语言查询,转化为搜索引擎系统能够准确理解的结构化语义表示,并提取出多维度的特征信号,为下游的召回和排序模块提供精准的定向支持。
Query 解析是搜索系统理解用户需求的桥梁,其业务目标应当有:
- 准确理解意图,提升检索相关性
- 用户的搜索查询通常短小、口语化、不完整,甚至存在歧义。QP 通过纠错、分词和实体识别等手段,将模糊的潜在意图清晰化,为后续模块提供清晰的方向
- 扩大召回边界与提供排序特征,提高效率
- QP 并不是仅仅为了精确匹配。通过同义词扩展和 Query 改写,QP 能够有效扩大底层文档的召回面;同时,QP 产出的词权重、类目意图等结构化信号,是下游精排模型中极其重要的特征基石
- 容错与个性化引导,降低用户交互成本
- 结合用户的实时上下文(地理位置、时间、历史偏好),QP 可以在用户输入不完美的情况下(如拼音、错字、简写)智能预测并修正需求,大幅减少用户重新输入或翻页的摩擦成本,提升用户体验
- 支撑多模态与复杂交互,赋能高级智能功能
- 在现代搜索引擎中,QP 不再局限于关键词提取,更是触发智能问答(QA)、知识图谱卡片、多轮对话推荐等复杂功能的核心驱动力
在工程架构上,QP 通常是一个由多个 NLP 子模块串联或并联组成的流水线(Pipeline)或有向无环图(DAG)。上游模块的输出往往是下游模块的输入(例如:先进行文本归一化和纠错,再进行分词和改写)。
本章节将详细介绍 QP 中的重点领域:Query 切词、词权重、Query 纠错、Query 改写、类目识别、意图识别(时效性、地域性、用户名意图)等,这几个方向会采用较多的 NLP 知识,是搜索整个流程中和 NLP 技术关联最紧密的领域。
注: 传统的 QP 高度依赖词典匹配、CRF/HMM 统计模型以及基于 BERT 的小模型。而近年来,随着大语言模型(LLM)的爆发,生成式改写、Zero-shot 意图识别正在重塑 QP 的技术栈。