CN115577084B - 一种对话策略的预测方法及预测装置 - Google Patents
一种对话策略的预测方法及预测装置 Download PDFInfo
- Publication number
- CN115577084B CN115577084B CN202211238166.8A CN202211238166A CN115577084B CN 115577084 B CN115577084 B CN 115577084B CN 202211238166 A CN202211238166 A CN 202211238166A CN 115577084 B CN115577084 B CN 115577084B
- Authority
- CN
- China
- Prior art keywords
- utterance
- representation
- role
- level
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 90
- 230000002452 interceptive effect Effects 0.000 claims abstract description 158
- 230000003993 interaction Effects 0.000 claims abstract description 78
- 230000008451 emotion Effects 0.000 claims description 56
- 230000006870 function Effects 0.000 claims description 48
- 230000015654 memory Effects 0.000 claims description 36
- 238000012545 processing Methods 0.000 claims description 33
- 238000012549 training Methods 0.000 claims description 26
- 230000001364 causal effect Effects 0.000 claims description 25
- 230000000873 masking effect Effects 0.000 claims description 17
- 238000013507 mapping Methods 0.000 claims description 16
- 238000011176 pooling Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 abstract description 18
- 238000003058 natural language processing Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 238000002474 experimental method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000002679 ablation Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008909 emotion recognition Effects 0.000 description 2
- 230000002996 emotional effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 229940068196 placebo Drugs 0.000 description 2
- 239000000902 placebo Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本申请提供了一种对话策略的预测方法及预测装置,涉及自然语言处理技术领域,对话策略应用在对话互动的至少两个角色之间,包括:使用用于描述当前话语的特征表示和全局特征表示,分别确定当前话语对应的语境级解码表示和当前话语对应的互动角色的角色级自我解码表示;基于当前话语对应的语境级解码表示和互动角色的角色级自我解码表示,确定目标解码表示;使用对话策略确定模型,预测第一角色之外的其他互动角色在下一话语应采用的对话策略。这样,通过生成层次化的语境级解码表示和多角色的角色级自我解码表示,能够丰富特征表示中的自我话语信息,使得解码表示具有更丰富的语义信息,预测出更准确的对话策略,进而生成更准确适当的回应内容。
Description
技术领域
本申请涉及自然语言处理技术领域,尤其是涉及一种对话策略的预测方法及预测装置。
背景技术
随着人工智能相关技术的发展,智能对话系统越来越广泛地应用于信息查询、情感抚慰和智能客服等多个业务场景。以情感抚慰对话为例,在多个智能对话系统与求助用户的对话互动中,多个智能对话系统可作为不同的支持者,通过输出不同的回应来从多方面和多角度向用户提供情感抚慰服务,例如智能对话系统可以鼓励和安慰求助用户,可以向求助用户提供情感支持或者可以向求助用户提供解决方案等。
然而,现有技术中往往只关注智能对话系统的回应生成任务,而忽视了对话策略的预测任务,进而导致智能对话系统使用不准确的对话策略生成了不准确、不适当的回应,因此无法满足用户的相应需求。
发明内容
有鉴于此,本申请的目的在于提供一种对话策略的预测方法及预测装置,通过生成层次化的语境级解码表示和多角色的角色级自我解码表示,能够丰富特征表示中的自我话语信息,使得解码表示具有更丰富的语义信息,从而预测出更准确的对话策略,进而生成更准确适当的回应内容。
本申请实施例提供了一种对话策略的预测方法,所述对话策略应用在对话互动的至少两个角色之间,所述预测方法包括:
获取在对话开始后到第一角色的当前话语之前的历史对话话语;
分别确定用于描述当前话语和历史对话话语的特征表示,并基于用于描述当前话语和历史对话话语的特征表示的集合确定全局特征表示;其中,所述全局特征表示用于表征包括当前话语和历史对话话语在内的全局对话的话语特征;
根据用于描述当前话语的特征表示和所述全局特征表示,分别确定当前话语对应的语境级解码表示和当前话语对应的互动角色的角色级自我解码表示;其中,所述语境级解码表示从所述全局对话中对语言环境信息的解码得到;所述角色级自我解码表示从所述全局对话中互动角色的自我发言中解码得到;
基于当前话语对应的语境级解码表示和当前话语对应的互动角色的角色级自我解码表示,确定当前话语对应的目标解码表示;
基于当前话语对应的目标解码表示,使用对话策略确定模型,预测得到所述第一角色之外的其他互动角色在下一话语应采用的对话策略。
进一步的,在分别确定当前话语对应的语境级解码表示和当前话语对应的互动角色的角色级自我解码表示之后,在基于当前话语对应的语境级解码表示和当前话语对应的互动角色的角色级自我解码表示,确定当前话语对应的目标解码表示之前,所述预测方法还包括:
针对每个互动角色,根据当前话语和历史对话话语对应的该互动角色的角色级自我解码表示的集合以及当前话语对应的其他互动角色的角色级自我解码表示,确定当前话语对应的该互动角色的角色级交互解码表示;其中,每个互动角色的角色级交互解码表示从所述全局对话中该互动角色与其他互动角色之间的交互信息中解码得到。
进一步的,所述基于当前话语对应的语境级解码表示和当前话语对应的互动角色的角色级自我解码表示,确定当前话语对应的目标解码表示,包括:
针对每个互动角色,拼接当前话语对应的该互动角色的角色级交互解码表示和该互动角色的角色级自我解码表示,得到当前话语对应的该互动角色的角色级解码表示;
拼接当前话语对应的语境级解码表示和当前话语对应的每个互动角色的角色级解码表示,得到当前话语对应的目标解码表示。
进一步的,当所述对话互动中包括所述第一角色和第二角色时;所述根据用于描述当前话语的特征表示和所述全局特征表示,分别确定当前话语对应的语境级解码表示和当前话语对应的互动角色的角色级自我解码表示,包括:
对用于描述当前话语的特征表示进行第一线性映射处理,得到当前话语的当前特征表示;
对所述全局特征表示进行第一角色级因果掩码,得到第一掩码全局特征表示;其中,所述第一角色级因果掩码用于掩盖所述全局特征表示中由第二角色产生的话语的特征表示;
对所述全局特征表示进行第二角色级因果掩码,得到第二掩码全局特征表示;其中,所述第二角色级因果掩码用于掩盖所述全局特征表示中由第一角色产生的话语的特征表示;
使用所述当前特征表示作为查询,使用所述全局特征表示作为键值对,得到当前话语对应的语境级解码表示;
使用所述当前特征表示作为查询,使用所述第一掩码全局特征表示作为键值对,得到当前话语对应的第一角色的角色级自我解码表示;
使用所述当前特征表示作为查询,使用所述第二掩码全局特征表示作为键值对,得到当前话语对应的第二角色的角色级自我解码表示。
进一步的,当所述对话互动中包括所述第一角色和第二角色时;所述针对每个互动角色,根据当前话语和历史对话话语对应的该互动角色的角色级自我解码表示的集合以及当前话语对应的其他互动角色的角色级自我解码表示,确定当前话语对应的该互动角色的角色级交互解码表示,包括:
针对所述第一角色,利用当前话语对应的第二角色的角色级自我解码表示作为查询,利用当前话语和历史对话话语对应的第一角色的角色级自我解码表示的集合作为键值对,得到当前话语对应的第一角色的角色级交互解码表示;
针对所述第二角色,利用当前话语对应的第一角色的角色级自我解码表示作为查询,利用当前话语和历史对话话语对应的第二角色的角色级自我解码表示的集合作为键值对,得到当前话语对应的第二角色的角色级交互解码表示。
进一步的,所述对话策略包括情感类别和策略类别;所述基于当前话语对应的目标解码表示,使用对话策略确定模型,预测得到所述第一角色之外的其他互动角色在下一话语应采用的对话策略,包括:
基于当前话语对应的目标解码表示,使用所述对话策略确定模型中的情感类别分类器,确定当前话语的情感类别;
基于当前话语对应的目标解码表示,使用所述对话策略确定模型中的策略类别分类器,确定下一话语的策略类别。
进一步的,训练所述对话策略确定模型的损失函数通过以下方式得到:
获取在对话互动的至少两个互动角色之间的样本对话;所述样本对话中的每个样本话语被标注有真实情感类别和真实策略类别;
针对每个样本话语,获取该样本话语对应的目标解码表示;
基于该样本话语对应的目标解码表示,使用初始情感类别分类器确定该样本话语的样本情感类别;
基于该样本话语对应的目标解码表示,使用初始策略类别分类器确定该样本话语之后的下一样本话语的样本策略类别;
基于该样本话语的样本情感类别和真实情感类别,确定第一损失函数;
基于该样本话语之后的下一样本话语的样本策略类别和真实策略类别,确定第二损失函数;
基于所述第一损失函数、所述第二损失函数、所述第一损失函数的预设权重值和所述第二损失函数的预设权重值,确定使用该样本话语训练所述对话策略确定模型时的损失函数。
进一步的,所述分别确定用于描述当前话语和历史对话话语的特征表示,并基于用于描述当前话语和历史对话话语的特征表示的集合确定全局特征表示,包括:
对当前话语进行语句编码处理,得到当前话语的语句级特征表示;
分别对历史对话话语中的每条历史话语进行语句编码处理,得到每条历史话语的语句级特征表示;
对当前话语和每条历史话语的语句级特征表示分别进行池化操作,得到当前话语和每条历史话语的池化特征表示;
基于当前话语和每条历史话语的池化特征表示的集合进行全局编码处理,得到用于描述当前话语的特征表示;
针对每条历史话语,基于该条历史话语和该条历史话语之前每条历史话语的池化特征表示的集合进行全局编码处理,得到用于描述该条历史话语的特征表示;
分别对用于描述当前话语和每条历史话语的特征表示进行第二线性映射处理,得到当前话语和每条历史话语对应的线性特征表示,并将当前话语对应的线性特征表示和每条历史话语对应的线性特征表示的集合作为所述全局特征表示。
本申请实施例还提供了一种对话策略的预测装置,所述对话策略应用在对话互动的至少两个角色之间,所述预测装置包括:
获取模块,用于获取在对话开始后到第一角色的当前话语之前的历史对话话语;
编码模块,用于分别确定用于描述当前话语和历史对话话语的特征表示,并基于用于描述当前话语和历史对话话语的特征表示的集合确定全局特征表示;其中,所述全局特征表示用于表征包括当前话语和历史对话话语在内的全局对话的话语特征;
第一解码模块,用于根据用于描述当前话语的特征表示和所述全局特征表示,分别确定当前话语对应的语境级解码表示和当前话语对应的互动角色的角色级自我解码表示;其中,所述语境级解码表示从所述全局对话中对语言环境信息的解码得到;所述角色级自我解码表示从所述全局对话中互动角色的自我发言中解码得到;
确定模块,用于基于当前话语对应的语境级解码表示和当前话语对应的互动角色的角色级自我解码表示,确定当前话语对应的目标解码表示;
预测模块,用于基于当前话语对应的目标解码表示,使用对话策略确定模型,预测得到所述第一角色之外的其他互动角色在下一话语应采用的对话策略。
本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的一种对话策略的预测方法的步骤。
本申请实施例提供的一种对话策略的预测方法及预测装置,通过生成层次化的语境级解码表示和多角色的角色级自我解码表示,能够丰富特征表示中的自我话语信息,使得解码表示具有更丰富的语义信息,从而预测出更准确的对话策略,进而生成更准确适当的回应内容。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种对话策略的预测方法的流程图;
图2示出了本申请实施例所提供的一种对话策略的预测模型的结构示意图;
图3示出了本申请实施例所提供的一种对话策略的预测装置的结构示意图之一;
图4示出了本申请实施例所提供的一种对话策略的预测装置的结构示意图之二;
图5示出了本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的每个其他实施例,都属于本申请保护的范围。
随着人工智能相关技术的发展,智能对话系统越来越广泛地应用于信息查询、情感抚慰和智能客服等多个业务场景。以情感抚慰对话为例,在多个智能对话系统与求助用户的对话互动中,多个智能对话系统可作为不同的支持者(也可称作抚慰者),通过输出不同的回应来从多方面和多角度向用户提供情感抚慰服务,例如智能对话系统可以鼓励和安慰求助用户,可以向求助用户提供情感支持或者可以向求助用户提供解决方案等。然而,现有技术中往往只关注智能对话系统的回应生成任务,而忽视了对话策略的预测任务,进而导致智能对话系统使用不准确的对话策略生成了不准确、不适当的回应,因此无法满足用户的相应需求。基于此,本申请实施例提供了一种对话策略的预测方法及预测装置,通过生成层次化的语境级解码表示和多角色的角色级自我解码表示,丰富特征表示中的自我话语信息,使得解码表示具有更丰富的语义信息,从而预测出更准确的对话策略,进而生成更准确适当的回应内容。
为便于对本实施例进行理解,首先对本申请实施例所公开的一种对话策略的预测方法进行详细介绍,本申请实施例所公开的预测方法可应用在对话互动的至少两个角色之间,不同的角色交替发言可形成对话互动。角色可根据不同的实施环境设置,以情感抚慰对话为例,对话互动的角色可分为求助者和支持者,求助者和支持者的数量可以分别是一个或多个,求助者和支持者在对话互动中相互影响,求助者在情感上得到支持者的支持,支持者选择对话策略并考虑如何安慰求助者。例如,情感抚慰的对话互动中可以有一个求助者和多个支持者,求助者阐述自己的问题进行求助,多个支持者可以分别从不同的角度提供情感支持、分析问题原因以及提供解决方案等。在具体应用时,一般来说,求助者可以是具有接受情感抚慰需求的真实用户,而支持者可以是智能对话机器人或智能对话系统等。
在具体实施时,本申请实施例所提供的对话策略的预测方法可以基于终端设备执行,终端设备可以是已下载并可运行智能对话程序的本地电子设备,例如,智能手机、个人计算机、平板电脑等,以智能对话系统为例,本地电子设备搭载有智能对话系统并用于呈现对话界面。本地电子设备中搭载的智能对话系统用于通过对话界面与用户进行交互,即,通过电子设备下载安装智能对话程序并运行,接收用户通过对话界面输入的对话话语,预测智能对话系统应采用的对话策略,进而根据对话策略生成回复话语并通过对话界面反馈给用户,从而实现用户与智能对话系统之间分角色的对话互动。
此外,当本申请实施例所提供的对话策略的预测方法应用于服务器时,该对话策略的预测方法还可以基于云交互系统来实现与执行,其中,云交互系统可包括服务器和客户端设备。在一个可选的实施方式中,云交互系统下的服务器中可以运行多个云应用,例如:多个云智能对话系统。在云智能对话系统的运行模式下,智能对话程序的运行主体和对话界面的呈现主体是分离的,对话策略的预测方法的储存与运行是在云智能对话系统服务器上完成的,客户端设备用于对话话语的接收、发送以及对话界面的呈现,举例而言,客户端设备可以是靠近用户侧的具有数据传输功能的显示设备,如,智能手机、个人计算机、平板电脑等;进行对话策略预测的终端设备为云端的智能对话系统服务器。在进行对话互动时,用户操作客户端设备向智能对话系统服务器发送对话话语,智能对话系统服务器根据对话策略的预测方法预测应采用的对话策略,进而对话策略生成回复话语,通过网络返回客户端设备,最后,客户端设备将回复话语呈现在对话界面,从而实现用户与智能对话系统之间分角色的对话互动。需要说明的是,当对话互动中有多个智能对话系统参与时,多个智能对话系统可分别设置于不同的服务器,也可以集成设置于同一个服务器;当对话互动中有多个用户参与时,多个用户可分别使用不同的客户端设备,也可使用同一客户端设备并通过软件的方式切换用户角色来实现。
请参阅图1和图2,图1为本申请实施例所提供的一种对话策略的预测方法的流程图,图2为本申请所提供的一种对话策略的预测模型的结构示意图。下面以情感抚慰对话的场景为例,对本申请实施例所提供的预测方法进行详细说明,如图1中所示,本申请实施例提供的预测方法,包括:
S101、获取在对话开始后到第一角色的当前话语之前的历史对话话语。
如前所述,对话互动中的角色可根据不同的实施环境设定,示例性的,在情感抚慰对话的场景中,求助者和支持者交替发言并相互影响,构成了情感抚慰场景下的历史对话话语。此时可由作为求助者的用户充当第一角色,作为支持者的智能对话系统充当其它互动角色。其中,每个角色的每次发言产生一条话语(一条话语可包括一句或多句话),一条话语可对应一个话语步t(t为正整数),则话语步t可以表示每条话语的语句序号。
该步骤中,用户使用的终端设备可以通过提供可视化对话界面、接收语音输入等方式与用户进行对话交互,从而获取第一角色的当前话语以及在对话开始后到第一角色的当前话语之前的历史对话话语。
S102、分别确定用于描述当前话语和历史对话话语的特征表示,并基于用于描述当前话语和历史对话话语的特征表示的集合确定全局特征表示。
其中,所述全局特征表示用于表征包括当前话语和历史对话话语在内的全局对话的话语特征。这里,假设当前话语对应的话语步为t,则全局特征表示可表示为Gi≤t(i为正整数)。
在一种可能的实施方式中,步骤S102可包括:S1021、对当前话语进行语句编码处理,得到当前话语的语句级特征表示。S1022、分别对历史对话话语中的每条历史话语进行语句编码处理,得到每条历史话语的语句级特征表示。S1023、对当前话语和每条历史话语的语句级特征表示分别进行池化操作,得到当前话语和每条历史话语的池化特征表示。S1024、基于当前话语和每条历史话语的池化特征表示的集合进行全局编码处理,得到用于描述当前话语的特征表示。S1025、针对每条历史话语,基于该条历史话语和该条历史话语之前每条历史话语的池化特征表示的集合进行全局编码处理,得到用于描述该条历史话语的特征表示。S1026、分别对用于描述当前话语和每条历史话语的特征表示进行第二线性映射处理,得到当前话语和每条历史话语对应的线性特征表示,并将当前话语对应的线性特征表示和每条历史话语对应的线性特征表示的集合作为所述全局特征表示。
在具体实施时,针对包括当前话语和历史话语在内的每条话语,首先,可对该话语进行分词,形成联接序列;此外,对于由不同角色产生的每条话语,还需要在话语前拼接策略特殊标记[st]以区分角色。示例性的,当前话语ut的联接序列可表示为:
式中,<s>以及</s>表示话语的句子开始和句子结束的特殊标记;t表示当前话语的语句序号,即话语步;nt表示当前的对话语句的分词数量;表示当前话语/>中的一个分词。
其次,如图2所示,在编码阶段,可将当前话语和每条历史话语/>(i为正整数,且i<t)输入话语编码器210(BlenderbotModel)进行语句编码处理,得到每条历史话语的语句级特征表示/>和当前话语的语句级特征表示/>其中,针对每条话语,话语编码器210通过嵌入层得到每个分词的隐藏状态,进而得到该话语的隐藏状态。
再次,再对当前话语的语句级特征表示和每条历史话语的语句级特征表示/>分别进行池化操作,得到当前话语的池化特征表示ht和每条历史话语的池化特征表示hi;将当前话语和每条历史话语的池化特征表示的集合hi≤t输入全局记忆编码器220以进行全局编码处理,得到用于描述当前话语的特征表示/>针对每条历史话语/>该条历史话语和该条历史话语之前每条历史话语的池化特征表示的集合hk≤i(k为正整数,且k<i)输入全局记忆编码器220以进行全局编码处理,得到用于描述该条历史话语的特征表示/>
以当前话语ut为例,上述过程通过公式可表示为:
在具体实施时,为了捕获话语的上下文信息,我们使用全局记忆编码器220来捕获会话情境中当前话语和先前话语之间的依赖关系。全局记忆编码器220使用了Blenderbot的编码器作为架构。全局记忆编码器220通过线性层存储不同话语的上下文信息,通过分别对用于描述当前话语的特征表示和用于描述每条历史话语的特征表示/>进行第二线性映射处理,可得到当前话语对应的线性特征表示Gt和每条历史话语对应的线性特征表示Gi<t,进而将当前话语对应的线性特征表示和每条历史话语对应的线性特征表示的集合作为所述全局特征表示Gi≤t。以当前话语ut为例,第二线性映射处理的过程通过公式可表示为:
式中,Wg和bg均为在模型训练过程中可学习的参数。
其中,全局记忆编码器220的自注意力机制中使用了因果掩码以防止当前话语关注未来的上下文信息。公式表示为:
式中,M为因果掩码,对于M中的每个元素:
S103、根据用于描述当前话语的特征表示和所述全局特征表示,分别确定当前话语对应的语境级解码表示和当前话语对应的互动角色的角色级自我解码表示。
其中,所述语境级解码表示从所述全局对话中对语言环境信息的解码得到;所述角色级自我解码表示从所述全局对话中互动角色的自我发言中解码得到,具体实施时,可通过掩码操作掩盖全局对话中其它互动角色的发言,从而得到全局对话中每个互动角色的自我发言,进而基于任意一个互动角色的自我发言,解码得到当前话语对应的该互动角色的角色级自我解码表示。需要说明的是,当前话语对应的互动角色可以是包括第一角色在内的对话互动中的所有角色,也可以是第一角色和对话互动中的一部分其它角色,则对话互动中的各互动角色可以分阶段、分条件地在不同对话节点进行对话发言与回复。
S104、基于当前话语对应的语境级解码表示和当前话语对应的互动角色的角色级自我解码表示,确定当前话语对应的目标解码表示。
该步骤中,可以将当前话语对应的语境级解码表示和每个互动角色对应的角色级自我解码表示进行拼接,得到当前话语对应的目标解码表示。
S105、基于当前话语对应的目标解码表示,使用对话策略确定模型,预测得到所述第一角色之外的其他互动角色在下一话语应采用的对话策略。
该步骤中,可通过将目标解码表示输入预先训练好的对话策略确定模型280,得到应当对第一角色进行回复的其他互动角色在下一话语应采用的对话策略。这里,其他互动角色可以是一个或多个(例如,可由一个或多个支持者分别按照对话策略同时从多角度对求助者进行情感抚慰),本申请在此并不加以限制。
这样,通过生成层次化的语境级解码表示和多角色的角色级自我解码表示,能够丰富特征表示中的自我话语信息,使得目标解码表示具有更丰富的语义信息,从而预测出更准确的对话策略,进而生成更准确适当的回应内容。
进一步的,在S103分别确定当前话语对应的语境级解码表示和当前话语对应的互动角色的角色级自我解码表示之后,在S104基于当前话语对应的语境级解码表示和当前话语对应的互动角色的角色级自我解码表示,确定当前话语对应的目标解码表示之前,所述预测方法还包括:
S106、针对每个互动角色,根据当前话语和历史对话话语对应的该互动角色的角色级自我解码表示的集合以及当前话语对应的其他互动角色的角色级自我解码表示,确定当前话语对应的该互动角色的角色级交互解码表示。其中,每个互动角色的角色级交互解码表示从所述全局对话中该互动角色与其他互动角色之间的交互信息中解码得到。
进一步的,在步骤S106确定当前话语对应的每个互动角色的角色级交互解码表示之后,步骤S104可包括:S1041、针对每个互动角色,拼接当前话语对应的该互动角色的角色级交互解码表示和该互动角色的角色级自我解码表示,得到当前话语对应的该互动角色的角色级解码表示。S1042、拼接当前话语对应的语境级解码表示和当前话语对应的每个互动角色的角色级解码表示,得到当前话语对应的目标解码表示。
这样,在生成层次化的语境级解码表示和多角色的角色级自我解码表示,丰富特征表示中的自我话语信息的基础上,通过生成层次化的多个互动角色的角色级交互解码表示,能够丰富特征表示中的交互话语信息,使得目标解码表示具有更加丰富多角度的语义信息,从而预测出更准确的对话策略,进而生成更准确适当的回应内容。
下面将以对话互动中包括两个互动角色——第一角色和第二角色为例,结合图2详细说明在解码阶段如何确定当前话语对应的语境级解码表示、当前话语对应的互动角色的角色级自我解码表示和角色级交互解码表示。
在一种可能的实施方式中,当所述对话互动中包括第一角色和第二角色时,在步骤S103中,为了分别对第一角色和第二角色进行建模,我们将编码过程应用到三个级别:情境级别、第一角色级别和第二角色级别。其中,分别通过掩码操作使得第一角色级别解码过程的对话和第二角色级别解码过程的对话只包含各自的话语,而情景级别解码过程的对话包含对话中的所有话语。之后,将掩码操作后的三种对话分别进行语境级自我解码处理、第一角色级自我解码处理和第二角色级自我解码处理,得到当前话语对应的语境级解码表示、第一角色的角色级自我解码表示和第二角色的角色级自我解码表示。
在具体实施时,步骤S103可包括:S1031、对用于描述当前话语的特征表示进行第一线性映射处理,得到当前话语的当前特征表示。S1032、对所述全局特征表示进行第一角色级因果掩码,得到第一掩码全局特征表示。其中,所述第一角色级因果掩码用于掩盖所述全局特征表示中由第二角色产生的话语的特征表示。S1033、对所述全局特征表示进行第二角色级因果掩码,得到第二掩码全局特征表示。其中,所述第二角色级因果掩码用于掩盖所述全局特征表示中由第一角色产生的话语的特征表示。
示例性的,假设由第一角色和第二角色产生的话语所构成的第一角色和第二角色之间的对话可表示为:{u1、u2、u3、u4、u5},其中,u1、u3和u5表示由第一角色产生的话语,u2和u4表示由第二角色产生的话语,u5即表示当前话语,本申请所提供的预测方法的目标在于预测第二角色在第6步应采用的对话策略,进而生成第二角色应回复的话语u6;则此时第一角色掩码用于掩盖全局特征表示Gi≤5中由第二角色产生的每条话语对应的特征表示,即u2和u4对应的特征表示;第二角色掩码用于掩盖全局特征表示Gi≤5中由第一角色产生的每条话语对应的特征表示,即u1、u3和u5对应的特征表示。
S1034、使用所述当前特征表示作为查询,使用所述全局特征表示作为键值对,得到当前话语对应的语境级解码表示。S1035、使用所述当前特征表示作为查询,使用所述第一掩码全局特征表示作为键值对,得到当前话语对应的第一角色的角色级自我解码表示。S1036、使用所述当前特征表示作为查询,使用所述第二掩码全局特征表示作为键值对,得到当前话语对应的第二角色的角色级自我解码表示。
这里,为了检索和总结全局记忆,本申请实施例提出了自我解码器(如图2中的语境级自我解码器230、第一角色级自我解码器240和第二角色级自我解码器250),采用了Blenderbot解码器架构。自我解码器包含自注意力机制、交叉注意力机制和全连接层。交叉注意机制用于匹配来自全局记忆的相关话语。其中,当前话语ut由用于描述当前话语的特征表示(即,当前话语对应的全局编码表示或上下文表示)表示,并应用线性映射进行第一线性映射处理以将/>映射到解码空间,得到当前话语ut的当前特征表示/>
式中,Wq和bq均为在模型训练过程中可学习的参数。
该步骤中,语境级自我解码器230采用的注意力机制使用当前特征表示作为查询(Q),使用当前话语对应的全局记忆表示Gi≤t作为键值对(K-V)进行语境级自我解码处理,解码来自全局记忆表示的自我记忆表示,从而得到当前话语对应的语境级解码表示/>
这里,语境级自我解码器230采用的注意力机制使用键与查询的内积来获得注意力权重,随后将注意力权重与值做哈达玛积获得注意力机制的输出;使用当前话语对应的全局记忆表示Gi≤t作为键值对(K-V)是指对全局记忆表示Gi≤t分别进行线性映射,分别得到键K和值V;其中,得到键K的线性映射的参数以及得到值V的线性映射的参数均可在模型训练过程中学习得到。
同样地,第一角色级自我解码器240使用当前特征表示作为查询,使用所述第一掩码全局特征表示Gi≤t sek作为键值对,进行第一角色级自我解码处理,得到当前话语对应的第一角色的角色级自我解码表示/>第二角色级自我解码器250使用用于描述当前话语的特征表示作为查询,使用所述第二掩码全局特征表示Gi≤t sup作为键值对,进行第二角色级自我解码处理,得到当前话语对应的第二角色的角色级自我解码表示/>
在一种可能的实施方式中,当所述对话互动中包括第一角色和第二角色时,在步骤S106中,针对每个互动角色,根据当前话语和历史对话话语对应的该互动角色的角色级自我解码表示的集合以及当前话语对应的其他互动角色的角色级自我解码表示,确定当前话语对应的该互动角色的角色级交互解码表示,可包括:
S1061、针对所述第一角色,利用当前话语对应的第二角色的角色级自我解码表示作为查询,利用当前话语和历史对话话语对应的第一角色的角色级自我解码表示的集合作为键值对,得到当前话语对应的第一角色的角色级交互解码表示。S1062、针对所述第二角色,利用当前话语对应的第一角色的角色级自我解码表示作为查询,利用当前话语和历史对话话语对应的第二角色的角色级自我解码表示的集合作为键值对,得到当前话语对应的第二角色的角色级交互解码表示。
需要说明的是,在对话过程中,对话的双方,即第一角色和第二角色会相互影响。例如,在情感抚慰对话中,求助者和抚慰者(也可称作支持者)之间的相互影响:求助者在情感上得到抚慰者的支持,抚慰者根据求助者之前的话语选择支持策略并考虑如何安慰求助者。因此,为了捕获第一角色和第二角色之间的交互信息,本申请实施例提出了交互解码器(如图2中的交互解码器260和交互解码器270),它使用Blenderbot的解码器作为架构。
如图2所示。与自我记忆解码器不同,对于交互解码器的第一角色级交互解码的过程,我们使用当前话语对应的第二角色的角色级自我解码表示作为查询,使用当前话语和历史对话话语对应的第一角色的角色级自我解码表示的集合作为键值对,将其均输入到第一角色对应的交互解码器260,输出第一角色的角色级交互解码表示;同样地,对于第二角色级交互解码的过程,我们使用当前话语对应的第一角色的角色级自我解码表示作为查询,使用当前话语和历史对话话语对应的第二角色的角色级自我解码表示的集合作为键值对,输入到第二角色对应的交互解码器270,输出第二角色的角色级交互解码表示;上述过程通过公式可表示为:
Ct=BlenderbotDecoderLayer(S′t,Si≤t);
式中,S′t表示当前话语对应的对方的自我解码表示;Si≤t表示当前话语和历史对话话语对应的我方的角色级自我解码表示的集合;Ct表示当前话语对应的我方的角色级交互解码表示。
对应于上述示例,假设当前话语为u5,预测目标为第二角色在第6步应采用的对话策略,则t=5,S′t为u5对应的对方的自我解码表示,即第1、3和5句作为输入得到的第二角色的自我解码表示;Si≤t为第5步以及之前的每条历史话语对应的我方的自我解码表示,其中第4句对应的自我解码表示S4由第2句和第4句作为输入获得,第2句对应的自我解码表示S2仅由第2句自身获得。
进一步的,当所述对话互动中包括第一角色和第二角色时,关于步骤S104基于当前话语对应的语境级解码表示和当前话语对应的互动角色的角色级自我解码表示,确定当前话语对应的目标解码表示时,若第一角色对应的交互解码器260解码得到当前话语对应的第一角色的角色级交互解码表示则第一角色的角色级解码表示/>可表示为:
式中,表示第一角色的角色级自我解码表示;/>表示第一角色的角色级交互解码表示。
同样地,若第二角色对应的交互解码器270解码得到当前话语对应的第二角色的角色级交互解码表示则第二角色的角色级解码表示/>可表示为:
式中,表示第二角色的角色级自我解码表示;/>表示第二角色的角色级交互解码表示。
相应地,步骤S1042中,通过拼接当前话语对应的语境级解码表示和当前话语对应的每个互动角色的角色级解码表示,得到的当前话语对应的目标解码表示应当是三个层次表示(语境级解码表示第一角色的角色级解码表示/>和第二角色的角色级解码表示/>)的拼接;具体的,目标解码表示Ot可表示为:
需要说明的是,本申请实施例中的对话互动不限于第一角色和第二角色这两个互动角色,当对话互动中包含三个及三个以上的互动角色时,各互动角色的角色级自我解码表示和角色级交互解码表示以及目标解码表示的确定过程可参照上述对话互动中包括第一角色和第二角色时的确定过程,并能达到相同的技术效果,本申请在此不再赘述。
进一步的,所述对话策略包括情感类别和策略类别,则步骤S105基于当前话语对应的目标解码表示,使用对话策略确定模型,预测得到所述第一角色之外的其他互动角色在下一话语应采用的对话策略,可包括:基于当前话语对应的目标解码表示,使用所述对话策略确定模型280中的情感类别分类器281,确定当前话语的情感类别;基于当前话语对应的目标解码表示,使用所述对话策略确定模型280中的策略类别分类器282,确定下一话语的策略类别。
这样,通过引入辅助的实时情绪识别任务,可增强模型捕捉求助者动态情绪状态的能力;相应地,在模型训练的过程中,通过设计多任务学习框架,可将情感分类损失与策略分类损失融合进多目标损失函数中,有利于提升情感抚慰对话策略的预测性能。
进一步的,在步骤S105基于当前话语对应的目标解码表示,使用对话策略确定模型,预测得到所述第一角色之外的其他互动角色在下一话语应采用的对话策略之后,预测方法还包括:S107、基于所述对话策略,使用回复确定模型,确定所述第一角色之外的其他互动角色应回复的下一话语。
示例性的,当所述对话互动中包括所述第一角色和第二角色时,回复确定模型根据第二角色在下一话语应采用的策略类别和第一角色在当前话语的情感类别,生成第二角色应回复的当前话语的下一话语。
进一步的,本申请实施例还提供了一种对话策略的预测模型的训练方法。在具体实施时,该训练方法可以基于终端设备执行,终端设备可以是已下载并可运行智能对话程序的本地电子设备,通过执行该训练方法可训练得到智能对话程序中包括的对话策略的预测模型;此外,当该训练方法应用于服务器时,该训练方法还可以基于云交互系统来实现与执行,其中,云交互系统可包括服务器和客户端设备。云交互系统下的服务器可运行有云端的智能对话程序,通过执行该训练方法可训练得到智能对话程序中包括的对话策略的预测模型。
在具体实施时,训练所述对话策略确定模型的损失函数通过以下方式得到:
步骤1、获取在对话互动的至少两个互动角色之间的样本对话;所述样本对话中的每个样本话语被标注有真实情感类别和真实策略类别。
步骤2、针对每个样本话语,获取该样本话语对应的目标解码表示。
该步骤中,针对每个样本话语,获取该样本话语对应的目标解码表示的过程可参照前述S102至S104以及S106中的描述,并能达到相同的技术效果,对此不再赘述。但值得注意的是,在使用样本话语确定损失函数进行模型训练的过程中,针对每个样本话语,为了防止未来的话语信息泄露,需要对样本对话中位于该样本话语之后的各样本话语进行因果掩码。也就是说,在训练过程中,初始第一角色级自我解码器240除了对该样本话语对应的样本全局记忆表示进行第一角色级因果掩码外,还需要进行未来掩码以掩盖样本全局记忆表示中该样本话语之后的对话信息;同样地,初始第二角色级自我解码器250除了对该样本话语对应的样本全局记忆表示进行第二角色级因果掩码外,还需要进行未来掩码以掩盖样本全局记忆表示中样本话语之后的对话信息;此外,初始语境级自我解码器230也需要对该样本话语对应的样本全局记忆表示进行未来掩码以掩盖样本全局记忆表示中该样本话语之后的对话信息。
步骤3、基于该样本话语对应的目标解码表示,使用初始情感类别分类器确定该样本话语的样本情感类别。步骤4、基于该样本话语对应的目标解码表示,使用初始策略类别分类器确定第二角色应产生的下一样本话语的样本策略类别。步骤5、基于所述样本情感类别和所述真实情感类别,确定第一损失函数。步骤6、基于所述样本策略类别和所述真实策略类别,确定第二损失函数。步骤7、基于所述第一损失函数、所述第二损失函数、所述第一损失函数的预设权重值和所述第二损失函数的预设权重值,确定使用该样本话语训练所述对话策略确定模型时的损失函数。
具体的,初始情感类别分类器281在进行情感识别的损失函数(即,第一损失函数)可定义为:
初始策略类别分类器282在进行策略预测时的损失函数(即,第二损失函数)可定义为:
式中,N表示样本数量;γ表示策略种类,表示真实策略分布,/>表示预测策略分布;C表示情感种类,/>表示真实情感分布,/>表示预测情感分布。
因此,可根据所述第一损失函数、所述第二损失函数和各损失函数的预设权重值,确定总损失函数L为第一损失函数和第二损失函数的加权和:
L=(1-α)Lst+αLemo
式中,α表示预设权重值。
在确定出总损失函数之后,可通过梯度下降和反向传播等模型训练方式对对话策略确定模型280以及图2中的各编码器和各解码器依次进行训练,进而得到训练好的对话策略的预测模型。
在一个实验中,以求助者(第一角色)和抚慰者(第二角色)之间的情感抚慰对话作为实施场景。为了验证本申请提到的对话策略的预测方法的有效性,本申请以ESConv作为对话数据集对模型性能作了评估。包括三个基准设置:Major(一直预测最为常见的对话策略)、Joint(目前最先进的对话策略模型)、Strategy-Only(只使用策略标签进行预测)。
数据集分别由训练集、开发集和测试集中的28889、6230和6259个话语组成。每个话语都有对应的情感标注和对话策略标注。在自动评估方面,采用了Micro-F1与Macro-F1作为衡量指标。
在实施方式中,将Blenderbot作为编码器和解码器的骨干模型。所有这些模型都是使用Huggingface实现的。使用的训练批大小为1,并进行20个epochs的微调。本申请使用AdamW作为优化器,学习率为1.5e-5。本申请使用1000步作为预热步数。平衡损失权重的超参数选择为α=0.2。
本申请对使用对话策略预测方法构建的模型和上述三个基线模型进行比较,比较结果参照下表1。由表1可以看到,本申请提供的对话策略预测模型(EASED)在各个指标和类别上都有所提高,特别是MacroF1这一指标提升显著。
表1对话策略预测模型与各基线模型的比较结果
同时在本场景示例中,对本申请提出的模型进行了消融实验,实验结果请参照下表2。表2中,w/o代表without,w/o Self的方法里不使用自我记忆解码器,w/o Cross的方法里不使用交互记忆解码器,w/o Self,Cross的方法里不使用自我记忆解码器和交互记忆解码器,直接用全局记忆进行对话预测;w/o Situation的方法里不使用情境级编码建模,w/oSeeker的方法里不使用求助者级编码建模,w/o Supporter的方法里不使用抚慰者级编码建模。
表2对话策略预测模型的消融实验结果
由表2可以看到,删除两种记忆中的任何一个都会使整体性能变差。去除交互记忆比去除自我记忆会使得模型指标有更多的下降,如果两种记忆都被丢弃,模型的性能下降很多,这说明了自记忆和交叉记忆的有效性。
此外,删除三个层次中的任何一个都会使整体性能变差。去除抚慰者级别的建模会对模型的性能产生很大影响,这表明抚慰者建模在支持策略预测中至关重要。
本申请还对使用不同的情感权重α的模型的性能作了对比,对比结果请参照下表3,评价指标为Micro-F1与Macro-F1。可以看到,如图所示,随着α的增加,本申请提出的模型的表现先提升后下降,说明考虑求助者的情感因素增强了模型捕捉求助者情绪状态的能力,提高了预测策略的准确性。但是,如果本申请提出的模型过分关注求助者的情绪状态而忽视其他影响,其预测策略的能力就会下降。
表3采用不同情感权重的对话策略预测模型的对比实验结果
本申请提出的对话策略预测方法对于情感抚慰对话回应生成的影响对比请见下表4。对比实验使用的指标为BLEU-2,ROUGE-L和Extrema。对比的模型为Joint(情感抚慰对话的基础生成模型,以Blenderbot作为骨干网络)以及融合了本申请提出对话策略预测方法的模型的Joint+EASED。可以看到,由于产生更准确的支持策略,Joint+EASED的性能超越了原始Joint,提高了响应质量。与原始Joint相比,响应变得更接近黄金参考,因此可以更好地给予求助者情感抚慰。
表4对话策略预测方法对于情感抚慰对话回应生成的影响对比结果
本申请实施例提供的一种对话策略的预测方法,通过生成层次化的语境级解码表示和多角色的角色级自我解码表示,能够丰富特征表示中的自我话语信息,使得解码表示具有更丰富的语义信息,从而预测出更准确的对话策略,进而生成更准确适当的回应内容。
请参阅图3、图4,图3为本申请实施例所提供的一种对话策略的预测装置的结构示意图之一,图4为本申请实施例所提供的一种对话策略的预测装置的结构示意图之二。所述对话策略应用在对话互动的至少两个角色之间,如图3中所示,所述预测装置300包括:
获取模块310,用于获取在对话开始后到第一角色的当前话语之前的历史对话话语;
编码模块320,用于分别确定用于描述当前话语和历史对话话语的特征表示,并基于用于描述当前话语和历史对话话语的特征表示的集合确定全局特征表示;其中,所述全局特征表示用于表征包括当前话语和历史对话话语在内的全局对话的话语特征;
第一解码模块330,用于根据用于描述当前话语的特征表示和所述全局特征表示,分别确定当前话语对应的语境级解码表示和当前话语对应的互动角色的角色级自我解码表示;其中,所述语境级解码表示从所述全局对话中对语言环境信息的解码得到;所述角色级自我解码表示从所述全局对话中互动角色的自我发言中解码得到;
确定模块340,用于基于当前话语对应的语境级解码表示和当前话语对应的互动角色的角色级自我解码表示,确定当前话语对应的目标解码表示;
预测模块350,用于基于当前话语对应的目标解码表示,使用对话策略确定模型,预测得到所述第一角色之外的其他互动角色在下一话语应采用的对话策略。
进一步的,所述预测装置300还包括:第二解码模块360;所述第二解码模块360用于:
针对每个互动角色,根据当前话语和历史对话话语对应的该互动角色的角色级自我解码表示的集合以及当前话语对应的其他互动角色的角色级自我解码表示,确定当前话语对应的该互动角色的角色级交互解码表示;其中,每个互动角色的角色级交互解码表示从所述全局对话中该互动角色与其他互动角色之间的交互信息中解码得到。
进一步的,所述确定模块340在用于基于当前话语对应的语境级解码表示和当前话语对应的互动角色的角色级自我解码表示,确定当前话语对应的目标解码表示时,所述确定模块340用于:
针对每个互动角色,拼接当前话语对应的该互动角色的角色级交互解码表示和该互动角色的角色级自我解码表示,得到当前话语对应的该互动角色的角色级解码表示;
拼接当前话语对应的语境级解码表示和当前话语对应的每个互动角色的角色级解码表示,得到当前话语对应的目标解码表示。
进一步的,当所述对话互动中包括所述第一角色和第二角色时;所述第一解码模块330在用于根据用于描述当前话语的特征表示和所述全局特征表示,分别确定当前话语对应的语境级解码表示和当前话语对应的互动角色的角色级自我解码表示时,所述第一解码模块330用于:
对用于描述当前话语的特征表示进行第一线性映射处理,得到当前话语的当前特征表示;
对所述全局特征表示进行第一角色级因果掩码,得到第一掩码全局特征表示;其中,所述第一角色级因果掩码用于掩盖所述全局特征表示中由第二角色产生的话语的特征表示;
对所述全局特征表示进行第二角色级因果掩码,得到第二掩码全局特征表示;其中,所述第二角色级因果掩码用于掩盖所述全局特征表示中由第一角色产生的话语的特征表示;
使用所述当前特征表示作为查询,使用所述全局特征表示作为键值对,得到当前话语对应的语境级解码表示;
使用所述当前特征表示作为查询,使用所述第一掩码全局特征表示作为键值对,得到当前话语对应的第一角色的角色级自我解码表示;
使用所述当前特征表示作为查询,使用所述第二掩码全局特征表示作为键值对,得到当前话语对应的第二角色的角色级自我解码表示。
进一步的,当所述对话互动中包括所述第一角色和第二角色时;所述第二解码模块360在用于针对每个互动角色,根据当前话语和历史对话话语对应的该互动角色的角色级自我解码表示的集合以及当前话语对应的其他互动角色的角色级自我解码表示,确定当前话语对应的该互动角色的角色级交互解码表示时,所述第二解码模块360用于:
针对所述第一角色,利用当前话语对应的第二角色的角色级自我解码表示作为查询,利用当前话语和历史对话话语对应的第一角色的角色级自我解码表示的集合作为键值对,得到当前话语对应的第一角色的角色级交互解码表示;
针对所述第二角色,利用当前话语对应的第一角色的角色级自我解码表示作为查询,利用当前话语和历史对话话语对应的第二角色的角色级自我解码表示的集合作为键值对,得到当前话语对应的第二角色的角色级交互解码表示。
进一步的,所述对话策略包括情感类别和策略类别;所述预测模块350在用于基于当前话语对应的目标解码表示,使用对话策略确定模型,预测得到所述第一角色之外的其他互动角色在下一话语应采用的对话策略时,所述预测模块350用于:
基于当前话语对应的目标解码表示,使用所述对话策略确定模型中的情感类别分类器,确定当前话语的情感类别;
基于当前话语对应的目标解码表示,使用所述对话策略确定模型中的策略类别分类器,确定下一话语的策略类别。
进一步,所述预测装置300还包括训练模块370,所述训练模块370训练所述对话策略确定模型的损失函数通过以下方式得到:
获取在对话互动的至少两个互动角色之间的样本对话;所述样本对话中的每个样本话语被标注有真实情感类别和真实策略类别;
针对每个样本话语,获取该样本话语对应的目标解码表示;
基于该样本话语对应的目标解码表示,使用初始情感类别分类器确定该样本话语的样本情感类别;
基于该样本话语对应的目标解码表示,使用初始策略类别分类器确定该样本话语之后的下一样本话语的样本策略类别;
基于该样本话语的样本情感类别和真实情感类别,确定第一损失函数;
基于该样本话语之后的下一样本话语的样本策略类别和真实策略类别,确定第二损失函数;
基于所述第一损失函数、所述第二损失函数、所述第一损失函数的预设权重值和所述第二损失函数的预设权重值,确定使用该样本话语训练所述对话策略确定模型时的损失函数。
进一步的,所述编码模块320在用于分别确定用于描述当前话语和历史对话话语的特征表示,并基于用于描述当前话语和历史对话话语的特征表示的集合确定全局特征表示时,所述编码模块320用于:
对当前话语进行语句编码处理,得到当前话语的语句级特征表示;
分别对历史对话话语中的每条历史话语进行语句编码处理,得到每条历史话语的语句级特征表示;
对当前话语和每条历史话语的语句级特征表示分别进行池化操作,得到当前话语和每条历史话语的池化特征表示;
基于当前话语和每条历史话语的池化特征表示的集合进行全局编码处理,得到用于描述当前话语的特征表示;
针对每条历史话语,基于该条历史话语和该条历史话语之前每条历史话语的池化特征表示的集合进行全局编码处理,得到用于描述该条历史话语的特征表示;
分别对用于描述当前话语和每条历史话语的特征表示进行第二线性映射处理,得到当前话语和每条历史话语对应的线性特征表示,并将当前话语对应的线性特征表示和每条历史话语对应的线性特征表示的集合作为所述全局特征表示。
这样,通过生成层次化的语境级解码表示和多角色的角色级自我解码表示,能够丰富特征表示中的自我话语信息,使得解码表示具有更丰富的语义信息,从而预测出更准确的对话策略,进而生成更准确适当的回应内容。
请参阅图5,图5为本申请实施例所提供的一种电子设备的结构示意图。如图5中所示,所述电子设备500包括处理器510、存储器520和总线530。
所述存储器520存储有所述处理器510可执行的机器可读指令,当电子设备500运行时,所述处理器510与所述存储器520之间通过总线530通信,所述机器可读指令被所述处理器510执行时,可以执行如上述图1以及图2所示方法实施例中的一种对话策略的预测方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图1以及图2所示方法实施例中的一种对话策略的预测方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种对话策略的预测方法,其特征在于,所述对话策略应用在对话互动的至少两个角色之间,所述预测方法包括:
获取在对话开始后到第一角色的当前话语之前的历史对话话语;
分别确定用于描述当前话语和历史对话话语的特征表示,并基于用于描述当前话语和历史对话话语的特征表示的集合确定全局特征表示;其中,所述全局特征表示用于表征包括当前话语和历史对话话语在内的全局对话的话语特征;
根据用于描述当前话语的特征表示和所述全局特征表示,分别确定当前话语对应的语境级解码表示和当前话语对应的互动角色的角色级自我解码表示;其中,所述语境级解码表示从所述全局对话中对语言环境信息的解码得到;所述角色级自我解码表示从所述全局对话中互动角色的自我发言中解码得到;
基于当前话语对应的语境级解码表示和当前话语对应的互动角色的角色级自我解码表示,确定当前话语对应的目标解码表示;
基于当前话语对应的目标解码表示,使用对话策略确定模型,预测得到所述第一角色之外的其他互动角色在下一话语应采用的对话策略;
当所述对话互动中包括所述第一角色和第二角色时;所述根据用于描述当前话语的特征表示和所述全局特征表示,分别确定当前话语对应的语境级解码表示和当前话语对应的互动角色的角色级自我解码表示,包括:
对用于描述当前话语的特征表示进行第一线性映射处理,得到当前话语的当前特征表示;
对所述全局特征表示进行第一角色级因果掩码,得到第一掩码全局特征表示;其中,所述第一角色级因果掩码用于掩盖所述全局特征表示中由第二角色产生的话语的特征表示;
对所述全局特征表示进行第二角色级因果掩码,得到第二掩码全局特征表示;其中,所述第二角色级因果掩码用于掩盖所述全局特征表示中由第一角色产生的话语的特征表示;
使用所述当前特征表示作为查询,使用所述全局特征表示作为键值对,得到当前话语对应的语境级解码表示;
使用所述当前特征表示作为查询,使用所述第一掩码全局特征表示作为键值对,得到当前话语对应的第一角色的角色级自我解码表示;
使用所述当前特征表示作为查询,使用所述第二掩码全局特征表示作为键值对,得到当前话语对应的第二角色的角色级自我解码表示。
2.根据权利要求1所述的预测方法,其特征在于,在分别确定当前话语对应的语境级解码表示和当前话语对应的互动角色的角色级自我解码表示之后,在基于当前话语对应的语境级解码表示和当前话语对应的互动角色的角色级自我解码表示,确定当前话语对应的目标解码表示之前,所述预测方法还包括:
针对每个互动角色,根据当前话语和历史对话话语对应的该互动角色的角色级自我解码表示的集合以及当前话语对应的其他互动角色的角色级自我解码表示,确定当前话语对应的该互动角色的角色级交互解码表示;其中,每个互动角色的角色级交互解码表示从所述全局对话中该互动角色与其他互动角色之间的交互信息中解码得到。
3.根据权利要求2所述的预测方法,其特征在于,所述基于当前话语对应的语境级解码表示和当前话语对应的互动角色的角色级自我解码表示,确定当前话语对应的目标解码表示,包括:
针对每个互动角色,拼接当前话语对应的该互动角色的角色级交互解码表示和该互动角色的角色级自我解码表示,得到当前话语对应的该互动角色的角色级解码表示;
拼接当前话语对应的语境级解码表示和当前话语对应的每个互动角色的角色级解码表示,得到当前话语对应的目标解码表示。
4.根据权利要求2所述的预测方法,其特征在于,当所述对话互动中包括所述第一角色和第二角色时;所述针对每个互动角色,根据当前话语和历史对话话语对应的该互动角色的角色级自我解码表示的集合以及当前话语对应的其他互动角色的角色级自我解码表示,确定当前话语对应的该互动角色的角色级交互解码表示,包括:
针对所述第一角色,利用当前话语对应的第二角色的角色级自我解码表示作为查询,利用当前话语和历史对话话语对应的第一角色的角色级自我解码表示的集合作为键值对,得到当前话语对应的第一角色的角色级交互解码表示;
针对所述第二角色,利用当前话语对应的第一角色的角色级自我解码表示作为查询,利用当前话语和历史对话话语对应的第二角色的角色级自我解码表示的集合作为键值对,得到当前话语对应的第二角色的角色级交互解码表示。
5.根据权利要求1所述的预测方法,其特征在于,所述对话策略包括情感类别和策略类别;所述基于当前话语对应的目标解码表示,使用对话策略确定模型,预测得到所述第一角色之外的其他互动角色在下一话语应采用的对话策略,包括:
基于当前话语对应的目标解码表示,使用所述对话策略确定模型中的情感类别分类器,确定当前话语的情感类别;
基于当前话语对应的目标解码表示,使用所述对话策略确定模型中的策略类别分类器,确定下一话语的策略类别。
6.根据权利要求5所述的预测方法,其特征在于,训练所述对话策略确定模型的损失函数通过以下方式得到:
获取在对话互动的至少两个互动角色之间的样本对话;所述样本对话中的每个样本话语被标注有真实情感类别和真实策略类别;
针对每个样本话语,获取该样本话语对应的目标解码表示;
基于该样本话语对应的目标解码表示,使用初始情感类别分类器确定该样本话语的样本情感类别;
基于该样本话语对应的目标解码表示,使用初始策略类别分类器确定该样本话语之后的下一样本话语的样本策略类别;
基于该样本话语的样本情感类别和真实情感类别,确定第一损失函数;
基于该样本话语之后的下一样本话语的样本策略类别和真实策略类别,确定第二损失函数;
基于所述第一损失函数、所述第二损失函数、所述第一损失函数的预设权重值和所述第二损失函数的预设权重值,确定使用该样本话语训练所述对话策略确定模型时的损失函数。
7.根据权利要求1所述的预测方法,其特征在于,所述分别确定用于描述当前话语和历史对话话语的特征表示,并基于用于描述当前话语和历史对话话语的特征表示的集合确定全局特征表示,包括:
对当前话语进行语句编码处理,得到当前话语的语句级特征表示;
分别对历史对话话语中的每条历史话语进行语句编码处理,得到每条历史话语的语句级特征表示;
对当前话语和每条历史话语的语句级特征表示分别进行池化操作,得到当前话语和每条历史话语的池化特征表示;
基于当前话语和每条历史话语的池化特征表示的集合进行全局编码处理,得到用于描述当前话语的特征表示;
针对每条历史话语,基于该条历史话语和该条历史话语之前每条历史话语的池化特征表示的集合进行全局编码处理,得到用于描述该条历史话语的特征表示;
分别对用于描述当前话语和每条历史话语的特征表示进行第二线性映射处理,得到当前话语和每条历史话语对应的线性特征表示,并将当前话语对应的线性特征表示和每条历史话语对应的线性特征表示的集合作为所述全局特征表示。
8.一种对话策略的预测装置,其特征在于,所述对话策略应用在对话互动的至少两个角色之间,所述预测装置包括:
获取模块,用于获取在对话开始后到第一角色的当前话语之前的历史对话话语;
编码模块,用于分别确定用于描述当前话语和历史对话话语的特征表示,并基于用于描述当前话语和历史对话话语的特征表示的集合确定全局特征表示;其中,所述全局特征表示用于表征包括当前话语和历史对话话语在内的全局对话的话语特征;
第一解码模块,用于根据用于描述当前话语的特征表示和所述全局特征表示,分别确定当前话语对应的语境级解码表示和当前话语对应的互动角色的角色级自我解码表示;其中,所述语境级解码表示从所述全局对话中对语言环境信息的解码得到;所述角色级自我解码表示从所述全局对话中互动角色的自我发言中解码得到;
确定模块,用于基于当前话语对应的语境级解码表示和当前话语对应的互动角色的角色级自我解码表示,确定当前话语对应的目标解码表示;
预测模块,用于基于当前话语对应的目标解码表示,使用对话策略确定模型,预测得到所述第一角色之外的其他互动角色在下一话语应采用的对话策略;
当所述对话互动中包括所述第一角色和第二角色时;所述第一解码模块在用于根据用于描述当前话语的特征表示和所述全局特征表示,分别确定当前话语对应的语境级解码表示和当前话语对应的互动角色的角色级自我解码表示时,所述第一解码模块用于:
对用于描述当前话语的特征表示进行第一线性映射处理,得到当前话语的当前特征表示;
对所述全局特征表示进行第一角色级因果掩码,得到第一掩码全局特征表示;其中,所述第一角色级因果掩码用于掩盖所述全局特征表示中由第二角色产生的话语的特征表示;
对所述全局特征表示进行第二角色级因果掩码,得到第二掩码全局特征表示;其中,所述第二角色级因果掩码用于掩盖所述全局特征表示中由第一角色产生的话语的特征表示;
使用所述当前特征表示作为查询,使用所述全局特征表示作为键值对,得到当前话语对应的语境级解码表示;
使用所述当前特征表示作为查询,使用所述第一掩码全局特征表示作为键值对,得到当前话语对应的第一角色的角色级自我解码表示;
使用所述当前特征表示作为查询,使用所述第二掩码全局特征表示作为键值对,得到当前话语对应的第二角色的角色级自我解码表示。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行如权利要求1至7任一所述的一种对话策略的预测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211238166.8A CN115577084B (zh) | 2022-10-10 | 2022-10-10 | 一种对话策略的预测方法及预测装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211238166.8A CN115577084B (zh) | 2022-10-10 | 2022-10-10 | 一种对话策略的预测方法及预测装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115577084A CN115577084A (zh) | 2023-01-06 |
CN115577084B true CN115577084B (zh) | 2024-06-18 |
Family
ID=84584688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211238166.8A Active CN115577084B (zh) | 2022-10-10 | 2022-10-10 | 一种对话策略的预测方法及预测装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115577084B (zh) |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10657962B2 (en) * | 2018-05-02 | 2020-05-19 | International Business Machines Corporation | Modeling multiparty conversation dynamics: speaker, response, addressee selection using a novel deep learning approach |
US11657094B2 (en) * | 2019-06-28 | 2023-05-23 | Meta Platforms Technologies, Llc | Memory grounded conversational reasoning and question answering for assistant systems |
US11431660B1 (en) * | 2020-09-25 | 2022-08-30 | Conversation Processing Intelligence Corp. | System and method for collaborative conversational AI |
CN112256856A (zh) * | 2020-11-16 | 2021-01-22 | 北京京东尚科信息技术有限公司 | 机器人对话方法、装置、电子设备及存储介质 |
CN112949858A (zh) * | 2021-03-24 | 2021-06-11 | 网经科技(苏州)有限公司 | 任务导向型对话策略生成方法 |
CN113220851A (zh) * | 2021-04-28 | 2021-08-06 | 山东师范大学 | 一种基于推理对话模型的人机个性化对话方法及系统 |
CN113987179B (zh) * | 2021-10-27 | 2024-03-22 | 哈尔滨工业大学 | 基于知识增强和回溯损失的对话情绪识别网络模型、构建方法、电子设备及存储介质 |
CN114036282A (zh) * | 2021-11-26 | 2022-02-11 | 思必驰科技股份有限公司 | 用于端到端任务型对话的语言模型预训练方法及系统 |
CN114547329A (zh) * | 2022-01-25 | 2022-05-27 | 阿里巴巴(中国)有限公司 | 建立预训练语言模型的方法、语义解析方法和装置 |
CN114579728B (zh) * | 2022-03-15 | 2024-07-12 | 四川新网银行股份有限公司 | 应用于多轮对话系统的对话生成方法、装置、设备及介质 |
CN114722838A (zh) * | 2022-04-11 | 2022-07-08 | 天津大学 | 基于常识感知和层次化多任务学习的对话情感识别方法 |
-
2022
- 2022-10-10 CN CN202211238166.8A patent/CN115577084B/zh active Active
Non-Patent Citations (2)
Title |
---|
可控闲聊对话系统的研究;顾秀森;《中国优秀硕士学位论文全文数据库 信息科技辑》;20190915(第09期);I138-1444 * |
基于端到端学习的任务型中文多轮对话算法研究;何群;《中国优秀硕士学位论文全文数据库 信息科技辑》;20220415(第04期);I138-1303 * |
Also Published As
Publication number | Publication date |
---|---|
CN115577084A (zh) | 2023-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | A persona-based neural conversation model | |
CN111312245B (zh) | 一种语音应答方法、装置和存储介质 | |
US10394963B2 (en) | Natural language processor for providing natural language signals in a natural language output | |
KR20210158344A (ko) | 디지털 어시스턴트를 위한 머신 러닝 시스템 | |
CN112528637B (zh) | 文本处理模型训练方法、装置、计算机设备和存储介质 | |
WO2023020262A1 (en) | Integrating dialog history into end-to-end spoken language understanding systems | |
US20170116187A1 (en) | Natural language processor for providing natural language signals in a natural language output | |
CN113505198B (zh) | 关键词驱动的生成式对话回复方法、装置及电子设备 | |
US11288293B2 (en) | Methods and systems for ensuring quality of unstructured user input content | |
CN111382257A (zh) | 一种生成对话下文的方法和系统 | |
US20200387534A1 (en) | Media selection based on content topic & sentiment | |
CN110929505A (zh) | 房源标题的生成方法和装置、存储介质、电子设备 | |
CN115687565A (zh) | 文本生成方法及装置 | |
CN116913278B (zh) | 语音处理方法、装置、设备和存储介质 | |
CN114005446A (zh) | 情感分析方法、相关设备及可读存储介质 | |
Wen et al. | Recurrent neural network based personalized language modeling by social network crowdsourcing | |
US11393454B1 (en) | Goal-oriented dialog generation using dialog template, API, and entity data | |
CN115577084B (zh) | 一种对话策略的预测方法及预测装置 | |
CN112989794A (zh) | 模型训练方法、装置、智能机器人和存储介质 | |
Sakti et al. | Incremental sentence compression using LSTM recurrent networks | |
KR20230146398A (ko) | 바트 모델을 활용한 시퀀셜 텍스트 요약 처리 장치 및 그 제어방법 | |
Schnelle-Walka et al. | Nlu vs. dialog management: To whom am i speaking? | |
US20210216714A1 (en) | Methods and systems for managing chatbots with respect to rare entities | |
CN114373443A (zh) | 语音合成方法和装置、计算设备、存储介质及程序产品 | |
CN112150103A (zh) | 一种日程设置方法、装置和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |