System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于自然语言处理和深度学习,更具体地,涉及一种混合认知和回复策略的情感支持人机对话方法及系统。
技术介绍
1、近年来,时代的发展和社会的变革使得社会竞争越来越激烈,人们面临生活、工作等各方面的压力,心理状态容易发生变化,从而产生各种心理异常现象,部分人在处理压力和挫折问题上无所适从,出现了焦虑、悲观甚至抑郁等精神问题。然而,目前社会缺乏精神类卫生服务,为了帮助解决这种供需失衡问题,开发带有情感支持能力的人机对话系统是十分必要的。
2、所谓情感支持是指理解他人的感受,在情绪层面提供恰当的情绪价值,在行动层面给出疏导不良情绪的方式。情感支持的人机对话赋予了机器模拟人类情感的能力,具有广泛的应用场景,包括自动心理治疗师、个人智能助手、共情对话代理等。
3、早期的人机对话关注于生成回复的内容性,没有考虑情感层面的表达。随着深度学习的进一步发展,情感特征被引入对话生成任务中,研究人员开始将注意力转向激发模型的共情反应以模拟人类的情感能力。然而,模型仅产生共情反应对缓解用户的焦虑、悲观等情绪是不够的,还需要采取一定的情感疏导策略。现有的工作仅考虑用户的情感状态或仅考虑回复策略的选择,缺乏对用户整体状态的准确表征以及根据用户状态选择合适的回复策略,不能有效的帮助用户克服自身面临的情绪问题。
技术实现思路
1、为解决上述现有技术的不足,本专利技术提供一种混合认知和回复策略的情感支持人机对话方法及系统,旨在解决现有情感支持对话方法对用户状态表征不足且生成的回复在策略
2、为实现上述目的,第一方面,本专利技术提供一种混合认知和回复策略的情感支持人机对话生成方法,包括以下步骤:
3、步骤s1,获取人机对话过程中的对话历史信息,所述对话历史信息包括多条对话记录,每条对话记录包括用户的请求和系统的回复;
4、步骤s2,获取用户的遭遇作为对话背景信息,和其当前对话以及预设常识知识类别一起输入到常识库中,得到常识推理集合;
5、步骤s3,对常识集合进行编码,通过平均运算得到代表用户状态(情感和认知)的融合表示;
6、步骤s4,将用户当前状态的融合表示和对话的历史信息进行统一编码,得到混合认知矩阵;同时根据历史回复策略对下一次回复信息的策略分布矩阵进行预测;
7、步骤s5,基于混合认知矩阵和预测的策略分布矩阵,通过多源解码器生成个性化回复,进行具有情感支持能力的人机对话。
8、进一步的,所述步骤s1中:
9、获取对话数据集,对每条对话历史记录表述为u={u1,u2,...,un},其中{u1,u2,...,un-1}为历史对话记录,un为系统的当前回复。
10、进一步的,所述步骤s2中:
11、用户在对话开始前需输入导致自身情绪困扰的原因,即用户遭遇信息;然后,将用户遭遇信息与当前对话信息一起输入到常识知识库中得到常识推理集合,具体为:
12、设n维向量s={s1,s2,...,sn}为用户的遭遇信息表示(situation),将对话记录中用户的当前话语uk和s进行拼接,输入到常识知识库comet中,得到常识知识集合sr:
13、
14、其中,r为预设的常识类别,每个常识类别所对应的常识集合包含五条常识推理,即:
15、进一步的,所述步骤s3中:
16、得到的常识序列展示了关于用户对话时的情绪和认知状态,对常识集合进行编码并进行平均计算的过程具体如下:
17、将特殊标记[cls]添加到常识序列中,然后将其送入到编码器enckno中,得到编码后的向量表示z:
18、
19、zref=average(zr,[0])
20、最终得到的向量zref为所有知识(情绪和认知)的融合表示,即用户当前对话的状态表示;zr是对常识集合编码后的向量表示,而zref是zr做平均运算后的向量表示,[0]为索引操作。
21、进一步的,所述步骤s4中:
22、将用户当前状态的融合表示和对话的历史信息进行统一编码,具体过程如下:
23、添加特殊标记至对话历史信息中,利用上下文编码器encctx编码对话历史信息:
24、zctx=encctx(cls,u1,eos,u2,eos,…,un)
25、其中,[cls]是开始标记,[eos]是两个话语之间的分隔标记。
26、得到对话上下文表示后,利用用户状态的融合表示做注意力计算:
27、hz=softmax(zref·zctxt)·zctx
28、z=ln(zref+hz)
29、其中,ln是线性层,hz是做注意力计算后的向量,z是将hz和zref相加后通过线性层进行映射得到的最终的混合认知矩阵。
30、进一步的,所述步骤s5中:
31、基于混合认知矩阵和根据策略集合编码后的策略信息生成回复,具体过程为:
32、对历史回复策略类别信息记为hs,使用和上下文编码器一样的结构对历史策略进行编码:
33、hs=encstrat(hs)
34、最终,下一次回复信息的策略分布ρ为:
35、ρ=mlp(relu(wt[hs;zctx]+b))
36、其中,mlp为感知器,relu为激活函数,wt和b为可训练参数,[;]为拼接操作;
37、将混合认知矩阵作为被查询向量和内容向量,计算交叉注意力,得到向量az:
38、az=cross-att(o,z)
39、将策略分布矩阵作为被查询向量和内容向量,计算交叉注意力,得到向量aρ:
40、aρ=cross-att(o,ρ)
41、其中,o为多源解码器的隐藏状态向量,cross-att为跨注意力计算;;
42、将az和aρ进行拼接,输入到线性层来整合认知和回复策略两个来源的特征,以此来迭代更新生成的回复话语r:
43、r=ln(az+aρ+o)
44、第二方面,本专利技术还提供一种混合认知和回复策略的情感支持人机对话系统,包括数据获取模块、数据编码模块、特征计算模块和回复生成模块:
45、数据获取模块,用于获取对话历史信息和对话背景信息;对话历史信息包括上下文话语和回复话语;和其当前对话以及预设常识知识类别一起输入到常识库中,得到常识推理集合;
46、数据编码模块,对常识推理集合进行编码,通过平均运算得到代表用户状态的融合表示;
47、特征计算模块,将用户当前状态的融合表示和对话的历史信息进行统一编码,得到混合认知矩阵,同时根据历史回复策略对下一次回复信息的策略分布矩阵进行预测;
48、回复生成模块,用于基于混合认知矩阵和预测的策略分布矩阵,通过多源解码器生成个性化回复,进行具有情感支持能力的人机本文档来自技高网...
【技术保护点】
1.一种混合认知和回复策略的情感支持人机对话方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的方法,其特征在于,所述步骤S1中对每条对话历史记录表述为U={u1,u2,...,un},其中{u1,u2,...,un-1}为历史对话记录,un为系统的当前回复。
3.根据权利要求1所述方法,其特征在于,所述步骤S2中将用户遭遇信息与当前对话信息一起输入到常识知识库中得到常识推理集合,具体为:
4.对于权利要求1所述方法,其特征在于,所述步骤S3中对常识推理集合进行编码并进行平均计算的过程具体如下:
5.根据权利要求1所述方法,其特征在于,所述步骤S4中将用户当前状态的融合表示和对话的历史信息进行统一编码,具体过程如下:
6.根据权利要求1所述方法,其特征在于,所述步骤S5中,基于混合认知矩阵和根据策略集合编码后的策略矩阵生成回复,具体过程为:
7.一种混合认知和回复策略的情感支持人机对话系统,其特征在于,包括数据获取模块、数据编码模块、特征计算模块和回复生成模块:
8.一种电子设备,其特征在于
9.一种计算机可读存储介质,其存储计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6任一项所述的一种混合认知和回复策略的情感支持人机对话方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-6任一项所述的一种混合认知和回复策略的情感支持人机对话方法的步骤。
...【技术特征摘要】
1.一种混合认知和回复策略的情感支持人机对话方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的方法,其特征在于,所述步骤s1中对每条对话历史记录表述为u={u1,u2,...,un},其中{u1,u2,...,un-1}为历史对话记录,un为系统的当前回复。
3.根据权利要求1所述方法,其特征在于,所述步骤s2中将用户遭遇信息与当前对话信息一起输入到常识知识库中得到常识推理集合,具体为:
4.对于权利要求1所述方法,其特征在于,所述步骤s3中对常识推理集合进行编码并进行平均计算的过程具体如下:
5.根据权利要求1所述方法,其特征在于,所述步骤s4中将用户当前状态的融合表示和对话的历史信息进行统一编码,具体过程如下:
6.根据权利要求1所述方法,其特征在于,所述步骤s5中,基于混合认知矩阵和...
【专利技术属性】
技术研发人员:刘智,李栋,龙陶陶,孙建文,刘三女牙,邓磊,周东波,
申请(专利权)人:华中师范大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。