一种基于情感的多轮对话模型及对话方法

文档序号:35409803发布日期:2023-09-09 21:28阅读:81来源:国知局
一种基于情感的多轮对话模型及对话方法

本发明涉及多轮对话与深度学习,特别是涉及一种基于情感的多轮对话建模方法。


背景技术:

1、随着人工智能技术、计算能力与计算基础设施的迅速发展,智能对话系统的可能性也逐渐增加。目前,对话系统在社会生活中的应用也日益普及。智能终端设备上的各类智能助理能够根据用户的输入信息(包括语音和文字)完成简单的任务,如查询天气、拨打电话、添加日程、进行简单的闲聊等。各行各业的智能客服也能根据用户的查询请求为其提供方案和条款的详细解释。上述智能对话系统不仅满足了用户的需求,还为平台方节约了大量的人力成本,提高了整体生产力。

2、对话系统的本质虽然对话系统的本质都是对用户输入进行回复,但根据具体应用,对话系统大致可以分为两类:面向任务的对话系统、开放域的对话系统。面向任务的对话系统需要用户通过对话完成某项具体的任务。开放域对话系统与其他应用不同,它并不是致力于帮助用户完成特定任务,而是通过连贯而有吸引力的对话来与用户交互。这类系统生成的回答需要尽可能地接近人类的回答[1]。

3、开放域对话系统与面向任务对话系统相比,目标更为抽象,系统生成的回答没有明确的标准答案。由于缺少明确的数学评估标准,对于系统的优化就更加困难。因此,开放域对话系统的难度更高,需要系统对用户语境和情感需求进行深入理解。另外,由于开放域对话系统生成回答和语境有关,对于对话历史信息和说话人的性格和属性等要进行前后一致性的考虑。目前开放域对话系统的对话效果已经得到了很大的提升,但系统生成的回答与人类的回答仍然存在差距。因此,开放域对话系统研究难度较高,应用范围相对较小,但是它与面向任务对话系统并非相互独立,面向任务对话系统也可以具有日常对话功能。研究开放域对话系统能够提升对话系统的用户体验。

4、相较于单轮对话,多轮对话能够模拟人类在多轮对话中的语言行为。这类模型需要考虑语境信息、对话历史等因素,来确定对话系统的回答。而且多轮对话更加符合现实生活中人类之间的对话过程。近期关于多轮对话生成的工作主要使讲对话历史融入在模型当中。2016年serban等人[5]提出hred模型,区别于普通对话模型,hred模型使用循环神经网络以此充分考虑上下文信息。在2017年由vaswani等人[6]提出transfomer模型之后,多轮对话系统工作[8,9]大多考虑使用注意力机制进行处理。

5、其次在人机对话系统中,情感交流是一个重要的问题。很多工作表明[2,3,4],在人机对话系统中,除了回复内容之外,机器与人的情感交流也是一个重要问题。人类可以通过语言表达自己的情感,从而获得慰藉。而对话系统要想与人类进行有效的情感交流,就必须具有情感理解能力,包括对用户情感的识别和表达合适的情感。若对话系统没有情感因素的话,会让用户觉得回复十分生硬。因此,在人机对话领域中如何让机器具备情感理解和表达的能力是一个新的机遇和挑战。情感对话系统中以2018年zhou h等人[10]提出的ecm模型为代表,大多可以通过指定情感来让模型生成带有特定的情感的回复。

6、在多轮对话系统中加入情感因素,学习多轮对话中的情感变化,可以让系统生成的回答更加贴近人类,从而提升用户在使用对话系统中的体验。而学习到的情感变化相比指定情感来生成回答,会更加符合人类对话的规律,更有助于对话系统生成更加自然的回复。

7、[参考文献]

8、[1]chen h,liu x,yin d,et al.a survey on dialogue systems:recentadvances and new frontiers[j].acm sigkdd explorations newsletter,2017,19(2):25-35.

