一种应答方法及装置与流程

文档序号:22796373发布日期:2020-11-04 03:49阅读:106来源:国知局
一种应答方法及装置与流程

本发明涉及信息处理技术领域,尤其涉及一种应答方法及装置。



背景技术:

随着互联网技术的不断发展,集成了众多人工智能(artificialintelligence,ai)技术的自动应答系统,例如,自动应答机器人(也可称为bot),在不同的领域逐渐得到应用。

目前,自动应答系统通常包括自然语言理解(naturallanguageunderstanding,nlu)模块,可以用于对用户输入的问题信息进行意图识别、实体识别、faq(frequentlyaskedquestions,常见问答)语义匹配、情感识别等处理。然而,现有的自然语言理解模块通常是基于机器学习算法训练得到的模型进行意图、实体等识别,由于技术瓶颈等原因,在基于训练得到的模型进行识别的过程中也常会出现识别错误的情况,进而导致回复给用户的答案不正确。

可见,现有技术中存在自动应答过程中问题回复准确性较低的问题。



技术实现要素:

本发明实施例提供一种应答方法及装置,以解决在自动应答过程中问题回复准确性较低的问题。

为了解决上述技术问题,本发明是这样实现的:

第一方面,本发明实施例提供了一种应答方法。该方法包括:

获取用户输入的目标问题信息;

对所述目标问题信息进行模式匹配,得到目标匹配结果;

通过预先训练得到的自然语言理解nlu模型,对所述目标问题信息进行自然语言理解处理,得到自然语言理解结果;

根据所述目标匹配结果和所述自然语言理解结果,确定目标回复信息。

第二方面,本发明实施例还提供一种应答装置。该应答装置包括:

获取模块,用于获取用户输入的目标问题信息;

匹配模块,用于对所述目标问题信息进行模式匹配,得到目标匹配结果;

自然语言理解模块,用于通过预先训练得到的自然语言理解nlu模型,对所述目标问题信息进行自然语言理解处理,得到自然语言理解结果;

第一确定模块,用于根据所述目标匹配结果和所述自然语言理解结果,确定目标回复信息。

第三方面,本发明实施例还提供一种应答装置,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的应答方法的步骤。

第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的应答方法的步骤。

本发明实施例中,通过获取用户输入的目标问题信息;对所述目标问题信息进行模式匹配,得到目标匹配结果;通过预先训练得到的自然语言理解nlu模型,对所述目标问题信息进行自然语言理解处理,得到自然语言理解结果;根据所述目标匹配结果和所述自然语言理解结果,确定目标回复信息。通过结合模式匹配和nlu模型对用户输入的目标问题信息进行分析和识别,并结合目标匹配结果和自然语言理解结果共同确定回复信息,可以提高问题回复的准确性。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的应答方法的流程图;

图2是本发明实施例提供的应答方法可应用的一种系统架构的示意图;

图3是本发明实施例提供的应答装置的结构图;

图4是本发明又一实施例提供的应答装置的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种应答方法。参见图1,图1是本发明实施例提供的应答方法的流程图,如图1所示,包括以下步骤:

步骤101、获取用户输入的目标问题信息。

本实施例中,上述目标问题信息可以是用户输入的任意的问题信息。

实际应用中,用户可以输入文本形式的问题信息,也可以输入语音形式的问题信息。可选的,若用户输入的问题信息为语音形式的问题信息,则可以先对上述语音形式的问题信息进行语音识别,以将其转换为文本形式的目标问题信息。

可选的,上述目标问题信息还可以是对用户输入的问题信息进行预处理后的信息,例如,上述目标问题信息可以是对用户输入的问题信息进行过滤处理后的信息。

步骤102、对所述目标问题信息进行模式匹配,得到目标匹配结果。

例如,可以预先设置问题模板集合,并将目标问题信息与问题模板集合中的问题模板进行模式匹配,以得到该目标问题信息匹配的问题模板,进而可以基于其匹配的问题模板得到该目标问题信息对应的意图类型信息、实体信息和回复信息等中的至少一项;也可以预先设置匹配模式,并按照该匹配模式对目标问题信息进行模式匹配,以识别该目标问题信息对应的意图类型信息、实体信息和回复信息等中的至少一项。

