CN112182189A - 一种对话处理方法、装置、电子设备及存储介质 - Google Patents
一种对话处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112182189A CN112182189A CN202011080681.9A CN202011080681A CN112182189A CN 112182189 A CN112182189 A CN 112182189A CN 202011080681 A CN202011080681 A CN 202011080681A CN 112182189 A CN112182189 A CN 112182189A
- Authority
- CN
- China
- Prior art keywords
- intention
- target
- corpus
- primary
- user
- 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
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
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本申请提供了一种对话处理方法、装置、电子设备及存储介质,该方法包括:在接收到第一轮语料后,对第一轮语料进行一级意图识别,得到第一一级意图及其置信度;基于第一一级意图对应的置信度,从第一一级意图中筛选出置信度大于反问意图置信度阈值的第二一级意图;若第二一级意图中置信度最大的目标一级意图的置信度小于意图确认置信度阈值,则向用户反问该目标一级意图;若用户针对目标一级意图的第一回复语料为确认通用判断意图,则触发与目标一级意图相匹配的目标对话任务。本申请中,通过对用户触发的不明确的意图进行反问,无需用户通过切换语料话术来重新触发意图,提高了对话效率,使得人机交互效率高,提升了用户的对话体验。
Description
技术领域
本申请涉及游戏技术领域,具体而言,涉及一种对话处理方法、装置、电子设备及存储介质。
背景技术
随着人工智能技术的发展,一些智能机器人,比如虚拟客服、虚拟主播等虚拟角色应运而生,这些产品或者说角色和用户之间比较常见的交互方式是对话。比如,用户说一句语料,虚拟角色则对该语料进行回复,以与用户进行对话。
目前,虚拟角色在接收到用户的输入语料时,对输入语料进行意图识别,当在识别到用户有明确意图时,向用户回复匹配该明确意图的回复语料;但是,当识别到用户的不明确的意图时,导致无法触发任务型对话,还需要用户重新调整输入语料话术,重新触发意图识别,这就使得对话效率低,进而导致人机交互效率低,影响用户对话体验。
发明内容
有鉴于此,本申请的目的在于提供一种对话处理方法、装置、电子设备及存储介质,在识别到用户的一级意图不明确时,对该一级意图进行反问,无需用户通过切换语料话术来重新触发意图,提高了对话效率,使得人机交互效率高,提升了用户的对话体验。
第一方面,本申请实施例提供了一种对话处理方法,所述方法包括:
在接收到用户发送的第一轮语料后,对所述第一轮语料进行一级意图识别,得到第一一级意图和所述第一一级意图对应的置信度;
基于所述第一一级意图对应的置信度,从所述第一一级意图中筛选出对应的置信度大于反问意图置信度阈值的第二一级意图;
针对所述第二一级意图中置信度最大的目标一级意图,若所述目标一级意图的置信度小于意图确认置信度阈值,则向用户反问所述目标一级意图;
在接收到针对所述目标一级意图的第一回复语料后,若识别到所述第一回复语料为确认通用判断意图,则触发与所述目标一级意图相匹配的目标对话任务。
在一种可能的实施方式中,所述方法还包括:
针对所述第二一级意图中置信度最大的目标一级意图,若所述目标一级意图的置信度大于等于所述意图确认置信度阈值,则直接触发与所述目标一级意图相匹配的目标对话任务。
在一种可能的实施方式中,在接收到针对所述目标一级意图的第一回复语料后,所述方法还包括:
在识别到所述第一回复语料为否定通用判断意图时,判断是否存在除所述目标一级意图之外剩余的第二一级意图,若存在,则返回针对所述第二一级意图中置信度最大的目标一级意图,若所述目标一级意图的置信度小于意图确认置信度阈值,则向用户反问所述目标一级意图的步骤,直至不存在除所述目标一级意图之外剩余的第二一级意图,向所述用户反馈第一目标对话语料。
在一种可能的实施方式中,在接收到针对所述目标一级意图的第一回复语料后,所述方法还包括:
若识别到所述第一回复语料为非通用判断意图,则将所述第一回复语料作为接收到的用户发送的新的第一轮语料,返回在接收到用户发送的第一轮语料后,对所述第一轮语料进行一级意图识别,得到第一一级意图和所述第一一级意图对应的置信度的步骤,直至对话结束。
在一种可能的实施方式中,在接收到针对所述目标一级意图的第一回复语料后,所述方法还包括:
若识别到所述第一回复语料为第一目标通用判断意图,则向用户反馈匹配所述第一目标通用判断意图的第二目标对话语料;其中,所述第二目标对话语料为预设的第一特定语料,或者,为根据所述目标一级意图和预设的匹配所述第一目标通用判断意图的第一文案生成第二目标对话语料。
在一种可能的实施方式中,在接收到用户发送的第一轮语料后,所述方法还包括:
对所述第一轮语料进行实体识别,得到所述第一轮语料的实体识别结果;
所述目标对话任务中包括目标实体;在触发与所述目标一级意图相匹配的目标对话任务之后,所述方法还包括:
若所述实体识别结果不满足预设条件,则获取所述目标对话任务中待填槽的目标实体,并向用户反问所述待填槽的目标实体;
在接收到用户针对所述待填槽的目标实体的第二回复语料后,若识别所述第二回复语料得到所述待填槽的目标实体,则响应匹配所述目标实体的目标一级意图,并向用户反馈匹配所述目标实体的目标一级意图的响应结果。
在一种可能的实施方式中,所述实体识别结果不满足预设条件包括:
所述实体识别结果中不包括所述目标实体;或者,所述实体识别结果中包括部分地目标实体。
在一种可能的实施方式中,在触发与所述目标一级意图相匹配的目标对话任务之后,所述方法还包括:
若所述实体识别结果中包括所述目标对话任务中的目标实体,则响应匹配所述目标实体的目标一级意图,并向用户反馈匹配所述目标实体的目标一级意图的响应结果。
在一种可能的实施方式中,在接收到用户针对所述待填槽的目标实体的第二回复语料后,所述方法还包括:
若识别到所述第二回复语料为第二目标通用判断意图,则向所述用户反馈匹配所述第二目标通用判断意图的第三目标对话语料;其中,所述第三目标对话语料为预设的第二特定语料,或者,为根据所述目标一级意图和预设的匹配所述第二目标通用判断意图的第二文案生成第三目标对话语料。
在一种可能的实施方式中,所述响应匹配所述目标实体的目标一级意图,并向用户反馈匹配所述目标实体的目标一级意图的响应结果,包括:
在获取了所述目标对话任务中的目标实体后,基于所述目标一级意图、所述目标实体和预设的第三文案,生成确认语料,并向用户反问所述确认语料;
在接收到用户针对所述确认语料的第三回复语料后,若识别所述第三回复语料得到确认通用判断意图,则响应匹配所述目标实体的目标一级意图,并向用户反馈匹配所述目标实体的目标一级意图的响应结果。
在一种可能的实施方式中,多个对话任务对应一个预先训练好的一级识别模型和通用识别模型;其中,所述一级识别模型用于对所述第一轮语料进行一级意图识别,得到一级意图识别结果;所述通用识别模型用于分别对所述第一回复语料和所述第三回复语料进行通用判断意图识别,得到通用判断意图识别结果。
在一种可能的实施方式中,每一个对话任务对应有一个二级识别模型,不同的对话任务对应的二级识别模型不同;在触发与所述目标一级意图相匹配的目标对话任务之后,所述方法还包括:
若接收到用户发送的第二轮语料,则基于所述目标对话任务对应的目标二级识别模型对所述第二轮语料进行二级意图识别,得到第一二级意图和所述第一二级意图对应的置信度;以及,基于所述一级识别模型对所述第二轮语料进行一级意图识别,得到第三一级意图和所述第三一级意图对应的置信度;
基于所述第一二级意图对应的置信度一级所述第三一级意图对应的置信度,从所述第一二级意图和所述第三一级意图中筛选出对应的置信度大于所述反问意图置信度阈值的第二二级意图和第四一级意图,并将所述第二二级意图和所述第四一级意图作为新的第二一级意图;
返回针对所述第二一级意图中置信度最大的目标一级意图,若所述目标一级意图的置信度小于意图确认置信度阈值,则向用户反问所述目标一级意图的步骤,直至对话结束。
在一种可能的实施方式中,从所述第二二级意图和所述第四一级意图组成的新的第二一级意图中,确定置信度最大的目标一级意图的方法,包括:
从所述第二二级意图中选取对应的置信度大于预设阈值的第三二级意图,并将所述第三二级意图按照置信度大小进行排序,得到第一排序清单;
将所述第二二级意图中除所述第三二级意图之外的剩余第二二级意图以及所述第四一级意图,按照置信度从大到小进行排序,得到第二排序清单;
根据所述第一排序清单和所述第二排序清单,生成目标排序清单;其中,所述第一排序清单位于所述第二排序清单之前;
按照所述目标排序清单中各个意图的排序顺序,从所述目标排序清单中选取对应的置信度最大的目标一级意图。
在一种可能的实施方式中,所述方法还包括:
基于对话处理过程中向用户反问的意图以及所述用户针对所述反问的意图的回复语料,构造一级识别模型对应的第一训练语料以及每一个二级识别模型对应的第二训练语料;
基于所述第一训练语料重新训练所述一级识别模型;以及,基于所述第二训练语料重新训练所述第二训练语料对应的二级识别模型。
在一种可能的实施方式中,所述方法还包括:
基于对话处理过程中向用户反问的意图以及所述用户针对所述反问的意图的回复语料,构造所述通用识别模型对应的第三训练语料;
基于所述第三训练语料重新训练所述通用识别模型。
第二方面,本申请实施例提供了一种对话处理装置,所述装置包括:
第一识别模块,用于在接收到用户发送的第一轮语料后,对所述第一轮语料进行一级意图识别,得到第一一级意图和所述第一一级意图对应的置信度;
第一选取模块,用于基于所述第一一级意图对应的置信度,从所述第一一级意图中筛选出对应的置信度大于反问意图置信度阈值的第二一级意图;
第一反问模块,用于针对所述第二一级意图中置信度最大的目标一级意图,若所述目标一级意图的置信度小于意图确认置信度阈值,则向用户反问所述目标一级意图;
第一任务触发模块,用于在接收到针对所述目标一级意图的第一回复语料后,若识别到所述第一回复语料为确认通用判断意图,则触发与所述目标一级意图相匹配的目标对话任务。
第三方面,本申请实施例还提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如第一方面任一项所述的对话处理方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面任一项所述的对话处理方法的步骤。
本申请实施例提供的一种对话处理方法、装置、电子设备及存储介质,该方法包括:在接收到用户发送的第一轮语料后,对第一轮语料进行一级意图识别,得到第一一级意图及其置信度;基于第一一级意图对应的置信度,从第一一级意图中筛选出对应的置信度大于反问意图置信度阈值的第二一级意图;针对第二一级意图中置信度最大的目标一级意图,若目标一级意图的置信度小于意图确认置信度阈值,则向用户反问目标一级意图;在接收到针对目标一级意图的第一回复语料后,若识别到第一回复语料为确认通用判断意图,则触发与目标一级意图相匹配的目标对话任务。本申请中,通过对用户触发的不明确的意图进行反问,无需用户通过切换语料话术来重新触发意图,提高了对话效率,使得人机交互效率高,提升了用户的对话体验。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1a示出了本申请实施例提供的一种对话处理方法的流程图;
图1b示出了不同的对话任务分别对应的对话流程图;
图1c示出了任一对话任务的对话流程图中的一级意图和二级意图;
图2示出了本申请实施例提供的另一种对话处理方法的流程图;
图3示出了本申请实施例提供的另一种对话处理方法的流程图;
图4示出了本申请实施例提供的另一种对话处理方法的流程图;
图5示出了本申请实施例提供的另一种对话处理方法的流程图;
图6示出了本申请实施例提供的另一种对话处理方法的流程图;
图7示出了本申请实施例提供的另一种对话处理方法的流程图;
图8示出了本申请实施例提供的一种对话处理装置的结构示意图;
图9示出了本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
在用户与智能机器人对话时,若智能机器人识别到用户的输入语料意图不明确时,无法触发任务型对话,还需要用户重新调整输入语料话术,重新触发意图识别,这就使得对话效率低,进而导致人机交互效率低,影响用户对话体验。
基于此,本申请实施例提供了一种对话处理方法、装置、电子设备及存储介质,在识别到用户的一级意图不明确时,对该一级意图进行反问,无需用户通过切换语料话术来重新触发意图,提高了对话效率,使得人机交互效率高,提升了用户的对话体验。
上述对话处理方法可以应用于服务器,也可以应用于终端设备;其中,在应用于服务器时,可以由服务器处理数据并向终端设备返回处理结果,由终端设备显示相应的画面。
为便于对本实施例进行理解,下面以上述对话方法应用于服务器为例对本申请实施例提供的一种对话处理方法、装置、电子设备及存储介质进行详细介绍。
如图1a所示,为本申请实施例提供的一种对话处理方法,所述方法包括:
S101、在接收到用户发送的第一轮语料后,对所述第一轮语料进行一级意图识别,得到第一一级意图和所述第一一级意图对应的置信度。
S102、基于所述第一一级意图对应的置信度,从所述第一一级意图中筛选出对应的置信度大于反问意图置信度阈值的第二一级意图。
S103、针对所述第二一级意图中置信度最大的目标一级意图,若所述目标一级意图的置信度小于意图确认置信度阈值,则向用户反问所述目标一级意图。
S104、在接收到针对所述目标一级意图的第一回复语料后,若识别到所述第一回复语料为确认通用判断意图,则触发与所述目标一级意图相匹配的目标对话任务。
本申请实施例提供的一种对话处理方法,通过对用户触发的不明确的意图进行反问,无需用户通过切换语料话术来重新触发意图,提高了对话效率,使得人机交互效率高,提升了用户的对话体验。
下面以上述对话处理方法应用于终端设备,对本申请实施例示例性的各步骤进行说明:
S101、在接收到用户发送的第一轮语料后,对所述第一轮语料进行一级意图识别,得到第一一级意图和所述第一一级意图对应的置信度。
本申请实施例中,服务器中主要包括自然语言理解(Natural LanguageUnderstanding,NLU)模块、对话管理模块和对话状态存储模块。服务器通过上述三个模型执行上述对话处理方法。其中,服务器中预先存储有多个对话任务分别对应的对话流程图,如图1b所示,包括对话任务1的对话流程图1以及对话任务2的对话流程图2。
其中,NLU模块的作用是理解用户输入,包括NLU的意图识别和实体识别两大功能。本申请实施例中,NLU模块包括三个识别阶段,分别为通用判断意图识别、一级意图识别&实体识别(即一级意图识别和实体识别)、二级意图识别&实体识别(即二级意图识别和实体识别)。具体的,NLU模块包括:通用识别模型、一级识别模型和多个二级识别模型;其中,通用识别模型用于进行通用判断意图识别,一级识别模型用于进行一级意图识别&实体识别(即一级意图识别和实体识别),二级识别模型用于进行二级意图识别&实体识别(即二级意图识别和实体识别)。
a)通用判断意图包括“是”、“否”、“退出”、“继续”等描述用户对反问做出判断的意图。具体实施过程中,这里不限于上述四个意图。
b)一级意图包括所有触发任一对话任务的意图,本申请实施例聚焦于采用对话流程图来实现任务型对话的场景,如图1c所示,所有和起始节点相连的意图都是一级意图,该一级意图包括:【意图1、意图2、意图3】。当存在多个对话流程图时,一级意图包括了所有对话流程图的一级意图。这里的实体指的是每个一级意图绑定的词槽(即所有的一级意图绑定的词槽),如果意图下没有接填槽节点,相应的,该意图没有绑定词槽,无需考虑。图1c所示的实体包括【实体1、实体2】。所有的一级意图和一级意图对应的实体对应上述一级识别模型。
c)二级意图包括当前对话流程图的所有意图。如果存在多个对话流程图,则每个对话流程图会有自己单独的二级意图,不同图之间的二级意图不会相互影响,且每个对话任务(也即每个对话流程图)分别对应有相应的二级识别模型,不同的对话任务对应的二级识别模型不同。图1c所示,只有一个对话流程图,所以,该图对应的二级意图为:【意图1、意图2、意图3、意图4、意图5、意图6】。
本申请实施例中,用户向终端设备发送第一轮语料,终端设备将该第一轮语料发送给服务器,服务器在接收到第一轮语料后,通过NLU模块对该第一轮语料进行识别。
本申请实施例中,NLU模块(也即针对NLU模块中每一个模型),基于预训练语言模型来初始化该模型的模型参数,并基于预先构造好的训练语料对该模型进行训练,得到训练好的模型)。
由于该过程接收到的是第一轮语料,未触发进入任一个对话任务,因此,NLU模块的识别包括:通过一级识别模型对第一轮语料进行一级意图识别,得到意图识别结果;这里,意图识别结果中包括有第一一级意图和该第一一级意图对应的置信度;相应的,第一一级意图为一个或者多个。同时,该一级识别模型还对第一轮语料进行一级实体识别,得到实体识别结果。该实体识别结果中,可能包括第一一级意图对应的目标实体,也可能不包括任何实体。另外,还通过通用识别模型对第一轮语料进行通用判断意图识别,得到通用判断意图识别结果,该通用判断意图识别结果中可能不包括通用判断意图,但置信度小于第一阈值,所以,服务器会过滤掉通用判断意图。
比如,意图识别结果中包括多个第一一级意图,服务器基于一级识别模型对第一轮语料(即utterance)进行一级意图&实体识别,得到lv1_intent_list=[[lv1_intent1,lv1_confidence1],[lv1_intent2,lv1_confidence2],...]&lv1_slots=[{lv1_slot1:lv1_value1,lv1_slot2:lv1_value2,...}];其中,lv1即level1,lv1_intent_list表示一级意图清单(也即一级意图列表);lv1_intent表示第一一级意图;lv1_confidence表示第一一级意图对应的置信度;lv1_slot表示实体名称,比如“地点”;lv1_value表示实体名称的具体值,比如“杭州”。
S102、基于所述第一一级意图对应的置信度,从所述第一一级意图中筛选出对应的置信度大于反问意图置信度阈值的第二一级意图。
本申请实施例中,服务器预先在对话状态存储模块中设置对话管理过程中的一些参数,这些参数具体包括:
a)意图确认置信度阈值(confidence_intent_threshold),比如,设置为0.7。当NLU模块识别到的一级意图列表里置信度最高的目标一级意图(比如)的置信度高于该阈值时,就认为用户的意图为intent1。
b)反问意图置信度阈值(confidence_ask_threshold),比如,设置为0.3。只对NLU模块识别到的意图列表里意图置信度高于该阈值的意图进行反问。具体的,对高于该反问意图置信度阈值且小于意图确认置信度阈值的意图进行反问。
b)通用置信度阈值(confidence_common_threshold),比如,设置为0.9:用户在表明通用判断意图时,若识别到置信度最高的通用判断意图(比如为intent1)高于该阈值,则认为用户的通用判断意图为intent1。
这里,根据一级意图列表中每个第一一级意图分别对应的置信度,从一级意图列表的第一一级意图中,过滤掉置信度小于上述反问意图置信度阈值(比如0.3)第一一级意图,得到过滤后的反问意图列表,该反问意图列表中包括第二一级意图。
S103、针对所述第二一级意图中置信度最大的目标一级意图,若所述目标一级意图的置信度小于意图确认置信度阈值,则向用户反问所述目标一级意图。
本申请实施例中,对于得到反问意图列表,在根据反问意图列表中的第二一级意图分别对应的置信度,从这些第二一级意图中选取置信度最高的目标一级意图。对于该目标一级意图,进一步判断该目标一级意图的置信度是否大于意图确认置信度阈值。
若该目标一级意图的置信度大于等于意图确认置信度阈值,则直接触发与该目标一级意图相匹配的目标对话任务。其中,每个对话任务对应的一级任务是不同的。触发目标一级意图相匹配的目标对话任务,即选取该目标一级意图对应的对话任务(对话流程图),并按照该对话任务(即对话流程图)与用户对话。
若所述目标一级意图的置信度小于意图确认置信度阈值,则向用户反问所述目标一级意图。比如,反问用户上次的第一轮语料(utterance)是否是某个意图,比如“请问你是要『查询餐厅』吗”。具体实施方式中,服务器将该反问语料发送给终端设备,终端设备反问用户。
S104、在接收到针对所述目标一级意图的第一回复语料后,若识别到所述第一回复语料为确认通用判断意图,则触发与所述目标一级意图相匹配的目标对话任务。
本申请实施例中,终端设备若接收到用户针对目标一级意图的第一回复语料,将第一回复语料发送给服务器,服务器针对该第一回复语料的识别过程与对第一轮语料的识别过程相同。即通过NLU模块对第一回复语料进行识别,这里的识别包括通用判断意图识别和一级意图和实体识别;因为未触发任一对话任务,所以不进行二级意图和实体识别。
实际中,若用户回复的是“通用判断意图语料”,那么,一级意图和实体识别的识别结果会由于置信度过低会被过滤掉,最终得到通用判断意图。
本申请实施例中预先定义如下字段,如表1所示:
表1
具体的,通用识别模型识别第一回复语料,得到common_intent_list=[[common_intent1,common_confidence1],[common_intent2,common_confidence2],...],其中,common_intent_list表示通用意图清单(也即通用意图列表),common_intent为意图唯一名称,common_confidence为该意图的置信度,且common_intent_list按照置信度从高到低排列,以下intent_list都是按照这个规则来执行的。
相应的,用户回答“是、是的、对啊、没错、你太棒了等”对应“确认通用判断意图”,如果对第一回复语料进行识别得到的通用意图列表中,“确认通用判断意图”的置信度最高,且该“确认通用判断意图”的置信度大于上述通用置信度阈值(比如,0.9),那么,确认用户的第一回复语料意图为“确认通用判断意图”,相应的,则触发与该目标一级意图相匹配的目标对话任务。
进一步的,本申请实施例中,在接收到针对所述目标一级意图的第一回复语料后,所述方法还包括:
在识别到所述第一回复语料为否定通用判断意图时,判断是否存在除所述目标一级意图之外剩余的第二一级意图,若存在,则返回针对所述第二一级意图中置信度最大的目标一级意图,若所述目标一级意图的置信度小于意图确认置信度阈值,则向用户反问所述目标一级意图的步骤,直至不存在除所述目标一级意图之外剩余的第二一级意图,向所述用户反馈第一目标对话语料。
相应的,用户回答“否、不是、不要等”对应“否定通用判断意图”,如果对第一回复语料进行识别得到“确认通用判断意图”,且该“确认通用判断意图”大于上述通用置信度阈值(比如,0.9),那么,继续判断反问意图列表中是否存在除所述目标一级意图之外剩余的第二一级意图,若存在,则在从剩余的第二一级意图中选取置信度最大的目标一级意图,返回S103~S104的步骤,直至反问意图列表中不存在除选取的目标一级意图之外剩余的第二一级意图。此时,向用户返回预设好的第一目标对话语料。
其中,该第一目标对话语料为预设好的针对该场景的兜底回复,比如,“哎呀,你的意图太不明确了,还能不能愉快的聊天了”。此时,反问意图列表已空,下一次对话还是照S101~S104进行处理。
在现有技术中,在询问槽值的过程中,针对用户表现出的“退出”、“继续”等通用判断意图时,现有方法会反复询问当前的槽值信息,而不会做出“退出”或“继续”当前任务,对话非常不智能,这同样使得对话效率低,进而导致人机交互效率低,影响用户对话体验。基于此,本申请实施例提供的对话处理方法中,在接收到针对所述目标一级意图的第一回复语料后,所述方法还包括:
若识别到所述第一回复语料为目标通用判断意图,则向所述用户反馈匹配所述目标通用判断意图的第二目标对话语料。
本申请实施例中,目标通用判断意图包括“退出通用判断意图”、“继续通用判断意图”。比如,用户说“退出、我不想继续了、我累了、再见”等语料,对应“退出通用判断意图”;再比如,用户说“继续、接着说、continue、go”等语料,对应“继续通用判断意图”。相应的,当通用识别模型识别到用户的第一回复语料为“退出通用判断意图”时,向所述用户反馈匹配该“退出通用判断意图”的第二目标对话语料。
这里,第二目标对话语料可以是:忽略目标通用判断意图,继续反问该目标一级意图;也可以是针对第一回复语料的响应结果。
当第二目标对话语料是针对第一回复语料的响应结果,本申请实施例中,服务器向用户反馈的匹配目标通用判断意图的第二目标对话语料可以是预先设定好的,也可以是根据预设的匹配该目标通用判断意图的第一文案生成的,具体包括:
第一,若识别到所述第一回复语料为目标通用判断意图,则向所述用户反馈预设的匹配所述目标通用判断意图的第二目标对话语料。
比如,目标通用判断意图为“退出通用判断意图”,则匹配“退出通用判断意图”的第二目标对话语料为“好的”或者“好的,再见”。
第二,若识别到所述第一回复语料为目标通用判断意图,则根据所述目标一级意图和预设的匹配所述目标通用判断意图的第一文案,生成第二目标对话语料,并向所述用户反馈所述第二目标对话语料。
本申请实施例中,可以采用针对目标通用判断意图的可定制化的第二目标对话语料对第一回复语料进行回复。比如,目标通用判断意图为“退出通用判断意图”,则匹配“退出通用判断意图”的第一文案为“好的,那就不XX了”,比如,目标一级意图为“查询餐厅”,相应的,生成的第二目标对话语料可以为“好的,那就不查询餐厅了”。
现有技术在槽填充过程中,当用户表现出“退出”、“继续”等通用的判断性意图时,现有方法会反复询问当前的槽值信息,而本申请实施例中,在槽填充过程中(即填槽阶段),在检测到用户触发的“退出”、“继续”等通用意图时响应该通用意图,灵活性高,智能性好,提高了人机交互效率,提升了用户对话体验。
进一步的,在与用户进行第一轮对话过程中,若检测到用户针对目标一级意图的第一回复语料为非通用判断意图,那么用户极大可能在说一个新的意图,基于此,本申请实施例中重新基于S101~S104处理该第一回复语料,在接收到针对所述目标一级意图的第一回复语料后,所述方法还包括:
若识别到所述第一回复语料为非通用判断意图,则将所述第一回复语料作为接收到的用户发送的新的第一轮语料,返回在接收到用户发送的第一轮语料后,对所述第一轮语料进行一级意图识别,得到第一一级意图和所述第一一级意图对应的置信度的步骤,直至对话结束。
进一步的,本申请实施例中提供的对话处理方法,在接收到用户发送的第一轮语料后,所述方法还包括:
对所述第一轮语料进行实体识别,得到所述第一轮语料的实体识别结果。
如上所述,一级识别模型在对第一轮语料进行一级意图识别的同时,还第一轮语料进行一级实体识别,得到一级实体识别结果;该一级实体识别结果可能包括实体,也可能不包括实体。
在本申请实施例中,触发的目标对话任务中包括目标实体;相应的,首先判断上述一级实体识别结果是否满足预设条件,下面分别对满足预设条件和不满足预设条件进行说明:
第一,如图2所示,在触发与所述目标一级意图相匹配的目标对话任务之后,所述方法包括:
S201、若所述实体识别结果不满足预设条件,则获取所述目标对话任务中待填槽的目标实体,并向用户反问所述待填槽的目标实体。
本申请实施例中,实体识别结果不满足预设条件包括:所述实体识别结果中不包括所述目标实体;或者,所述实体识别结果中包括部分地目标实体。
比如,当一级实体识别结果中不包括目标实体或者只包括部分的目标实体,相应的,根据目标对话任务需要的目标实体,获取目标对话任务中待填槽的目标实体,并向用户反问该待填槽的目标实体。
具体的,当识别到用户意图为“查询餐厅”的置信度最高,且高于预设阈值(比如阈值高于0.7)我们就认为用户意图明确,触发该对话逻辑,进入填槽流程填槽的主要目的就是获取完成当前任务所需的参数,比如当用户提到“查今天杭州的粤菜餐厅”,那三个槽位就已经填满,可以直接回复用户结果;如果填槽过程中发现某个槽位缺失,就会进行反问,直至填满所有槽位。
其中,当目标对话任务需要的目标实体为多个时,对话管理模块预先存储有多个目标实体的反问方式,比如,一次只反问一个目标实体,且按照特定的顺序分别对多个目标实体进行反问。
S202、在接收到用户针对所述待填槽的目标实体的第二回复语料后,若识别所述第二回复语料得到所述待填槽的目标实体,则响应匹配所述目标实体的目标一级意图,并向用户反馈匹配所述目标实体的目标一级意图的响应结果。
本申请实施例中,服务器仍然通过NLU模块识别第二回复语料,当第二回复语料中包括待填槽的目标实体时,一级识别模型对该第二回复语料进行识别,得到待填槽的目标实体;相应的,该一级识别模型的第一一级意图和通用识别模型识别的通用判断意图都被过滤掉了。
在基于向用户反问待填槽的目标实体,并基于用户反馈的第二回复语料获得待填槽的目标实体。这样,服务器可以执行该目标对话任务了,比如查询明天杭州的本帮菜餐厅,获取响应结果并反馈给用户。
可选的,服务器的响应过程包括:通常会利用获取到的槽值参数,从外部接口,比如大众点评,来筛选出符合条件的餐厅,并返回给用户。
第二,在触发与所述目标一级意图相匹配的目标对话任务之后,所述方法还包括:
若所述实体识别结果中包括所述目标对话任务中的目标实体,则响应匹配所述目标实体的目标一级意图,并向用户反馈匹配所述目标实体的目标一级意图的响应结果。
进一步的,如果common_intent1为“退出”且common_confidence1大于confidence_common_threshold(通用置信度阈值),则退出填槽流程,且回复一个可定制的文案比如“好的,那就不查询餐厅了”。该退出时触发的文案是一个可选的步骤,如果不填则不会回复改文案,由兜底回复进行回答。本申请实施例提供的对话处理方法中,在接收到用户针对所述待填槽的目标实体的第二回复语料后,所述方法还包括:
若识别到所述第二回复语料为第二目标通用判断意图,则向所述用户反馈匹配所述第二目标通用判断意图的第三目标对话语料;其中,所述第三目标对话语料为预设的第二特定语料,或者,为根据所述目标一级意图和预设的匹配所述第二目标通用判断意图的第二文案生成第三目标对话语料。
其中,若识别到所述第二回复语料为目标通用判断意图,则向所述用户反馈预设的匹配所述目标通用判断意图的第二目标对话语料。比如,目标通用判断意图为“退出通用判断意图”,则匹配“退出通用判断意图”的第二目标对话语料为“好的”或者“好的,再见”。
或者,
若识别到所述第一回复语料为目标通用判断意图,则根据所述目标一级意图和预设的匹配第二目标通用判断意图的第二文案,生成第二第三目标对话语料,并向所述用户反馈所述第三目标对话语料。本申请实施例中,可以采用针对目标通用判断意图的可定制化的第二目标对话语料对第一回复语料进行回复。比如,目标通用判断意图为“退出通用判断意图”,则匹配“退出通用判断意图”的第一文案为“好的,那就不XX了”,比如,目标一级意图为“查询餐厅”,相应的,生成的第三目标对话语料可以为“好的,那就不查询餐厅了”。
进一步的,如图3所示,本申请实施例提供的对话处理方法,所述响应匹配所述目标实体的目标一级意图,并向用户反馈匹配所述目标实体的目标一级意图的响应结果,包括:
S301、在获取了所述目标对话任务中的目标实体后,基于所述目标一级意图、所述目标实体和预设的第三文案,生成确认语料,并向用户反问所述确认语料。
S302、在接收到用户针对所述确认语料的第三回复语料后,若识别所述第三回复语料得到确认通用判断意图,则响应匹配所述目标实体的目标一级意图,并向用户反馈匹配所述目标实体的目标一级意图的响应结果。
结合步骤301至步骤302,正常按照填槽流程运行对话流程图,当槽填满后,本申请实施例中还提出了一种可定制化的参数确认文案,让用户确认所填参数是否准确,比如“请问你是要查询明天杭州的粤菜餐厅吗”,该文案里的具体参数可根据对话过程中用户所提到的信息进行替换;同时该文案的填写是可以选择的,如果不填则不进行确认。
在本申请实施例中,多个对话任务对应一个预先训练好的一级识别模型和通用识别模型;其中,所述一级识别模型用于对所述第一轮语料进行一级意图识别,得到一级意图识别结果;所述通用识别模型用于分别对所述第一回复语料和所述第三回复语料进行通用判断意图识别,得到通用判断意图识别结果。
进一步的,如图4所示,本申请实施例提供的对话处理方法,每一个对话任务对应有一个二级识别模型,不同的对话任务对应的二级识别模型不同;在触发与所述目标一级意图相匹配的目标对话任务之后,所述方法还包括:
S401、若接收到用户发送的第二轮语料,则基于所述目标对话任务对应的目标二级识别模型对所述第二轮语料进行二级意图识别,得到第一二级意图和所述第一二级意图对应的置信度;以及,基于所述一级识别模型对所述第二轮语料进行一级意图识别,得到第三一级意图和所述第三一级意图对应的置信度。
本申请实施例中,当第一轮语料且第一轮语料对应的实体槽填满时,响应槽值填满的第一轮语料后,触发与目标一级意图相匹配的目标对话任务,此时,对话状态存储模块中预设target_skill字段有值,此时,对话管理模块检测到target_skill字段有值,基于所述目标对话任务对应的目标二级识别模型对第二轮语料进行二级意图识别,得到第一二级意图和所述第一二级意图对应的置信度,即得到lv2_intent_list=[[lv12_intent1,lv2_confidence1],[lv2_intent2,lv2_confidence2],...]&lv2_slots=[{lv2_slot1:lv2_value1,...}]。这里的target_skill字段的值来自于上一轮对话管理模块,具体细节见第8点。当对话状态中“target_skill”字段为空时,lv2_intent_list&lv2_slots为空。
同时,仍然基于所述一级识别模型对所述第二轮语料进行一级意图识别,得到第三一级意图和所述第三一级意图对应的置信度,并基于第三一级意图和所述第三一级意图对应的置信度覆盖加入lv1_intent_list表示一级意图清单(也即新的一级意图列表)。
S402、基于所述第一二级意图对应的置信度一级所述第三一级意图对应的置信度,从所述第一二级意图和所述第三一级意图中筛选出对应的置信度大于所述反问意图置信度阈值的第二二级意图和第四一级意图,并将所述第二二级意图和所述第四一级意图作为新的第二一级意图。
同样的,基于与步骤102类似的方式分别对上述新的一级意图列表和二级意图列表进行过滤,将置信度低的意图过滤掉,得到过滤后的新的反问意图列表。
S403、返回针对所述第二一级意图中置信度最大的目标一级意图,若所述目标一级意图的置信度小于意图确认置信度阈值,则向用户反问所述目标一级意图的步骤,直至对话结束。
该过程与步骤103和步骤104类型,此处不再进行说明。
进一步的,如图5所示,本申请实施例提供的对话处理方法中,从所述第二二级意图和所述第四一级意图组成的新的第二一级意图中,确定置信度最大的目标一级意图的方法,包括:
S501、从所述第二二级意图中选取对应的置信度大于预设阈值的第三二级意图,并将所述第三二级意图按照置信度大小进行排序,得到第一排序清单;
S502、将所述第二二级意图中除所述第三二级意图之外的剩余第二二级意图以及所述第四一级意图,按照置信度从大到小进行排序,得到第二排序清单;
S503、根据所述第一排序清单和所述第二排序清单,生成目标排序清单;其中,所述第一排序清单位于所述第二排序清单之前;
S504、按照所述目标排序清单中各个意图的排序顺序,从所述目标排序清单中选取对应的置信度最大的目标一级意图。
结合步骤501~步骤504,如果lv2_intent_list有值,则this_intent_list=rank(lv2_intent_list+lv1_intent_list),这里的rank的主要功能是对lv1和lv2的意图列表进行重排序,排序规则为:将lv2中置信度高于某个阈值(比如0.8)的意图排在最前面,比如list1,然后对lv2中置信度低于该阈值的意图列表和lv1合在一起按照置信度高低排序,得到list2,最后this_intent_list=list1+list2。这里排序的主要目的是,当用户处于某个对话流程图里面时,想跳出该图去触发另外一张图,此时list1很可能为空,从而让lv1中高置信度的意图排在最前面,在流程图运行时就会采用top1的意图来运行流程图。
进一步的,如图6所示,本申请实施例提供的对话处理方法中,所述方法还包括:
S601、基于对话处理过程中向用户反问的意图以及所述用户针对所述反问的意图的回复语料,构造一级识别模型对应的第一训练语料以及每一个二级识别模型对应的第二训练语料;
S602、基于所述第一训练语料重新训练所述一级识别模型;以及,基于所述第二训练语料重新训练所述第二训练语料对应的二级识别模型。
当处于意图反问环节中,用户回复意图为『是』时,说明当前反问的意图对应的utterance的识别为当前意图的置信度不高,此时可将该utterance加入到NLU的训练语料中。等NLU训练完后,用户再次提及该utterance时,识别到为该意图的置信度将会提高,从而可以避免再次进入反问环节。而反问意图的次数越少,说明意图识别越准确,用户的对话体验也会越好。所以在对话前期,如果语料比较匮乏,意图识别准确率会比较低,反问次数较多;在不断对话的过程中,意图语料会得到不断的扩充,反问逻辑触发的概率会降低,整个对话系统的对话能力也会得到提升。
进一步的,如图7所示,本申请实施例提供的对话处理方法,所述方法还包括:
S701、基于对话处理过程中向用户反问的意图以及所述用户针对所述反问的意图的回复语料,构造所述通用识别模型对应的第三训练语料;
S702、基于所述第三训练语料重新训练所述通用识别模型。
另外,本申请实施例还可以根据对话过程中收集用户的第三训练语料,并基于第三训练语料重新训练所述通用识别模型。
其中,现有任务型对话的方法没有充分利用用户在对话过程中的语料,实际中,这些语料通常可以体现用户的真实意图,可以提高在后续对话过程中对用户的话的识别准确率;本申请实施例中,可以利用用户在对话过程中的语料,重新训练一级识别模型、二级识别模型和通用识别模型,进一步提高上述模型的识别准确度,进而提升整个对话系统的对话能力。
下面以实现“查询餐厅”和“机器人本身相关问题”两个任务时,主要操作步骤如下:
1、编辑对话逻辑。
这里分为两个对话流程图来实现,如图1b所示。第一个为“查询餐厅”的流程图,第二个为问答“机器人本身相关问题”的流程图。编辑对话逻辑的过程和添加语料的过程可以同时进行。
2、添加意图语料和实体语料。
a)对话流程图相关语料
意图&实体 | 意图语料 |
意图-查询餐厅 | 我想查餐厅 |
意图-问是否能停车 | 请问餐厅能否停车 |
意图-问是否有wifi | 请问餐厅是否有wifi |
意图-问姓名 | 你叫什么名字、你叫啥 |
意图-问爱好 | 你有什么爱好 |
意图-问妈妈 | 你妈妈是谁 |
实体–时间 | 今天、明天、后天 |
实体–地点 | 杭州、南京、上海 |
实体–菜品 | 粤菜、本帮菜 |
2)通用判断意图语料
意图名称 | 意图语料 |
是 | 是的、对、没错 |
否 | 否、不是、不对 |
退出 | 退出、不玩了 |
继续 | 继续、接着来 |
3、添加回复语料。
针对流程图中每个回复节点,通过添加文案来完善对话流程图的回复能力。比如回复2可以添加文案:为您查询到${时间}${地点}${菜品}的餐厅有${output.response}。回复4可以添加文案:我叫机灵小不懂。这里的回复4的语料利用了对话过程中提到的参数,并调用对应任务的接口(这个例子中文餐厅查询接口)来获取最终答案。
4、测试对话能力。
a)分析意图&实体;
i,一级意图&实体:意图【查询餐厅、问姓名、问爱好、问妈妈】,实体【时间、地点、菜品】;
ii,二级意图&实体(流程图1):意图【查询餐厅、问是否能停车、问是否有wifi】,实体【时间、地点、菜品】;
iii,二级意图&实体(流程图2):意图【问姓名、问爱好、问妈妈】;
iv,通用判断意图:是、否、退出、继续。
b)测试意图反问逻辑;
如表2所示的对话流程,U1->B1->U2->B2为意图反问流程。
c)测试词槽退出逻辑;
B2->U3->B4->U5->B5为填槽过程中退出的流程。
d)测试正常对话逻辑;
U6->B6为正常对话的流程;
表2
本申请实施例提供的对话处理方法与现有技术相比,具有如下有益效果:
第一,在现有技术中,在意图语料匮乏的场景下,现有的任务型对话在识别到较低置信度的意图时不会反问用户确认其意图,导致用户对话体验较差,人机交互效率低,本申请实施例提供的一种对话处理方法,通过对用户触发的不明确的意图进行反问,无需用户通过切换语料话术来重新触发意图,提高了对话效率,使得人机交互效率高,提升了用户的对话体验。
第二,在槽填充过程中,当用户表现出“退出”、“继续”等通用的判断性意图时,现有方法会反复询问当前的槽值信息,而本申请实施例中,在槽填充过程中(即填槽阶段),在检测到用户触发的“退出”、“继续”等通用意图时响应该通用意图,灵活性高,智能性好,提高了人机交互效率,提升了用户对话体验。
第三,现有任务型对话的方法没有充分利用用户在对话过程中的语料,这些语料通常可以体现用户的真实意图,可以提高在后续对话过程中对用户的话的识别准确率;本申请实施例中,可以利用用户在对话过程中的语料,重新训练一级识别模型、二级识别模型和通用识别模型,进一步提高上述模型的识别准确度,进而提升整个对话系统的对话能力。
基于同一发明构思,本申请实施例中还提供了与对话处理方法对应的对话处理装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述对话处理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图8所示,为本申请实施例提供的一种对话处理装置的示意图,所述装置包括:
第一识别模块801,用于在接收到用户发送的第一轮语料后,对所述第一轮语料进行一级意图识别,得到第一一级意图和所述第一一级意图对应的置信度;
第一选取模块802,用于基于所述第一一级意图对应的置信度,从所述第一一级意图中筛选出对应的置信度大于反问意图置信度阈值的第二一级意图;
第一反问模块803,用于针对所述第二一级意图中置信度最大的目标一级意图,若所述目标一级意图的置信度小于意图确认置信度阈值,则向用户反问所述目标一级意图;
第一任务触发模块804,用于在接收到针对所述目标一级意图的第一回复语料后,若识别到所述第一回复语料为确认通用判断意图,则触发与所述目标一级意图相匹配的目标对话任务。
在一种可能的实施方式中,所述装置还包括:
第二任务触发模块,用于针对所述第二一级意图中置信度最大的目标一级意图,若所述目标一级意图的置信度大于等于所述意图确认置信度阈值,则直接触发与所述目标一级意图相匹配的目标对话任务。
在一种可能的实施方式中,所述装置还包括:
第一处理模块,用于在接收到针对所述目标一级意图的第一回复语料后,所述方法还包括:在识别到所述第一回复语料为否定通用判断意图时,判断是否存在除所述目标一级意图之外剩余的第二一级意图,若存在,则返回针对所述第二一级意图中置信度最大的目标一级意图,若所述目标一级意图的置信度小于意图确认置信度阈值,则向用户反问所述目标一级意图的步骤,直至不存在除所述目标一级意图之外剩余的第二一级意图,向所述用户反馈第一目标对话语料。
在一种可能的实施方式中,所述装置还包括:
第二处理模块,用于在接收到针对所述目标一级意图的第一回复语料后,若识别到所述第一回复语料为非通用判断意图,则将所述第一回复语料作为接收到的用户发送的新的第一轮语料,返回在接收到用户发送的第一轮语料后,对所述第一轮语料进行一级意图识别,得到第一一级意图和所述第一一级意图对应的置信度的步骤,直至对话结束。
在一种可能的实施方式中,所述装置还包括:
第三处理模块,用于在接收到针对所述目标一级意图的第一回复语料后,若识别到所述第一回复语料为第一目标通用判断意图,则向用户反馈匹配所述第一目标通用判断意图的第二目标对话语料;其中,所述第二目标对话语料为预设的第一特定语料,或者,为根据所述目标一级意图和预设的匹配所述第一目标通用判断意图的第一文案生成第二目标对话语料。
在一种可能的实施方式中,所述装置还包括:
第一识别模块801,还用于在接收到用户发送的第一轮语料后,对所述第一轮语料进行实体识别,得到所述第一轮语料的实体识别结果;
所述目标对话任务中包括目标实体;所述装置还包括:
获取模块,用于在触发与所述目标一级意图相匹配的目标对话任务之后,若所述实体识别结果不满足预设条件,则获取所述目标对话任务中待填槽的目标实体;
第二反问模块,用于向用户反问所述待填槽的目标实体;
第一响应模块,用于在接收到用户针对所述待填槽的目标实体的第二回复语料后,若识别所述第二回复语料得到所述待填槽的目标实体,则响应匹配所述目标实体的目标一级意图,并向用户反馈匹配所述目标实体的目标一级意图的响应结果。
在一种可能的实施方式中,所述实体识别结果不满足预设条件包括:
所述实体识别结果中不包括所述目标实体;或者,所述实体识别结果中包括部分地目标实体。
在一种可能的实施方式中,所述装置还包括:
第一响应模块,还用于在触发与所述目标一级意图相匹配的目标对话任务之后,若所述实体识别结果中包括所述目标对话任务中的目标实体,则响应匹配所述目标实体的目标一级意图,并向用户反馈匹配所述目标实体的目标一级意图的响应结果。
在一种可能的实施方式中,所述装置还包括:
第四处理模块,用于在接收到用户针对所述待填槽的目标实体的第二回复语料后,若识别到所述第二回复语料为第二目标通用判断意图,则向所述用户反馈匹配所述第二目标通用判断意图的第三目标对话语料;其中,所述第三目标对话语料为预设的第二特定语料,或者,为根据所述目标一级意图和预设的匹配所述第二目标通用判断意图的第二文案生成第三目标对话语料。
在一种可能的实施方式中,所述第一响应模块响应匹配所述目标实体的目标一级意图,并向用户反馈匹配所述目标实体的目标一级意图的响应结果,包括:
在获取了所述目标对话任务中的目标实体后,基于所述目标一级意图、所述目标实体和预设的第三文案,生成确认语料,并向用户反问所述确认语料;
在接收到用户针对所述确认语料的第三回复语料后,若识别所述第三回复语料得到确认通用判断意图,则响应匹配所述目标实体的目标一级意图,并向用户反馈匹配所述目标实体的目标一级意图的响应结果。
在一种可能的实施方式中,多个对话任务对应一个预先训练好的一级识别模型和通用识别模型;其中,所述一级识别模型用于对所述第一轮语料进行一级意图识别,得到一级意图识别结果;所述通用识别模型用于分别对所述第一回复语料和所述第三回复语料进行通用判断意图识别,得到通用判断意图识别结果。
在一种可能的实施方式中,每一个对话任务对应有一个二级识别模型,不同的对话任务对应的二级识别模型不同;所述装置还包括:
第二识别模块,用于在触发与所述目标一级意图相匹配的目标对话任务之后,若接收到用户发送的第二轮语料,则基于所述目标对话任务对应的目标二级识别模型对所述第二轮语料进行二级意图识别,得到第一二级意图和所述第一二级意图对应的置信度;
第三识别模块,用于在触发与所述目标一级意图相匹配的目标对话任务之后,若接收到用户发送的第二轮语料,则基于所述一级识别模型对所述第二轮语料进行一级意图识别,得到第三一级意图和所述第三一级意图对应的置信度;
第二选取模块,用于基于所述第一二级意图对应的置信度一级所述第三一级意图对应的置信度,从所述第一二级意图和所述第三一级意图中筛选出对应的置信度大于所述反问意图置信度阈值的第二二级意图和第四一级意图,并将所述第二二级意图和所述第四一级意图作为新的第二一级意图;
第五处理模块,用于返回针对所述第二一级意图中置信度最大的目标一级意图,若所述目标一级意图的置信度小于意图确认置信度阈值,则向用户反问所述目标一级意图的步骤,直至对话结束。
在一种可能的实施方式中,所述装置还包括:
第一排序模块,用于从所述第二二级意图中选取对应的置信度大于预设阈值的第三二级意图,并将所述第三二级意图按照置信度大小进行排序,得到第一排序清单;
第二排序模块,用于将所述第二二级意图中除所述第三二级意图之外的剩余第二二级意图以及所述第四一级意图,按照置信度从大到小进行排序,得到第二排序清单;
生成模块,用于根据所述第一排序清单和所述第二排序清单,生成目标排序清单;其中,所述第一排序清单位于所述第二排序清单之前;
第三选取模块,用于按照所述目标排序清单中各个意图的排序顺序,从所述目标排序清单中选取对应的置信度最大的目标一级意图。
在一种可能的实施方式中,所述装置还包括:
第一构造模块,用于基于对话处理过程中向用户反问的意图以及所述用户针对所述反问的意图的回复语料,构造一级识别模型对应的第一训练语料以及每一个二级识别模型对应的第二训练语料;
第一训练模块,用于基于所述第一训练语料重新训练所述一级识别模型;以及,基于所述第二训练语料重新训练所述第二训练语料对应的二级识别模型。
在一种可能的实施方式中,所述装置还包括:
第二构造模块,用于基于对话处理过程中向用户反问的意图以及所述用户针对所述反问的意图的回复语料,构造所述通用识别模型对应的第三训练语料;
第二训练模块,用于基于所述第三训练语料重新训练所述通用识别模型。
本申请实施例提供的一种对话处理装置,通过对用户触发的不明确的意图进行反问,无需用户通过切换语料话术来重新触发意图,提高了对话效率,使得人机交互效率高,提升了用户的对话体验。
如图9所示,本申请实施例提供的一种电子设备900,包括:处理器901、存储器902和总线,所述存储器902存储有所述处理器901可执行的机器可读指令,当电子设备运行时,所述处理器901与所述存储器902之间通过总线通信,所述处理器901执行所述机器可读指令,以执行如上述对话处理方法的步骤。
具体地,上述存储器902和处理器901能够为通用的存储器和处理器,这里不做具体限定,当处理器901运行存储器902存储的计算机程序时,能够执行上述对话处理方法。
对应于上述对话处理方法,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述对话处理方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (18)
1.一种对话处理方法,其特征在于,所述方法包括:
在接收到用户发送的第一轮语料后,对所述第一轮语料进行一级意图识别,得到第一一级意图和所述第一一级意图对应的置信度;
基于所述第一一级意图对应的置信度,从所述第一一级意图中筛选出对应的置信度大于反问意图置信度阈值的第二一级意图;
针对所述第二一级意图中置信度最大的目标一级意图,若所述目标一级意图的置信度小于意图确认置信度阈值,则向用户反问所述目标一级意图;
在接收到针对所述目标一级意图的第一回复语料后,若识别到所述第一回复语料为确认通用判断意图,则触发与所述目标一级意图相匹配的目标对话任务。
2.根据权利要求1所述的对话处理方法,其特征在于,所述方法还包括:
针对所述第二一级意图中置信度最大的目标一级意图,若所述目标一级意图的置信度大于等于所述意图确认置信度阈值,则直接触发与所述目标一级意图相匹配的目标对话任务。
3.根据权利要求1所述的对话处理方法,其特征在于,在接收到针对所述目标一级意图的第一回复语料后,所述方法还包括:
在识别到所述第一回复语料为否定通用判断意图时,判断是否存在除所述目标一级意图之外剩余的第二一级意图,若存在,则返回针对所述第二一级意图中置信度最大的目标一级意图,若所述目标一级意图的置信度小于意图确认置信度阈值,则向用户反问所述目标一级意图的步骤,直至不存在除所述目标一级意图之外剩余的第二一级意图,向所述用户反馈第一目标对话语料。
4.根据权利要求1所述的对话处理方法,其特征在于,在接收到针对所述目标一级意图的第一回复语料后,所述方法还包括:
若识别到所述第一回复语料为非通用判断意图,则将所述第一回复语料作为接收到的用户发送的新的第一轮语料,返回在接收到用户发送的第一轮语料后,对所述第一轮语料进行一级意图识别,得到第一一级意图和所述第一一级意图对应的置信度的步骤,直至对话结束。
5.根据权利要求1所述的对话处理方法,其特征在于,在接收到针对所述目标一级意图的第一回复语料后,所述方法还包括:
若识别到所述第一回复语料为第一目标通用判断意图,则向用户反馈匹配所述第一目标通用判断意图的第二目标对话语料;其中,所述第二目标对话语料为预设的第一特定语料,或者,为根据所述目标一级意图和预设的匹配所述第一目标通用判断意图的第一文案生成第二目标对话语料。
6.根据权利要求1所述的对话处理方法,其特征在于,在接收到用户发送的第一轮语料后,所述方法还包括:
对所述第一轮语料进行实体识别,得到所述第一轮语料的实体识别结果;
所述目标对话任务中包括目标实体;在触发与所述目标一级意图相匹配的目标对话任务之后,所述方法还包括:
若所述实体识别结果不满足预设条件,则获取所述目标对话任务中待填槽的目标实体,并向用户反问所述待填槽的目标实体;
在接收到用户针对所述待填槽的目标实体的第二回复语料后,若识别所述第二回复语料得到所述待填槽的目标实体,则响应匹配所述目标实体的目标一级意图,并向用户反馈匹配所述目标实体的目标一级意图的响应结果。
7.根据权利要求6所述的对话处理方法,其特征在于,所述实体识别结果不满足预设条件包括:
所述实体识别结果中不包括所述目标实体;或者,所述实体识别结果中包括部分地目标实体。
8.根据权利要求6所述的对话处理方法,其特征在于,在触发与所述目标一级意图相匹配的目标对话任务之后,所述方法还包括:
若所述实体识别结果中包括所述目标对话任务中的目标实体,则响应匹配所述目标实体的目标一级意图,并向用户反馈匹配所述目标实体的目标一级意图的响应结果。
9.根据权利要求6所述的对话处理方法,其特征在于,在接收到用户针对所述待填槽的目标实体的第二回复语料后,所述方法还包括:
若识别到所述第二回复语料为第二目标通用判断意图,则向所述用户反馈匹配所述第二目标通用判断意图的第三目标对话语料;其中,所述第三目标对话语料为预设的第二特定语料,或者,为根据所述目标一级意图和预设的匹配所述第二目标通用判断意图的第二文案生成第三目标对话语料。
10.根据权利要求6或8所述的对话处理方法,其特征在于,所述响应匹配所述目标实体的目标一级意图,并向用户反馈匹配所述目标实体的目标一级意图的响应结果,包括:
在获取了所述目标对话任务中的目标实体后,基于所述目标一级意图、所述目标实体和预设的第三文案,生成确认语料,并向用户反问所述确认语料;
在接收到用户针对所述确认语料的第三回复语料后,若识别所述第三回复语料得到确认通用判断意图,则响应匹配所述目标实体的目标一级意图,并向用户反馈匹配所述目标实体的目标一级意图的响应结果。
11.根据权利要求10所述的对话处理方法,其特征在于,多个对话任务对应一个预先训练好的一级识别模型和通用识别模型;其中,所述一级识别模型用于对所述第一轮语料进行一级意图识别,得到一级意图识别结果;所述通用识别模型用于分别对所述第一回复语料和所述第三回复语料进行通用判断意图识别,得到通用判断意图识别结果。
12.根据权利要求11所述的对话处理方法,其特征在于,每一个对话任务对应有一个二级识别模型,不同的对话任务对应的二级识别模型不同;在触发与所述目标一级意图相匹配的目标对话任务之后,所述方法还包括:
若接收到用户发送的第二轮语料,则基于所述目标对话任务对应的目标二级识别模型对所述第二轮语料进行二级意图识别,得到第一二级意图和所述第一二级意图对应的置信度;以及,基于所述一级识别模型对所述第二轮语料进行一级意图识别,得到第三一级意图和所述第三一级意图对应的置信度;
基于所述第一二级意图对应的置信度一级所述第三一级意图对应的置信度,从所述第一二级意图和所述第三一级意图中筛选出对应的置信度大于所述反问意图置信度阈值的第二二级意图和第四一级意图,并将所述第二二级意图和所述第四一级意图作为新的第二一级意图;
返回针对所述第二一级意图中置信度最大的目标一级意图,若所述目标一级意图的置信度小于意图确认置信度阈值,则向用户反问所述目标一级意图的步骤,直至对话结束。
13.根据权利要求12所述的对话处理方法,其特征在于,从所述第二二级意图和所述第四一级意图组成的新的第二一级意图中,确定置信度最大的目标一级意图的方法,包括:
从所述第二二级意图中选取对应的置信度大于预设阈值的第三二级意图,并将所述第三二级意图按照置信度大小进行排序,得到第一排序清单;
将所述第二二级意图中除所述第三二级意图之外的剩余第二二级意图以及所述第四一级意图,按照置信度从大到小进行排序,得到第二排序清单;
根据所述第一排序清单和所述第二排序清单,生成目标排序清单;其中,所述第一排序清单位于所述第二排序清单之前;
按照所述目标排序清单中各个意图的排序顺序,从所述目标排序清单中选取对应的置信度最大的目标一级意图。
14.根据权利要求12所述的对话处理方法,其特征在于,所述方法还包括:
基于对话处理过程中向用户反问的意图以及所述用户针对所述反问的意图的回复语料,构造一级识别模型对应的第一训练语料以及每一个二级识别模型对应的第二训练语料;
基于所述第一训练语料重新训练所述一级识别模型;以及,基于所述第二训练语料重新训练所述第二训练语料对应的二级识别模型。
15.根据权利要求11所述的对话处理方法,其特征在于,所述方法还包括:
基于对话处理过程中向用户反问的意图以及所述用户针对所述反问的意图的回复语料,构造所述通用识别模型对应的第三训练语料;
基于所述第三训练语料重新训练所述通用识别模型。
16.一种对话处理装置,其特征在于,所述装置包括:
第一识别模块,用于在接收到用户发送的第一轮语料后,对所述第一轮语料进行一级意图识别,得到第一一级意图和所述第一一级意图对应的置信度;
第一选取模块,用于基于所述第一一级意图对应的置信度,从所述第一一级意图中筛选出对应的置信度大于反问意图置信度阈值的第二一级意图;
第一反问模块,用于针对所述第二一级意图中置信度最大的目标一级意图,若所述目标一级意图的置信度小于意图确认置信度阈值,则向用户反问所述目标一级意图;
第一任务触发模块,用于在接收到针对所述目标一级意图的第一回复语料后,若识别到所述第一回复语料为确认通用判断意图,则触发与所述目标一级意图相匹配的目标对话任务。
17.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1至15任一项所述的对话处理方法的步骤。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至15任一项所述的对话处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011080681.9A CN112182189B (zh) | 2020-10-10 | 2020-10-10 | 一种对话处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011080681.9A CN112182189B (zh) | 2020-10-10 | 2020-10-10 | 一种对话处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112182189A true CN112182189A (zh) | 2021-01-05 |
CN112182189B CN112182189B (zh) | 2023-06-30 |
Family
ID=73949100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011080681.9A Active CN112182189B (zh) | 2020-10-10 | 2020-10-10 | 一种对话处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112182189B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112802483A (zh) * | 2021-04-14 | 2021-05-14 | 南京山猫齐动信息技术有限公司 | 优化意图识别置信度阈值的方法、装置及存储介质 |
CN113157893A (zh) * | 2021-05-25 | 2021-07-23 | 网易(杭州)网络有限公司 | 多轮对话中意图识别的方法、介质、装置和计算设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105068661A (zh) * | 2015-09-07 | 2015-11-18 | 百度在线网络技术(北京)有限公司 | 基于人工智能的人机交互方法和系统 |
JP2019003319A (ja) * | 2017-06-13 | 2019-01-10 | 株式会社野村総合研究所 | 対話型業務支援システムおよび対話型業務支援プログラム |
US20190130904A1 (en) * | 2017-10-26 | 2019-05-02 | Hitachi, Ltd. | Dialog system with self-learning natural language understanding |
CN109739961A (zh) * | 2018-12-24 | 2019-05-10 | 科大讯飞股份有限公司 | 一种人机语言交互方法及装置 |
CN109977208A (zh) * | 2019-03-22 | 2019-07-05 | 北京中科汇联科技股份有限公司 | 一种融合faq和任务及主动引导的对话系统 |
WO2019144773A1 (zh) * | 2018-01-26 | 2019-08-01 | 阿里巴巴集团控股有限公司 | 机器人客服转人工客服的方法和装置 |
CN110427461A (zh) * | 2019-08-06 | 2019-11-08 | 腾讯科技(深圳)有限公司 | 智能问答信息处理方法、电子设备及计算机可读存储介质 |
CN111737987A (zh) * | 2020-06-24 | 2020-10-02 | 深圳前海微众银行股份有限公司 | 意图识别方法、装置、设备及存储介质 |
-
2020
- 2020-10-10 CN CN202011080681.9A patent/CN112182189B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105068661A (zh) * | 2015-09-07 | 2015-11-18 | 百度在线网络技术(北京)有限公司 | 基于人工智能的人机交互方法和系统 |
JP2019003319A (ja) * | 2017-06-13 | 2019-01-10 | 株式会社野村総合研究所 | 対話型業務支援システムおよび対話型業務支援プログラム |
US20190130904A1 (en) * | 2017-10-26 | 2019-05-02 | Hitachi, Ltd. | Dialog system with self-learning natural language understanding |
CN110019745A (zh) * | 2017-10-26 | 2019-07-16 | 株式会社日立制作所 | 具有自学习自然语言理解的对话系统 |
WO2019144773A1 (zh) * | 2018-01-26 | 2019-08-01 | 阿里巴巴集团控股有限公司 | 机器人客服转人工客服的方法和装置 |
CN109739961A (zh) * | 2018-12-24 | 2019-05-10 | 科大讯飞股份有限公司 | 一种人机语言交互方法及装置 |
CN109977208A (zh) * | 2019-03-22 | 2019-07-05 | 北京中科汇联科技股份有限公司 | 一种融合faq和任务及主动引导的对话系统 |
CN110427461A (zh) * | 2019-08-06 | 2019-11-08 | 腾讯科技(深圳)有限公司 | 智能问答信息处理方法、电子设备及计算机可读存储介质 |
CN111737987A (zh) * | 2020-06-24 | 2020-10-02 | 深圳前海微众银行股份有限公司 | 意图识别方法、装置、设备及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112802483A (zh) * | 2021-04-14 | 2021-05-14 | 南京山猫齐动信息技术有限公司 | 优化意图识别置信度阈值的方法、装置及存储介质 |
CN113157893A (zh) * | 2021-05-25 | 2021-07-23 | 网易(杭州)网络有限公司 | 多轮对话中意图识别的方法、介质、装置和计算设备 |
CN113157893B (zh) * | 2021-05-25 | 2023-12-15 | 网易(杭州)网络有限公司 | 多轮对话中意图识别的方法、介质、装置和计算设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112182189B (zh) | 2023-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110096191B (zh) | 一种人机对话方法、装置及电子设备 | |
CN107908803B (zh) | 问答交互的响应方法及装置、存储介质、终端 | |
CN106649704B (zh) | 一种智能对话控制方法和系统 | |
CN112365894B (zh) | 基于ai的复合语音交互方法、装置及计算机设备 | |
CN110059182A (zh) | 面向客服的话术推荐方法和装置 | |
CN108197167A (zh) | 人机对话处理方法、设备及可读存储介质 | |
CN111179929B (zh) | 一种语音处理方法及装置 | |
CN111597313B (zh) | 问答方法、装置、计算机设备和存储介质 | |
CN110347863A (zh) | 话术推荐方法和装置及存储介质 | |
CN112182189A (zh) | 一种对话处理方法、装置、电子设备及存储介质 | |
CN110874401B (zh) | 信息处理方法、模型训练方法、装置、终端及计算设备 | |
CN111063370B (zh) | 一种语音处理方法及装置 | |
CN110019729B (zh) | 智能问答方法及存储介质、终端 | |
CN110569344B (zh) | 确定对话文本对应的标准问句的方法和装置 | |
CN109271503A (zh) | 智能问答方法、装置、设备及存储介质 | |
CN113806503A (zh) | 一种对话融合方法和装置及设备 | |
CN112632242A (zh) | 智能对话方法及装置、电子设备 | |
CN110019838A (zh) | 智能问答系统及智能终端 | |
CN111344717A (zh) | 交互行为预测方法、智能装置和计算机可读存储介质 | |
CN110489519B (zh) | 基于会话预测模型的会话方法及相关产品 | |
CN109492085A (zh) | 基于数据处理的答案确定方法、装置、终端及存储介质 | |
CN112417107A (zh) | 一种信息处理方法及装置 | |
CN110517672B (zh) | 用户意图识别方法、用户指令执行方法、系统及设备 | |
CN111477231A (zh) | 人机交互方法、装置和存储介质 | |
CN111652001B (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 |