CN114840653A - 对话处理方法、装置、设备以及存储介质 - Google Patents
对话处理方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN114840653A CN114840653A CN202210451900.2A CN202210451900A CN114840653A CN 114840653 A CN114840653 A CN 114840653A CN 202210451900 A CN202210451900 A CN 202210451900A CN 114840653 A CN114840653 A CN 114840653A
- Authority
- CN
- China
- Prior art keywords
- conversation
- engine
- dialog
- type
- dialogue
- 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 19
- 238000007499 fusion processing Methods 0.000 claims abstract description 30
- 230000004044 response Effects 0.000 claims abstract description 27
- 238000012545 processing Methods 0.000 claims abstract description 24
- 230000004927 fusion Effects 0.000 claims description 98
- 238000000034 method Methods 0.000 claims description 50
- 238000005352 clarification Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 230000000694 effects Effects 0.000 abstract description 11
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 8
- 239000000306 component Substances 0.000 description 8
- 230000003993 interaction Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect 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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Machine Translation (AREA)
Abstract
本公开提供了一种对话处理方法、装置、设备以及存储介质。本公开涉及计算机技术领域,尤其涉及智能对话、智能客服等人工智能领域。具体实现方案为:获取对话请求;向多个对话引擎分别发送所述对话请求;获取所述多个对话引擎响应于所述对话请求返回的至少两个对话结果;基于所述至少两个对话结果进行融合处理,得到融合后的对话结果;输出所述融合后的对话结果。在本公开的实施例中,可以基于多个引擎的对话结果自动进行融合,对话效果更加灵活丰富,提高了回复的准确性。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及智能对话、智能客服等人工智能领域。
背景技术
随着自然语言技术的发展,机器人对话技术越来越多地应用在智能客服、智能外呼等场景,在提升客户服务效率的同时,大大降低了企业的成本。目前的对话系统,主要通过某种优先级排序规则从多个引擎的答案中选定单个引擎的答案作为最终答案输出。对话效果与能力比较单一。
发明内容
本公开提供了一种对话处理方法、装置、设备以及存储介质。
根据本公开的一方面,提供了一种对话处理方法,包括:
获取对话请求;
向多个对话引擎分别发送所述对话请求;
获取所述多个对话引擎响应于所述对话请求返回的至少两个对话结果;
基于所述至少两个对话结果进行融合处理,得到融合后的对话结果;
输出所述融合后的对话结果。
根据本公开的另一方面,提供了一种对话处理装置,包括:
第一获取模块,用于获取对话请求;
发送模块,用于向多个对话引擎分别发送所述对话请求;
第二获取模块,用于获取所述多个对话引擎响应于所述对话请求返回的至少两个对话结果;
融合模块,用于基于所述至少两个对话结果进行融合处理,得到融合后的对话结果;
输出模块,用于输出所述融合后的对话结果。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与该至少一个处理器通信连接的存储器;其中,
该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开中任一实施例的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,该计算机指令用于使该计算机执行根据本公开中任一实施例的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现根据本公开中任一实施例的方法。
在本公开的实施例中,可以基于多个引擎的对话结果自动进行融合,对话效果更加灵活丰富,提升了回复的准确性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开一实施例的一种对话处理方法的流程示意图;
图2是根据本公开另一实施例的一种对话处理方法的流程示意图;
图3是根据本公开另一实施例的一种对话处理方法的流程示意图;
图4是根据本公开另一实施例的一种对话处理装置的结构示意图;
图5是根据本公开一实施例的一种对话处理装置的结构示意图;
图6是根据本公开另一实施例的一种对话处理装置的结构示意图;
图7是根据本公开一实施例的对话处理流程的示意图;
图8是用来实现本公开实施例的对话处理方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本公开一实施例的一种对话处理方法的流程示意图。该方法可以包括:
S101、获取对话请求;
S102、向多个对话引擎分别发送所述对话请求;
S103、获取所述多个对话引擎响应于所述对话请求返回的至少两个对话结果;
S104、基于所述至少两个对话结果进行融合处理,得到融合后的对话结果;
S105、输出所述融合后的对话结果。
在本公开实施例中,对话可以包括用户与对话装置例如机器人的提问和回答,例如用户与机器人的一问一答即为一轮对话。对话引擎可以根据对话请求进行搜索、排序等操作,响应于该对话请求返回对话结果。多个对话引擎可以包括不同业务类型的对话引擎。例如,问答、闲聊、任务式等对话引擎。这些引擎之间可以相互独立并且可以并行工作。对话请求可以包括查询项(query)。查询项(query)也可以称为搜索项、询问项、提问项、查询语句、搜索语句、搜索请求等。一种示例中,查询项(query)中可以包括需要对话引擎搜索的关键词、关键语句等信息。查询项(query)可以是文本格式的,也可以是语音格式。语音格式的query,可以通过语音转文本方式转换为文本格式的query。
在本公开实施例中,可以通过对话中控向多个对话引擎分别发送对话请求。对话中控可以是对话系统的处理器。对话中控获取的对话请求可以是来自于客户端的初始对话请求,也可以是对初始对话请求进行预处理例如校验、修正、过滤等后的对话请求。对话中控可以向多个引擎发送需要处理的对话请求(例如预处理后的query),还可以融合多个对话引擎返回的对话结果。
在本公开实施例中,多个对话引擎收到对话请求后,一些对话引擎能够响应于该对话请求返回对话结果例如答案,一些对话引擎可能不能响应于该对话请求返回对话结果或返回的对话结果的置信度较低。例如,收到对话请求的N个对话引擎中的M个对话引擎分别返回一个对话结果,则对话中控可以获取M个对话结果,M可以小于或等于N。对话中控可以根据各个引擎返回对话结果的具体情况进行处理。例如,如果对话中控收到了多个对话引擎响应于该对话请求返回的对话结果的个数大于或等于两个,可以基于收到的对话结果进行融合处理,得到融合后的对话结果。
在本公开的实施例中,可以基于多个引擎的对话结果自动进行融合,对话效果更加灵活丰富,提高了回复的准确性。
图2是根据本公开另一实施例的一种对话处理方法的流程示意图。该实施例的方法包括上述对话处理方法实施例的一个或多个特征。所述多个对话引擎包括至少两种不同类型的对话引擎,所述至少两种不同类型的对话引擎包括第一类对话引擎和第二类对话引擎。
在一种可能的实施方式中,在S102中,所述向多个对话引擎分别发送所述对话请求,包括:
S201、向至少一个第一类对话引擎发送所述对话请求;
S202、向至少一个第二类对话引擎发送所述对话请求。
在本公开实施例中,对话引擎可以包括多种类型。例如,从轮次角度可以分为单轮对话引擎和多轮对话引擎。从功能角度可以分为问答对话引擎、闲聊对话引擎、任务式对话引擎、引导式对话引擎等。其中,单轮对话引擎可以实现一问一答的形式,轮次之间可以没有依赖关系。问答、闲聊等对话引擎属于单轮对话引擎。多轮对话引擎需要多轮对话交互来引导完成预设的场景任务,上下轮次之间有上下文依赖关系。任务式对话引擎、引导式对话引擎等属于多轮对话引擎。其中,问答可以包括一问一答的单轮对话,可以用于任务式对话的知识补充。闲聊可以是一种开放域对话,与业务无关,可以提供一种更加人性化、趣味性的对话体验,可作为对话系统兜底回复。任务式对话可以支持多轮对话,基于预设对话流程完成具体的业务,例如费用查询、业务注册等。引导式对话可以支持多轮对话,可以主动引导用户进行具体话题的对话,例如问卷调查、产品介绍等。
在本公开实施例中,通过向不同类型的对话引擎发送对话请求,能够对不同类型的对话引擎返回的对话结果进行融合,形成更加丰富的回复方式。
在本公开实施例中,第一类对话引擎和第二类对话引擎可以为不同类型的对话引擎。例如,第一类对话引擎为单轮对话引擎,第二类对话引擎为多轮对话引擎。再如,第一类对话引擎为问答对话引擎,第二类对话引擎为任务式对话引擎。再如,第一类对话引擎为闲聊对话引擎,第二类对话引擎为引导式对话引擎。
在本公开实施例中,S201和S202可以并行执行,也可以有先后顺序,具体不做限定。对话中控可以向至少一个单轮对话引擎发送query,并且可以向至少一个多轮对话引擎发送query。通过融合单轮、多轮等不同类型的对话引擎响应于同一对话请求返回的不同对话结果,能够提供包括单轮回复和多轮回复的更加丰富的回复方式。例如,融合后的对话结果既可以包括单轮对话引擎返回的对话结果,也可以包括多轮对话引擎返回的对话结果。
图3是根据本公开另一实施例的一种对话处理方法的流程示意图。该实施例的方法包括上述对话处理方法实施例的一个或多个特征。在一种可能的实施方式中,在S103中,获取所述多个对话引擎响应于所述对话请求返回的至少两个对话结果,可以包括以下至少之一:
S301、获取至少一个第一类对话引擎响应于所述对话请求返回的第一类对话结果;
S302、获取至少一个第二类对话引擎响应于所述对话请求返回的第二类对话结果。
在本公开实施例中,对话中控向多种类型的对话引擎并行发送对话请求后,可能会收到一种或多种类型的对话引擎返回的对话结果。S301和S302可以并行执行,也可以有先后顺序,具体不做限定。例如,向问答引擎、闲聊引擎等单轮对话引擎发送对话请求后,收到问答引擎和/或闲聊引擎返回的第一类对话结果。问答引擎返回的第一类对话结果可以包括对话请求中的问题对应的答案。闲聊引擎返回的第一类对话结果可以包括对话请求中的话题相关的内容。再如,向任务式对话引擎等多轮对话引擎发送对话请求后,收到任务式对话引擎返回的第二类对话结果。第二类对话结果可能包括任务式对话的意图,例如顶层意图。意图可以表示用户要完成的一个业务动作或行为等。意图可以区分为顶层意图和子意图,其中,顶层意图可以表示在对话过程中可以随时触发的意图。
在本公开实施例中,根据不同类型的对话引擎返回的对话结果,能够融合形成更加丰富的回复方式。
在一种可能的实施方式中,在S104中,基于所述至少两个对话结果进行融合处理,包括:判断是否满足融合条件;在满足融合条件的情况下,基于所述至少两个对话结果进行融合处理。
在本公开实施例中,融合条件也可以称为引擎融合条件、结果融合条件、返回融合条件等。如果对话中控判断收到的对话结果满足融合条件,再将收到多个对话结果融合得到融合后的对话结果。如果不满足融合条件,则可以不将收到多个对话结果融合,而是采用其他方式确定最终的对话结果。通过判断是否满足融合条件,可以对符合融合条件的至少两个对话结果进行融合处理,从而使得融合后的对话结果更加准确。
在一种可能的实施方式中,所述判断是否满足融合条件,包括:判断所述至少两个对话结果的置信度和/或所述至少两个对话结果的内容是否满足对应条件。
在本公开实施例中,在设置融合条件时,可以考虑对话结果的内容,也可也考虑对话结果的置信度,还可以综合考虑对话结果的内容和对话结果的置信度。其中,对话结果的内容可以与对话引擎的类型相关联。对话结果的置信度可以由对话引擎与对话结果一起返回至对话中控。基于对话结果的置信度的融合条件与基于对话结果的内容的融合条件可以分别独立判定,也可以结合判定。例如,如果基于对话结果的内容单独判定为满足对应条件,可以进行融合处理。再如,如果基于对话结果的置信度单独判定为满足对应条件,可以进行融合处理。再如,如果基于对话结果的内容判定为满足对应条件,并且基于对话结果的置信度判定为不满足对应条件,则可以进行融合处理。再如,如果基于对话结果的内容判定为满足对应条件,但是基于对话结果的置信度判定为不满足对应条件,则不可以进行融合处理。再如,如果基于对话结果的置信度判定为满足对应条件,但是基于对话结果的内容判定为不满足对应条件,则不可以进行融合处理。
此外,也可以结合优先级、相似度等设置融合条件。判断至少两个对话结果的优先级、相似度等是否满足对应条件。与对话结果的置信度、内容等结合判定。
在本公开实施例中,通过判断至少两个对话结果的置信度和/或内容是否满足融合条件,可以从置信度和/或内容方面提高融合结果的准确性。
在一种可能的实施方式中,判断所述至少两个对话结果的内容是否满足对应条件包括:判断所述至少两个对话结果是否包括至少一个第一类对话结果和至少一个第二类对话结果,其中,所述第一类对话结果为至少一个第一类对话引擎响应于所述对话请求返回的对话结果,所述第二类对话结果为至少一个第二类对话引擎响应于所述对话请求返回的对话结果,所述第一类对话引擎和所述第二类对话引擎为不同类型的对话引擎。
在本公开实施例中,可以基于返回对话结果的对话结果的内容将融合条件设置为:收到的对话结果是否包括至少一个第一类对话结果和至少一个第二类对话结果。也即是说,如果要满足融合条件,需要收到不同类型的对话引擎响应于对话请求返回的对话结果。例如,如果只收到一种类型的对话引擎返回的一种对话结果,可以判定为不符合融合条件,进而可以不进行融合处理。如果收到不同类型的对话引擎返回的多种对话结果,判定为符合融合条件,进而可以进行融合处理。在收到不同类型的对话引擎返回的对话结果的情况下,也可以再继续判定是否符合其他融合条件。
在本公开实施例中,第一类对话结果和第二类对话结果是不同类型的对话引擎返回的对话结果。根据至少两个对话结果的内容是否包括了不同类型的对话引擎回的对话结果来判断是否符合融合条件,便于融合不同类型的对话引擎返回的对话结果,可以形成更加丰富的回复方式。
此外,如果对话中控收到多个第一类对话结果,可以选择一个用于融合,例如,选择置信度最高的或者最先收到的且置信度不低于某个阈值的。如果收到多个第二类对话结果,可以根据置信度进行选择,也可以根据与第一类对话结果的相似度进行选择。
在一种可能的实施方式中,所述第一类对话结果包括所述第一类对话引擎返回的答案,所述第二类对话结果包括所述第二类对话引擎返回的意图。
在一种可能的实施方式中,判断所述至少两个对话结果的置信度是否满足对应条件包括以下至少之一:
方式一:在所述第一类对话引擎为单轮对话引擎的情况下,判断所述第一类对话引擎返回的答案的置信度是否大于第一阈值,其中,所述第一类对话结果包括所述第一类对话引擎返回的答案,在所述第一类对话引擎返回的答案的置信度大于第一阈值的情况下判定满足对应条件;
方式二:在所述第二类对话引擎为多轮对话引擎的情况下,判断所述第二类对话引擎返回的意图的置信度是否大于第二阈值且小于或等于第三阈值,其中,所述第二类对话结果包括所述第二类对话引擎返回的意图,在所述第二类对话引擎返回的意图的置信度大于第二阈值且小于或等于第三阈值的情况下判定满足对应条件;
方式三:在所述第二类对话引擎为多轮对话引擎的情况下,判断所述第二类对话引擎返回的意图的置信度是否大于第四阈值,其中,所述第二类对话结果包括所述第二类对话引擎返回的意图,在所述第二类对话引擎返回的意图的置信度大于第四阈值的情况下判定满足对应条件。
在本公开实施例中,基于对话结果的置信度可以设置多种融合条件。不同融合条件可以单独判定,也可以结合判定。
例如,如果第一类对话引擎为单轮对话引擎,可以为每个第一类对话引擎分别设置答案的置信度对应的第一阈值。融合条件可以包括:判断第一类对话引擎返回的答案的置信度是否大于第一阈值。在方式一中,如果第一类对话引擎返回的答案的置信度大于第一阈值,判定为满足该第一类对话引擎对应的第一融合条件,可以保留该答案用于后续的融合;否则可以丢弃该答案。
再如,如果第二类对话引擎为多轮对话引擎,可以为每个多轮对话引擎设置意图的置信度对应的第二阈值和第三阈值。融合条件可以包括:判断第二类对话引擎返回的意图的置信度是否大于第二阈值且小于或等于第三阈值。在方式二中,如果多轮对话引擎返回的意图的置信度大于第二阈值且小于第三阈值,可以判定为满足该多轮对话引擎对应的第二融合条件。
再如,如果第二类对话引擎为多轮对话引擎,可以为每个多轮对话引擎设置意图的置信度对应的第四阈值。其中,第四阈值和上述的第三阈值可以相同,也可以不同。融合条件可以包括:判断第二类对话引擎返回的意图的置信度是否大于第四阈值。在方式三中,如果多轮对话引擎返回的意图的置信度大于第四阈值可以判定为满足该多轮对话引擎对应的第三融合条件。
除了上述方式一、方式二和方式三之外,也可以采用其他方式判断至少两个对话结果的置信度是否满足对应条件。例如,为第一类对话引擎和第二类对话引擎设置同一个融合置信度。判断第一类对话引擎返回的答案的置信度以及第二类对话引擎返回的意图的置信度是否均大于该融合置信度。如果是,则判定为至少两个对话结果的置信度满足融合条件。
上述方式一、方式二和方式三的判定结果可以单独使用,也可以结合使用。例如,采用方式一、方式二或方式三单独判定为满足对应条件,均可以进行融合处理。再如,采用方式一判定答案满足第一融合条件,但是采用方式二判定意图不满足第二融合条件,则不能进行融合处理。再如,采用方式一判定答案满足第一融合条件,采用方式二判定意图不满足第二融合条件,但是采用方式三判定意图满足第三融合条件,则可以进行融合处理。方式一、方式二和方式三的判定结果可以根据实际使用的需要进行任意结合;方式一、方式二和方式三的判定结果还可以与对话结果的内容、优先级、相似度等的判定结果结合使用,在此不进行穷举。
在本公开实施例中,根据对话结果的置信度对应的各种融合条件进行判断,有利于融合更高置信度的对话结果,可以提高回复的准确性和灵活性,提高对话体验。在本公开实施例中,引擎返回的答案或也可以称为引擎召回的答案,引擎返回的意图也可以称为引擎召回的意图。
在一种可能的实施方式中,在S104中,基于所述至少两个对话结果进行融合处理,得到融合后的对话结果,包括:
从所述至少两个对话结果中确定满足预设条件的至少两个目标对话结果;
对所述至少两个目标对话结果进行融合处理,得到融合后的对话结果。
在本公开实施例中,如果多个对话引擎返回了多个对话结果,可以从多个对话结果中选择满足设定条件的多个目标对话结果。该设定条件可以参见上述置信度设置第一融合条件:例如,第一类对话引擎对应的融合条件,第二类对话引擎对应的第二融合条件和/或第三融合条件等。基于预设条件从多个对话结果中确定目标对话结果,有利于进一步提高融合后的对话结果的准确性,从而提高回复的准确性。
在一种可能的实施方式中,所述从所述至少两个对话结果中确定满足预设条件的至少两个目标对话结果包括以下至少之一:
在多个第一类对话引擎返回的答案的置信度分别大于各自对应的第一阈值情况下,获取置信度最高的第一类对话引擎返回的答案,作为所述目标对话结果;
在第二类对话引擎返回的意图的置信度大于第二阈值且小于或等于第三阈值的情况下,获取所述第二类对话引擎返回的意图澄清,作为所述目标对话结果;
在第二类对话引擎返回的意图的置信度大于第四阈值的情况下,获取所述第二类对话引擎返回的意图对应的对话节点答案,作为所述目标对话结果。
在本公开实施例中,如果多个第一类对话引擎返回的第一类对话结果例如单轮对话引擎返回的答案的置信度分别大于各自对应的第一阈值,可以从这多个答案中选择置信度最高的答案作为目标对话结果用于后续的融合;丢弃其他答案。通过答案的置信度可以选择最优答案进行融合,融合后的对话结果中包括的答案更加符合对话请求的期望,回复的准确性高。
在本公开实施例中,如果第二类对话引擎返回的第二类对话结果例如多轮对话引擎返回的意图例如顶层意图大于第二阈值且小于或等于第三阈值,可以获取顶层意图澄清作为目标对话结果,用于后续的融合。如果该顶层意图大于第四阈值,可以获取顶层意图对应的对话节点答案作为目标对话结果。如果该顶层意图小于或等于第二阈值,可以丢弃该顶层意图。其中,顶层意图澄清可以包括用于澄清顶层意图的引导性问题等形式的回复。对话节点可以是多轮对话场景的对话树中包括的节点,对话节点可以支持对话过程中用户和机器人的一轮交互。对话节点中可以包括与该某个对话请求对应的答案。通过意图的置信度能够基于不同意图进行意图澄清或回复答案,融合后的对话结果中包括的意图澄清或回复答案更加符合对话请求的期望,回复的准确性高。
在一种可能的实施方式中,对所述两个目标对话结果进行融合处理,得到融合后的对话结果,包括:
按照指定先后顺序对所述至少两个目标对话结果进行拼接,得到所述融合后的对话结果。
在一种示例中,设定先后顺序是基于第一类对话结果确定的目标对话结果在前。一种融合后的对话结果包括:在前的单轮对话引擎返回的答案和在后的多轮对话引擎返回的意图澄清。另一种融合后的对话结果包括:在前的单轮对话引擎返回的答案和在后的多轮对话引擎返回的意图对应的对话节点答案。
在另一种示例中,设定先后顺序是基于第二类对话结果确定的目标对话结果在前。一种融合后的对话结果包括:在前的多轮对话引擎返回的意图澄清和在后的单轮对话引擎返回的答案。另一种融合后的对话结果包括:在前的多轮对话引擎返回的意图对应的对话节点答案和在后的单轮对话引擎返回的答案。
在本公开实施例中,对不同类型的对话引擎返回的对话结果中的目标对话结果按照设定先后顺序进行拼接,可以得到更加准确且丰富的回复方式。
在一种可能的实施方式中,该方法还可以包括:在不满足融合条件的情况下,从收到的对话结果中选择一个作为输出的对话结果。
在本公开实施例中,如果收到的对话结果不符合融合条件,也可以不直接丢弃,而是按照其他方式从收到的对话结果中选择作为输出的对话结果。例如,如果仅收到一个对话引擎响应于对话请求返回的一个对话结果,可以将这个对话结果作为输出的对话结果。再如,收到多个对话引擎响应于所述对话请求返回的多个对话引擎。但是这多个对话结果不满足上述的融合条件,在这些对话结果中,可以选择置信度最高的对话结果,也可以选择与对话请求相似度最高的对话结果,还可以选择优先级最高的对话引擎返回的对话结果,具体不做限制。通过从不符合融合条件的对话结果中选择一个对话结果,能够在不融合的情况下给出用户与对话请求相关的响应,提高对话体验。
图4是根据本公开一实施例的一种对话处理装置的结构示意图。该装置可以包括:
第一获取模块401,用于获取对话请求;
发送模块402,用于向多个对话引擎分别发送所述对话请求;
第二获取模块403,用于获取所述多个对话引擎响应于所述对话请求返回的至少两个对话结果;
融合模块404,用于基于所述至少两个对话结果进行融合处理,得到融合后的对话结果;
输出模块405,用于输出所述融合后的对话结果。
在本公开的实施例中,可以对多个引擎的对话结果自动进行融合,对话效果更加灵活丰富。
图5是根据本公开另一实施例的一种对话处理装置的结构示意图。该实施例的装置包括上述对话处理装置实施例的一个或多个特征。在一种可能的实施方式中,所述多个对话引擎包括至少两种不同类型的对话引擎,所述至少两种不同类型的对话引擎包括第一类对话引擎和第二类对话引擎,所述发送模块402包括:
第一发送子模块501,用于向至少一个第一类对话引擎发送所述对话请求;
第二发送子模块502,用于向至少一个第二类对话引擎发送所述对话请求。
通过向不同类型的对话引擎发送对话请求,能够对不同类型的对话引擎返回的对话结果进行融合,对话效果更加灵活丰富,提高了回复的准确性。
在一种可能的实施方式中,所述第一类对话引擎为单轮对话引擎,所述第二类对话引擎为多轮对话引擎。通过融合单轮、多轮等不同类型的对话引擎响应于同一对话请求返回的不同对话结果,能够提供包括单轮回复和多轮回复的更加丰富的回复方式。
图6是根据本公开另一实施例的一种对话处理装置的结构示意图。该实施例的装置包括上述对话处理装置实施例的一个或多个特征。在一种可能的实施方式中,所述融合模块404包括:
判断子模块601,用于判断是否满足融合条件;
所述融合模块404用于在满足融合条件的情况下,基于所述至少两个对话结果进行融合处理。
在本公开的实施例中,通过判断是否满足融合条件,可以对符合融合条件的至少两个对话结果进行融合处理,从而使得融合后的对话结果更加准确。
在一种可能的实施方式中,所述判断子模块601用于判断所述至少两个对话结果的置信度和/或所述至少两个对话结果的内容是否满足对应条件。通过判断至少两个对话结果是否满足融合条件,可以对符合融合条件的至少两个对话结果进行融合处理,从而使得融合后的对话结果更加准确。
在一种可能的实施方式中,判断子模块601用于判断所述至少两个对话结果的内容是否满足对应条件包括:判断所述至少两个对话结果是否包括至少一个第一类对话结果和至少一个第二类对话结果,其中,所述第一类对话结果为至少一个第一类对话引擎响应于所述对话请求返回的对话结果,所述第二类对话结果为至少一个第二类对话引擎响应于所述对话请求返回的对话结果,所述第一类对话引擎和所述第二类对话引擎为不同类型的对话引擎。根据至少两个对话结果的内容是否包括了不同类型的对话引擎回的对话结果来判断是否符合融合条件,便于融合不同类型的对话引擎返回的对话结果,可以形成更加丰富的回复方式。
在本公开实施例中,可以根据对话引擎的类型设置融合条件,如果融合不同类型的对话引擎返回的对话结果,可以形成更加丰富的回复方式。
在一种可能的实施方式中,判断子模块601用于判断所述至少两个对话结果的置信度是否满足对应条件包括以下至少之一:
在所述第一类对话引擎为单轮对话引擎的情况下,判断所述第一类对话引擎返回的答案的置信度是否大于第一阈值,其中,所述第一类对话结果包括所述第一类对话引擎返回的答案,在所述第一类对话引擎返回的答案的置信度大于第一阈值的情况下判定满足对应条件;
在所述第二类对话引擎为多轮对话引擎的情况下,判断所述第二类对话引擎返回的意图的置信度是否大于第二阈值且小于或等于第三阈值,其中,所述第二类对话结果包括所述第二类对话引擎返回的意图,在所述第二类对话引擎返回的意图的置信度大于第二阈值且小于或等于第三阈值的情况下判定满足对应条件;
在所述第二类对话引擎为多轮对话引擎的情况下,判断所述第二类对话引擎返回的意图的置信度是否大于第四阈值,其中,所述第二类对话结果包括所述第二类对话引擎返回的意图,在所述第二类对话引擎返回的意图的置信度大于第四阈值的情况下判定满足对应条件。
在本公开实施例中,根据对话结果的置信度对应的融合条件进行判断,有利于融合更高置信度的对话结果,可以提高回复的准确性,提高对话体验。
在一种可能的实施方式中,所述融合模块404包括:
确定子模块602,用于从所述至少两个对话结果中确定满足预设条件的至少两个目标对话结果;
融合子模块603,用于对所述至少两个目标对话结果进行融合处理,得到融合后的对话结果。
在一种可能的实施方式中,所述确定子模块602用于执行以下至少之一:
在多个第一类对话引擎返回的答案的置信度分别大于各自对应的第一阈值情况下,获取置信度最高的所述第一类对话引擎返回的答案,作为所述目标对话结果;
在第二类对话引擎返回的意图的置信度大于第二阈值且小于或等于第三阈值的情况下,获取所述第二类对话引擎返回的意图澄清,作为所述目标对话结果;
在第二类对话引擎返回的意图的置信度大于第四阈值的情况下,获取所述第二类对话引擎返回的意图对应的对话节点答案,作为所述目标对话结果。
通过置信度可以选择答案和/或意图进行融合,融合结果更加符合对话请求的期望,回复的准确性高。
在一种可能的实施方式中,所述融合子模块603还用于按照指定先后顺序对所述至少两个目标对话结果进行拼接,得到所述融合后的对话结果。对不同类型的对话引擎返回的对话结果中的目标对话结果按照设定先后顺序进行拼接,可以得到更加准确且丰富的回复方式。
本公开实施例的对话处理装置的各模块、子模块的具体功能和示例的描述,可以参见上述对话处理方法实施例中对应步骤的相关描述,在此不再赘述。
相关技术中,有些对话中不支持多引擎融合的答案生成,对话效果与能力比较单一,对话体验不够智能灵活。有些对话系统需要基于复杂的配置支持多引擎融合的答案生成。如:在问答、闲聊等对话引擎,在原答案配置的地方,需要手动拼接上业务相关度接近的任务式对话引擎的答案做流程推荐引导,组装成一句新的回复话术,以达到多引擎答融合的答案生成引导效果。这种方式的配置冗余且复杂,增加了系统的使用门槛,维护成本大。
本公开实施例的对话处理方法可以是一种对话系统中的多引擎融合的答案生成方法。在实际对话过程中,多引擎融合的答案生成的需求是非常强烈且必要的。比如,在中控对对话引擎召回的答案处理阶段,可能发现召回的多个不同业务类型对话引擎答案满足了多引擎融合的答案生成条件。此时机器人可以将多个不同业务类型引擎召回的答案按照相关性进行编排,组装融合为一句回复话术,而不是只回复某个单一的对话引擎答案。融合后的答案在原有答案回复的基础上,可以再引导用户完成业务相关性较高的任务式对话的业务流程办理,以达到丰富对话效果与提升对话能力的目的,使得对话过程更加灵活智能。例如在租车业务办理场景中,用户:“租车流程是怎样的”或“有哪些车可以租?”,机器人:“租车流程是xxx”或“可租的车有xxx等”(问答引擎召回)+,“请问您是不是要租车?(任务式对话引擎顶层意图召回澄清)”。这种情况下,用户可在咨询完租车问答流程后,可以根据引导继续办理相关租车多轮业务,而不是继续等待用户再次主动发起一轮会话。因此如何更好地支持多引擎融合的答案生成,对提升对话系统的整体能力是非常有帮助的。
以下为本公开实施例可能涉及的一些词语含义的示例性描述。
意图:可以代表用户要完成的一个业务动作或行为,比如查天气、理财推荐等,类似于代码中的函数。意图可以区分为顶层意图和子意图,其中顶层意图可以是在对话过程中可以随时触发的意图。
场景:一个意图及在该意图下所有的对话交互(如收集实体、澄清、确认、子意图等)构成一个场景。只有当用户表述了新的意图或者结束对话,场景才切换或者结束。
会话:同一用户在某个时间段内与机器人的一系列对话可以为一个会话,如电话客服中的一个电话。
对话:用户与机器人的一问一答可以为一轮对话。
对话节点:对话树中的节点,包括对话过程中用户和机器人的一轮交互。用户的query会触发某一个对话节点来处理请求并获得回答。对话节点可以用于实体收集、上下文继承、上下文变迁、业务系统对接、答案生成等。
对话引擎:对话系统的核心组成部分,可以通过文本检索、相似度排序等方式,基于当前对话的上下文状态召回满足query的答案。一个对话系统可以内置多个不同业务类型的对话引擎,比如:问答、闲聊、任务式等。这些引擎之间可以相互独立并行工作。
单轮对话引擎:一问一答,轮次之间没有依赖关系,如:问答、闲聊等对话引擎。
多轮对话引擎:需要多轮对话交互来引导完成预设的场景任务,上下轮次之间有上下文依赖关系,典型的如任务式对话引擎;
任务式对话:可以是核心引擎,能够支持多轮对话,实现干练办事,基于构建好的预设对话流程,完成用户业务办理;
问答:一问一答,属于单轮对话,可作为任务式对话中的知识补充;
闲聊:开放域对话,与业务无关,可以提供人性化、趣味性的对话体验,可作为对话系统兜底回复。
对话中控:对话系统的“大脑”,对query做预处理、对话引擎调度管理、处理答案优先级排序与答案生成等。
引擎答案优选与生成:根据各对话引擎召回的多个答案按照某种排序规则(如相似度高低)选择其中最优的答案生成。
参见图7,一种示例性的对话处理流程如下:
S701、对用户的对话请求(query)进行预处理,预处理包括多种操作,例如格式校验、数据修正、冗余数据过滤等。继续S702。
S702、对话中控对多个对话引擎例如多轮引擎、问答引擎、闲聊引擎等,进行并行调度,继续S703。
S703、判断引擎融合的开关是否开启:如果引擎融合开关开启,继续S704。否则,继续S706。
其中,引擎融合开关可以通过开关标志来控制。开关标志可以通过不同的数字和/或字符表示开启或关闭。引擎融合开关可以默认是开启的,也可以根据用户的选择操作来设置引擎融合开关是否开启。
S704、判断是否满足引擎融合条件:如果满足引擎融合条件,则继续S705。否则,继续S706。
如果多种对话引擎返回有合适的对话结果,可以判定为满足融合条件。例如,单轮对话引擎的召回答案中,具有置信度大于第一阈值的召回答案。多轮对话引擎的召回顶层意图中,满足召回意图的置信度范围。其中,如果召回顶层意图的置信度在第二阈值和第三阈值之间,可以判定为该召回顶层意图表示引擎召回意图澄清。如果召回顶层意图的置信度大于第三阈值,可以判定为该召回顶层意图表示引擎召回意图对应的对话节点答案。
融合条件可以包括:单轮对话引擎有召回答案,并且多轮对话引擎有顶层意图召回。此外,融合条件还可以包括召回答案和召回顶层意图的阈值范围。例如,步骤S702中多个对话引擎调度结果召回的答案中问答、闲聊等单轮对话引擎其中一个引擎有召回答案,例如该答案的置信度>0.99。其中,可以将默认的置信度阈值为0.99,也可以更改阈值。并且,任务式多轮对话引擎有召回的顶层意图。其中,0.6<该意图的置信度<0.9:引擎召回意图澄清;该意图的置信度>0.9:引擎召回意图对应的对话节点答案。意图的置信度阈值和阈值范围是可配置的。
S705、多引擎答案融合编排与生成,将S704中单轮对话引擎及多轮对话引擎两部分召回结果(例如答案和意图)按顺序组装拼接融合生成一句回复话术,继续S707。
S706、引擎答案优选与生成。可以根据原有默认优选流程,生成一个最优答案,继续S707。
S707、机器人等具有对话功能的设备输出答案回复,本轮对话结束。
在支持多对话引擎的对话场景中,多引擎融合的答案生成的技术能够将多引擎对话能力的效果最大程度的发挥整合出来。这样,在丰富对话效果同时,可以引导用户完成任务式对话的业务流程办理,提升了对话能力,使得对话过程更加灵活智能。此外,通过引擎自身的对话流程配置,自动触发多引擎融合答案生成,可以有效减少冗余的配置,降低了对话系统的使用门槛和维护成本。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如对话处理方法。例如,在一些实施例中,对话处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的对话处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行对话处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (23)
1.一种对话处理方法,包括:
获取对话请求;
向多个对话引擎分别发送所述对话请求;
获取所述多个对话引擎响应于所述对话请求返回的至少两个对话结果;
基于所述至少两个对话结果进行融合处理,得到融合后的对话结果;
输出所述融合后的对话结果。
2.根据权利要求1所述的方法,其中,所述多个对话引擎包括至少两种不同类型的对话引擎,所述至少两种不同类型的对话引擎包括第一类对话引擎和第二类对话引擎,所述向多个对话引擎分别发送所述对话请求,包括:
向至少一个第一类对话引擎发送所述对话请求;
向至少一个第二类对话引擎发送所述对话请求。
3.根据权利要求2所述的方法,其中,所述第一类对话引擎为单轮对话引擎,所述第二类对话引擎为多轮对话引擎。
4.根据权利要求1-3中任一项所述的方法,其中,基于所述至少两个对话结果进行融合处理,包括:
判断是否满足融合条件;
在满足融合条件的情况下,基于所述至少两个对话结果进行融合处理。
5.根据权利要求4所述的方法,其中,所述判断是否满足融合条件,包括:
判断所述至少两个对话结果的置信度和/或所述至少两个对话结果的内容是否满足对应条件。
6.根据权利要求5所述的方法,其中,判断所述至少两个对话结果的内容是否满足对应条件包括:判断所述至少两个对话结果是否包括至少一个第一类对话结果和至少一个第二类对话结果,其中,所述第一类对话结果为至少一个第一类对话引擎响应于所述对话请求返回的对话结果,所述第二类对话结果为至少一个第二类对话引擎响应于所述对话请求返回的对话结果,所述第一类对话引擎和所述第二类对话引擎为不同类型的对话引擎。
7.根据权利要求6所述的方法,其中,所述判断所述至少两个对话结果的置信度是否满足对应条件包括以下至少之一:
在所述第一类对话引擎为单轮对话引擎的情况下,判断所述第一类对话引擎返回的答案的置信度是否大于第一阈值,其中,所述第一类对话结果包括所述第一类对话引擎返回的答案,在所述第一类对话引擎返回的答案的置信度大于第一阈值的情况下判定满足对应条件;
在所述第二类对话引擎为多轮对话引擎的情况下,判断所述第二类对话引擎返回的意图的置信度是否大于第二阈值且小于或等于第三阈值,其中,所述第二类对话结果包括所述第二类对话引擎返回的意图,在所述第二类对话引擎返回的意图的置信度大于第二阈值且小于或等于第三阈值的情况下判定满足对应条件;
在所述第二类对话引擎为多轮对话引擎的情况下,判断所述第二类对话引擎返回的意图的置信度是否大于第四阈值,其中,所述第二类对话结果包括所述第二类对话引擎返回的意图,在所述第二类对话引擎返回的意图的置信度大于第四阈值的情况下判定满足对应条件。
8.根据权利要求1-7中任一项所述的方法,其中,所述基于所述至少两个对话结果进行融合处理,得到融合后的对话结果,包括:
从所述至少两个对话结果中确定满足预设条件的至少两个目标对话结果;
对所述至少两个目标对话结果进行融合处理,得到融合后的对话结果。
9.根据权利要求8所述的方法,其中,所述从所述至少两个对话结果中确定满足预设条件的至少两个目标对话结果包括以下至少之一:
在多个第一类对话引擎返回的答案的置信度分别大于各自对应的第一阈值情况下,获取置信度最高的第一类对话引擎返回的答案,作为所述目标对话结果;
在第二类对话引擎返回的意图的置信度大于第二阈值且小于或等于第三阈值的情况下,获取所述第二类对话引擎返回的意图澄清,作为所述目标对话结果;
在第二类对话引擎返回的意图的置信度大于第四阈值的情况下,获取所述第二类对话引擎返回的意图对应的对话节点答案,作为所述目标对话结果。
10.根据权利要求8或9所述的方法,其中,所述对所述两个目标对话结果进行融合处理,得到融合后的对话结果,包括:
按照指定先后顺序对所述至少两个目标对话结果进行拼接,得到所述融合后的对话结果。
11.一种对话处理装置,包括:
第一获取模块,用于获取对话请求;
发送模块,用于向多个对话引擎分别发送所述对话请求;
第二获取模块,用于获取所述多个对话引擎响应于所述对话请求返回的至少两个对话结果;
融合模块,用于基于所述至少两个对话结果进行融合处理,得到融合后的对话结果;
输出模块,用于输出所述融合后的对话结果。
12.根据权利要求11所述的装置,其中,所述多个对话引擎包括至少两种不同类型的对话引擎,所述至少两种不同类型的对话引擎包括第一类对话引擎和第二类对话引擎,所述发送模块包括:
第一发送子模块,用于向至少一个第一类对话引擎发送所述对话请求;
第二发送子模块,用于向至少一个第二类对话引擎发送所述对话请求。
13.根据权利要求12所述的装置,其中,所述第一类对话引擎为单轮对话引擎,所述第二类对话引擎为多轮对话引擎。
14.根据权利要求11-13中任一项所述的装置,其中,所述融合模块包括:
判断子模块,用于判断是否满足融合条件;
所述融合模块用于在满足融合条件的情况下,基于所述至少两个对话结果进行融合处理。
15.根据权利要求14所述的装置,其中,所述判断子模块用于判断所述至少两个对话结果的置信度和/或所述至少两个对话结果的内容是否满足对应条件。
16.根据权利要求15所述的装置,其中,所述判断子模块用于判断所述至少两个对话结果的内容是否满足对应条件包括:判断所述至少两个对话结果是否包括至少一个第一类对话结果和至少一个第二类对话结果,其中,所述第一类对话结果为至少一个第一类对话引擎响应于所述对话请求返回的对话结果,所述第二类对话结果为至少一个第二类对话引擎响应于所述对话请求返回的对话结果,所述第一类对话引擎和所述第二类对话引擎为不同类型的对话引擎。
17.根据权利要求16所述的装置,其中,所述判断子模块用于判断所述至少两个对话结果的置信度是否满足对应条件包括以下至少之一:
在所述第一类对话引擎为单轮对话引擎的情况下,判断所述第一类对话引擎返回的答案的置信度是否大于第一阈值,其中,所述第一类对话结果包括所述第一类对话引擎返回的答案,在所述第一类对话引擎返回的答案的置信度大于第一阈值的情况下判定满足对应条件;
在所述第二类对话引擎为多轮对话引擎的情况下,判断所述第二类对话引擎返回的意图的置信度是否大于第二阈值且小于或等于第三阈值,其中,所述第二类对话结果包括所述第二类对话引擎返回的意图,在所述第二类对话引擎返回的意图的置信度大于第二阈值且小于或等于第三阈值的情况下判定满足对应条件;
在所述第二类对话引擎为多轮对话引擎的情况下,判断所述第二类对话引擎返回的意图的置信度是否大于第四阈值,其中,所述第二类对话结果包括所述第二类对话引擎返回的意图,在所述第二类对话引擎返回的意图的置信度大于第四阈值的情况下判定满足对应条件。
18.根据权利要求11-17中任一项所述的装置,其中,所述融合模块包括:
确定子模块,用于从所述至少两个对话结果中确定满足预设条件的至少两个目标对话结果;
融合子模块,用于对所述至少两个目标对话结果进行融合处理,得到融合后的对话结果。
19.根据权利要求18所述的装置,其中,所述确定子模块用于执行以下至少之一:
在多个第一类对话引擎返回的答案的置信度分别大于各自对应的第一阈值情况下,获取置信度最高的第一类对话引擎返回的答案,作为所述目标对话结果;
在第二类对话引擎返回的意图的置信度大于第二阈值且小于或等于第三阈值的情况下,获取所述第二类对话引擎返回的意图澄清,作为所述目标对话结果;
在第二类对话引擎返回的意图的置信度大于第四阈值的情况下,获取所述第二类对话引擎返回的意图对应的对话节点答案,作为所述目标对话结果。
20.根据权利要求18或19所述的装置,其中,所述融合子模块还用于按照指定先后顺序对所述至少两个目标对话结果进行拼接,得到所述融合后的对话结果。
21.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-10中任一项所述的方法。
22.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-10中任一项所述的方法。
23.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210451900.2A CN114840653B (zh) | 2022-04-26 | 2022-04-26 | 对话处理方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210451900.2A CN114840653B (zh) | 2022-04-26 | 2022-04-26 | 对话处理方法、装置、设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114840653A true CN114840653A (zh) | 2022-08-02 |
CN114840653B CN114840653B (zh) | 2023-08-01 |
Family
ID=82568465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210451900.2A Active CN114840653B (zh) | 2022-04-26 | 2022-04-26 | 对话处理方法、装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114840653B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107180029A (zh) * | 2016-03-09 | 2017-09-19 | 阿里巴巴集团控股有限公司 | 一种基于咨询业务的信息处理方法及装置 |
CN108228764A (zh) * | 2017-12-27 | 2018-06-29 | 神思电子技术股份有限公司 | 一种单轮对话和多轮对话的融合方法 |
CN109977208A (zh) * | 2019-03-22 | 2019-07-05 | 北京中科汇联科技股份有限公司 | 一种融合faq和任务及主动引导的对话系统 |
CN111309914A (zh) * | 2020-03-03 | 2020-06-19 | 支付宝(杭州)信息技术有限公司 | 基于多个模型结果对多轮对话的分类方法和装置 |
CN111883122A (zh) * | 2020-07-22 | 2020-11-03 | 海尔优家智能科技(北京)有限公司 | 语音识别方法及装置、存储介质、电子设备 |
TW202117584A (zh) * | 2019-10-30 | 2021-05-01 | 中國信託商業銀行股份有限公司 | 基於自然語言處理的智能對話管理方法及系統 |
CN112802478A (zh) * | 2020-12-31 | 2021-05-14 | 苏州思必驰信息科技有限公司 | 混合云融合调度方法和装置 |
WO2021189921A1 (zh) * | 2020-10-19 | 2021-09-30 | 平安科技(深圳)有限公司 | 医疗领域多轮对话智能问答方法、装置和计算机设备 |
CN113722456A (zh) * | 2021-08-09 | 2021-11-30 | 北京零秒科技有限公司 | 智能对话交互方法以及装置、存储介质、电子装置 |
CN113806503A (zh) * | 2021-08-25 | 2021-12-17 | 北京库睿科技有限公司 | 一种对话融合方法和装置及设备 |
CN113836278A (zh) * | 2021-08-13 | 2021-12-24 | 北京百度网讯科技有限公司 | 通用对话模型的训练与对话生成方法、装置 |
US20220101844A1 (en) * | 2020-09-29 | 2022-03-31 | Salesforce.Com, Inc. | Configurable conversation engine for executing customizable chatbots |
-
2022
- 2022-04-26 CN CN202210451900.2A patent/CN114840653B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107180029A (zh) * | 2016-03-09 | 2017-09-19 | 阿里巴巴集团控股有限公司 | 一种基于咨询业务的信息处理方法及装置 |
CN108228764A (zh) * | 2017-12-27 | 2018-06-29 | 神思电子技术股份有限公司 | 一种单轮对话和多轮对话的融合方法 |
CN109977208A (zh) * | 2019-03-22 | 2019-07-05 | 北京中科汇联科技股份有限公司 | 一种融合faq和任务及主动引导的对话系统 |
TW202117584A (zh) * | 2019-10-30 | 2021-05-01 | 中國信託商業銀行股份有限公司 | 基於自然語言處理的智能對話管理方法及系統 |
CN111309914A (zh) * | 2020-03-03 | 2020-06-19 | 支付宝(杭州)信息技术有限公司 | 基于多个模型结果对多轮对话的分类方法和装置 |
CN111883122A (zh) * | 2020-07-22 | 2020-11-03 | 海尔优家智能科技(北京)有限公司 | 语音识别方法及装置、存储介质、电子设备 |
US20220101844A1 (en) * | 2020-09-29 | 2022-03-31 | Salesforce.Com, Inc. | Configurable conversation engine for executing customizable chatbots |
WO2021189921A1 (zh) * | 2020-10-19 | 2021-09-30 | 平安科技(深圳)有限公司 | 医疗领域多轮对话智能问答方法、装置和计算机设备 |
CN112802478A (zh) * | 2020-12-31 | 2021-05-14 | 苏州思必驰信息科技有限公司 | 混合云融合调度方法和装置 |
CN113722456A (zh) * | 2021-08-09 | 2021-11-30 | 北京零秒科技有限公司 | 智能对话交互方法以及装置、存储介质、电子装置 |
CN113836278A (zh) * | 2021-08-13 | 2021-12-24 | 北京百度网讯科技有限公司 | 通用对话模型的训练与对话生成方法、装置 |
CN113806503A (zh) * | 2021-08-25 | 2021-12-17 | 北京库睿科技有限公司 | 一种对话融合方法和装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114840653B (zh) | 2023-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102381214B1 (ko) | 인간-기계 대화 방법, 장치 및 전자 기기 | |
CN111639168B (zh) | 一种多轮对话的处理方法、装置、电子设备及存储介质 | |
CN111611368B (zh) | 多轮对话中公共场景对话回溯的方法和装置 | |
US11271877B2 (en) | Primary chat bot service and secondary chat bot service integration | |
CN109977216A (zh) | 基于场景的对话推荐方法及系统 | |
CN105279168A (zh) | 支持自然语言的数据查询方法、开放平台及用户终端 | |
CN114841315A (zh) | 混合专家模型实现方法、系统、电子设备及存储介质 | |
WO2023216857A1 (en) | Multi-agent chatbot with multi-intent recognition | |
CN115481227A (zh) | 人机交互对话方法、装置以及设备 | |
CN113132214B (zh) | 一种对话方法、装置、服务器及存储介质 | |
CN111858874A (zh) | 对话服务处理方法、装置、设备及计算机可读存储介质 | |
CN114490985A (zh) | 对话生成方法、装置、电子设备和存储介质 | |
CN117112064B (zh) | 大模型插件调用方法、装置、设备及介质 | |
CN117112065B (zh) | 大模型插件调用方法、装置、设备及介质 | |
CN117370520A (zh) | 分流的对话处理方法、装置、设备及介质 | |
CN112069830B (zh) | 一种智能会话方法及装置 | |
CN111160002B (zh) | 用于输出口语理解中解析异常信息的方法和装置 | |
CN114840653B (zh) | 对话处理方法、装置、设备以及存储介质 | |
CN111402864A (zh) | 语音处理方法及电子设备 | |
CN114036277B (zh) | 一种对话机器人路由跳转方法、装置、电子设备和介质 | |
CN114969299A (zh) | 一种对话管理方法、装置、计算机设备和存储介质 | |
CN114692650A (zh) | 针对大数据推荐的社交平台互动信息处理方法及系统 | |
CN114860910A (zh) | 智能对话方法及系统 | |
CN113407699A (zh) | 对话方法、装置、设备和存储介质 | |
CN112528002B (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 |