需要说明的是,上述对目标问题信息进行模式匹配,可能模式匹配成功,即匹配得到意图类型信息、实体信息和回复信息等中的至少一项,也可能模式匹配失败。可选的,在模式匹配成功的情况下,上述目标匹配结果可以包括匹配到的意图类型信息、实体信息和回复信息等中的至少一项;在模式匹配失败的情况下,上述目标匹配结果可以包括用于指示匹配失败的信息。

步骤103、通过预先训练得到的nlu模型,对所述目标问题信息进行自然语言理解处理,得到自然语言理解结果。

本实施例中,上述nlu模型可以是任意的基于机器学习算法训练得到的模型,可以用于对用户输入的问题信息进行意图识别、实体识别、faq语义匹配、情感识别等处理。上述自然语言理解结果可以包括意图类型信息、实体信息、情感类型信息和回复信息等中的至少一项。

需要说明的是,上述步骤102和步骤103可以并行执行,也可以串行执行。在串行执行的情况下,可以先执行步骤102,再执行步骤103;也可以先执行步骤103,再执行步骤102。

可选的,上述步骤103可以在102步骤中模式匹配失败的情况下执行。

步骤104、根据所述目标匹配结果和所述自然语言理解结果,确定目标回复信息。

该步骤中,可以根据目标匹配结果和自然语言理解结果确定目标回复信息,以回复给用户。例如,可以在目标匹配结果包括匹配到的意图类型信息、实体信息和回复信息等中的至少一项的情况下,可以根据目标匹配结果确定目标回复信息,否则可以根据自然语言理解结果确定目标回复信息;也可以综合目标匹配结果和自然语言理解结果,共同确定目标回复信息,例如,目标匹配结果包括意图类型信息,自然语言理解结果包括实体信息,则可以综合目标匹配结果中的意图类型信息和自然语言理解结果中的实体信息共同确定目标回复信息。

实际应用中,可以收集nlu模型解析错误的一些问题信息,并基于这些问题信息设置用于模式匹配的问题模板集合或模式匹配规则等,这样基于问题模板集合或模式匹配规则等可以较为准确的匹配这些问题信息;对于基于问题模板集合或模式匹配规则等匹配失败的问题信息,则可以通过nlu模型进行处理,从而可以提高在自动应答过程中问题回复的准确性。

本发明实施例提供的应答方法,通过获取用户输入的目标问题信息;对所述目标问题信息进行模式匹配,得到目标匹配结果;通过预先训练得到的自然语言理解nlu模型,对所述目标问题信息进行自然语言理解处理,得到自然语言理解结果;根据所述目标匹配结果和所述自然语言理解结果,确定目标回复信息。通过结合模式匹配和nlu模型对用户输入的目标问题信息进行分析和识别,并结合目标匹配结果和自然语言理解结果共同确定回复信息,可以提高回复信息的准确性。

可选的,上述步骤103,也即所述根据所述目标匹配结果和所述自然语言理解结果,确定目标回复信息,可以包括:

在模式匹配成功的情况下,根据所述目标匹配结果确定所述目标回复信息;

在模式匹配失败的情况下,根据所述自然语言理解结果确定所述目标回复信息。

本实施例中,基于模式匹配所得到的匹配结果的优先级可以高于基于nlu模型所得到的自然语言理解结果,在模式匹配成功的情况下,也即目标匹配结果中包括匹配到的意图类型信息、实体信息和回复信息等中的至少一项的情况下,可以基于目标匹配结果确定所述目标回复信息,否则可以根据自然语言理解结果确定目标回复信息。由于基于模式匹配的匹配结果的准确性通常较高,优先基于模式匹配结果确定回复信息,可以提高应答过程中问题回复的准确性。

可选的,上述步骤102,也即所述对所述目标问题信息进行模式匹配,得到目标匹配结果,可以包括:

获取与所述目标问题信息对应的目标模式元数据,其中,所述目标模式元数据包括匹配模式,所述匹配模式包括正则匹配模式或代码解析模式;

