CN113821620A - 多轮对话任务处理方法、装置及电子设备 - Google Patents
多轮对话任务处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN113821620A CN113821620A CN202111104855.5A CN202111104855A CN113821620A CN 113821620 A CN113821620 A CN 113821620A CN 202111104855 A CN202111104855 A CN 202111104855A CN 113821620 A CN113821620 A CN 113821620A
- Authority
- CN
- China
- Prior art keywords
- task
- word slot
- conversation
- data
- current round
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 24
- 230000009471 action Effects 0.000 claims abstract description 175
- 238000000034 method Methods 0.000 claims abstract description 68
- 238000012545 processing Methods 0.000 claims abstract description 25
- 238000012549 training Methods 0.000 claims description 29
- 238000013507 mapping Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 9
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 32
- 230000003993 interaction Effects 0.000 description 16
- 238000013527 convolutional neural network Methods 0.000 description 14
- 238000010801 machine learning Methods 0.000 description 9
- 238000003062 neural network model Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000010606 normalization Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 230000002159 abnormal effect Effects 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
- 230000000694 effects Effects 0.000 description 3
- 201000004569 Blindness Diseases 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 238000013145 classification model Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
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/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种多轮对话任务处理方法、装置及电子设备。其中,该方法包括:确定多轮对话的目标任务,并确定目标任务对应的期望词槽类型;针对多轮对话中的每一轮对话,基于本轮对话的目标词槽类型获取用户对话数据;将用户对话数据输入多轮对话管理模型,根据用户对话数据确定本轮数据,其中,本轮数据包括识别用户对话数据获得的本轮意图类型、本轮词槽类型;获取本轮对话对应的历史数据;将历史数据和本轮数据输入多轮对话管理模型,根据历史数据和本轮数据获取本轮对话对应的本轮预测动作,并执行本轮预测动作。本发明解决了相关技术中执行多轮对话任务得到需要的意图和词槽时,存在处理效率低下的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种多轮对话任务处理方法、装置及电子设备。
背景技术
目前,人机交互已有较多应用,其中,语音助手可以通过人机语音交互协助人完成特定领域的任务,这类交互叫做任务型多轮对话,指为了完成某个特定任务而进行的多轮人机交互。例如为了完成订火车票这个任务流程,在人及语音交互协助的过程中获取用户出发地、目的地、乘车时间等信息,完成订火车票进程。
相关方案中,用基于规则的多轮对话管理完成多轮对话的任务。基于规则的多轮对话管理,是指通过自然语言处理得到用户意图和词槽,根据意图和词槽,使用状态机的方式来追问缺少的词槽,直到完成该任务所需的所有词槽已经获得,才完成任务。但是采用上述方案执行任务型多轮对话以得到需要的意图和词槽时,需要人工实现状态机,因此,存在处理效率低下的问题。
发明内容
本发明实施例提供了一种多轮对话任务处理方法、装置及电子设备,以至少解决相关技术中执行多轮对话任务得到需要的意图和词槽时,存在处理效率低下的技术问题。
根据本发明实施例的一个方面,提供了一种多轮对话任务处理方法,包括:确定多轮对话的目标任务,并确定所述目标任务对应的期望词槽类型;针对所述多轮对话中的每一轮对话,基于本轮对话的目标词槽类型获取用户对话数据,其中,每一轮对话具有一对应的目标词槽类型,所述目标词槽类型为所述目标任务对应的一个期望词槽类型;根据所述用户对话数据确定本轮数据,其中,所述本轮数据包括识别所述用户对话数据获得的本轮意图类型、本轮词槽类型;获取本轮对话对应的历史数据,其中,所述历史数据为历史对话产生的数据,包括历史意图类型、历史词槽类型、历史预测动作;将历史数据和本轮数据输入所述多轮对话管理模型,根据历史数据和本轮数据获取本轮对话对应的本轮预测动作,并执行所述本轮预测动作。
可选地,所述确定多轮对话的目标任务,并确定所述目标任务对应的期望词槽类型,包括:接收用户指令;识别所述用户指令的意图类型;根据意图类别与任务的映射关系,确定与所述用户指令的意图类别对应的目标任务;根据任务与词槽的映射关系,确定所述目标任务对应的期望词槽类型。
可选地,在识别所述用户指令的意图类型之后,还包括:将所述用户指令的意图类型、用户指令的词槽类型输入多轮对话管理模型,根据用户指令的意图类型、用户指令的词槽类型获取第一预测动作;若所述第一预测动作与所述目标任务的目标动作不匹配,进行所述多轮对话。
可选地,所述基于本轮对话的目标词槽类型获取用户对话数据,包括:根据所述目标词槽类型生成对话反馈指令,其中,所述对话反馈指令用于通知用户本轮对话的目标词槽类型,所述本轮对话的目标词槽类型根据上一轮的预测动作确定;执行对话信息接收操作,接收用户响应所述对话反馈指令的用户对话数据,其中,所述对话信息接收操作用于接收所述用户对话数据。
可选地,所述执行所述本轮预测动作包括:若本轮预测动作为获取下一轮对话的目标词槽类型,所述执行所述本轮预测动作为基于下一轮对话的目标词槽类型获取用户对话数据。
可选地,所述执行所述本轮预测动作包括:若本轮预测动作与所述目标任务的目标动作匹配,所述执行所述本轮预测动作为执行所述目标动作。
可选地,该方法还包括,在判断本轮数据的本轮词槽类型与本轮对话的目标词槽类型不匹配的情况下,下一轮对话的目标词槽类型为本轮对话的目标词槽类型;在判断本轮数据的本轮词槽类型与本轮对话的目标词槽类型匹配的情况下,下一轮对话的目标词槽类型为本轮数据对应的历史词槽类型以及本轮词槽类型以外的一个期望词槽类型。
可选地,在将历史数据和本轮数据输入所述多轮对话管理模型,根据历史数据和本轮数据获取本轮对话对应的本轮预测动作,并执行所述本轮预测动作之前,还包括:确定多轮对话管理模型管理的多个任务;确定每一任务对应的语料库,语料库中为任务对应的正样本和负样本;依次将每个任务对应的语料库中的样本输入到同一待训练的模型中进行训练,获得多轮对话管理模型。
可选地,确定每一任务对应的语料库包括:获取每一任务的多个正样本,每一所述正样本为所述任务对应的至少一种意图类型和词槽类型,或每一所述正样本为所述任务对应的至少一种意图类型、词槽类型和已知动作,每一所述正样本的标签为一种与完成所述任务相关的预测动作;所述预测动作为执行任务的目标动作或者追问一个用于完成任务的词槽类型;所述正样本遍历预设的所有意图类型、词槽类型;获取每一任务的多个负样本,每一所述负样本包括至少一个与所述任务无关的意图类型、词槽类型,所述负样本的标签为追问一个用于完成任务的词槽类型或为一种与完成所述任务无关的预测动作;所述正样本与所述负样本形成每一任务对应的语料库。
可选地,针对每一所述负样本,归一化与所述任务无关的意图类型、词槽类型,将与所述任务无关的意图类型、词槽类型分别确定的不合理意图类型和不合理词槽类型。
可选地,所述方法还包括:获取一个新任务的正样本以及负样本,将新任务的正样本以及负样本输入到上述训练好的多轮对话管理模型得到新的多轮对话管理模型。
根据本发明实施例的再一方面,还提供了一种多轮对话任务处理装置,包括:第一确定模块,用于确定多轮对话的目标任务,并确定所述目标任务对应的期望词槽类型;第一获取模块,用于针对所述多轮对话中的每一轮对话,基于本轮对话的目标词槽类型获取用户对话数据,其中,每一轮对话具有一对应的目标词槽类型,所述目标词槽类型为所述目标任务对应的一个期望词槽类型;第二确定模块,用于根据所述用户对话数据确定本轮数据,其中,所述本轮数据包括识别所述用户对话数据获得的本轮意图类型、本轮词槽类型;第二获取模块,用于获取本轮对话对应的历史数据,其中,所述历史数据为历史对话产生的数据,包括历史意图类型、历史词槽类型、历史预测动作;处理模块,用于将历史数据和本轮数据输入所述多轮对话管理模型,根据历史数据和本轮数据获取本轮对话对应的本轮预测动作,并执行所述本轮预测动作。
根据本发明实施例的再一方面,还提供了一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现上述任一项所述的任务处理方法。
根据本发明实施例的再一方面,还提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一项所述的任务处理方法。
根据本发明实施例的再一方面,还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的任务处理方法。
在本发明实施例中,通过确定多轮对话的目标任务,根据目标任务中的期望词槽类型获取用户对话数据,将用户对话数据输入多轮对话管理模型中确定每轮的意图类型、词槽类型,达到预测出每轮对话的预测动作的目的,每轮对话的预测目的是根据历史数据和本轮数据得到的,因此,有效降低了多轮预测过程中的盲目性,使得每次的预测均具备一定的针对性,有效地提高了得到所有期望词槽类型的效率,进而解决了相关技术中执行多轮对话任务得到需要的意图和词槽时,存在处理效率低下的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的任务处理方法的流程图;
图2是相关技术中基于规则的多轮对话状流程的流程图;
图3是相关技术中基于机器学习、神经网络的多轮对话推理流程的流程图;
图4是本发明可选实施方式的多轮对话动作推理的流程图;
图5是本发明可选实施方式的任务处理方法中卷积神经网络的流程图;
图6是本发明可选实施方式的任务处理方法中卷积神经网络在不同情况下准确度的示意图;
图7是本发明实施例的任务处理装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种任务处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的任务处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,确定多轮对话的目标任务,并确定目标任务对应的期望词槽类型;
步骤S104,针对多轮对话中的每一轮对话,基于本轮对话的目标词槽类型获取用户对话数据,其中,每一轮对话具有一对应的目标词槽类型,目标词槽类型为目标任务对应的一个期望词槽类型;
步骤S106,根据用户对话数据确定本轮数据,其中,本轮数据包括识别用户对话数据获得的本轮意图类型、本轮词槽类型;
步骤S108,获取本轮对话对应的历史数据,其中,历史数据为历史对话产生的数据,包括历史意图类型、历史词槽类型、历史预测动作;
步骤S110,将历史数据和本轮数据输入多轮对话管理模型,根据历史数据和本轮数据获取本轮对话对应的本轮预测动作,并执行本轮预测动作。
用户指令一般涉及到一目标任务,多轮对话的目的是获得执行目标任务所需的完整信息,在获得目标任务所需的完整信息后可执行目标任务对应的最终目标动作。因此,首选需要确定多轮对话的目标任务,然后根据目标任务的期望词槽类型获取用户对话数据,将用户对话数据输入多轮对话管理模型中确定每轮的意图类型、词槽类型,达到预测出每轮对话的预测动作的目的,每轮对话的预测目的是根据历史数据和本轮数据得到的,因此,有效降低了多轮预测过程中的盲目性,使得每次的预测均具备一定的针对性,有效地提高了得到所有期望词槽类型的效率。
每一任务具有对应的用于完成该任务所需的多个词槽类型,因此,任务与词槽具有映射关系,作为一种可选的实施例,确定多轮对话的目标任务后,可以获得目标任务对应的期望词槽类型,即得到完成该目标任务所需要的所有的词槽类型,以便在后续的对话中有目的性地得到所有的期望词槽类型,避免了人机交互过程出现的繁琐操作,使得人机交互更加简洁高效。在多轮对话的任务处理中,词槽为执行目标任务所需要补全的信息,例如在订车票的多轮对话中,需要获得起始站、终点站、出发时间等词槽类型来执行订火车票的任务,例如A市、B市作为起始站、终点站这些词槽类型对应的具体词槽信息。
作为一种可选的实施例,通过接收用户指令确定多轮对话的目标任务。接收用户指令的方式有很多,例如,可以通过接收语音的方式或者通过用户界面UI输入文字信息的方式等。将接收的用户指令输入至预先训练的自然语言理解(NLU,Natural LanguageProcessing)模型进行意图和词槽的识别,自然语言理解(NLU)模型可以识别获得用户指令获得用户指令的意图类型以及词槽类型,即可以在多轮对话的每一轮对话中,将用户指令作为自然语言理解(NLU)模型输入,得到用户指令对应的意图类型和词槽类型。因为意图类型不同,用户想要达到的目的不同,执行的任务也就不同,所以意图类型与任务具有预设的映射关系,在获得用户指令的意图类型后,可以确定与用户指令的意图类型对应的目标任务,这里的目标任务即用户指令想要完成的任务,根据确定的目标任务确定需要得到的期望词槽类型。
作为一种可选的实施例,进行多轮对话任务的处理时,可以采用自然语言理解(NLU)模型,自然语言理解模型包括意图识别网络和命名实体识别网络,可以根据用户的输入获得用户输入对应的意图类型和用户指令的词槽类型。可选地,采用分类网络作为意图识别网络,对用户指令的意图类型进行预测;采用命名实体识别网络(NER,Named EntityRecognition)进行词槽类别的识别,其中,NER可以提取出语句中的词槽类型,词槽位置,词槽值等标签,通过上述标签可以准确的判断出语句中,词槽的个数与位置,提高了多轮任务处理的准确性。通过预先训练自然语言理解(NLU)模型,可以使识别结果更加准确。
作为一种可选的实施例,进行多轮对话任务的处理时,采用多轮对话管理模型得到预测动作时,可以根据所有输入的意图类型、词槽类型获得一个预测动作;或者根据所有输入的意图类型、词槽类型以及已知动作获得一个预测动作,其中,已知动作是指历史对话(本轮对话前的所有对话)获得的动作;或者根据所有输入的意图类型、词槽类型、已知动作、当前流程获得一个预测动作,其中,当前流程是指当前这轮对话的用户对话对应的流程,通过用户对话数据对应的意图类型确定。多轮对话管理模型会对每轮对话预测一个动作,多轮话管理模型根据意图、词槽、流程,以及历史对话信息更精确地推理出下一步动作。其中,预测动作可以为多种,预测动作可以为获取下一轮对话的目标词槽类型,还可以为目标任务的目标动作。可选的,多轮对话管理模型会基于输入产生有不同置信度的多种预测动作。例如,在订火车票的场景中,产生的预测动作可能为,置信度为0.6的“ask目的地”,置信度为0.2的“ask出发地”等等,此时,选择置信度较高的动作做为输出的预测动作,能够保证预测动作的准确性。
作为一种可选的实施例,在自然语言理解模型(NLU)根据用户的输入获得用户输入对应的意图类型和用户指令的词槽类型的过程中,基于用户当前输入,自然语言理解模型(NLU)确定用户当前输入的意图,可以通过意图对应的流程,确定该意图类型与该任务是否存在一定的映射关系,一个任务中包括多个流程,意图可以与流程相匹配。在一个意图匹配一个流程的情况下,意图匹配的流程是目标任务中的一个流程,则意图与目标任务匹配,即该意图类型与该任务呈映射关系;意图匹配的流程也可以不是目标任务的流程,则意图与目标任务不匹配,即该意图类型与该任务不呈映射关系。若该意图与目标任务匹配,则可执行当前的多轮对话,若该意图与目标任务不匹配,则开启一个新的任务,寻找与该意图类型呈映射关系的目标任务。若意图匹配多个流程,则匹配一个与目标任务中存在的流程为当前流程;若意图匹配多个流程与目标任务中的流程均不匹配,则将当前意图作为一个新的用户指令以确定新的目标任务,即开启一个新的任务。例如,对话语句一为“你好”,语句二为“我想要订一张火车票”,则在新的语句二中,判断语句二的意图对应订火车票的流程,则执行目标任务的多轮对话;如果语句三为“订一张高铁票”,则该句话的意图仍然为“订火车票”,流程为订高铁票,那么该流程的目标任务仍然为“订火车票”,继续执行该目标任务的多轮对话;语句四为“帮我放一首歌”,语句四的意图对应播放音乐的流程,则与之前的语句对应的目标任务不匹配,则结束当前的目标任务,将语句四作为新的用户指令开启新的任务。在执行任务的过程中,一次执行一项任务。在一项任务完成之后进行下一任务,即针对各项任务单独处理,保证了任务执行过程中不受任务的干扰,有效地避免了交叉干扰所带来的处理效率低下的问题。
作为一种可选的实施例,进行多轮对话时,在上一轮根据用户指令得到预测动作后,可以根据上一轮的预测动作可以确定本轮对话的目标词槽。每一轮对话具有一个对应的目标词槽类型,目标词槽类型为目标任务对应的一个期望词槽类型,将所有的期望词槽类型分解在多轮对话中作为每一轮对话的目标词槽类型依次进行获取,以便在后续的每一轮对话中有目的性地得到完成目标任务所需要的词槽类型。可以通过追问词槽类型,得到执行任务所需的所以词槽类型,实现人机交互的目的,准确地反映出用户的需求,从而提升用户的使用体验。例如,语句为“今天这里的天气怎么样?”此时查询天气作为一种意图,也是意图的目标任务,该任务要具体查询哪里的天气,哪一天的天气,此时,地点与日期就是目标任务的期望词槽类型。多轮对话系统需要对用户发起“追问词槽”询问来获取执行目标任务所缺失的词槽的信息。
作为一种可选的实施例,进行多轮对话时,针对多轮对话中的每一轮对话,基于本轮对话的目标词槽类型获取用户对话数据,从用户对话数据中确定用户输入的词槽。具体的,根据本轮对话的目标词槽类型生成一个对话反馈指令,对话反馈指令用于向用户展示需要输入的词槽类型,也就是通知用户本轮对话的目标词槽类型,例如通过语音问用户的目的地,或者屏幕界面展示问题。执行对话信息接收操作接收用户对话数据,例如,设备打开麦克风收音,用户用音频输入用户对话数据,或者屏幕上的一个区域可接收编辑输入的文字,将用户输入的文字作为用户对话数据。通过人机之间的交互,可以更加智能、多方式的获取到用户的对话数据。
作为一种可选的实施例,自然语言理解(NLU)模型识别用户对话数据获得本轮词槽类型,若根据用户对话数据获得的词槽类型不是本轮对话的目标词槽类型,那么多轮对话管理模型预测的下一轮对话的目标词槽类型仍然为本轮对话的目标词槽类型,即在判断本轮数据的本轮词槽类型与本轮对话的目标词槽类型不匹配的情况下,下一轮对话的目标词槽类型与本轮对话的目标词槽相同,从而重新获得词槽,或者若根据用户对话数据获得的词槽类型为本轮对话的目标词槽类型,多轮对话管理模型预测的下一轮目标词槽类型为一个新的词槽,因此,在判断本轮数据的本轮词槽类型与本轮对话的目标词槽类型匹配的情况下,下一轮对话的目标词槽类型需要是除本轮词槽类型和本轮对话对应的历史词槽类型以外的一个目标任务的期望词槽类型。当获取到本轮对话需要的目标词槽类型后,下一轮对话才获取其他没有获取的目标词槽类型,保证了能够依次获取全部的目标词槽类型,即目标任务的期望词槽类型,保证了多轮对话任务的执行。
作为一种可选的实施例,在执行预测动作时,多轮对话管理模型还没有获得完成目标任务的所有的词槽,则预测需要进一步获得目标任务需要的词槽,即本轮预测动作为获取下一轮对话的目标词槽。多轮预测管理模型已经获得了目标任务的所有的期望词槽,无需进一步获得词槽,则预测动作为执行目标动作。因此,针对多轮对话中的每一轮对话,若本轮预测动作为获取下一轮对话的目标词槽类型,执行本轮预测动作包括基于下一轮对话的目标词槽类型获取用户对话数据;若本轮预测动作与目标任务的目标动作匹配,执行本轮预测动作为执行目标动作。
作为一种可选的实施例,该方法需要重复多轮对话直至得到完成目标任务的期望词槽,使得多轮对话管理模型的预测动作为目标任务的目标动作。完成目标任务的期望意图和期望词槽,能够保证关键信息不被遗漏,正确地表达出需求,顺利、完整地实现目的,满足用户需求,提升用户体验。在得到目标任务的完整的期望词槽之后,多轮预测管理模型的预测动作为执行目标任务,执行目标动作。根据目标任务的不同,目标动作的实现有多种方式,例如,目标任务为放一首歌,则目标动作为打开音乐播放器放歌;目标认为定火车票,则目标动作为完成火车票的预定等。通过不同的目标动作的执行,使得目标任务得以完成,满足用户的需求,执行用户所需要的操作。
作为一种可选的实施例,可以预先对待训练的多轮对话管理模型进行训练,依次将多个任务对应的训练样本输入至待训练的多轮对话管理模型;具体的,确定多轮对话管理模型管理的多个任务;确定每一任务对应的语料库,语料库中为任务对应的正样本和负样本;依次将每个任务对应的语料库中的样本输入到同一待训练的模型中进行训练,获得多轮对话管理模型。因此,采集训练样本,将训练样本以及训练样本的标签利用机器学习进行训练或利用神经网络进行训练,直至模型收敛得到多轮对话管理模型,可以能够针对特征混淆,识别不准确,识别遗漏等问题,使用历史意图、词槽、动作的标注数据、标注数据的下一动作等,进行更好的学习,不断地经过样本训练,逐渐提升识别的准确性。
作为一种可选的实施例,每一任务对应的语料库通过获取的每一任务的正样本和负样本形成。其中,获取每一任务的多个正样本,每一正样本为任务对应的至少一种意图类型和词槽类型,或每一正样本还可以为任务对应的至少一种意图类型、词槽类型以及已知动作,每一正样本的标签为一种与完成任务相关的预测动作;与完成任务相关的预测动作可以为执行任务的目标动作或者为追问一个任务对应的词槽类型两种;每一任务的正样本需要遍历预设的与任务相关的所有意图类型和词槽类型。其中,还获取每一任务的负样本,每一负样本包括至少一个与任务无关的意图类型、词槽类型,负样本的标签为追问一个用于完成任务的词槽类型或者一种与完成任务无关的预测动作。最终,正样本与负样本形成每一任务对应的语料库。
作为一种可选地实施例,每个任务的每一正样本都可以用于指示当前正样本发生时对应的多轮对话的步骤数,每一正样本的意图类型、词槽类型的数量与步骤数相等,每一正样本的已知动作数量比步骤数少1,多轮对话的步骤数是指在一次多轮对话的过程中的第N次对话。对于一个任务的负样本,可以归一化负样本中与任务无关的意图类型、词槽类型,将与任务无关的意图类型、词槽类型确定的不合理意图类型和不合理词槽类型。
需要说明的是,每个不同的任务对应一个多轮对话管理模型,增加新的任务时,需要在多轮对话管理模型上对新的任务的样本进行训练,对原有模型进行微调,新增任务不需要重新训练其他任务中的模型,只需要训练该新增任务的模型即可,加快了模型更新速度。作为一种可选地实施例,如果有一个新的任务需要多轮对话管理模型进行管理,则确定新任务的语料库,即获取新任务的正样本以及负样本,将新任务的正样本以及负样本输入到上述训练好的多轮对话管理模型进行训练得到新的多轮对话管理模型。
基于上述实施例及可选实施例,提供了一种可选实施方式,下面进行详细说明。
在相关技术中,主要是用两种方案来完成任务型多轮交互。第一种是基于规则的多轮对话管理方案,图2是相关技术中基于规则的多轮对话状流程的流程图,如图2所示,通过自然语言处理得到用户意图和词槽,根据意图和词槽,使用状态机的方式来追问缺少的词槽,直到完成该任务所需的所有词槽已经获得,才完成任务。具体地,展开订票意图,通过追问问题,得到回复来执行订票操作,例如,追问目的地,在得到目的地的情况下,追问出发地,在无法得到目的地的情况下,表示Fail(失败),重复询问目的地,直至得到目的地;追问出发地,在得到出发地的情况下,追问出发时间,在无法得到出发地的情况下,表示Fail(失败),重复询问出发地,直至得到出发地;追问出发时间,在得到出发时间的情况下,执行是否确认的操作,在无法得到出发时间的情况下,表示Fail(失败),重复询问出发时间,直至得到出发时间;执行是否确认的操作,在得到是否确认操作的情况下,依据答复进行处理,在无法得到是否确认操作的情况下,表示Fail(失败),重复询问是否确认操作,直至得到是否确认操作,其中,在确定的情况下执行订票操作,在取消的情况下执行取消操作,在表示Fail超过3次的情况下,直接执行取消操作。第二种是基于机器学习、神经网络的多轮对话管理。图3是相关技术中基于机器学习、神经网络的多轮对话推理流程的流程图,如图3所示,多轮交互中语音助理进行的每一步动作,都是由模型来推理预测出来的。例如模型的输入为已经获得意图和词槽,输出是模型预测出来的下一步动作,动作包括向用户追问词槽、完成该任务的动作等。具体地,在订票任务中,通过人、车机、神经网络模型的交互执行操作。例如,人表达出第一语句:“我要订火车票”,车机分析意图为订车票,神经网络模型推理的出下一步动作:追问目的地,则车机表达第一回复语句:“请问您要去哪里啊?”;人基于第一回复语句进行回复,表达第二语句:“去A地”,车机分析意图为订车票,词槽为目的地,神经网络模型推理的出下一步动作:追问出发地,则车机表达第二回复语句:“好的,请问从什么地方出发?”;人基于第二回复语句进行回复,表达第三语句:“B地”,车机分析意图为订车票,词槽为目的地,出发地,神经网络模型推理的出下一步动作:追问出发时间,则车机表达第三回复语句:“什么时间出发呢?”;人基于第三回复语句进行回复,表达第四语句:“明天中午1点左右”,车机分析意图为订车票,词槽为目的地,出发地,时间,神经网络模型推理的出下一步动作:确认,则车机表达第二回复语句:“好的,为您查到G2020明天下午1点10分从B地出发到A地,需要订票吗?”;人基于第四回复语句进行回复,表达第五语句:“订”,车机分析意图为订车票,词槽为目的地,出发地,时间,确认,神经网络模型推理的出下一步动作:订票,则车机表达第五回复语句:“好的,已为您订好了XX次列车,明天下午1点10从B地到A地”;完成订票操作。
对于第一种方法,其问题在与需要人工实现状态机实现,实现过程较为繁琐。对于第二种方法,其问题在于当增加一个多轮任务时,训练数据样本增加好几倍,随着任务的增加,训练数据样本庞大,训练时间过长。上述两种方法都无法快速地实现多轮对话任务进程。
鉴于此,在该可选实施方式中,提供了一种任务处理方法的流程图,图4是本发明可选实施方式的多轮对话动作推理的流程图,如图4所示,通过分类模型与NER模型,采取归一化的处理方法,从而进行多轮动作的推理,进而推理出下一步的动作,在这个过程中,可以根据上下文记忆来进行模型的训练,使得模型更加丰富完善,推理结果更加严谨准确,在该方法中,以订火车票的人机交互对话为例。下面对该可选实施方式进行详细说明。
基于机器学习或者神经网络训练获得多轮对话管理模型,该模型可以根据输入来推理出下一步的动作,用户在订火车票过程中,模型根据已经收集的意图和词槽,追问用户缺失的词槽信息,直至订票所需的所有必要信息收集完整,订票流程才算结束。
表1是本发明可选实施方式中进行订火车票任务多轮对话任务处理流程,这里以表格的形式呈现。如表1所示,表格分为6行,3个回合的交互完成订票任务。其中推理过程由机器学习或者神经网络模型来预测下一个动作,模型的输入数据包含:当前已经获得的意图、词槽、动作以及流程名称来预测下一步动作。
表1
多轮对话任务处理方法的流程如下:
S1,接收用户指令,并识别用户指令,获得用户指令的意图类型和词槽类型
用户说“帮我订明天的火车票”,将该用户指令通过自然语言理解(NLU)模型识别,得到用户指令的意图为“订火车票”,词槽为“日期”;
根据意图类别与任务的映射关系,可以知道这个意图对应的目标任务为订火车票,即目标任务的目标动作是订好一张火车票,进而根据任务与词槽的映射关系,可以知道订火车票这个目标任务的期望词槽有目的地、出发地、日期等。
S2,将用户指令的意图类型和词槽类型输入多轮对话管理模型,获得第一预测动作;
多轮对话管理模型的输入和输出分别为:
输入:用户指令的意图类型“订火车票”,词槽类型“日期”。
输出:得到第一预测动作,为获取下一轮对话的词槽类型,例如,表1中的第一预测动作为“问目的地”,用于在下一轮多轮对话中告知用户需要“目的地”这一词槽;
第一预测动作“问目的地”与目标任务的目标动作“订火车票”不匹配,此时进入到多轮对话中,下一轮多轮对话中的目标词槽类型即为“目的地”。
根据“目的地”这一词槽类型,生成对话反馈指令,即通过语音向用户询问“问问目的地是哪里?”,并执行对话信息接收操作,接受用户的语音输入,之后进入第一轮对话。
S3,进行第一轮对话;
基于第一轮对话的目标词槽类型获取用户对话数据。
在第一轮对话中,可以根据上一预测动作“问目的地”,可知本轮对话的目标词槽为“目的地”,因此获取第一轮基于词槽“目的地”的用户对话数据,用户可以说“去A市”作为用户对话数据。
将第一轮的用户对话数据“去A市”输入到自然语言理解(NLU)模型,获得本轮数据,也就是识别用户对话数据的意图类型和词槽类型作为本轮意图类型和本轮词槽类型,在表1中,获得本轮(第一轮)意图类型“目的地”,本轮(第一轮)词槽类型“目的地”。
将本轮数据(即本轮(第一轮)意图类型“目的地”,本轮(第一轮)词槽类型“目的地”),以及本轮对话对应的历史数据(用户指令的意图类型“订火车票”、用户指令的词槽类型“日期”,第一预测动作“问目的地”)输入至多轮对话管理模型,获得第一轮预测动作,即本轮预测动作为是获取下一轮对话的目标词槽类型,例如,表1中该预测动作为“问出发地”,下一轮的目标词槽类型为“出发地”。
多轮对话管理模型输入输出分别为:
输入:用户指令的意图类型“订火车票”、用户指令的词槽类型“日期”,第一预测动作“问目的地”、本轮意图类型“目的地”,本轮词槽类型“目的地”。
输出:本轮(第一轮)预测动作“问出发地”。
S4,进行第二轮对话;
基于第一轮对话的目标词槽类型获取用户对话数据。
在第二轮对话中,可以根据上一轮的预测动作“问出发地”,可知本轮对话的目标词槽为“出发地”,因此获取第二轮基于词槽“出发地”的用户对话数据,用户可以说“从B市出发”作为用户对话数据。
将第二轮的用户对话数据“从B市出发”输入到自然语言理解(NLU)模型,获得本轮数据,也就是识别用户对话数据的意图类型和词槽类型作为本轮意图类型和本轮词槽类型,在表1中,获得本轮(第二轮)意图类型“出发地”,本轮(第二轮)词槽类型“出发地”。
将本轮数据(即本轮(第二轮)意图类型“出发地”,本轮(第二轮)词槽类型“出发地”),以及本轮对话对应的历史数据(用户指令的意图类型“订火车票”、用户指令的词槽类型“日期”,第一预测动作“问目的地”,第一轮意图类型“目的地”、第一轮词槽类型“目的地”、第一轮预测动作“问出发地”)输入至多轮对话管理模型,获得第二轮预测动作,表1中所示,本轮预测动作为“订票操作”,与目标任务的动作匹配一致,认为已经获得了所有的期望词槽。
多轮对话管理模型输入输出分别为:
输入:用户指令的意图类型“订火车票”、用户指令的词槽类型“日期”,第一预测动作“问目的地”,第一轮意图类型“目的地”、第一轮词槽类型“目的地”、第一轮预测动作“问出发地”、第二轮意图类型“出发地”、第二轮词槽类型“出发地”。
输出:本轮(第二轮)预测动作“订票操作”。
S5,执行目标动作。
第二预测动作与目标任务的目标动作匹配,执行订票操作,例如打开订票软件,显示明天从A市到B市的所有火车票。
需要说明的是,多轮对话管理模型可以决策用户输入的用户对话数据对应的意图、词槽等是否为合理信息,如果不合理,则打上不合理信息的标签,如果合理,则打上合理信息的标签,将打上标签的意图和词槽输入多轮对话管理模型,例如步骤S2中,目标词槽是“目的地”,如果用户对话数据是地点,则认为是合理信息,那么多轮对话管理模型输出预测动作为“问出发地”,如果用户对话数据是人名,则认为是非法信息,那么多轮对话管理模型可能会输出预测动作为“问出发地”,仅从再次询问。
需要说明的是,每一个意图对应一个或者多个流程,从意图映射到流程类别的关系可以通过映射关系对照表体现。如果当前不在一个流程执行过程中,用户语句的意图对应唯一的流程,则开始该意图对应的流程。在流程过程中,不改变流程名称,直到该流程结束。实际上这个流程类别特征可有可无,没有的话根据意图和词槽,以及上下文历史信息也能推理出下一步动作,有流程特征能达到更好地进行人机交互的技术效果。
在该S1、S2、S3、上步骤中,每一步得到的意图、词槽和预测动作分别作为下一轮对话的历史数据全都保存起来,以便多轮对话管理模型在推理的时候一并作为模型的输入。
在上述步骤中,所保存的意图、词槽、预测动作、流程如表1所示,可以推理出,在不同任务类型的多轮对话动作推理表格如表2所示:
表2
在上述不同任务类型的多轮对话动作推理表格中,完成任务的过程中,可能推测出的结果包括:J种意图、L种词槽、Q种动作,P种多轮对话的任务流程,最多可以保留M个历史时刻的信息,它们都作为多轮对话管理模型的输入,那么模型输入参数维度为:M*(J+L+Q)+P,输入数据的每一个值是0或者1,0代表这个维度数据没有,比如某个维度的意图信息为0,代表历史数据中没有出现这个意图,反之这个维度上的值为1表示数据中这个意图出现过。因此,训练模型时,每一训练样本的标注需要对属于J种意图、L种词槽、Q种动作,P种多轮对话的任务流程这些维度进行标注,将训练样本和对应的样本标注输入到待训练的模型进行训练,直至得到收敛的多轮对话管理模型。
在上述可选实施例中,人机语音交互时,用户回答不一定是按照机器期望的方式和内容,例如在上述可选实施例的订火车票任务流程中,机器在追问“目的地”词槽时,有可能用户回答“放一首歌”,意图是“播放音乐”,这个明显是答非所问,这种的情况是不可避免的和被允许的,机器需要能处理这样的异常情况,并且能把订火车票流程走完,例如机器可以继续追问说“我听不懂你的意思,请问您要到哪个城市?”,针对不合理信息进行预测动作。为了处理上述不合理信息导致增加的异常流程,多轮对话管理模型要学习的样本数据中就要包括异常的数据,多轮对话管理模型管理N个任务,就有(KN)2种组合训练数据样本,K是指完成任务的步骤数,比如订餐任务需要3个推理步骤,K=3,随着N的增加,数据量膨胀,训练时间太长。
鉴于此,本发明可选实施方式中,使用归一化方案,针对一个任务,训练时,把目标任务的一个流程中任何不属于目标任务的意图或者期望词槽,作为非法意图,都认为是统一的错误的不合理的回复,这样总共只增加了一种非法意图。归一化以后,确定训练样本,训练样本包括N个目标任务对应的样本,一个目标任务需要K个步骤完成,最多N*(K+1)2种数据样本,增加一个有K个步骤的新任务,总数据增加(K+1)2种,显著减少了数据规模,有效缩减了训练时间,提高了模型更新速度。同时,增加新垂域时,也就是增加一个新的任务流程时,例如增加一个订餐的流程,由于归一化了非法意图,新增任务不需要重新训练老模型,只要用新数据(对应新增任务)微调模型即可,加快了模型更新速度。其中,归一化处理步骤输入是句子的意图、词槽以及历史时刻的意图、词槽、动作,输出是下一步系统的动作,动作可以是追问某个词槽,也可以是实施某个具体动作,然后返回TTS(Text to Speech,从文本到语音)和信息给用户。
表3是本发明实施方式的多轮任务处理方法中的合法搭配表,如表3所示,在一个任务流程中哪些意图和词槽属于合理的,哪些属于不合理,不合理的要归一化成不合理意图,用一个表格提前存储起来,归一化时查询表3的合理搭配,如果在某个任务流程中出现不合理的意图和词槽,则认为是不合理的需要归一化成统一的错误意图。
表3
另外需要说明的是,多轮对话管理模型:输入为语句结果数据,输出为再次询问动作或推测下一预测动作指令。其中,推测下一预测动作指令可以使用多种机器学习模型,例如机器学习模型,或者神经网络模型。机器学习和神经网络模型一般使用决策树、SVM(支持向量机)、BERT(预训练语言模型)、LSTM(长短记忆网络)、CNN(卷积神经网络)等。其中,基于不同网络多轮对话管理模型的训练结果如表4所示,可知,同等训练轮数下BERT准确度最高,CNN差一点,但是网络规模较小,所以本可选实施例中优先选择卷积神经网络进行预测动作指令动作。
模型 | 参数大小 | 准确度 |
BERT | 5310880 | 93% |
LSTM | 839499 | 89% |
CNN | 310272 | 92% |
表4
需要说明的是,图5是本发明可选实施方式的任务处理方法中卷积神经网络的流程图,如图5所示在卷积神经网络中,简单的卷积神经网络可以由卷积、池化、全连接、softmax层组成。其中,在不同卷积核、字向量维度下CNN卷积神经网络的准确度不同,表5是本发明可选实施方式的任务处理方法中卷积神经网络在不同情况下的准确度,如表5所示,依据表5可绘出图6,图6是根据本发明可选实施方式的任务处理方法中卷积神经网络在不同情况下准确度的示意图,如图6所示,其中filter表示卷积核数量,例如,filter 16表示卷积核数量为1;emb表示字向量维度,例如,emb32表示字向量维度为32,两者可以进行不同的组合,以达到不同的训练效果,具体训练效果如图6所示。
卷积核数量 | 字向量维度 | 训练41轮 | 训练58轮 | |
1 | 16 | 32 | 0.973 | 0.985 |
2 | 8 | 32 | 0.978 | 0.988 |
3 | 4 | 32 | 0.99 | 0.995 |
4 | 2 | 32 | 0.98 | 0.98 |
5 | 4 | 16 | 0.978 | 0.978 |
表5
在多轮对话管理模型中,模型需要预先训练好,模型的输入数据是归一化以后的意图、词槽、动作,输出是下一步的动作。推理的输入输出如表6所示:
Input | Output | |
第1次推理 | 意图1、词槽1 | 动作1 |
第2次推理 | 意图1、意图2、词槽1、词槽2、动作1 | 动作2 |
第3次推理 | 意图1、意图2、意图3、词槽1、词槽2、词槽3、动作1、动作2 | 动作3 |
第4次推理 | 意图1、意图2、意图3、意图4、词槽1、词槽2、词槽3、词槽4、动作1、动作2、动作3 | 动作4 |
表6
通过上述可选实施方式,可以达到至少以下几点有益效果:
(1)显著减小了与此任务不相关样本规模;
(2)增加新的任务时,由于任务之间没有交叉干扰,新增任务不需要重新训练其他模型,只要用新增任务的模型即可,加快了模型更新速度;
(3)显著减少了数据规模,有效缩减了训练时间,提高了模型更新速度。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述多轮对话任务处理方法的装置,图7是根据本发明实施例的任务处理装置的结构框图,如图7所示,该装置包括:第一确定模块702,第一获取模块704,第二确定模块706,第二获取模块708和处理模块710,下面对该装置进行详细说明。
第一确定模块702,用于确定多轮对话的目标任务,并确定目标任务对应的期望词槽类型;第一获取模块704,连接于上述第一确定模块702,用于针对多轮对话中的每一轮对话,基于本轮对话的目标词槽类型获取用户对话数据,其中,每一轮对话具有一对应的目标词槽类型,目标词槽类型为目标任务对应的一个期望词槽类型;第二确定模块706,连接于上述第一获取模块704,用于根据用户对话数据确定本轮数据,其中,本轮数据包括识别用户对话数据获得的本轮意图类型、本轮词槽类型;第二获取模块708,连接于上述第二确定模块706,用于获取本轮对话对应的历史数据,其中,历史数据为历史对话产生的数据,包括历史意图类型、历史词槽类型、历史预测动作;处理模块710,连接于上述第二获取模块708,用于将历史数据和本轮数据输入多轮对话管理模型,根据历史数据和本轮数据获取本轮对话对应的本轮预测动作,并执行本轮预测动作。
此处需要说明的是,上述第一确定模块702,第一获取模块704,第二确定模块706,第二获取模块708和处理模块710对应于实施例多轮对话任务处理方法中的步骤S102至步骤S110,多个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。
实施例3
根据本发明实施例的另外一个方面,还提供了一种处理器,处理器用于运行计算机程序,其中,计算机程序运行时执行上述中任一项的多轮对话任务处理方法。
实施例4
根据本发明实施例的另外一个方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序被处理器运行时控制计算机可读存储介质所在设备执行上述任一项的多轮对话任务处理方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (14)
1.一种多轮对话任务处理方法,其特征在于,包括:
确定多轮对话的目标任务,并确定所述目标任务对应的期望词槽类型;
针对所述多轮对话中的每一轮对话,基于本轮对话的目标词槽类型获取用户对话数据,其中,每一轮对话具有一对应的目标词槽类型,所述目标词槽类型为所述目标任务对应的一个期望词槽类型;
根据所述用户对话数据确定本轮数据,其中,所述本轮数据包括识别所述用户对话数据获得的本轮意图类型、本轮词槽类型;
获取本轮对话对应的历史数据,其中,所述历史数据为历史对话产生的数据,包括历史意图类型、历史词槽类型、历史预测动作;
将历史数据和本轮数据输入所述多轮对话管理模型,根据历史数据和本轮数据获取本轮对话对应的本轮预测动作,并执行所述本轮预测动作。
2.根据权利要求1所述的方法,其特征在于,所述确定多轮对话的目标任务,并确定所述目标任务对应的期望词槽类型,包括:
接收用户指令;
识别所述用户指令的意图类型;
根据意图类别与任务的映射关系,确定与所述用户指令的意图类别对应的目标任务;
根据任务与词槽的映射关系,确定所述目标任务对应的期望词槽类型。
3.根据权利要求2所述的方法,其特征在于,在识别所述用户指令的意图类型之后,还包括:
将所述用户指令的意图类型、用户指令的词槽类型输入多轮对话管理模型,根据用户指令的意图类型、用户指令的词槽类型获取第一预测动作;
若所述第一预测动作与所述目标任务的目标动作不匹配,进行所述多轮对话。
4.根据权利要求1所述的方法,其特征在于,所述基于本轮对话的目标词槽类型获取用户对话数据,包括:
根据所述目标词槽类型生成对话反馈指令,其中,所述对话反馈指令用于通知用户本轮对话的目标词槽类型,所述本轮对话的目标词槽类型根据上一轮的预测动作确定;
执行对话信息接收操作,接收用户响应所述对话反馈指令的用户对话数据,其中,所述对话信息接收操作用于接收所述用户对话数据。
5.根据权利要求1所述的方法,其特征在于,所述执行所述本轮预测动作包括:
若本轮预测动作为获取下一轮对话的目标词槽类型,所述执行所述本轮预测动作为基于下一轮对话的目标词槽类型获取用户对话数据。
6.根据权利要求1所述的方法,其特征在于,所述执行所述本轮预测动作包括:
若本轮预测动作与所述目标任务的目标动作匹配,所述执行所述本轮预测动作为执行所述目标动作。
7.根据权利要求5至6中任意一项所述的方法,其特征在于,还包括:
在判断本轮数据的本轮词槽类型与本轮对话的目标词槽类型不匹配的情况下,下一轮对话的目标词槽类型为本轮对话的目标词槽类型;
在判断本轮数据的本轮词槽类型与本轮对话的目标词槽类型匹配的情况下,下一轮对话的目标词槽类型为本轮对话对应的历史词槽类型以及本轮词槽类型以外的一个期望词槽类型。
8.根据权利要求1所述的方法,其特征在于,在将历史数据和本轮数据输入所述多轮对话管理模型,根据历史数据和本轮数据获取本轮对话对应的本轮预测动作,并执行所述本轮预测动作之前,还包括:
确定多轮对话管理模型管理的多个任务;
确定每一任务对应的语料库,语料库中为任务对应的正样本和负样本;
依次将每个任务对应的语料库中的样本输入到同一待训练的模型中进行训练,获得多轮对话管理模型。
9.根据权利要求8所述的方法,其特征在于,所述确定每一任务对应的语料库包括:
获取每一任务的多个正样本,每一所述正样本为所述任务对应的至少一种意图类型和词槽类型,或每一所述正样本为所述任务对应的至少一种意图类型、词槽类型和已知动作,每一所述正样本的标签为一种与完成所述任务相关的预测动作;所述预测动作为执行任务的目标动作或者追问一个用于完成任务的词槽类型;所述正样本遍历预设的所有意图类型、词槽类型;
获取每一任务的多个负样本,每一所述负样本包括至少一个与所述任务无关的意图类型、词槽类型,所述负样本的标签为追问一个用于完成任务的词槽类型或为一种与完成所述任务无关的预测动作;
所述正样本与所述负样本形成每一任务对应的语料库。
10.根据权利要求9所述的方法,其特征在于,包括:
针对每一所述负样本,归一化与所述任务无关的意图类型、词槽类型,将与所述任务无关的意图类型、词槽类型分别确定的不合理意图类型和不合理词槽类型。
11.根据权利要求8所述的方法,其特征在于,所述方法还包括:
获取一个新任务的正样本以及负样本,将新任务的正样本以及负样本输入到上述训练好的多轮对话管理模型得到新的多轮对话管理模型。
12.一种多轮对话任务处理装置,其特征在于,包括:
第一确定模块,用于确定多轮对话的目标任务,并确定所述目标任务对应的期望词槽类型;
第一获取模块,用于针对所述多轮对话中的每一轮对话,基于本轮对话的目标词槽类型获取用户对话数据,其中,每一轮对话具有一对应的目标词槽类型,所述目标词槽类型为所述目标任务对应的一个期望词槽类型;
第二确定模块,用于根据所述用户对话数据确定本轮数据,其中,所述本轮数据包括识别所述用户对话数据获得的本轮意图类型、本轮词槽类型;
第二获取模块,用于获取本轮对话对应的历史数据,其中,所述历史数据为历史对话产生的数据,包括历史意图类型、历史词槽类型、历史预测动作;
处理模块,用于将历史数据和本轮数据输入所述多轮对话管理模型,根据历史数据和本轮数据获取本轮对话对应的本轮预测动作,并执行所述本轮预测动作。
13.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至11中任一项所述的多轮对话任务处理方法。
14.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的多轮对话任务处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111104855.5A CN113821620B (zh) | 2021-09-18 | 2021-09-18 | 多轮对话任务处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111104855.5A CN113821620B (zh) | 2021-09-18 | 2021-09-18 | 多轮对话任务处理方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113821620A true CN113821620A (zh) | 2021-12-21 |
CN113821620B CN113821620B (zh) | 2023-12-12 |
Family
ID=78915001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111104855.5A Active CN113821620B (zh) | 2021-09-18 | 2021-09-18 | 多轮对话任务处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113821620B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023125399A1 (zh) * | 2021-12-31 | 2023-07-06 | 中国移动通信有限公司研究院 | 对话策略获取方法、装置及相关设备 |
CN116843795A (zh) * | 2023-07-03 | 2023-10-03 | 北京百度网讯科技有限公司 | 图像生成方法及装置、电子设备和存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273406A (zh) * | 2017-04-27 | 2017-10-20 | 上海奔影网络科技有限公司 | 任务对话系统中的对话处理方法及装置 |
CN109086329A (zh) * | 2018-06-29 | 2018-12-25 | 出门问问信息科技有限公司 | 基于话题关键词引导的进行多轮对话方法及装置 |
US20200177527A1 (en) * | 2018-11-30 | 2020-06-04 | International Business Machines Corporation | Reusing entities in automated task-based multi-round conversation |
CN111400463A (zh) * | 2019-01-03 | 2020-07-10 | 百度在线网络技术(北京)有限公司 | 对话响应方法、装置、设备和介质 |
CN111414195A (zh) * | 2019-02-03 | 2020-07-14 | 北京邮电大学 | 通用可配置、兼容多模型、领域可迁移的多轮对话系统 |
CN111651573A (zh) * | 2020-05-26 | 2020-09-11 | 上海智臻智能网络科技股份有限公司 | 一种智能客服对话回复生成方法、装置和电子设备 |
CN112069300A (zh) * | 2020-09-04 | 2020-12-11 | 中国平安人寿保险股份有限公司 | 任务型对话的语义识别方法、装置、电子设备及存储介质 |
CN112100349A (zh) * | 2020-09-03 | 2020-12-18 | 深圳数联天下智能科技有限公司 | 一种多轮对话方法、装置、电子设备及存储介质 |
CN112199486A (zh) * | 2020-10-21 | 2021-01-08 | 中国电子科技集团公司第十五研究所 | 一种办公场景的任务型多轮对话方法及系统 |
CN112364147A (zh) * | 2020-12-01 | 2021-02-12 | 四川长虹电器股份有限公司 | 一种基于知识图谱的跨领域多轮对话方法及实现系统 |
CN113255373A (zh) * | 2021-05-31 | 2021-08-13 | 杭州芯声智能科技有限公司 | 一种基于Rasa框架的ARM侧离线对话系统、装置及存储介质 |
CN113326359A (zh) * | 2020-02-28 | 2021-08-31 | 浙江大搜车软件技术有限公司 | 一种对话应答及应答策略匹配模型的训练方法和装置 |
-
2021
- 2021-09-18 CN CN202111104855.5A patent/CN113821620B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273406A (zh) * | 2017-04-27 | 2017-10-20 | 上海奔影网络科技有限公司 | 任务对话系统中的对话处理方法及装置 |
CN109086329A (zh) * | 2018-06-29 | 2018-12-25 | 出门问问信息科技有限公司 | 基于话题关键词引导的进行多轮对话方法及装置 |
US20200177527A1 (en) * | 2018-11-30 | 2020-06-04 | International Business Machines Corporation | Reusing entities in automated task-based multi-round conversation |
CN111400463A (zh) * | 2019-01-03 | 2020-07-10 | 百度在线网络技术(北京)有限公司 | 对话响应方法、装置、设备和介质 |
CN111414195A (zh) * | 2019-02-03 | 2020-07-14 | 北京邮电大学 | 通用可配置、兼容多模型、领域可迁移的多轮对话系统 |
CN113326359A (zh) * | 2020-02-28 | 2021-08-31 | 浙江大搜车软件技术有限公司 | 一种对话应答及应答策略匹配模型的训练方法和装置 |
CN111651573A (zh) * | 2020-05-26 | 2020-09-11 | 上海智臻智能网络科技股份有限公司 | 一种智能客服对话回复生成方法、装置和电子设备 |
CN112100349A (zh) * | 2020-09-03 | 2020-12-18 | 深圳数联天下智能科技有限公司 | 一种多轮对话方法、装置、电子设备及存储介质 |
CN112069300A (zh) * | 2020-09-04 | 2020-12-11 | 中国平安人寿保险股份有限公司 | 任务型对话的语义识别方法、装置、电子设备及存储介质 |
CN112199486A (zh) * | 2020-10-21 | 2021-01-08 | 中国电子科技集团公司第十五研究所 | 一种办公场景的任务型多轮对话方法及系统 |
CN112364147A (zh) * | 2020-12-01 | 2021-02-12 | 四川长虹电器股份有限公司 | 一种基于知识图谱的跨领域多轮对话方法及实现系统 |
CN113255373A (zh) * | 2021-05-31 | 2021-08-13 | 杭州芯声智能科技有限公司 | 一种基于Rasa框架的ARM侧离线对话系统、装置及存储介质 |
Non-Patent Citations (1)
Title |
---|
机器学习研究组订阅: "博客|一文看懂任务型对话中的对话策略学习(DPL)", 《微信公众平台》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023125399A1 (zh) * | 2021-12-31 | 2023-07-06 | 中国移动通信有限公司研究院 | 对话策略获取方法、装置及相关设备 |
CN116843795A (zh) * | 2023-07-03 | 2023-10-03 | 北京百度网讯科技有限公司 | 图像生成方法及装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113821620B (zh) | 2023-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111028827B (zh) | 基于情绪识别的交互处理方法、装置、设备和存储介质 | |
CN110704641B (zh) | 一种万级意图分类方法、装置、存储介质及电子设备 | |
US20210193116A1 (en) | Data driven dialog management | |
CN111191450B (zh) | 语料清洗方法、语料录入设备及计算机可读存储介质 | |
CN110890088B (zh) | 语音信息反馈方法、装置、计算机设备和存储介质 | |
CN113821620B (zh) | 多轮对话任务处理方法、装置及电子设备 | |
CN110059170B (zh) | 基于用户交互的多轮对话在线训练方法及系统 | |
CN111739519A (zh) | 基于语音识别的对话管理处理方法、装置、设备及介质 | |
WO2021000403A1 (zh) | 智能对话系统的语音匹配方法、电子装置、计算机设备 | |
WO2022022746A1 (zh) | 一种具备自学习能力的意图识别方法及意图识别系统 | |
US11995523B2 (en) | Systems and methods for determining training parameters for dialog generation | |
CN112131359A (zh) | 一种基于图形化编排智能策略的意图识别方法及电子设备 | |
Wu et al. | A probabilistic framework for representing dialog systems and entropy-based dialog management through dynamic stochastic state evolution | |
CN112084317A (zh) | 预训练语言模型的方法和装置 | |
CN112199486A (zh) | 一种办公场景的任务型多轮对话方法及系统 | |
CN113012687B (zh) | 一种信息交互方法、装置及电子设备 | |
CN112925894B (zh) | 对话中标问匹配方法、系统及装置 | |
US11615787B2 (en) | Dialogue system and method of controlling the same | |
CN112818096A (zh) | 对话生成方法及其装置 | |
CN115083412B (zh) | 语音交互方法及相关装置、电子设备、存储介质 | |
CN115168558A (zh) | 一种实现多轮人机对话的方法 | |
CN113111157B (zh) | 问答处理方法、装置、计算机设备和存储介质 | |
CN111091011B (zh) | 领域预测方法、领域预测装置及电子设备 | |
CN113920996A (zh) | 语音交互的处理方法、装置、电子设备与存储介质 | |
DE102019217751A1 (de) | Verfahren zum Betreiben eines Sprachdialogsystems und Sprachdialogsystem |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220331 Address after: 430051 No. b1336, chuanggu startup area, taizihu cultural Digital Creative Industry Park, No. 18, Shenlong Avenue, Wuhan Economic and Technological Development Zone, Hubei Province Applicant after: Yikatong (Hubei) Technology Co.,Ltd. Address before: 310000 19th floor, building B, spotlight center, No. 459, Qianmo Road, Xixing street, Binjiang District, Hangzhou, Zhejiang Province Applicant before: HUBEI ECARX TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |