1. Copilot中的意图识别
如果要搭建一个 Copilot 智能助手,比如支持 知识问答、数据分析、智能托管、AIGC 等众多场景或能力,那么最核心的就是基于LLM进行意图识别分发能力,意图识别的准确率直接决定了 Copilot 智能助手的能力上限。
针对丰富且复杂的 query,需要构建足够强的意图识别模型来准确理解 query 背后的意图和深层次的需求,并将其分发至相应的服务模块对 query 进行承接。对此,我们可以通过高质量的数据预处理与增强技术获得大批高质量数据,能够帮助模型学习丰富的语义特征,使其学会识别意图的语义边界,提升意图识别的准确性。
2. 垂域意图识别的挑战
领域封闭性:Copilot智能助手一般都是在特定的业务领域中进行搭建,比如“商家智能助手”,垂域意图范围集中且高度专业化,通用语义模型的泛化能力难以完全满足实际需求,有时意图数量高达几百个且每个都与业务属性密切相关,需要更深的行业语义理解。
语义边界模糊:多种意图之间具有高度相关性(或相似性),意图的语义边界不够清晰。
3. 数据驱动方法论
可以回顾一下,在日常的算法工作中,经常会遇到两类需求:
- 规则化:要求模型必须做什么,必须不能做什么。针对这种需求,简单且有效的方法是将规则写入 prompt,让模型遵循硬规则的指令,或者调用函数工具,处理成符合硬规则的结果。
- 表现力:要求模型提升某种表现力,但这种表现力较为复杂,难以被简单的规则所描述。例如意图识别就是一种表现力,哪些query应该被分配到哪些意图是难以被简单的硬规则所描述的。而实践证明针对这种表现力的需求,最佳实践是数据驱动。
数据驱动实际上是一种思维方式,它告诉我们大部分问题无法通过类似if-else的方法映射地去解决,而是需要 Case-Based Learning,让模型学习通过大量高质量样本学习到能力。这也是大模型和 ImageNet 共通的构建思路。
2006 年,计算机视觉研究仍然是一个缺乏资金,且很少收到外界关注的学科。许多研究人员专注于构建更好的算法。他们坚信,算法是计算机视觉的中心,如果把机器智能与生物智能做类比,那么算法就相当于机器的突触,或者说是大脑中错综复杂的神经回路。有什么比让这些回路变得更好、更快、更强大还要重要的呢?
但李飞飞并不这么认为。彼时,她刚刚获得加州理工大学的博士学位,在伊利诺伊大学厄巴纳-香槟分校担任助理教授的职位。在攻读博士期间,李飞飞意识到了这种研究思路的局限性:如果训练算法的数据不能很好地反映现实世界,那么即使是最好的算法也无法很好地完成工作。
李飞飞的想法是:构建一个能够完全反映真实世界的数据集。
因此,做好意图识别的第一步就是构建一个能够尽可能反映真实世界的意图语义的数据集,特别是各个意图语义的边界,来让模型准确区分意图。此外,这个数据集还需要支持快速的意图迭代节奏,能够保持意图准确的情况下,根据意图迭代点及时变化意图分布,刻画新的意图边界。
3.1 数据增强
通用LLM说在垂域的意图识别数据上的泛化性并不强,本质上是原因是样