以下是关于意图识别的全面介绍:
意图识别在自然语言处理领域是常见话题,随着大型模型兴起,其在智能体的 Brain 模块中承担主要工作。
意图识别的定义:当用户输入指令,通过感知模块传递到 Brain 模块,Brain 模块对其做出反应,本质上是一种分类任务,区分用户具体意图,在单一或多智能体系统中都至关重要。
通过常见智能助手如 Siri、小爱同学的例子可更直观理解。
在 AI 搜索中,意图识别的关键作用包括对用户提问进行分类,如导航类(如搜索“ThinkAny”为打开官网)、信息查询类(如搜索“什么是 AI 搜索引擎”为了解行业)、交易类(如搜索“笔记本电脑”为购买)、本地信息类(如搜索“附近的烤肉店”为找附近餐馆)等,还存在其他分类和多级子分类,但面临枚举无法穷尽的问题。
对搜索意图分类可匹配更准的信息源和更好的回复提示词,提升检索召回率,保证搜索结果个性化。目前主流实现方案主要通过提示词请求大模型完成识别,但准确度不够高,大模型的 Function Calling 能力也可理解为一种意图识别。
在提示词中使用意图分类的理论依据是人工智能的意图识别理论,其核心观点包括通过自然语言处理技术从用户查询中识别目的或需求,考虑上下文理解以更全面理解意图,将识别出的意图分类并与预定义指令或操作匹配执行相应任务。具体步骤包括定义意图类别、分析用户输入、进行意图分类和执行相应操作。
尽管意图识别在自然语言处理领域已经是一个被广泛讨论的话题,我们也已经通过各种规模较小的模型来处理这一任务。然而,随着大型模型的兴起,尤其是当这些大型模型被用作智能体的Brain模块时,它们在意图识别方面承担了主要工作任务。[heading3]6.1意图识别定义[content]那么,什么是意图识别呢?当用户输入指令,这些指令通过感知模块传递到Brain模块,Brain模块需要对这些指令做出反应。这个过程在本质上是一种分类任务,即识别并区分用户的具体意图。无论是在单一智能体架构还是复杂的多智能体系统中,意图识别都扮演着至关重要的角色。让我们通过一些具体的例子来更直观地理解意图识别。比如我们常用的Siri、小爱同学,以及其他手机品牌搭载的智能助手。当我们向它们发出指令时,它们能够做出相应的反应。在这个过程中,意图识别起到了关键作用。具体来说,大型模型在执行意图识别任务时,主要是基于前期通过大量数据训练得到的模型。这可以是专门针对意图识别任务训练的大型模型,也可以是通过在特定任务中进行微调来优化的模型。通过微调,可以使模型更好地适应特定领域的任务需求。
第一种方案会有枚举无法穷尽的问题,第二种方案主要问题在于大模型的识别准确度不够高。意图识别另一个关键作用,是对用户提问进行分类,比如可以把用户的搜索意图分为:导航类:用户希望找到特定的网站或网页。例如:搜索“ThinkAny”,是为了打开ThinkAny官网;信息查询类:用户希望找到某个问题的答案或关于某个事物的详细信息。例如:搜索“什么是AI搜索引擎”,是为了了解这类产品或这个行业;交易类:用户希望进行某种交易。例如:搜索“笔记本电脑”是为了找到电脑相关的产品信息和价格信息,并进入推荐的电商网站购买。本地信息类:用户希望根据特定地理位置查找本地信息。例如:搜索“附近的烤肉店”是为了找到附近的餐馆。还有其他一些分类,包括多级子分类。照样面临枚举无法穷尽的问题。对搜索意图进行分类,可以匹配更准的信息源和更好的回复提示词。比如搜索“笔记本电脑”,如果能提取出一个“shopping”意图,就可以挂载亚马逊/淘宝/京东等电商平台的信息源进行更小范围内的搜索,召回的信息会更加精准。同时也可以加载跟此类搜索意图匹配的提示词模板,来控制搜索后的大模型回答内容。意图分类是搜索前一个非常关键的步骤,可以很大程度提升检索召回率,通过不同的提示词模板总结输出,保证了搜索结果的个性化。目前主流的实现方案,主要是通过提示词,请求大模型完成识别。不管是成熟的大模型,还是微调的小模型,准确度都不够高。大模型提供的Function Calling能力也可以理解为一种意图识别。1.问题改写Query Rewrite
理论依据:人工智能-意图识别理论意图识别理论是人工智能领域中研究如何理解用户输入的意图并据此执行相应操作的理论,通过分析用户的语言表达,可以识别出其背后的意图,并据此提供更加精准的服务或响应。意图识别理论的核心观点:意图识别:通过自然语言处理技术,从用户的查询中识别出其目的或需求。上下文理解:考虑用户的语言、情境和历史交互,以更全面地理解意图。分类与匹配:将识别出的意图分类,并与预定义的指令或操作进行匹配,以执行相应的任务。在提示词中使用意图分类,用户可以更直接地表达自己的需求,模型提供更加精准和个性化的服务。具体步骤包括:1.定义意图类别:根据应用场景,定义一系列可能的意图类别,如查询信息、请求操作、寻求建议等。2.分析用户输入:分析输入文本,提取关键词和语义信息。3.意图分类:根据分析结果,将输入归类到相应的意图类别中。4.执行相应操作:一旦识别出用户的意图,模型即执行与该意图相关联的操作或提供相应的信息。