9、[2]hazarika d,poria s,mihalcea r,et al.icon:interactiveconversational memory network for multimodal emotion detection[c]//proceedings of the 2018conference on empirical methods in natural languageprocessing.2018:2594-2604.

10、[3]zhou h,huang m,zhang t,et al.emotional chatting machine:emotionalconversation generation with internal and external memory[c]//proceedings ofthe aaai conference on artificial intelligence.2018,32(1).

11、[4]asghar n,poupart p,hoey j,et al.affective neural responsegeneration[c]//european conference on information retrieval.springer,cham,2018:154-166.

12、[5]serban i,sordoni a,bengio y,et al.building end-to-end dialoguesystems using generative hierarchical neural network models[c]//proceedingsof the aaai conference on artificial intelligence.2016,30(1).

13、[6]vaswani a,shazeer n,parmar n,et al.attention is all you need[j].advances in neural information processing systems,2017,30.

14、[7]sun b,feng s,li y,et al.generating relevant and coherent dialogueresponses using self-separated conditional variational autoencoders[j].arxivpreprint arxiv:2106.03410,2021.

15、[8]paulhus,d.l.,vazire,s.2007.the self-report method.handbook ofresearch methods in personality psychology,1,224-239.

16、[9]xu j,lei z,wang h,et a1.discovering dialog structure graph forcoherent dialog generation[c]//proceedings of the 59th annual meeting of theassociation for computational linguistics and the llth international jointconference on natural language processing(volume 1:long papers).2021:1726-1739.

17、[10]zhou h,huang m,zhang t,et al.emotional chatting machine:emotionalconversation generation with internal and external memory[c]//proceedings ofthe aaai conference on artificial intelligence.2018,32(1).


技术实现思路

1、本发明的目的是为了克服现有技术中的不足,提供一种基于情感的多轮对话模型及对话方法,即在多轮对话系统中加入情感因素,以此生成更合理的回复。

2、本发明的目的是通过以下技术方案实现的:

3、一种基于情感的多轮对话模型,包括对话历史嵌入模块、情感预测模块和情感嵌入模块;

4、对话历史嵌入模块,包括词级别编码器和对话历史自注意力模块,用于将对话历史信息输入到基于情感的多轮对话模型当中;不同的对话历史信息代表着不同的多轮对话;

5、情感预测模块,用于预测回复的情感,通过情感预测模块预测的情感类别代替人工指定情感的类别;情感预测模块通过对话历史得到情感类别,其中情感预测模块的输入为一段对话历史的句子向量输出一个情感类别;

6、情感嵌入模块,用于在生成回复并在回复中嵌入指定情感类型,其嵌入情感类型由情感预测模块提供,最终使多轮对话模型生成回复带有情感,提高回复质量。

7、进一步的,包括以下步骤:

8、(1)将对话历史定为c1={s1,...,sn}和c2={t1,...,tn},其中c1和c2分别代表说话人一和说话人二的对话历史,si和ti分别代表两个说话人对话历史中的句子,其中i代表第i句话,i=1、2…n;以si为例,si={x1,...,xm},其中xk代表句子中的单词;计算上下文编码hm过程如下:

9、ik=σ(wi[hk-1,ωk])

10、fk=σ(wf[hk-1,ωk])

11、ok=σ(wo[hk-1,ωk])

12、lk=tanh(wl[hk-1,ωk])

13、ck=fkck-1+iklk

14、hk=oktanh(ck)

15、其中的ik,fk和ok分别为输入门、记忆门和输出门;ωk是对应单词xk的词嵌入,hk表示lstm中单词k对应的隐变量,hk通过组合ωk和hk-1计算得出;ck表示在k时刻的神经细胞状态;σ代表sigmoid函数,wi、wf、wo和wl为参数矩阵,通过给定随机数进行初始化后通过训练不断调整参数;

16、(2)对于给定有n个query向量的矩阵keys矩阵和values矩阵点积注意力计算公式如下:

17、

