- 2025-04-13
-
回复了主题帖:
《智能聊天机器人技术内幕:探索人机对话的微观世界》-人机对话系统架构
Jacktang 发表于 2025-4-13 15:15
聊天机器人技术内幕以前感觉很神秘,现在感觉就是一个智能体啦
是的,可以说是关系紧密!智能体能够感知环境变化、自主学习和持续进化,根据自身知识进行决策,智能体在人工智能领域广泛应用。
- 2025-04-12
-
回复了主题帖:
《智能聊天机器人技术内幕:探索人机对话的微观世界》-阅读分享总结
秦天qintian0303 发表于 2025-4-12 11:20
比较传统的基于规则的分类路线这种太固化了
是的,而且扩展维护起来都是比较耗费人力和时间的。
-
发表了主题帖:
《智能聊天机器人技术内幕:探索人机对话的微观世界》-阅读分享总结
本帖最后由 ljg2np 于 2025-4-12 08:01 编辑
本文对该书的阅读分享做一个简单的总结。
一.知识总结与心得体会
知识总结:
①在宏观层面上:人机对话系统的四层架构,以及核心部分服务层的基本组成;
②在微观层面上:自然语言理解(NLU)、会话状态追踪(DST)、会话策略学习(DPL)、自然语言生成(NLG);
③背景基础知识:书中最后3章,提供了人机对话的基础技术内容,如必备算法、模型训练与服务化以及ChatGPT对人机对话影响的相关介绍。
心得体会:
人机对话是人工智能技术体系中一个很重要的分支领域,通过对该书的阅读学习,使我对智能聊天机器人人机对话系统的总体设计和内部实现过程有了认识,其中基于场景的设计思想,作为业务背景知识是人机对话系统开展的推动力,即书中对于人机对话微观世界的把控与阐释,尤其是不同场景应答策略的设计与实现方法,给人留下深刻的印象;书中基于分类实现的内容,很大程度上采用两条路线进行,一条是比较传统的基于规则的分类路线,一条是基于深度学习的分类路线,人工智能领域里面的机器学习和深度学习技术在书中的各个具体部分都有所体现,在ChatGPT的推动下,在总体上基于大模型的人机对话生成技术给智能机器人领域带来了新的机遇和挑战。
二.阅读分享汇总
对此期间发布的该书的阅读分享贴,作一个简单的汇总,如下:
①《智能聊天机器人技术内幕:探索人机对话的微观世界》-书籍概览
②《智能聊天机器人技术内幕:探索人机对话的微观世界》-人机对话系统架构
③《智能聊天机器人技术内幕:探索人机对话的微观世界》-自然语言理解(NLU)
④《智能聊天机器人技术内幕:探索人机对话的微观世界》-会话状态追踪(DST)
⑤《智能聊天机器人技术内幕:探索人机对话的微观世界》-会话策略学习(DPL)
⑥《智能聊天机器人技术内幕:探索人机对话的微观世界》-自然语言生成(NLG)
⑦《智能聊天机器人技术内幕:探索人机对话的微观世界》-阅读分享总结
供大家参考。
-
发表了主题帖:
《智能聊天机器人技术内幕:探索人机对话的微观世界》-自然语言生成(NLG)
本帖最后由 ljg2np 于 2025-4-12 07:23 编辑
本文对书中讲述的自然语言生成(NLG)这部分内容做阅读分享。
自然语言生成(NLG)是整个人机对话架构中的最后一个环节,主要负责将对话管理按照应答策略处理的结果转化为用户可以理解的答案形式,书中用一章的篇幅对其核心内容进行了讲述。
一.答案生成模块
答案生成的目的:将经过不同应答管理DPL处理后的结果转化为用户可以理解的答案形式,这一过程确保生成的答案能够与用户进行有效的交流和理解。
通过答案生成,系统将经过处理和分析的信息转换为符合自然语言习惯的回答,从而提供有意义的输出。
答案生成过程包含六个步骤:
①内容确定,确定构建文本时应该包含哪些信息,以及不包含哪些信息。
②文本结构,合理地组织文本的顺序,以传达确定的信息。
③句子聚合,将信息合并到一个或多个句子中,以便更加流畅和易于阅读。
④语法化,当每个句子的内容确定后,系统将这些信息组织成自然语言,涉及在信息之间添加连接词,使其看起来更像是一个完整的句子。
⑤参考表达式生成,需要识别出内容的领域,并使用该领域的词汇,而不是其他领域的词汇。
⑥语言实现,组合起来形成一个结构良好的完整句子。
这六个步骤是一种通用的答案生成过程框架,用于描述答案生成流程。
二.答案生成方法
书中给出了三种常用的答案生成方法,具体的答案生成方法可以根据应用场景选择性地使用。
1.基于固定文本的答案生成
基于固定文本的答案生成是指生成的答案是预先编写好的、固定不变的文本答案,它适用于那些问题和回答相对固定且预先定义好的场景。固定文本答案可以是短语、句子或段落的形式。
固定文本答案的优点:精确性高、可控性强、用户体验好;缺点是缺乏灵活性,不能根据具体情境进行动态调整,无法适应动态的结果。
2.基于模板的答案生成
基于模板的答案生成是一种策略,它利用预定义的模板将生成的答案与模板进行结合,以生成最终的应答答案。这种方法适用于一些具有固定格式的回答,并能够确保回答符合预期。
基于模板的答案生成策略的优点:确保回答的准确性、有一定的灵活性;缺点是模板需要提前设计和定义,难以应对复杂或多样化的问题,另外生成的答案较为呆板,缺少拟人化的特征。
3.基于生成模型的答案生成
基于生成模型的答案生成是一种利用生成式模型生成答案的策略。在这种方法中,机器人使用生成式模型来生成可能的答案,然后从生成的答案中选择最适合的一个或多个返回给用户。
生成模型的核心思想是学习语言的概率分布 ,并基于这些概率分布生成文本,在生成模型中,训练过程的目标是最大化生成文本的概率。
生成模型有多种实现方式,包括:递归神经网络(RNN)和预训练模型。
递归神经网络是一种经典的生成模型,适用于处理序列数据,它通过循环连接来捕捉序列中的上下文信息,并生成逐个词语的输出。
预训练模型是使用大规模文本数据进行预训练的语言模型,这些模型通过无监督学习从大量文本数据中学习语言的统计规律和语义信息,并可以用于生成自然语言文本。在实际应用中,可以通过微调这些训练模型来适应特定的生成任务,使其文本更贴合具体领域或应用场景。
生成模型基于概率选择最有可能的候选结果,会导致生成模型生成的结果相对固定,为了保证返回结果在相对准确的情况下提升多样性,书中介绍了实现这种平衡的三种手段,包括:
①TOP-K采样,是一种选择性生成的方法,这种方法只从模型预测的最高概率的前K个候选词中进行采样。
②TOP-P动态采样,为了增加生成结果的多样性,给定一个概率阈值P,从候选词集合中选择一个最小集,使得它们出现的概率和大于P。
③温度参数调节,使用一个温度参数来控制生成结果的多样性,温度参数通常在0.1~5之间,较高的温度值(大于1)会增加生成结果的多样性,较低的温度值(小于1)会减少生成结果的多样性,使生成结果更加准确和确定。
三.基于标签的答案选择
在使用基于固定文本或者模板方式生成答案时,为了增加生成答案的多样性,可以通过给答案打上标签,根据用户的提问方式和终端设备等特点,动态地选择最合适的答案形式进行呈现。
为了避免机械性的回答,可以采用随机策略来丰富回应用户的方式。通过引入随机性,机器人在相同的语义问题上提供多样化的回答,从而增加对话的趣味性和交互性。这种丰富性可以通过给答案模板配置不同的答案标签来实现。
针对PC端和移动端等不同终端,机器人可能根据屏幕大小和布局的差异,调整回答的格式和排版。
不同终端设备支持的交互方式不同,机器人的处理方式也可能是不同的。
不同终端设备可能具有特定的功能或限制,机器人可以根据不同的终端类型来利用这些功能提供更精准的答案。
用户通过语音方式向机器人提出具有相同语义的问题时,由于其交互方式相对较少,这种情况下的语音答案会更加注重清晰度和简洁性,以确保用户能准确理解并满足其需求。
对于不同终端(PC端、移动端)及多种交互方式(文本、语音等)的情况下,以信用卡为例,书中给出了实现答案多样化的多终端与多标签配置,如下图所示。
四.答案决策
答案决策指当整个应答系统的多个模块同时输出答案结果时,如何选择最终答案返回给用户。
机器人按照应答类型给出对应的答案,但是在最终给用户推送时,机器人不会全部进行推送,而是通过某种策略推送某一种或者组合多种应答模块输出的答案。
可以通过答案选择策略来选择推送给用户的答案形式,包括:
①基于优先级的答案决策策略,如下图所示:
②基于优先级加组合的答案决策策略,如下图所示:
五.结语
通过对自然语言生成(NLG)这部分内容的学习,了解了答案生成模块的过程框架、答案生成实现方法,以及基于标签的答案选择策略,核心内容主要围绕着随机策略展开,用来增加对话的趣味性,丰富人机交互的多样性。
- 2025-04-11
-
回复了主题帖:
人形机器人 | 人形机器人中的电机控制
最好再考虑局部的无线通讯网络作为补充在里面,就像电影里钢铁侠那样的,如影随形{:1_113:}
- 2025-04-09
-
发表了主题帖:
《智能聊天机器人技术内幕:探索人机对话的微观世界》-会话状态追踪(DST)
本帖最后由 ljg2np 于 2025-4-9 16:47 编辑
对话管理(DM)分为会话状态追踪(DST)和会话策略学习(DPL)两个部分。
本文对书中讲述的在整个人机对话系统中关于会话状态追踪(DST)的学习内容进行阅读分享。
一.DST定义
1.基本概念
“会话”是一段时间内用户与机器人从咨询开始到咨询结束的一段完整交互。
“对话”是用户和机器人的一次问答(即一问一答)。
通常情况下,一个会话包含若干个对话。
会话状态是一种包含0时刻到t时刻的对话、对话历史、用户目标、用户信息、意图、领域、槽值对等的数据结构。
会话状态可以认为是整个会话的上下文信息。下图展示了会话状态在时序上的表达,当一个会话开启后,用户和机器人不停地进行问答交换,其DST会不断跟随时序的前进而迭代跟踪。
2.不同应答类型下的DST
人机对话系统按照应答类型分为:任务型、问答型、推荐型和闲聊型。在不同类型的人机对话系统中,对话管理(DM)也是不相同的。
任务型应答引擎:DM是在NLU(领域分类和意图识别、槽填充等)的基础上,进行对话状态的追踪以及对话策略的学习,以便NLG阶段答案决策、引导用户、反问、确认、对话结束语等。
问答型应答引擎:DM是在问句的类型识别与分类的基础上,进行文本的检索以及知识的匹配,以便NLG阶段生成用户想要的文本片段或知识库实体。
推荐型应答引擎:DM是进行用户兴趣的匹配以及推荐内容评分、排序和筛选等,以便NLG阶段生成更好的给用户推荐的内容。
闲聊型应答引擎:DM是对上下文进行序列建模、对候选回复进行评分、排序和筛选等,以便NLG阶段生成更好的回复。
总体来看,会话状态是对当前对话和整个对话历史的累积语义表示,DST主要用于维护用户信息及会话状态,提供会话状态数据给之后的会话策略学习(DPL)阶段学习策略。
二.DST构造
1.DST结构
DST结构包括:用户基本信息、当前对话信息、历史对话信息。综合型人机交互系统中的DST结构如下图所示。
用户基本信息,一般包括用户账户ID和用户属性。
当前对话信息的简单要素:对话ID、会话ID、终端类型、机器人Code、对话类型、时间戳。
①对话ID,用于表示一个一问一答的ChatRecord唯一标识。
②会话ID,用于标识从咨询开始到咨询结束这一系列对话的标识符。
③终端类型,指用户和机器人交互的时候使用的客户端类型。
④机器人Code,用于对机器人进行标识。
⑤对话类型,包括“正常应答”、“开头”、“结束”、“补全”、“反馈”、“任意话术”六种类型。
⑥时间戳,指对话的一问一答中发出问题的时间。
当前对话信息的复杂要素:NLU信息、问句信息、答案信息、场景信息。
①NLU信息,包含语言理解方面的信息,包括:开放/垂直分类、意图分类、领域分类、上文领域、上文意图、领域识别结果列表、意图识别结果列表、FAQ结果列表、问句类型结果、分词/词性/实体识别、拼音列表、音调列表、用户情绪、用户继承信息。
②问句信息,包括:原始问句、复合问句、中间临时处理问句、最终处理问句、问句形式。
③答案信息,包括:答案类型、是否邀评、转人工信息、答案列表。
④场景信息,包括:场景业务ID、场景子意图信息、槽位信息、场景变量信息、触发方式、场景流程状态(开始\结束\异常等)、流程ID、流程实例ID。
历史对话信息,采用由多个对话记录(ChatRecord)构成的列表结构,将用户在会话中不同时间点的全部对话记录(ChatRecord)按照时间线存储起来,形成一个历史对话链。
2.DST存储
DST数据在整个人机对话过程中使用频繁,且只需在用户对话期留存,因此一般将用户基本信息和历史对话信息存储在高速缓存中,当前对话信息存储在机器节点内存中,待对话完成后,再将当前对话作为最近发生的对话信息从内存更新到缓存中。
如在Redis、Memcached中以Key-Value形式存储,设置过期时间为12小时。如下图所示,可以看出DST主要与当前用户及当前会话有关,存取DST需要用户ID和会话ID。
三.结语
通过对第4章DST内容的学习,可以看到:
1.针对人机对话的不同应答类型,用于维护用户信息及会话状态的DST也相应有所变化;
2. DST作为人机对话的信息载体,其结构的组成分类比较固定,但是其中对话信息要素里涉及语言理解的细项内容还是比较多的,正如书中所说,这些内容构成了DST的微观世界。
-
回复了主题帖:
《智能聊天机器人技术内幕:探索人机对话的微观世界》-自然语言理解(NLU)
libin1045 发表于 2025-4-8 21:55
感谢楼主分享新知识。未来的趋势,需要了解掌握!
共同学习,一起进步,未来可期,加油:)
- 2025-04-08
-
发表了主题帖:
《智能聊天机器人技术内幕:探索人机对话的微观世界》-自然语言理解(NLU)
本帖最后由 ljg2np 于 2025-4-8 20:02 编辑
自然语言理解(NLU)是人机对话系统业务架构组成之一,主要是对人机交互过程中产生的对话进行语义理解,从而为后续的会话管理(DM)做准备。
一.用户问题预处理
在实际场景中用户的问题可能包括各种类型,需要对用户问题进行预处理操作,将用户的问题进行文本层面的加工和转换,为后续的算法模型或应答策略做数据准备。主要包括:问题类型处理、分词处理、停用词处理等。
问题类型处理,人机交互呈现多模态特点,将多模态转换为文本形式再进行统一处理。
语音类型问题处理,通过自动语言识别技术(ASR)将用户的语音转换为文字形式。
表情处理,将对应的表情转换为文字来让人机对话系统可以理解用户的表述。
图片处理,根据具体场景使用图像识别技术来提取用户图片的内容并将其转换为对应的文字。
分词处理,在处理中文文本时,需要进行分词处理,将句子转为词的表示,需要通过中文分词技术处理来完成。分词方式包括:
①基于词典匹配,按照一定的策略将待分析的汉字串与机器词典中的词条进行匹配,匹配成功则按照词典的词分词。优点是简单高效,缺点是需要独立维护词典,受限于词典收录词条,无法考虑上下文语义对分词的影响。
②基于统计方式,对分析样本中相邻共现的各个字的组合频度进行统计,计算它们结合的紧密程度,当紧密程度高于阈值,认为此字组构成一个词。常见模型有HMM和CRF。优点是不需要单独维护词典,缺点是依赖语料质量,对于共现频度高但无法组成词语的字的组合会识别异常。
③基于深度学习,通过构建复杂而精细的神经网络模型,自动学习数据中的内在规律和特征,深度学习模型可以在分词任务中捕捉字符或词语之间的深层次关联和依赖关系,实现更加准确和高效的分词。
循环神经网络(RNN)和长短期记忆网络(LSTM)模型,能够处理变长序列数据,通过循环连接,使模型能够利用上下文信息来辅助分词决策。
卷积神经网络(CNN)通过卷积运算提取文本中的局部特征,并通过池化操作进行特征选择,能够有效处理文本数据,在分词任务中展现出良好的性能。
条件随机场(CRF)通过建立概率模型对序列进行分类或标注,提高了分词的准确率。
停用词处理,把低信息量的词语过滤掉,留下高信息量的词语。
选择停用词的思路:当某类词适用于所有类型的文本时,可以考虑去掉,即停用在所有类型的文本出现概率都很高的词;如果词语的字面意思无意义,但对类型识别有帮助,可以考虑保留。
二.NLU语义挖掘
影响语义挖掘的噪声和干扰通过用户问题预处理基本被去除,对用户问题的语义挖掘通常与应用场景有关,常用的语义挖掘信息包括:实体信息、情感信息、意图信息、领域信息、开放/垂直领域信息等。
实体信息,指文本中具有特定意义的词语,如人名、地名、机构名、数量、货币、专有名词等。
识别实体信息的方法,包括:
①基于统计的方法,CRF模型能够综合考虑上下文信息,通过计算相邻字之间的转移概率以及字与标签之间的发射概率,来推断最可能的标签序列进行词汇的划分,能够准确地识别出文本中的词汇,经常被广泛地使用。
②基于深度学习的方法,深度学习模型通过构建复杂的神经网络结构,捕捉词汇、语法、语义等多个层面的信息,实现对实体的精确识别。
情感信息,获取情感信息对于用户体验有较大影响,在语义挖掘中分析情感结果对后续的应答模块起到辅助决策的作用。
情感信息可分为两类:①情绪的粗分类,包括正面情绪、负面情绪、中性情绪;②情绪细分类,包括开心、焦虑、生气、难过、害怕、失落、其他。
获取情感信息的方式,包括:
①基于规则的情绪识别方式
通过词典来实现,每个词典的分数通过标注或训练得到,用分数范围来表示情绪的粗分类,对用户问题的分词结果赋予词典中对应的分数,把各项得分相加来判断用户的情绪;对于情绪的细分类可以通过扩展打分维度来类似实现,只是对情绪词表的维护提出更高的要求了。
②基于机器学习的情绪分析
常用的情绪分析机器学习方法有朴素贝叶斯、支持向量机(SVM)等。
目前用于情绪分析的深度学习技术,有word2vec、CNN、RNN、LSTM、BERT等。
CNN进行情绪识别过程,包括:
①输入层,将需要识别的句子转换为需要参数输入模型;
②卷积层,负责保留文字特征;
③池化层,用来降低参数量级;
④全连接层与输出层,类似传统神经网络,用来输出想要的结果。
意图信息,意图对应用户在某个领域中想要表达的中心诉求。
意图识别的两种方式:
①基于模板匹配的方式,模板是一类用抽象的语言表述的规则,用于描述某一个或某一类特定表达方式,模板可以用于识别用户的意图,优点是方法简单,缺点是维护成本较高。
②基于深度学习分类算法,通过使用深度学习的分类算法解决意图分类与识别。
领域信息,领域是指同一类型的数据或资源,以及围绕数据或资源提供的服务。
识别用户问题领域的两种方式:
①基于规则的关键字,通过提供划分好领域分类的关键词词表来匹配用户的问题,优点是方法灵活简单,缺点是需要人工列举大量词语且没有泛化能力,无法结合用户的完整表述信息。
②基于深度学习分类算法,通过使用深度学习的分类算法解决领域分类。
开放/垂直领域信息,本质上是分类问题,可以通过规则的方式来进行分类,如提供业务词表、通过词表匹配的方式,含有业务词的领域是垂直领域否则是开放领域;基于深度学习的方式,同样可以进行开放/垂直领域信息的识别与分类。
三.语义继承与澄清
在实际对话中,用户单次与机器人交互的问题可能会缺失部分语义信息,需要尝试获取用户缺失的语义。用户缺失语义获取方式,包括:
①语义继承,通过继承上文的语义信息来完成对上文语义的结合,使用继承策略时,通过采用会话片段的方式来避免语义脱节,对于跨会话片段不继承上文实体,如下图所示。
②语义澄清,用户问题的领域与意图信息对机器人的回答质量是关键因素,当用户问题没有领域或意图同时从上文无法继承时,或者问题中出现多个领域或意图的情况时,需要触发澄清话术让用户补全对应的领域或者意图。
只有领域且上文无法继承意图的情况时,可以发送澄清话术让用户补全意图,较好的方式是推荐意图的方式让用户选择可能的意图,推荐的意图可以结合用户最近在该领域常问的意图或该领域近期的热门意图;当用户问题只有意图且上文无法继承领域的情况时,可采用类似策略。
用户问题出现多个领域或意图时,可以根据识别情况让用户进行选择确认还是直接应答,一种策略是通过模型得分的值来判断是否需要用户确认。
四.结语
自然语言理解(NLU)主要包括用户问题的预处理和语义挖掘两大核心内容;预处理去除噪声和干扰为语义挖掘做好数据准备,语义挖掘的本质是分类问题,因此采用的方法大都可以分为基于规则和基于深度学习两种方式来进行处理;语义继承与澄清是对语义挖掘在上下文交互过程中的进一步补充和确认,书中还提到了继承和澄清过程中采取的应对策略。
-
发表了主题帖:
《智能聊天机器人技术内幕:探索人机对话的微观世界》-人机对话系统架构
本帖最后由 ljg2np 于 2025-4-8 16:31 编辑
本文对书中第2章“人机对话系统的架构”进行阅读分享。
一.综述
综合人机对话系统的总体技术架构,包括:展现层、网关层、服务层、基础设施层。架构图如下图所示。
1.展现层,可理解为用户终端,用户通过PC或者手机终端来和机器人交流,程序打包成SDK或者API供第三方接入使用,“后台管理”模块供运营机器人的员工使用。
2.网关层,主要负责接受请求,并提供中介策略(如权限认证、流量管理、协议转换、请求路由)、安全策略、API接入管理、负载均衡等功能。
3.服务层,是整个人机对话系统的核心,提供应答服务、配置管理、统计分析与监控、模型服务等模块,这些模块构成了搭建机器人的基础能力。
4.基础设施层,提供运维层面的基础设施和支撑服务层的基础能力,包括云服务、中间件、存储、网络等最基本的要素。
二.服务层详述
服务层构成了搭建机器人的基础能力,是人机对话系统的核心内容,主要包括:机器人管理模块、应答服务模块、模型服务模块、配置服务模块、统计分析与监控模块。
机器人管理模块
机器人管理通常包括机器人的基础信息维护,以及终端信息、入口、交互方式、功能单元配置信息、启动和停用状态管理等。
软件运营服务(Saas)平台,将各式各样的机器人集成在一起,供用户选择使用。
应答服务模块
应答服务的两种实现模式:
1.基于流处理的实现:基于流处理实现的应答模块的标准流程,如下图所示。该实现模块分为三大部分:NLU、DM和NLG,它们依次串联构成一条处理流程,各部分可独立设计,通过各部分间的协作完成整个对话。
2.基于端到端的处理实现:端到端的应答服务模块是利用深度学习技术,通过大量数据训练,挖掘从用户自然语言输入到系统自然语言输出的整体映射关系,忽略中间过程。
应答服务类型按功能划分,主要分为四种常见基本类型:问答型、任务型、推荐型、闲聊型。
模型服务模块,包括模型训练和模型服务。
模型是由算法和数据训练而产生的,其中的数据也称为语料,包括:训练集、验证集和测试集。
模型训练模块把模型的在线、离线训练等进行统一管理起来。
模型服务化能够将机器学习模型预测过程封装成独立服务,解耦业务处理逻辑和模型预测。
语料的合理划分,参考三个原则:
1.小规模样本集(万量级),分配比例是60%训练集、20%验证集、20%测试集。
2.大规模样本集(百万级以上),保证验证集和测试集的数量足够即可。
3.超参数越少,或超参数越容易调整,验证集的比例越少,更多的分配给训练集。
配置服务模块,是提供给运营人员使用的管理后台,包含知识管理、场景管理、应答单元配置等。
统计分析与监控模块,对机器人运营中产生的业务数据进行统计分析,可以辅助调整经营策略、提炼模型规则,提升机器人的人机对话能力和准确度;监控模块,可通过数据预警分析发现异常,为机器人的下一步行为提供数据依据。
三.结语
通过本章的学习,对于人机对话系统的整体架构和基本组成有了一个大概的了解,可以看到服务层是人机对话的关键环节,尤其是应答服务模块涉及的三部分内容(NLU、DM、NLG),是人机对话系统设计所要考虑的主要内容,这在该书之后的章节里,也将逐一展开进行讲解。
-
发表了主题帖:
《智能聊天机器人技术内幕:探索人机对话的微观世界》-会话策略学习(DPL)
本帖最后由 ljg2np 于 2025-4-11 15:09 编辑
本文对书中讲述的关于人机对话系统里的会话策略学习(DPL)内容进行阅读分享。
会话策略学习(DPL)用来决策在当前状态下应该采取何种回复策略,主要包括任务型、问答型、推荐型和闲聊型四种DPL引擎,其底层架构如下所示。
一.任务型DPL引擎
任务型DPL引擎是任务型对话机器人的核心部件,用于支撑机器人通过多轮对话交互来满足用户某一特定任务需求。
任务型DPL引擎有多种实现方法,书中着重介绍了基于场景实现的任务型DPL引擎。
一个基于场景的任务包含两个环节:场景触发和场景交互。
1.场景的构造
场景通常由运营人员提前配置好各种场景信息以及场景触发条件、槽位、属性、交互流程等高级信息。场景的内部结构图,如下图所示:
场景内部结构的基本元素,包括:场景ID、场景名称、机器人代码、启用状态、有效期起始和结束、场景变量、槽信息、触发方式、交互流程、场景子意图等。
2.场景触发
场景触发是用于判定用户的问句是否符合进入某个场景的条件,一旦条件满足,用户可被触发进入该场景。
场景触发方式分为:历史场景触发、FAQ触发、关键字匹配触发、意图触发、答案绑定场景ID触发、进线触发、模板触发。
3.场景交互
交互流程是通过交互流程组件事先定义和配置好的一个流程,它是场景交互的核心内容,由节点和边构成,起始于开始节点,通过节点与节点之间的边相连,形成一个有向无环图。
交互流程实例是指当用户进入交互流程时,由交互流程和用户具体数据共同形成的一个交互流程实例。交互流程实例的状态包括:流程进行中、流程正常结束、流程非正常终止。
4.场景推进
场景交互的时序图,如下图所示。
整个场景交互的推进过程,划分为:场景域、流程交互域、节点域、资源域。
对话信息识别抽取是一个将用户实际对话中的有效信息进行识别和抽取,并结合场景触发过程中已确定的场景ID,获取该场景对应的场景信息,并对该场景所需的信息进行填充的过程。
对话信息识别抽取的内容主要包括:
①槽值,根据不同的槽位上配置的“词典识别方式”来识别出“场景信息中所需槽值”。
②子意图值,包括抽取基于对话模板的子意图和抽取基于模型的子意图。
交互流程域的推进步骤,包括:
①获取交互流程;
②从DST中获取该交互流程的流程实例ID;
③执行流程实例中的节点推进。
二.问答型DPL引擎
问答型DPL主要提供在垂直领域与用户一问一答的交互。
1.基于规则问答
基于规则问答,是通过规则匹配用户问题,进而给出用户问题的答案。规则匹配策略主要包括:
①基于问题文本的匹配策略,主要匹配的内容是用户的问题本身,如敏感词、业务关键字或固定问题等。
②基于问题语义的匹配策略,主要匹配的内容是用户问题在自然语言理解中所挖掘的语义信息,如用户问题所属的领域、意图、情绪等。
应答系统通常包括多个规则,规则匹配也可以结合使用,来实现复杂的规则策略。管理规则的数据结构主要包括:
①规则链,通过链表结构将各个规则串联起来,来实现规则匹配。
②规则树,将规则分为多层,通过树结构将各个规则构建起来,并且把规则配置的答案安排在叶子节点上。
基于规则的设计具有挑战性,需要规则设计人员对应答业务有深入了解,缺点是比较耗时,难于维护、扩展性差。
2.基于FAQ问答
FAQ是经常被问到的问题或常见问题的集合,单个FAQ由一问一答组成。
FAQ分类
FAQ分类主要是基于文本分类这一自然语言处理中的基本任务来完成,其目的是将用户输入的问题通过分类模型的处理归类为某个标准问题。主要包括:
①基于规则的FAQ分类,通过人工设计一些规则将用户问题分类为相应的标准问题。
②基于深度学习的FAQ分类,通过训练学习过去的大量分类结果数据来完成。
③基于规则与深度学习的混合分类,对于基于深度学习输出的分类模型未能够识别的分类,通过添加适当的规则来微调分类模型的输出。
FAQ检索
FAQ检索的目的是在所有的FAQ标准问题与相似问题中查找到最匹配用户前一条或者几条标准问题或相似问题。包括:
①FAQ召回,从全量FAQ标准问题与相似问题集合中,找到潜在的能够与用户问题匹配的标准问题或相似问题。包括基于文本匹配的方式和基于语义匹配的方式。
②FAQ排序,对召回的候选FAQ问题按照排序策略进行处理,找到最适合回复客户的那个FAQ。
③FAQ重排,若最高分没有达到阈值要求,按照重排策略选择返回3~5条标准FAQ给用户。
3.基于知识图谱问答
知识图谱是一种语义网络,本质是基于图的一种数据结构,由节点和边组成。
知识图谱引入本体概念来对语义网络所呈现的关系进行抽象和约束,基于现实世界中具体的实物,以及它们之间的关系和属性,称为实体。
在实体层之上,用于实体层存在形式的抽象概念的描述,表示各种实体概念、关系以及属性之间规范的说明,称为本体。本体的作用是对知识进行约束,确保知识的质量。
本体描述语言(OWL)对本体信息进行描述,包括本体之间的关系、关系特征、等式、属性、属性特征等。
知识图谱的构建,主要通过知识抽取与知识融合等手段,从不同来源以及不同结构的数据中获取知识并存入知识图谱,如下图所示。
知识图谱推理,主要围绕图谱中的关系展开,从已有的事实或者关系,推断出人物之间的关系。
知识问答,将用户问题通过自然语言理解后在知识图谱中寻找答案。
三.推荐型DPL引擎
推荐型DPL由应答系统主动发起,在与用户的交互方式上与基于一问一答的应答处理方式不同。推荐应答整体流程,如下图所示:
1.召回阶段
为了提升推荐内容的准确性,在召回阶段会获取多个维度的信息,不同推荐场景下获取的数据也会有差异。特征数据的分类,包括:
①用户画像特征,对用户的偏好、业务属性、行为等信息进行抽象来高度精练的描述用户特征,包括用户基础标签、用户业务标签、用户行为标签。
②场景特征,对用户在触发推荐操作的时候所处的场景进行描述,包括客观场景和业务场景。
③FAQ特征,每个FAQ拥有自己的特征标签,包括静态标签和动态标签。
2.排序阶段
通过训练时学习到的特征与不同用户行为之前的潜在关系,来对召回的FAQ进行排序。
排序模型对输入的特征数据和召回的FAQ进行处理,得到排序输出结果。
排序模型算法,有逻辑回归(LR)、FM、DeepFM等。
四.闲聊型DPL引擎
闲聊型DPL主要面向开放领域的问答,当用户问题属于开放领域时用户的问题会被交由闲聊型DPL处理并生成答案,主要包括检索型闲聊应答和生成式闲聊应答。
1.检索型闲聊应答
检索型闲聊应答策略,首先进行预先配置闲聊FAQ标准问题与闲聊FAQ相似问题,再通过对闲聊FAQ的召回和排序来获取用户问题的闲聊答案,流程图如下所示:
闲聊FAQ召回,是从全量的闲聊FAQ标准问题与相似问题集合中找到潜在的能够与用户问题匹配的标准或相似问题。
召回策略一般使用基于文本与语义的多路召回方式,召回流程如下图所示。
闲聊FAQ排序,通过基于深度学习的排序模型来完成对候选闲聊FAQ的排序。
2.生成式闲聊应答
基于生成式闲聊的处理方式是机器人在收到用户输入的句子后,通过技术处理生成一句话作为答案。生成式闲聊应答策略能够覆盖用户所有的问题场景,缺点是返回用户的答案质量可能会存在语法问题。
生成式闲聊模型一般通过构建端到端模型的方式来完成,它依赖从海量的对话中学习到问题与答案的关系,采用引入自注意力机制的编解码模型。
OpenAI公司发布的ChatGPT是一种生成式的开放领域问答系统,拥有即兴创作技巧,包括编写和调试计算机程序的能力;创作音乐、电视剧、童话故事和学生论文以及创作诗歌和歌词的能力等。ChatGPT的模型训练分为3个阶段:训练监督策略模型、训练奖励模型、优化奖励模型。
五.结语
会话策略学习(DPL)在人机对话系统架构里属于会话管理(DM)内容,是其两大核心组成部分之一,在流程上它通过对会话状态追踪(DST)传递过来的人机问答信息内容进行处理和决策,根据不同应答策略进行相应的处理,然后传递给自然语言生成(DLG)里面的答案生成模块。会话策略学习(DPL)的设计内容是比较庞大复杂的,书中主要对基于场景触发、场景交互和场景推进的任务型DPL进行了详细的阐述,场景的设计思想和应用,以及有向无环图的模型设计构成了任务型DPL的主要内容。
- 2025-04-07
-
回复了主题帖:
《智能聊天机器人技术内幕:探索人机对话的微观世界》 - (1)开箱
开卷有益,每天进步多上一点点,加油你我,致所有走在学习路上的人们{:1_144:}
-
回复了主题帖:
YOLOv12 训练实战,train.py 常用参数介绍
或者说是因为执行过热导致内存单元宕机,总之,应该是一种不成熟的技术表现情况吧{:1_137:}
-
回复了主题帖:
YOLOv12 训练实战,train.py 常用参数介绍
LitchiCheng 发表于 2025-4-7 10:16
哈哈哈哈,因为你没用过
内存炸了是什么一种情况,内存损坏了呢,还是指爆内存导致程序执行失败了呢?听说过但不知道详细情况:surrender:
-
回复了主题帖:
YOLOv12 训练实战,train.py 常用参数介绍
为什么会出现内存炸了的情况呢?编程不应该是由编程人员控制管理内存的吗?
- 2025-04-06
-
回复了主题帖:
《能源大数据——服务“碳达峰碳中和”管理》-能源大数据关键技术(二)
Jacktang 发表于 2025-4-6 08:58
通过隐私计算,在充分保护数据和隐私安全的前提下,实现数据价值的转化和释放,是这样的
理解正确,完全对路,赞{:1_138:}
-
回复了主题帖:
《智能聊天机器人技术内幕:探索人机对话的微观世界》-书籍概览
Jacktang 发表于 2025-4-6 09:02
聊天机器人与无代码或少代码的时代已经来临
那就赶紧抓住新的时代增长点吧,欧耶{:1_102:}
- 2025-04-05
-
发表了主题帖:
《智能聊天机器人技术内幕:探索人机对话的微观世界》-书籍概览
本帖最后由 ljg2np 于 2025-4-5 08:22 编辑
首先感谢EEWorld和清华大学出版社提供此次书籍阅读与共享的机会。
《智能聊天机器人技术内幕》这本书,从书名上来看是讲述人工智能领域里关于机器人会话、聊天的一些事情,所谓技术内幕,则是阐述和揭示机器人像人一样聊天、会话的实现机理和技术细节。
借用书中内容简介里的一句话,“人机对话是人工智能技术体系的一个很重要的分支领域”,该书对于人工智能领域的爱好者,尤其是想了解人机对话的读者来说是大有裨益的。
下面是该书精美的封面。
章节编排:通览全书,对该书的章节编排有了一个大概的了解,书中的内容很大一部是讲述人机对话设计的,最后几章则是一些必备基础和知识背景的补充,对于人机对话的学习其内容是非常完备的,很适合想入门人机对话领域的人员学习和参考。
该书特点:书中在讲解过程中,比较侧重人机对话系统的总体架构与核心组成部分的逻辑设计,采用通俗易懂的语言讲述了人机对话系统的构建方法、需要考虑的场景因素,完整地展现了智能聊天机器人的具体设计思路。
书中也辅助提供了伪代码供读者参考,以进一步说明具体细节的实现过程,代码应该是仅起到说明和阐释的作用,如果说部分读者想直接在上面修改就打算实现一个人机对话系统,恐怕是远远不够的。
突然想到最近帖子里提到的英特尔新任掌门人陈立武的“软件2.0”转型蓝图,未来是无代码或少代码的时代,借助于人工智能的力量,或许做到逻辑设计与系统实现的无缝对接真的指日可待,加油,未来可期。
- 2025-04-04
-
发表了主题帖:
《能源大数据——服务“碳达峰碳中和”管理》-能源大数据关键技术(二)
本帖最后由 ljg2np 于 2025-4-4 18:33 编辑
能源大数据技术是以整个能源数据集合为研究对象进行分析和挖掘的一项综合技术,主要包括:数据采集和存储技术、融合治理技术、分析计算技术、数据安全防护技术等。
鉴于篇幅过长,前文分享了数据采集和存储技术、融合治理技术,本文继续分享分析计算技术、数据安全防护技术,以及能源大数据发展新形势下的关键技术。
一.分析计算技术
1.统计分析技术
统计分析技术和方法种类很多,书中介绍了常用的几种方法:
①回归分析通过建立回归模型来表示变量的发展变化关系。
分布滞后自回归模型(ARDL),在模型中包含解释变量的当前值与滞后值(历史值),核心思想是将目标变量和其它变量看作联合平稳的时间序列,采用阶梯回归方法进行估计,常用于分析一个变量受其它变量影响的程度,以及变量之间的长期关系。
向量自回归模型(VAR)是非结构性方程组模型,核心思想是采用多方程联立形式,在每一个方程中,将内生变量对模型的全部内生自变量的滞后项进行回归,估计全部内生变量的动态关系,常用于预测相互联系的时间序列系统以及分析随机扰动对变量系统的动态冲击。
②时间序列分析根据系统观测得到的时间序列数据,通过曲线拟合和参数估计来建立数学模型。
X-12-ARIMA模型,是国际上通用的季节调整方法,分为建模、季节调整、诊断三个阶段,该模型在X-11-ARIMA模型的基础上加强了序列的预处理,可用回归模型的方式检测多种因素对序列的影响,及该影响的显著性与稳定性。
ARIMA模型,包括自回归模型、差分过程和移动平均模型三部分,该模型只需内生变量,要求稳定的时序数据,本质上只表述线性关系。
③聚类分析,通过给定样本特征的相似性或距离,来区分刻画组内样本与组间样本,是研究对样品或指标进行分类的一种多元统计方法。
Ward系统聚类法,是指利用离差平方和计算距离的一种聚类方法。
K-means聚类算法,核心思想是迭代求解,每次迭代均需要通过现有的聚类对象,计算得到新的聚类中心,该算法通过迭代将样本划分到K个类别中,使每个样本与其所属类的中心或均值最近,从而得到K个层次化的类别。
2.云边端协同计算
在云计算、物联网技术的推动下,边缘计算系统将云计算能力延伸到网络边缘,能够更好地满足实时应用的需求,这其中云、边、端三方协同计算十分重要。
云边端协同计算系统技术框架,如下图所示:
云边端协同计算系统,包括:
①云,指云计算平台,负责提供大规模计算和存储资源。
②边,指边缘计算设备,负责处理本地业务,减轻云端压力。
③端,指终端设备,负责采集数据并上传至云端。
云边端协同的应用体现,表现在:
①数据采集和处理,终端设备采集数据,边缘计算设备进行初步处理,云计算平台进行大规模处理和分析。
②云计算平台,负责大规模计算和存储资源,对边缘计算设备上传的数据进行实时分析,并将结果返回给边缘计算设备和终端设备。
③边缘计算设备,一方面接收终端设备数据,初步处理后上传至云计算平台,一方面接收云计算平台的处理结果,下发给终端设备。
云边端协同计算技术提高了系统的实时处理能力,满足行业和场景需求。
书中以石油行业为例,介绍了云边端协同技术的应用,如下图所示。
3.数字孪生技术
数字孪生是将物理实体以数字化方式映射至虚拟空间,借助历史数据、实时数据以及算法模型等,模拟物理实体在现实环境中的行为特征,从而实现对物理实体的监测、诊断、预测、优化。
目前,数字孪生已经应用到智慧城市、智慧工业、智慧能源等多个领域,尤其是数字孪生城市、数字孪生制造的发展十分成熟。
数字孪生在架构上包括五个层次:
①感知层,包括物理实体中搭载先进物联网技术的各类新型基础设施。
②数据层,包括高精度数据采集、高速率数据传输、全生命周期数据管理。
③运算层,是数字孪生技术的核心,通过利用下层数据,支撑实现上层功能。
④功能层,是数字孪生体系的直接价值体现,实现系统认知、系统分析、故障诊断、预测推演,辅助决策。
⑤应用层,是面向各类场景的数字孪生体的最终价值体现,具体表现为行业产品,加速推动行业数字化转型。
数字孪生体系架构如下图所示。
数字孪生技术体系十分庞大,其感知、计算、建模过程,涵盖了感知控制、数据集成、模型构建、模型互操作、业务集成、人机交互等诸多技术领域,如下图所示。
书中以电网输电专业为例,对数字孪生技术应用进行了介绍,见下图。
4.隐私计算技术
隐私计算技术的三条技术路线:
①多方安全计算(MPC),是一种基于密码学的隐私计算技术,核心思想是通过对多个参与方输入数据进行加密和拆分,并对加密后的数据进行计算,实现在不暴露原始数据的情况下得到计算结果。
多方安全计算技术框架,如下图所示。
多方安全计算是由一系列密码学安全计算协议组成的协议栈,常采用密码分享、不经意传输、混淆电路、同态加密等技术。
②联邦学习(FL),是典型的人工智能与隐私保护融合衍生的技术,以分布式机器学习为基础,以“数据不动模型动”为思想,在本地原始数据不出域的情况下,仅交互各参与方本地计算的中间因子,以此实现联合建模,提升模型效果。
联邦学习按照参与计算的数据分布情况的不同,可分为横向联邦学习、纵向联邦学习和迁移联邦学习。
联邦学习示意图,如下图所示。
③可信执行环境(TEE),是一种基于可信硬件的隐私计算技术,其核心思想是通过硬件隔离出一个安全而可信的机密空间,通过芯片等硬件技术协同上层软件对数据进行保护,同时保留与系统运行环境之间的算力共享。
可信计算应用框架,如下图所示。
总体来看,TEE的性能最高、通用性强,需要信任硬件厂商,开发部署难度大,MPC已达技术成熟阶段,安全性最高,通用性高,计算和通信开销大,FL处于快速增长和创新阶段,主要用于AI模型训练和预测。
书中提到,由于能源数据体量大、类型多,加之联邦学习在场景实现、应用性能方面表现较好,推荐联邦学习作为能源行业隐私计算技术的选择,并举例说明了国网、南网、蒙西电网基于联邦学习的因子协同计算场景,以及环保业务场景中联邦学习的应用情况。
二.数据安全技术
随着大数据技术与人工智能技术的广泛应用,基于数据生命周期的安全防护技术显得非常重要。
1.采集安全
数据采集质量决定了数据价值,确保数据来源安全可信,对采集到的大数据进行评估,提高识别非法数据源的能力非常重要。
数据溯源技术是数据采集阶段的重要安全防护手段,主要方法有标注法和反向查询法。
2.存储安全
数据加密是保障大数据存储安全的主流方法,依据国家商用密码局制定的加密标准,对大数据进行加密后再存储,加密技术包括对称加密(传统加密)、非对称加密(基于属性的加密)。
3.处理安全
数据处理安全技术包括数据脱敏、匿名化技术、数据水印等。
4.传输安全
数据传输加密是保障数据传输安全的主要手段,常见的数据传输加密包括对称加密和非对称加密。
5.使用安全
隐私计算技术是保障数据共享安全的有效技术手段,其目标在于实现数据可用性和隐私性之间的良好平衡。
6.销毁安全
数据安全销毁的目标是确保已删除的数据将来不会再被恢复,以避免将来可能存在的隐私泄露问题,具体包括数据可信删除和数据自毁。
三.发展展望
1.高效智能数据治理关键技术
高效智能的能源大数据治理技术是在明确能源数据责任的前提下,建立规范的能源数据应用标准,提高能源数据质量,实现能源数据广泛共享。
数据监测技术注重数据挖掘和人工智能技术的应用,通过自然语言处理、机器学习、深度学习等技术,基于数据科学理论体系,实现对海量数据的对象识别及特征提取,并应用Trie树等方法实现高效数据扫描,快速、准确地提取和分析海量能源数据,发现和预测潜在的质量风险。
对数据质量问题成因分析,通过信息熵损失分析研究数据的质量影响因素,利用耦合复杂度评估方法进行多信源数据质量问题诊断,基于信息论研究方法厘清业务活动和数据处理在数据全生命周期活动中的影响机理,科学系统地搭建完整的数据质量分析及追溯系统。
数据质量管理集成结构化、非结构化数据处理,自动学习发现质量规则、自动生成质量标准并校核自纠、管理技术自适应自演化、监控自动修复处理。
高效智能数据治理关键技术框图,如下图所示。
2.安全可靠数据流通关键技术
能源大数据流通技术在提升能源资源利用率、优化能源供应链、减少环境污染等方面发挥着关键作用,是能源大数据发展的重要推动力,整体上可以划分为高效顺畅和安全合规两个方面。
安全可靠数据流通关键技术包括:数据特征标识技术、海量数据全局高效索引技术、多方安全计算技术。
安全可靠数据流通关键技术框图,如下图所示。
3.复杂关联数据应用关键技术
复杂关联数据应用关键技术能够提高智能化分析的深度和广度,是能源大数据发展的重要组成部分,在能源系统的运营和管理方面,可以帮助企业更好地预测和控制能源生产与消费,优化能源使用效率,降低能源成本和减少对环境的影响。
复杂关联数据应用关键技术包括:知识图谱技术、大规模语言模型和AIGC技术、多模态数据联合分析技术。
复杂关联数据应用关键技术框图,如下图所示。
四.结语
通过这一阶段的学习,可以看到:
①数据分析计算技术对能源大数据进行计算处理,挖掘潜在和隐藏的价值信息,揭示内在的关联规律,是连接数据与其内在价值之间的关键桥梁;通过隐私计算,在充分保护数据和隐私安全的前提下,实现数据价值的转化和释放。
②能源数据安全技术需要在能源数据生命全周期的各个阶段里进行能源大数据的安全保障。
③能源大数据呈现出规模大、流转快、类型多、价值高等典型的大数据特征,通过与大语言模型、生成式人工智能、云计算等技术的紧密融合,滋生出新兴的能源大数据治理、流通、应用技术,以应对新形势下各行业从海量能源大数据中快速获取知识和信息的应用需求。
- 2025-04-03
-
回复了主题帖:
《具身智能机器人系统》阅读笔记 vol.3 机器人感知!
书中为什么不提基于声学的感知技术?声学感知对于水下机器人应该是必备的吧。
-
回复了主题帖:
《能源大数据——服务“碳达峰碳中和”管理》-能源大数据关键技术(一)
秦天qintian0303 发表于 2025-4-3 09:01
各行各业的碳排放指标是怎么测算出来的?
书中后续章节有讲到,大概是通过“以能换碳”的方式进行,基于能源大数据的碳核算方法,以及服务于“双碳”管理的碳排放、碳达峰预测的行业实践在该书的后续章节有专题讲到。