根据所述匹配模式对所述目标问题信息进行模式匹配,得到目标匹配结果。

本实施例中,上述目标模式元数据可以是任意的与所述目标问题信息对应的模式元数据。上述目标模式元数据可以包括一个或是多个模式元数据。每个模式元数据均可以包括匹配模式,其中,该匹配模式可以包括正则匹配模式或代码解析模式。

需要说明的是,上述正则匹配模式可以理解为通过设置的正则匹配规则对问题信息进行匹配,上述代码解析模式可以理解为通过设置的解析代码对问题信息进行匹配。

可选的,可以分别针对各个具体的问题设置模式元数据。例如,可以针对每个问题设置一个或是多个模式元数据,以保证在模式匹配过程中可以准确的匹配该问题。

本实施例中,对于上述获取与所述目标问题信息对应的目标模式元数据,可以基于目标问题信息中的关键词获取与所述目标问题信息对应的模式元数据,也即上述的目标模式元数据。例如,可以设置各个模式元数据均与至少一个关键词关联,这样可以基于目标问题信息中的关键词和各个模式元数据关联的关键词,确定与目标问题信息的关键词匹配的模式元数据,并作为该目标问题信息对应的模式元数据。

可选的,也可以基于目标问题信息携带的用户标识信息(即用户id)获取与所述目标问题信息对应的模式元数据。例如,上述各个模式元数据均可以包括用户id,这样可以基于目标问题信息携带的用户id和各个模式元数据中的用户id,确定与目标问题信息携带的用户id相同的模式元数据,并作为该目标问题信息对应的模式元数据。

可选的,可以将设置的各个模式元数据存储于知识库管理系统(knowledgebasemanagementsystem,kms)中,在获取到目标问题信息之后,可以从kms中获取该目标问题信息对应的模式元数据。

本发明实施例根据正则匹配模式或代码解析模式对所述目标问题信息进行模式匹配,这样可以提高部分问题匹配的准确性,进而可以提升应答过程中问题回复的准确性。

可选的,所述目标模式元数据还可以包括匹配结果类型,所述匹配结果类型包括回复信息类、意图分类信息类或实体信息类;

其中,所述目标匹配结果的类型为所述匹配结果类型。

本实施例中,各个模式元数据的匹配结果类型用于指示采用该模式元数据的匹配模式进行模式匹配后得到匹配结果的类型。

例如,若模式元数据a匹配结果类型为回复信息类,则根据模式元数据a的匹配模式对问题信息进行匹配后,若匹配成功,其模式匹配结果为回复信息;若模式元数据b匹配结果类型为意图类型信息类,则根据模式元数据b的匹配模式对问题信息进行匹配后,若匹配成功,其模式匹配结果为意图类型信息;若模式元数据c匹配结果类型为实体信息类,则根据模式元数据c的匹配模式对问题信息进行匹配后,若匹配成功,其模式匹配结果为实体信息。

本实施例中目标模式元数据还包括匹配结果类型,这样不仅可以灵活、准确的控制模式匹配结果的类型,还便于需要使用该目标匹配结果的对象获知其类型。

可选的,所述根据所述匹配模式对所述目标问题信息进行模式匹配,得到所述目标匹配结果,可以包括:

在所述目标模式元数据包括n个模式元数据的情况下,获取所述n个模式元数据中的第i个模式元数据;

若所述第i个模式元数据的匹配结果类型为第一类型,且尚未匹配到所述第一类型的匹配结果,则根据所述第i个模式元数据的匹配模式对所述目标问题信息进行模式匹配,得到所述第i个模式元数据对应的匹配结果,并将i的值加1,返回执行所述获取所述n个模式元数据中的第i个模式元数据的步骤,直至i的值大于n;

若所述第i个模式元数据的匹配结果类型为第一类型,且已匹配到所述第一类型的匹配结果,则将i的值加1,并返回执行所述获取所述n个模式元数据中的第i个模式元数据的步骤,直至i的值大于n;

