全面理解搜索Query:当你在搜索引擎中敲下回车后,发生了什么?

1. 前言

Query理解(QU,Query Understanding),简单来说就是从词法、句法、语义三个层面对query进行结构化解析。这里query从广义上来说涉及的任务比较多,最常见的就是我们在搜索系统中输入的查询词,也可以是FAQ问答或阅读理解中的问句,又或者可以是人机对话中用户的聊天输入。本文主要介绍在搜索中的query理解,会相对系统性地介绍query理解中各个重要模块以及它们之间如何work起来共同为搜索召回及排序模块服务,同时简单总结个人目前了解到业界在各个模块中的一些实现方法。

2. 相关概念

2.1 NLP

自然语言处理(NLP,Natural Language Processing)是集语言学、统计学、计算机科学,人工智能等学科于一体的交叉领域,目标是让计算机能在处理理解人类自然语言的基础上进一步执行结构化输出或语言生成等其他任务,其涉及的基础技术主要有:词法分析、句法分析、语义分析、语用分析、生成模型等。诸如语音识别、机器翻译、QA问答、对话机器人、阅读理解、文本分类聚类等任务都属于NLP的范畴。

这些任务从变换方向上来看,主要可以分为自然语言理解(NLU,Natural Language Understanding)和自然语言生成(NLG,Natural Language Generation)两个方面,其中NLU是指对自然语言进行理解并输出结构化语义信息,而NLG则是多模态内容(图像、语音、视频、结构/半结构/非结构化文本)之间的相互生成转换。

一些任务同时涵盖NLU和NLG,比如对话机器人任务需要在理解用户的对话内容(NLU范畴)基础上进行对话内容生成(NLG范畴),同时为进行多轮对话理解及与用户交互提示这些还需要有对话管理模块(DM,Dialogue Management)等进行协调作出对话控制。本文要介绍的搜索query理解大部分模块属于NLU范畴,而像query改写模块等也会涉及到一些NLG方法。

你可能感兴趣的:(AI人工智能算法解析&落地实践)