对话系统的介绍
- 1.对话系统
- 2.任务型对话
- 2.1NLU
- 2.1.1实现技术
- 2.2对话管理
- 2.2.1对话状态
- 2.2.2对话策略
- 2.2.3拓展
- 2.3NLG
- 2.4实践上
- 2.5 评价方式
- 3问答型对话
- 3.1基于FAQ库实现
- 3.2基于知识图谱实现
- 3.3基于文档
- 4.闲聊
- 5.传统NLP对话集大成者-微软小冰
- 6.LLM多轮对话
- 6.1常见对话记录方式
- 6.2多轮模型训练方式
- 6.2.1 固定的方式
- 6.2.2 Mask高效训练
- 6.3推理多轮对话
- 7.其他
- 7.1 学术研究方向
- 7.2发展方向
- 7.2.1融入知识库或网络搜集信息
- 7.2.2多模态
- 7.2.3 各类不同人设
1.对话系统
下面是对话系统的简单分类:
2.任务型对话
流程图:
2.1NLU
简介: NLU的部分,可以大体分为意图识别和语义槽填充两个部分组成。意图识别可以是匹配任务,也可以通过分类任务做,如果是对于意图变化频繁的建议,语义匹配
。语义槽可以看做是一个NER的任务。
2.1.1实现技术
意图识别有:
语义槽填充:
联合学习: 即将分类(意图识别) + 序列标注(语义槽填充)共同训练一个模型;类似于知识图谱中的封闭式关系抽取
示意图:
2.2对话管理
2.2.1对话状态
对话状态跟踪: 对话状态是人机对话过程中,用户目标(Goal)的达成状态, 是对于对话现状的一种表示,即作为下一步执行和输出对话内容的一种判断依据。
示例图:
2.2.2对话策略
对话策略: 根据当前的对话状态决定对话策略,对话策略包括:反问获取信息、向用户确认、回答等。
示例图:
2.2.3拓展
简介: 在一个完善的对话系统中,对话的管理要远比上面举例要复杂,对话状态需要拓展多个维度去表示,比如:情绪、目的条件等
,并且,对话状态是作为对话策略的依据来进行的。
为了能够达成良好的对话,需要设置对话矩阵:
2.3NLG
简介: NLG即根据对话状态,和对话策略,生成的与用户对话的内容,这块是可以采用大语言模型的能力直接生成的。
举例:
2.4实践上
简介: 工业界为了满足上线效率,一般使用场景脚本,即基于语义槽和对话树,快速完成任务型机器人搭建;根据语义槽向用户提问;抽取用户信息,执行动作,跳转节点。
对话流程树示例:
2.5 评价方式
简介: 评价的方式可以从多个维度去进行分析,上述内容中的功能层面的内容
新场景迁移效率:指在原有系统中,加入新的场景需要花费的时间
跨场景交互能力:指在对话系统中,允许两个业务的对话切换交叉的过程
人工复杂度:即要实现系统,需要人工标注或者人工干预的工作量
补充: 在对对话系统进行评价时,为了效率,会设计对话模拟器去模拟场景对话,得到评估的结果。而一个对话系统可能是另一个对话系统的对话模拟器。
3问答型对话
3.1基于FAQ库实现
3.2基于知识图谱实现
3.3基于文档
简介: 即根据文档,或者文档中的一个片段,寻找问题的答案;通过输入文本片段和问题,让模型去预测答案在原文中的其实位置。
缺点:
- 这就会导致回答的格式是固定的,因为内容是根据文本截取的。
- 不确定文本中含有正确答案,会导致在实际使用中,如果文本不包含正确答案,也会回答(
这个判断是否有正确答案,也有采用联合学习的方案,训练一个模型即判断是否有正确答案,也标注答案的位置
)
优点: 不用在意需要将文本转为结构化内容。
4.闲聊
实现方式
1、检索式:类似于faq问答,使用语料库进行匹配
2、生成式:类似于翻译,使用seq2seq模型做文本生成,但是比翻译的难度大,因为翻译的逻辑和规律明显比闲聊更加明确。
3、检索 + 生成结合
4、大模型全黑盒处理
5.传统NLP对话集大成者-微软小冰
6.LLM多轮对话
6.1常见对话记录方式
常见的对历史记录的处理方式: 除了下图的处理方式,还有转化为知识图谱的方式。
6.2多轮模型训练方式
6.2.1 固定的方式
6.2.2 Mask高效训练
简介: 通过mask遮挡,前面无法看到后面的对话内容,就可以一次性将完整的句子输入到模型中,进行训练,提高效率。
6.3推理多轮对话
实质: 是将对话历史,按照训练的方式组织成输入,交由大模型输出,比如ChatGLM:
右侧即为输入到大模型中的组织结构,详情可以查看tokenization文件。
7.其他
7.1 学术研究方向
目标: 流畅自然的通用领域的对话;不需要人工参与编辑对话流程。
评价方式:
Sensibleness:是否符合常识逻辑、语句通顺
Specificity:是否对当前上下文是特别的(即不是口水话,应付的话,而是和上下文有价值的点)
Interestingness:是否有趣,引起用户好奇
Response Diversity :回复的多样性
Safety:是否包含偏见、攻击等
Empathetic Response :富有同情心
Groundedness:是否符合事实(有知识)
Helpful:是否正确、是否可用
Role consistency:上下文中的角色一致性
Preferred Response:用户倾向(打分)
7.2发展方向
7.2.1融入知识库或网络搜集信息
7.2.2多模态
交互方式的拓展