若所述第i个模式元数据的匹配结果类型为所述实体信息类,则根据所述第i个模式元数据的匹配模式对所述目标问题信息进行模式匹配,得到所述第i个模式元数据对应的匹配结果,并将i的值加1,返回执行所述获取所述n个模式元数据中的第i个模式元数据的步骤,直至i的值大于n;

其中,n为大于1的整数,i为初始值为1的正整数,所述第一类型包括所述回复信息类或意图分类信息类,所述目标匹配结果包括所述n个模式元数据对应的匹配结果。

本实施例中,在目标模式元数据包括n个模式元数据的情况下,可以遍历n个模式元数据。对于n个模式元数据中的任一模式元数据,若该模式元数据的匹配结果类型为回复信息类或意图分类信息类,且尚未匹配到回复信息或意图分类信息,则根据该模式元数据的匹配模式对所述目标问题信息进行模式匹配,若模式匹配成功,可以得到回复信息或意图分类信息,并可以继续判断下一个模式元数据;若该模式元数据的匹配结果类型为回复信息类或意图分类信息类,且已匹配到回复信息或意图分类信息,则可以直接继续判断下一个模式元数据;若该模式元数据的匹配结果类型为实体信息类,则根据该模式元数据的匹配模式对所述目标问题信息进行模式匹配,若模式匹配成功,可以得到实体信息,并可以继续判断下一个模式元数据。

需要说明的是,上述目标匹配结果可以包括各个匹配成功的模式元数据对应的匹配结果。

以下结合举例对本发明实施例进行说明:

例如,模式匹配结果记为ret_value,其为列表形式,是否匹配到意图分类信息或回复信息的标识为flag,其中,在匹配到意图分类信息或回复信息的情况下flag的值可以为true,在未匹配到意图分类信息或回复信息的情况下flag的值为false,初始化flag=true。

步骤a1、从kms获取用户id对应的模式元数据列表patterns。

步骤a2、遍历patterns。

步骤a3、对于patterni∈patterns,如果patterni.act_type≠2并且flag=ture,将i加1,并返回执行步骤a2;否则根据patterni的匹配模式类型对问题信息进行匹配,若匹配成功,将匹配结果加入到ret_value,并将i加1,返回执行步骤a2。

该步骤中,上述patterni∈patterns表示patterni属于patterns。上述patterni.act_type表示patterni的匹配结果类型,上述patterni.act_type≠2表示匹配结果类型不为实体信息类。

具体的,若上述匹配模式类型为正则匹配模式,也即patterni.pattern_type=0,则可以基于正则匹配模式对问题信息进行匹配;若上述匹配模式类型为代码解析模式,也即patterni.pattern_type=1,则可以基于代码解析模式对问题信息进行匹配。

步骤a4、遍历完成后返回匹配结果ret_value。

本发明实施例在目标模式元数据包括n个模式元数据的情况下,利用n个模式元数据中匹配结果类型为实体信息类的所有的模式元数据对问题信息进行模式匹配,这样可以获取到尽可能多的实体信息,有利于回复信息的确定,并仅利用n个模式元数据中匹配结果类型为意图类型信息类或回复信息类的一个模式元数据对问题信息进行模式匹配,这样不仅可以避免出现多个不同的意图类型信息或回复信息对回复信息的确定造成不利影响,还可以提升模式匹配效率。

可选的,所述目标模式元数据还包括匹配结果的优先级;

所述根据所述匹配模式对所述目标问题信息进行模式匹配,得到所述目标匹配结果,可以包括:

在所述目标模式元数据包括m个模式元数据的情况下,分别按照所述m个模式元数据中每个模式元数据的匹配模式对所述目标问题信息进行模式匹配,得到s个匹配结果,其中,m为大于1的整数,s为小于或等于m的正整数;

若所述s个匹配结果包括至少两个第一匹配结果,则根据所述至少两个第一匹配结果中的每个第一匹配结果的优先级,从所述至少两个第一匹配结果中选择一匹配结果;

其中,所述第一匹配结果为所述回复信息类或所述意图分类信息类的匹配结果,所述目标模式匹配结果包括所选择的匹配结果和所述s个匹配结果中除所述第一匹配结果之外的匹配结果。