18、其中d是对话历史自注意力模块中隐藏单元的个数,对话自注意力模块由h个头组成,每一个头关注通道的不同部分;对于第i个头,用和分别表示对应于queries,keys和values中通过训练不断调整学习到的参数;对话历史自注意力模块的具体实现方式用公式表示为:

19、

20、每一个平行头通过计算之后,将所有向量连接一起形成一个向量,计算过程如下:

21、m=contact(m1,...,mh)

22、o=mw

23、其中和其中的o为将两个说话人的对话历史向量通过自注意力模块得到的输出,对于说话人一的输出用o1来表示,说话人二的输出用o2进行表示;对于o1和o2分别使用前馈神经网络输出说话人对话历史表示和计算过程如下:

24、

25、

26、其中fnn代表前馈神经网络;

27、(3)将对话历史的向量表示g输入到全连接层中将隐藏层维度的向量映射为维度为类别数的向量,计算过程如下:

28、h=relu(w1g+b1)

29、其中relu是激活函数,w1和b1是全连接层可学习参数,h为得到的隐向量,再对向量h通过softmax层进行计算,最终得到e={e1,…,em}代表对话历史对应回复情感类别的可能性,取可能性最大的情感类别z作为最终结果,计算过程如下:

30、

31、其中ei为当前对话历史信息属于第i个情感类别的概率,wi和bi分别为第i个类别的权重和偏置;

32、(4)构建说话人注意力解码器;

33、使用作为注意力机制中的key和value,响应的隐藏表示or作为查询,说话人一注意力解码器的输出用od1进行表示,计算过程如下:

34、

35、其中attention为注意力计算;使用作为注意力机制中的key和value,说话人一注意力解码器的输出od1作为查询,说话人二注意力解码器的输出用od2进行表示,计算过程如下:

36、

37、attention为注意力计算;最后说话人二注意力解码器的输出od2使用前馈神经网络得到计算过程如下:

38、

39、其中fnn代表前馈神经网络;

40、(5)情感嵌入;

41、情感嵌入模块状态更新中通过输入情感向量对基于情感的多轮对话模型状态进行更新,情感嵌入模块的计算过程如下:

42、hj=lstm([emb(yj-1);ej],hj-1)

43、其中ej代表情感向量表示,emb(yj-1)代表上一个预测单词的词向量表示,词向量表示通过word2vec方法计算得到,hj-1表示上一时间步lstm的状态,其中h1的上一时间步为h1的emb(yj-1)为句子起始标识符<eos>的词向量表示;[.;.]表示两个特征向量连接的操作,两个特征向量用“;”分割开;情感向量表示ej是由情感预测模块预测的情感类别z决定,情感向量表示ej具体计算过程如下:

44、

45、

46、

47、其中表示情感类别z为情感词典中的第k个单词,tz是情感词典中情感类别为tz的单词总数,α、β和γ都是情感嵌入模块中可学习的参数;ajk表示在时间步骤j,情感词典第k个单词的注意力,注意力ajk通过cjk计算所得,由上一时间步隐藏状态hj-1、说话人注意力机制输出od和情感词汇表中类别为z的第k个单词的词向量表示确定。

48、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述基于情感的多轮对话方法的步骤。

49、本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述基于情感的多轮对话方法的步骤。

50、与现有技术相比,本发明的技术方案所带来的有益效果是:

51、1.通过使用基于自注意力机制区分说话人的对话历史方法,本发明生成的回复可以更好的参考对话历史信息,并且生成的回复更加合理、更具多样性,使模型具备区分说话人之间差异的能力,有效的提升了模型生成回复的质量。

52、2.通过使用情感预测模块和情感嵌入模块,本发明使多轮对话模型具有理解且表达情感的能力,使模型可以通过对话历史自动生成合适的情感,并且生成带有情感的回复同时没有逻辑与语法错误。

53、3.相比于之前工作中多采用将对话历史当作一段长文本进行嵌入,本发明设计了基于自注意力机制区分说话人的对话历史方法,本发明多轮对话模型更加有利于区分说话人也可以生成更加合理的回复。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1