本文深入剖析了大模型在智能营销中的创新应用,特别是在产品推荐中的实践。通过描述多轮对话的构建过程,向读者展示了大模型如何助力智能营销在企业场景下的落地。诚挚推荐读者深入阅读,以获取这一前沿技术带来的深刻洞见和实践启示。
从用户的需求出发,在整个智能营销的场景中,用户通过在移动端App中跟“智能营销小助”进行交互获得用户反馈。“智能营销小助”当前能够支持的功能有:企业信息查询、企业问答、专线产品推荐等。基于多轮对话的营销产品推荐指用户以多轮对话的形式与“智能营销小助”发起对话聊天,“小助”基于用户输入的内容实时地回复输出营销产品内容。
(一)整体方案
下图是营销场景下任务型的多轮对话系统设计流图。
图1:大模型驱动多轮对话方案设计流图
(二)子模块设计
(1)意图类别、数量、含义或常见描述
首先告诉大模型意图的类别数量及每个意图对应的含义或常见描述,方便大模型理解这些意图类别。以下列出意图识别的部分prompt:
“您是一个意图识别算法专家,在多轮对话的场景中我将向您提供一些用户和智能营销助手的历史对话内容以及用户在新一轮的输入。针对我向您提供的用户在新一轮的输入,请您执行意图识别任务。为了完成上述目标,请按照下面的过程,一步一步思考后完成: 1. \n1、首先需要先理解候选的意图信息共有如下{}个类别,每个意图的含义或常见描述如下:\n{}\n2、然后,xxx”
(2)few shot少样本学习
大模型具备强大的少样本学习能力,通过在prompt中引入few shot少样本可有效提高大模型在意图识别分类任务中的能力。例如:
“2. 然后,观察以下意图识别分类案例,学习意图识别分类任务的能力:\n{}\n”
(3)特定准则重点说明
在意图识别场景中,针对有些“顽固”的case,可以通过在prompt中引入特定的识别准则来重点说明。例如:
“3. 其次,理解用户在新一轮的输入内容,然后在候选意图选项中找到相应的意图类别。意图识别前,请重点学习并记住以下识别准则:\n{}\n”
(4)规则识别和意图融合
利用规则识别意图,更多的需要根据意图的类别特征定制化的设计。营销场景中的意图类别具备较强的特征信号,比较符合规则识别特点。
另一种方法则是对用户的输入进行意图识别,通过意图识别的结果来判断用户的意图相对于历史上一轮意图是否发生跳变。在实现中考虑到业务需求的特殊性,采用第二种方案。用户意图发生跳变后,系统将基于用户最新的意图开始新一轮的对话,会话初始状态同步更新。
除上述方法外,意图跳变模块还可以通过更细颗粒的策略来实现,例如:设置一个阈值,如果发现与当前意图不匹配的槽位数量超过阈值时或用户意图明确发生跳变的次数超过阈值,则触发意图矫正流程。在接下来的模块中,系统可以主动与用户确认:"根据您提供的信息,我猜测您是想xx,是这样的吗?"。如果用户确认了,就将意图更新为正确的意图;否则保持原意图不变。
4. 生成回复内容
该部分重点描述如何利用大模型生成内容回复。考虑该对话系统主要服务于智能营销的产品推荐场景,将生成内容回复的大模型prompt设计如下:
图2:对话系统生成回复内容Prompt构成图
5. 对话管理
从业务需求的角度看,该多轮对话系统建模为面向任务型的对话且应用场景较为聚焦,所以在对话管理的设计上则采用更加轻量化的设计。对话管理主要包括:初始会话状态管理、上下轮对话意图跟踪、历史槽位记录、追问槽位选择、会话状态重置等几个模块。初始会话状态指的是用户发起初始会话或用户意图发生跳转后的会话状态,该状态会记录下用户的意图并仅在上述两种情况下更新初始意图;上下轮对话意图跟踪指系统会跟踪每一轮的用户意图,只有上下文的意图没有发生跳变的情况下,系统才会判断是否需要执行问题追问;为避免已被追问过的槽位被再次追问,追问槽位选择模块会记录下每一轮及过往历史追问过的槽位值,避免相同槽位或问题被二次追问;会话状态重置的作用是当用户结束会话或会话超时自动结束后,对话系统的会话状态会被重置为初始状态,等待用户发起新一轮的对话话题。
6. 会话结束模块
常见的结束对话的方法有:
• 基于用户的输入意图来结束会话:如果用户输入了明确需要结束会话的意图则系统会自动关闭当前会话;
• 通过结束按钮结束会话。“营销助手APP”的前端页面可以设计“结束会话”的按钮,如果用户点击了该按钮则自动关闭当前会话;
• 设定结束会话的等待阈值。系统可设定一个时间阈值(例如1800秒),从用户最后一轮输入的内容开始统计等待时间且从此以后用户一直没有新的会话内容输入,系统等待时间超过阈值则自动结束当前会话。上述方案可在具体场景中按需选择。
以下搭建了简单测试页面用于内部测试使用(非上线页面):
图3:对话系统前端页面效果展示图
从上述页面展示的对话过程中可知,对话系统可准确识别用户的意图并针对用户的上网需求生成准确的产品推荐、营销话术和关联推荐。同时,会有意识的向用户提问更细颗粒度的上网需求。
本部分重点分享在开发与设计任务型对话系统的关键经验:
大语言模型天然具备多轮对话的优势,并且国内的多个厂商都已开始将大模型多轮对话替换掉原来的智能客服、智能助手、自动填单等应用。未来,我们期待多轮对对话能够获得更大的突破:
• 更完善的基于agent多轮对话开源框架:尽管多agent已经在多轮对话中有所尝试,我们依然期待未来更加完善的多轮对话开源框架的出现;
• 更完备的多轮对话周边工具:大模型的出现可高效的解决现有多轮对话中的关键算法节点,但要支持更加开放的问题回复需要更多完备的周边工具来支持。我们希望看到一些新的开源工具或组件的出现能够有效解决多轮对话的周边问题。
[1] OpenAI: A Survey of Techniques for Maximizing LLM Performance,2023
[2] Zihao YI: A Survey on Recent Advances in LLM-Based Multi-turn Dialogue Systems,2024
[3] Hongru Wang: A Survey of the Evolution of Language Model-Based Dialogue Systems 2015
[4] MinlieHuang: Challenges in Building Intelligent Open-domain Dialog Systems,2020
[5] Hongru, Wang: Cue-CoT: Chain-of-thought Prompting for Responding to In-depth Dialogue Questions with LLMs 2023
[6] Hongru Wang: Large Language Models as Source Planner for Personalized Knowledge-grounded Dialogues, 2023
[7] 如何借助 LLM 设计和实现任务型对话agent https://cloud.tencent.com/developer/article/2408175