本实施例中,各个模式元数据还可以包括匹配结果的优先级。这样在某一问题匹配得到多个不同的意图分类信息或回复信息的情况下,可以依据各个匹配结果的优先级,从多个不同的意图分类信息或回复信息中选择一意图分类信息或回复信息。例如,对于问题q,匹配得到意图分类信息a1和第二意图分类信息a2,若意图分类信息a1的优先级高于第二意图分类信息a2的优先级,则可以选择意图分类信息a1,并添加至目标模式匹配结果中。

可选的,若多个不同的意图分类信息或回复信息的优先级相同,则可以从中随机选择一个。

需要说明的是,上述s个匹配结果可以包括m个模式元数据中模式匹配成功的模式元数据对应的匹配结果。

本发明实施例在回复信息类或意图分类信息类的匹配结果的数量为多个的情况下,利用匹配结果的优先级从多个回复信息类或意图分类信息类的匹配结果中选择一匹配结果,不仅实现较为简便,还可以提高所选择的匹配结果的准确性,进而可以提高应答过程中问题答复的准确性。

可选的,所述获取与所述目标问题信息对应的模式元数据之前,所述方法还可以包括:

收集所述nlu模型解析错误的问题信息;

根据所收集的问题信息确定模式元数据。

本实施例中,可以在应答过程中利用nlu模型对问题信息进行解析时,若是解析错误,可以记录该问题信息,并可以针对所记录的问题信息设置模式元数据,这样可以保证基于该模式元数据可以较为准确的匹配该问题信息,提高应答过程中问题回复的准确性。

以下结合示例对本发明实施例进行说明:

参见图2,图2是本发明实施例提供的应答方法可应用的一种系统架构的示意图,如图2所示,包括预处理模块、nlu模块、模式匹配模块、dm(dialogmanage,对话管理)模块、nlg(naturallanguagegenerate,自然语言生成)模块、回复模块和kms。

其中,上述预处理模块用于对用户输入的问题信息进行预处理,例如,过滤处理、分词处理等。

上述nlu模块可以包括nlu模型,用于对预处理后的问题信息进行自然语言理解处理,例如,对问题信息进行意图识别、实体识别、faq语义匹配及情感识别等。

上述模式匹配模块(也可称为pattern匹配模块)用于对预处理后的问题进行模式匹配,并可以将匹配结果返回给nlu模块。需要说明的是,上述模式匹配模块也可以直接将匹配结果返回给dm模块。

上述dm模块可以根据历史会话状态以及nlu模块发送的信息(即nlu结果以及模式匹配结果等)决定对问题信息的行为。

上述nlg模块可以根据上述行为从kms中获取问题答案,并根据问题答案生成问题的回复信息返回给用户。

具体的,上述模式匹配模块可以包括pattern元数据(即模式元数据)检索模块、patten主模块、正则匹配模块以及代码解析和执行模块。

上述pattern元数据检索模块可以从kms系统获取pattern元数据。

上述pattern主模块可以用于pattern匹配主体逻辑控制,根据pattern元数据中的pattern类型选择通过正则匹配模块还是代码解析和执行模块进行模式匹配。

上述正则匹配模块可以支持pcre(perlcompatibleregularexpressions,perl兼容的正则表达式)表达式全集,用于通过正则匹配模式对问题进行匹配,可以用于一些简单问题的处理。

上述代码解析和执行模块内置代码解释器和运行时环境,支持python语言子集解析和执行,用于通过代码解析模式对问题进行匹配。实际应用中,如果存在一些问题正则匹配模块无法处理,可配置使用上述代码解析和执行模块对这些问题进行处理。

可选的,pattern元数据的定义可以如表1所示:

表1

需要说明的是,上述pattern可以用于定义用于实现正则匹配模式竞争模式匹配的正则匹配规则(如正则表达式)或用于实现代码解析模式进行模式匹配的代码块。上述action_type字段可以用于指示上述匹配结果的类型。

本发明实施例使用模式匹配模块,可以快速而方便的修复各种算法模型导致的应答错误,很好地满足用户对错误情况(即bad-case)的及时反馈。

参见图3,图3是本发明实施例提供的应答装置的结构图。如图3所示,应答装置300包括:

获取模块301,用于获取用户输入的目标问题信息;

匹配模块302,用于对所述目标问题信息进行模式匹配,得到目标匹配结果;

自然语言理解模块303,用于通过预先训练得到的自然语言理解nlu模型,对所述目标问题信息进行自然语言理解处理,得到自然语言理解结果;

第一确定模块304,用于根据所述目标匹配结果和所述自然语言理解结果,确定目标回复信息。

可选的,所述匹配模块,包括:

获取单元,用于获取与所述目标问题信息对应的目标模式元数据,其中,所述目标模式元数据包括匹配模式,所述匹配模式包括正则匹配模式或代码解析模式;

匹配单元,用于根据所述匹配模式对所述目标问题信息进行模式匹配,得到目标匹配结果。

可选的,所述目标模式元数据还包括匹配结果类型,所述匹配结果类型包括回复信息类、意图分类信息类或实体信息类;

其中,所述目标匹配结果的类型为所述匹配结果类型。

可选的,所述匹配单元具体用于:

在所述目标模式元数据包括n个模式元数据的情况下,获取所述n个模式元数据中的第i个模式元数据;

若所述第i个模式元数据的匹配结果类型为第一类型,且尚未匹配到所述第一类型的匹配结果,则根据所述第i个模式元数据的匹配模式对所述目标问题信息进行模式匹配,得到所述第i个模式元数据对应的匹配结果,并将i的值加1,返回执行所述获取所述n个模式元数据中的第i个模式元数据的步骤,直至i的值大于n;

若所述第i个模式元数据的匹配结果类型为第一类型,且已匹配到所述第一类型的匹配结果,则将i的值加1,并返回执行所述获取所述n个模式元数据中的第i个模式元数据的步骤,直至i的值大于n;

若所述第i个模式元数据的匹配结果类型为所述实体信息类,则根据所述第i个模式元数据的匹配模式对所述目标问题信息进行模式匹配,得到所述第i个模式元数据对应的匹配结果,并将i的值加1,返回执行所述获取所述n个模式元数据中的第i个模式元数据的步骤,直至i的值大于n;

其中,n为大于1的整数,i为初始值为1的正整数,所述第一类型包括所述回复信息类或意图分类信息类,所述目标匹配结果包括所述n个模式元数据对应的匹配结果。

可选的,所述目标模式元数据还包括匹配结果的优先级;

所述匹配单元具体用于:

在所述目标模式元数据包括m个模式元数据的情况下,分别按照所述m个模式元数据中每个模式元数据的匹配模式对所述目标问题信息进行模式匹配,得到s个匹配结果,其中,m为大于1的整数,s为小于或等于m的正整数;

若所述s个匹配结果包括至少两个第一匹配结果,则根据所述至少两个第一匹配结果中的每个第一匹配结果的优先级,从所述至少两个第一匹配结果中选择一匹配结果;

其中,所述第一匹配结果为所述回复信息类或所述意图分类信息类的匹配结果,所述目标模式匹配结包括所选择的匹配结果和所述s个匹配结果中除所述第一匹配结果之外的匹配结果。

可选的,所述装置还包括:

收集模块,用于所述获取与所述目标问题信息对应的模式元数据之前,收集所述nlu模型解析错误的问题信息;

第二确定模块,用于根据所收集的问题信息确定模式元数据。

可选的,所述第一确定模块具体用于:

在模式匹配成功的情况下,根据所述目标匹配结果确定所述目标回复信息;

在模式匹配失败的情况下,根据所述自然语言理解结果确定所述目标回复信息。本发明实施例提供的应答装置300能够实现上述方法实施例中的各个过程,为避免重复,这里不再赘述。

本发明实施例的应答装置300,获取模块301,用于获取用户输入的目标问题信息;匹配模块302,用于对所述目标问题信息进行模式匹配,得到目标匹配结果;自然语言理解模块303,用于通过预先训练得到的自然语言理解nlu模型,对所述目标问题信息进行自然语言理解处理,得到自然语言理解结果;第一确定模块304,用于根据所述目标匹配结果和所述自然语言理解结果,确定目标回复信息。通过结合模式匹配和nlu模型对用户输入的目标问题信息进行分析和识别,并结合目标匹配结果和自然语言理解结果共同确定回复信息,可以提高回复信息的准确性。

参见图4,图4是本发明又一实施提供的应答装置的结构图,如图4所示,应答装置400包括:处理器401、存储器402及存储在所述存储器402上并可在所述处理器上运行的计算机程序,数据发送装置400中的各个组件通过总线接口403耦合在一起,所述计算机程序被所述处理器401执行时实现如下步骤:

获取用户输入的目标问题信息;

对所述目标问题信息进行模式匹配,得到目标匹配结果;

通过预先训练得到的自然语言理解nlu模型,对所述目标问题信息进行自然语言理解处理,得到自然语言理解结果;

根据所述目标匹配结果和所述自然语言理解结果,确定目标回复信息。

可选的,所述计算机程序被所述处理器401执行时还用于:

获取与所述目标问题信息对应的目标模式元数据,其中,所述目标模式元数据包括匹配模式,所述匹配模式包括正则匹配模式或代码解析模式;

根据所述匹配模式对所述目标问题信息进行模式匹配,得到目标匹配结果。

可选的,所述目标模式元数据还包括匹配结果类型,所述匹配结果类型包括回复信息类、意图分类信息类或实体信息类;

其中,所述目标匹配结果的类型为所述匹配结果类型。

可选的,所述计算机程序被所述处理器401执行时还用于:

在所述目标模式元数据包括n个模式元数据的情况下,获取所述n个模式元数据中的第i个模式元数据;

若所述第i个模式元数据的匹配结果类型为第一类型,且尚未匹配到所述第一类型的匹配结果,则根据所述第i个模式元数据的匹配模式对所述目标问题信息进行模式匹配,得到所述第i个模式元数据对应的匹配结果,并将i的值加1,返回执行所述获取所述n个模式元数据中的第i个模式元数据的步骤,直至i的值大于n;

若所述第i个模式元数据的匹配结果类型为第一类型,且已匹配到所述第一类型的匹配结果,则将i的值加1,并返回执行所述获取所述n个模式元数据中的第i个模式元数据的步骤,直至i的值大于n;

若所述第i个模式元数据的匹配结果类型为所述实体信息类,则根据所述第i个模式元数据的匹配模式对所述目标问题信息进行模式匹配,得到所述第i个模式元数据对应的匹配结果,并将i的值加1,返回执行所述获取所述n个模式元数据中的第i个模式元数据的步骤,直至i的值大于n;

其中,n为大于1的整数,i为初始值为1的正整数,所述第一类型包括所述回复信息类或意图分类信息类,所述目标匹配结果包括所述n个模式元数据对应的匹配结果。

可选的,所述目标模式元数据还包括匹配结果的优先级;

所述计算机程序被所述处理器401执行时还用于:

在所述目标模式元数据包括m个模式元数据的情况下,分别按照所述m个模式元数据中每个模式元数据的匹配模式对所述目标问题信息进行模式匹配,得到s个匹配结果,其中,m为大于1的整数,s为小于或等于m的正整数;

若所述s个匹配结果包括至少两个第一匹配结果,则根据所述至少两个第一匹配结果中的每个第一匹配结果的优先级,从所述至少两个第一匹配结果中选择一匹配结果;

其中,所述第一匹配结果为所述回复信息类或所述意图分类信息类的匹配结果,所述目标模式匹配结包括所选择的匹配结果和所述s个匹配结果中除所述第一匹配结果之外的匹配结果。

可选的,所述计算机程序被所述处理器401执行时还用于:所述获取与所述目标问题信息对应的模式元数据之前,收集所述nlu模型解析错误的问题信息;

根据所收集的问题信息确定模式元数据。

可选的,所述计算机程序被所述处理器401执行时还用于:

在模式匹配成功的情况下,根据所述目标匹配结果确定所述目标回复信息;

在模式匹配失败的情况下,根据所述自然语言理解结果确定所述目标回复信息。

本发明实施例还提供一种应答装置,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述应答方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述应答方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。

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