一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

任务型对话机器人交互方法、装置、设备及存储介质与流程

2021-08-24 16:08:00 来源:中国专利 TAG:人工智能 机器人 交互 装置 对话
任务型对话机器人交互方法、装置、设备及存储介质与流程

本申请涉及人工智能技术领域,尤其涉及任务型对话机器人交互方法、装置、设备及存储介质。



背景技术:

随着人工智能技术的发展,客服流程中由人工参与的部分越来越少,取而代之的是通过智能机器人与用户进行交互。现有的例如订餐机器人、智能设备的语音助手和购物导航机器人,机器人通过与用户进行语音交互的方式完成某一任务;然而,目前的机器人与用户交互,以单轮次交互为主,该方案需要用户一次性提供很多信息,而用户难以提供完整信息,进而导致机器人完成任务的准确性较低;在另一种多轮次交互方式中,机器人很难结合上下问信息,同样导致机器人完成任务的准确性较低;因此,如何提高对话机器人完成任务的准确性成为了亟待解决的问题。



技术实现要素:

本申请提供了任务型对话机器人交互方法、装置、设备及存储介质,以解决现有技术中对话机器人完成任务的准确性不高的问题。

为解决上述问题,本申请提供了任务型对话机器人交互方法,包括:

接收所述用户通过语音和/或动作发起的交互请求;

根据所述交互请求唤醒机器人,以接收用户语音;

解析所述用户语音,得到关键词;

根据所述关键词,并结合预设的问答模板,向用户发出提问;

当识别到所述用户对所述提问进行确认后,根据所述关键词获取对应的状态表,再通过与用户进行多轮次对话以填充所述状态表;

根据填充后的所述状态表,进行核准判断,得到并输出判断结果。

进一步的,所述解析所述用户语音,得到关键词包括:

将所述用户语音转换成文字;

将所述文字与特征词库中的第一字词进行匹配,所述特征词库为预先建立的;

若匹配成功,则将所述文字对应的第一字词作为所述关键词。

进一步的,所述通过与用户进行多轮次对话以填充所述状态表包括:

当与用户进行多轮次对话时,识别到所述用户回答内容与所述特征词库中的第二字词匹配时,将终止所述多轮次对话,并以所述第二字词作为新的关键词;

根据所述新的关键词,并结合所述新的关键词对应的问答模板,重新向用户发出提问。

进一步的,所述当识别到所述用户对所述提问进行确认后,根据所述关键词获取对应的状态表,再通过与用户进行多轮次对话以填充所述状态表包括:

当识别到所述用户确认后,根据所述关键词获取对应的所述状态表;

根据所述状态表中需填充的变量,获取变量对应的变量问答模板,基于所述变量问答模板和变量组成的问题依次与用户进行对话;

基于所述对话的内容,填充所述状态表。

进一步的,所述变量问答模板包括文字型问答模板,所述基于所述对话的内容,填充所述状态表包括:

基于所述文字型问答模板和变量组成的问题向用户发出提问时,识别用户对应的回答,将所述用户的回答内容与变量对应问题的多个预制结果进行匹配;

若匹配成功,则将所述回答内容填充至状态表中;

若未匹配成功,则获取回答内容和多个预制结果的词向量,计算所述回答内容对应的词向量与所述多个预制结果对应的词向量之间的距离,得到距离最小值,将所述距离最小值对应的预制结果作为填充内容填充至状态表中。

进一步的,所述计算所述回答内容对应的词向量与所述多个预制结果对应的词向量之间的距离,得到距离最小值之后,还包括:

判断所述距离最小值与预设数值的大小;

若所述距离最小值大于所述预设数值,则将所述文字型问答模板和变量组成的问题再次向用户发出提问。

进一步的,所述变量问答模板包括数值型问答模板,所述基于所述对话的内容,填充所述状态表包括:

基于所述数值型问答模板和变量组成的问题向用户发出提问时,识别用户对应的回答,利用正则表达式抽取所述用户回答内容中的数值,将所述数值填充至所述状态表中。

为了解决上述问题,本申请还提供任务型对话机器人交互装置,所述装置包括:

请求接收模块,用于接收所述用户通过语音和/或动作发起的交互请求;

唤醒模块,用于根据所述交互请求唤醒机器人,以接收用户语音;

解析模块,用于解析所述用户语音,得到关键词;

提问确认模块,用于根据所述关键词,并结合预设的问答模板,向用户发出提问;

对话填充模块,用于当识别到所述用户对所述提问进行确认后,根据所述关键词获取对应的状态表,再通过与用户进行多轮次对话以填充所述状态表;

结果输出模块,用于根据填充后的所述状态表,进行核准判断,得到并输出判断结果。

为了解决上述问题,本申请还提供一种计算机设备,包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述所述的任务型对话机器人交互方法。

为了解决上述问题,本申请还提供一种非易失性的计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上述所述的任务型对话机器人交互方法。

根据本申请实施例提供的任务型对话机器人交互方法、装置、设备及存储介质,与现有技术相比至少具有以下有益效果:

通过接收所述用户通过语音和/或动作发起的交互请求;根据所述交互请求唤醒机器人,以接收用户语音,解析所述用户语音,得到关键词;所述关键词即为本次对话的任务类型;根据所述关键词,并结合问答模板,向用户发出提问;通过与用户确认任务类型,便于后续对话内容的确认,确保了后续对话内容的准确性。当识别到所述用户对所述提问进行确认后,再通过与用户进行多轮次对话以填充状态表;通过填充状态表的形式获取此次对话任务所需要的信息;基于填充后的所述状态表,进行核准判断,得到并输出判断结果,使得任务机器人在复杂情况下,根据与用户对话的内容填充状态表,最后根据填充好的状态表,得到任务结果并输出,提高了任务完成的准确性及效率。

附图说明

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

图1为本申请一实施例提供的任务型对话机器人交互方法的流程示意图;

图2为本申请一实施例提供的任务型对话机器人交互装置的模块示意图;

图3为本申请一实施例的计算机设备的结构示意图。

具体实施方式

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”“第二”等是用于区别不同对象,而不是用于描述特定顺序。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是是相同的实施例,也不是与其它实施例相互排斥的独立的或备选的实施例。本领域技术人员显式地或隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

本申请提供一种任务型对话机器人交互方法。参照图1所示,为本申请一实施例提供的任务型对话机器人交互方法的流程示意图。

在本实施例中,任务型对话机器人交互方法包括:

s1、接收所述用户通过语音和/或动作发起的交互请求;

具体的,在正式接收用户语音之前,还需用户将对话机器人唤醒,例如在智能终端上,通过接收用户特定的语音指令,例如说出“hi 机器人的名字”,或者在智能终端上用户执行特定的操作手势,或按特定键位来唤醒对话机器人以进行交互;而对电话机器人而言,只需用户拨打特定电话即可唤醒对话机器人并与用户进行交互。

s2、根据所述交互请求唤醒机器人,以接收用户语音;

本申请的对话机器人可设置在智能终端上,例如手机等智能终端上,作为手机助手;还可部署在服务器端,例如电话机器人,目前国内三大通讯商的电话客服,首先就是利用电话机器人来与用户进行交互。根据交互请求将机器人唤醒后,首先接收用户语音。

进一步的,机器人可提醒用户输入语音,以进行交互。

s3、解析所述用户语音,得到关键词;

利用现有的语音识别模型对用户语音进行解析,将用户语音转换为文字,并识别文字中的特证词作为关键词。

在本申请中只要在接收到用户的语音后,都需将用户语音通过语音识别模型进行处理,得到对应的文字表述,以便于后续步骤的进行。

进一步的,所述解析所述用户语音,得到关键词包括:

将所述用户语音转换成文字;

将所述文字与特征词库中的第一字词进行匹配,所述特征词库为预先建立的;

若匹配成功,则将所述文字对应的第一字词作为所述关键词。

具体的,通过利用现有的语音识别模型,例如开源的dfsmn语音识别模型,其识别准确率高达96.04%,通过利用dfsmn语音识别模型对所述用户语音进行处理,得到对应的文字表述,通过将文字与特征词库中的第一字词进行匹配,若所述文字在所述特征词库中能找到对应的第一字词,即将所述文字对应的第一字词作为关键词;所述特征词库为预先建立的。

在本申请中以保险核保为例,进行说明:

在开始时,接收到用户语音“肺炎能买保险吗”,通过dfsmn语音识别模型进行处理,将语音转换为文字,将文字“肺炎能买保险吗”与特征词库中的词语进行匹配,此时的特征词库保存有各类疾病名称,将上述文字与特征词库中的字词进行匹配,即可得到“肺炎”这一关键词。

通过获取用户语音中的关键词,以获取与用户交互的重点,使得对话机器人的最终得到结果的准确性提高。

s4、根据所述关键词,并结合预设的问答模板,向用户发出提问;

根据上述的“肺炎”关键词,结合问答模板,例如“您是要问(关键词)的投保吗”,即在此处以语音的形式“您是要问肺炎的投保吗”向用户发出提问。

针对不同类型的关键词提前预设大量相对应的问答模板,以便于向用户发起准确的提问。

进一步的,在所述根据所述关键词,并结合问答模板,向用户发出提问之后,还包括:

当识别到所述用户否认后,提醒用户重新输入语音,以重新解析并确定关键词。

具体的,通过dfsmn语音识别模型处理用户语音得到对应的文字,识别到用户的回答为否定性回答时,提醒用户再次进行讲话,输入语音,以重新解析并确定用户语音中的关键词。所述否定性回答例如“不、不是”等。

在识别到用户否认后,提醒用户再次输入语音并接收用户语音,以此来提升识别关键词的准确度,并提供纠错的步骤。

进一步的,在所述根据所述关键词,并结合问答模板,向用户发出提问之后,还包括:

当无法判断所述用户回答内容是确认还是否认时,或在预设时间内未收到用户回答时,将再次向所述用户发出同样的提问,至识别到用户准确的回答。

具体的,通过dfsmn语音识别模型,识别到用户的回答为既不是肯定回答又不是否定回答时,即回答含糊不清,或是在预设时间内未收到用户的回答时,将再次向用户发出提问,至识别到用户准确的回答。

所述含糊不清的回答例如不知道、不清楚等。或者是除开肯定回答或否定回答的词语。所述预设时间在本申请中设置为30秒。

在识别到用户回答既不确认也不否认后,就同样的问题向用户发出提问,以此来提升识别关键词的准确度,并提供纠错的步骤。

s5、当识别到所述用户对所述提问进行确认后,根据所述关键词获取对应的状态表,再通过与用户进行多轮次对话以填充所述状态表;

在识别到用户确认后,根据关键词来获取对应的状态表,根据状态表的内容与用户进行多轮次的对话来填充所述状态表。

进一步的,所述通过与用户进行多轮次对话以填充所述状态表包括:

当与用户进行多轮次对话时,识别到所述用户回答内容与所述特征词库中的第二字词匹配时,将终止所述多轮次对话,并以所述第二字词作为新的关键词;

根据所述新的关键词,并结合所述新的关键词对应的问答模板,重新向用户发出提问。

在本实施例中,在与用户进行多轮次对话时,识别到用户想问其他问题,例如“肝炎怎么样”,“肝炎”与特征词库中的第二字词匹配,随即终止此次多轮次对话,并以肝炎为新的关键词,根据所述新的关键词,并结合所述新的关键词对应的问答模板,重新向用户发起提问以确定任务类型,便于后续获取对应的状态表,来进行多轮次对话。

当用户回答的内容中与特征库中的第二字词匹配时,重新将第二字词作为关键词,便于用户询问其他问题时进行跳转。

进一步的,所述当识别到所述用户对所述提问进行确认后,根据所述关键词获取对应的状态表,再通过与用户进行多轮次对话以填充所述状态表包括:

当识别到所述用户确认后,根据所述关键词获取对应的所述状态表;

根据所述状态表中需填充的变量,获取变量对应的变量问答模板,基于所述变量问答模板和变量组成的问题依次与用户进行对话;

基于所述对话的内容,填充所述状态表。

具体的,当识别到用户确认后,且确定得到的关键词为例如“肺炎”,就获取“肺炎”对应的状态表,所述状态表中的内容包括“年龄、肺炎程度和险种”,根据“年龄、肺炎程度和险种”,获取对应的变量问答模板,将变量以及变量对应的变量问答模板组成问题依次向用户进行提问,以填满状态表为止,即根据变量“年龄”向用户发起提问,得到对应的回复,并填入状态表后,再根据变量“肺炎程度”向用户发起提问,以此类推。所述关键词与所述状态表之间的对应关系为预先设定的,上述状态表和变量问答模板都存储在数据库中。

根据与关键词对应的状态表中需填写的内容与用户进行对话,实现对任务针对性的对话,提高了对话机器人完成任务的准确性且提高了对话效率。

再进一步的,所述变量问答模板包括文字型问答模板,所述基于所述对话的内容,填充所述状态表包括:

基于所述文字型问答模板和变量组成的问题向用户发出提问时,识别用户对应的回答,将所述用户的回答内容与变量对应问题的多个预制结果进行匹配;

若匹配成功,则将所述回答内容填充至状态表中;

若未匹配成功,则获取回答内容和多个预制结果的词向量,计算所述回答内容对应的词向量与所述多个预制结果对应的词向量之间的距离,得到距离最小值,将所述距离最小值对应的预制结果作为填充内容填充至状态表中。

具体的,所述文字型问答模板是指用户需回答内容为文字答复的一类问答模板。例如针对“肺炎”这一关键词,其对应的状态表为“年龄、肺炎程度和险种”,其中对“肺炎程度和险种”的问答模板,即为文字型问答模板。

针对变量“肺炎程度”,机器人向用户发出提问“肺炎发病程度”,对于这一问题提前预制了“轻度、中度和重度”三种答复,若用户直接回答上述三种答复,即可直接与预制的答复相匹配;而用户回答了例如“很严重”等答复时,其不能直接与预制结果相匹配,此时就需要从数据库中调取用户答复和多个预制结果对应的词向量,计算所述用户答复对应的词向量与所述多个预制结果对应词向量之间的距离,距离越小的相似度越高。获取距离最小值的,将所述距离最小值对应的预制结果作为填充内容填充至状态表中的对应位置处。

通过将用户回答内容与对应问题的多个预制结果进行匹配,且在未匹配成功后,计算用户回答内容与多个预制结果的词向量之间的距离,以匹配与用户回答最接近的预制结果,通过设置预制结果的方式,来与用户回答内容进行匹配计算,得到最接近的预制结果填充至状态表中,以便于后续得到最终结果的准确性。

又进一步的,所述计算所述回答内容对应的词向量与所述多个预制结果对应的词向量之间的距离,得到距离最小值之后,还包括:

判断所述距离最小值与预设数值的大小;

若所述距离最小值大于所述预设数值,则将所述文字型问答模板和变量组成的问题再次向用户发出提问。

具体的,通过限定预设数值的大小,来限定距离最小值,若距离最小值大于预设数值,证明用户答复与预制结果也并不那么近似,即不能用对应的预制结果填充状态表,只能向用户进行重新提问,重新获取到用户答复,并再利用获取到的答复与预制结果进行匹配。

通过设定预设数值并判断与上述距离最小值的大小,以限定最小距离值,以保证用户回答内容与对应的预制结果之间的相似度较高。

再进一步的,所述变量问答模板包括数值型问答模板,所述基于所述对话的内容,填充所述状态表包括:

基于所述数值型问答模板和变量组成的问题向用户发出提问时,识别用户对应的回答,利用正则表达式抽取所述用户回答内容中的数值,将所述数值填充至所述状态表中。

具体的,所述数值型问答模板是指用户需答复内容为数值的一类问答模板,通过设置正则表达式抽取用户回答内容中的数值,不管用户回答内容中包含文字和数值,正则表达式只会抽取数值。

例如用户针对变量“年龄”,回复了“今年18岁了”,通过正则表达式只会抽取其中“18”,并以此来填充状态表中的年龄变量。

利用正则表达式抽取数值,提高了识别速度和准确率。

进一步的,所述再通过与用户进行多轮次对话以填充状态表包括:

当与用户进行多轮次对话时,识别用户回答内容中有触发词时,终止所述多轮次对话。

具体的,当用户临时有事情时,用户语音输入触发词,即可终止多轮次对话;所述触发词包括退出或结束等。终止后机器人再次进入睡眠状态。

通过设置触发词,以使用户在对话时,只要回答内容中包括所述触发词,即可终止该场对话。

在本申请的其他实施例中,还可通过利用特定动作来终止所述多轮次对话,例如在智能终端上通过特定的操作手势或按特定键位来终止所述多轮次对话,或者对于利用电话进行交互的来说,可直接通过挂断电话来结束所述多轮次对话。所述触发词包括终止、结束等。

s6、根据填充后的所述状态表,进行核准判断,得到并输出判断结果。

具体的,上述“肺炎”关键词对应的状态表内容“年龄、肺炎程度和险种”填充好后,基于填充好的状态表以及预先配置的核准策略,进行核准判断,得到并输出任务结果,即核保结果,例如正常、标体等。所述输出任务结果是指以语音的形式播报给用户,也可通过文字信息显示在显示屏上。

需要强调的是,为了进一步保证数据的私密性和安全性,所述用户语音的所有数据还可以存储于一区块链的节点中。

本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

通过接收所述用户通过语音和/或动作发起的交互请求;根据所述交互请求唤醒机器人,以接收用户语音,解析所述用户语音,得到关键词;所述关键词即为本次对话的任务类型;根据所述关键词,并结合问答模板,向用户发出提问;通过与用户确认任务类型,便于后续对话内容的确认,确保了后续对话内容的准确性。当识别到所述用户对所述提问进行确认后,再通过与用户进行多轮次对话以填充状态表;通过填充状态表的形式获取此次对话任务所需要的信息;基于填充后的所述状态表,进行核准判断,得到并输出判断结果,使得任务机器人在复杂情况下,根据与用户对话的内容填充状态表,最后根据填充好的状态表,得到任务结果并输出,提高了任务完成的准确性及效率。

如图2所示,是本申请任务型对话机器人交互装置的功能模块图。

本申请所述任务型对话机器人交互装置100可以安装于电子设备中。根据实现的功能,所述任务型对话机器人交互装置100可以包括请求接收模块101、接收模块102、解析模块103、提问确认模块104、对话填充模块105和结果输出模块106。本申请所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。

在本实施例中,关于各模块/单元的功能如下:

请求接收模块101,用于接收所述用户通过语音和/或动作发起的交互请求;

唤醒模块102,用于根据所述交互请求唤醒机器人,以接收用户语音;

解析模块103,用于解析所述用户语音,得到关键词;

具体的,解析模块102通过利用现有的语音识别模型对用户语音进行解析,将用户语音转换为文字,并识别文字中的特证词作为关键词。

进一步的,所述解析模块102包括文字解析子模块和文字匹配子模块;

文字解析子模块用于将所述用户语音转换成文字;

文字匹配子模块将所述文字与特征词库中的第一字词进行匹配,所述特征词库为预先建立的;

若匹配成功,则将所述文字对应的第一字词作为所述关键词。

具体的,文字解析子模块通过利用现有的语音识别模型,例如开源的dfsmn语音识别模型,其识别准确率高达96.04%,通过利用dfsmn语音识别模型对所述用户语音进行处理,得到对应的文字表述,文字匹配子模块通过将文字与特征词库中的第一字词进行匹配,若所述文字在所述特征词库中能找到对应的字词,即将所述第一字词作为关键词;所述特征词库为预先建立的。

通过文字匹配模块来获取用户语音中的关键词,以获取与用户交互的重点,使得对话机器人的最终得到结果的准确性提高。

提问确认模块104,用于根据所述关键词,并结合预设的问答模板,向用户发出提问;

进一步的,所述任务型对话机器人交互装置100还包括再次输入模块;

所述再次输入模块,用于当识别到所述用户否认后,提醒用户重新输入语音,以重新解析并确定关键词。

具体的,所述再次输入模块通过dfsmn语音识别模型处理用户语音得到对应的文字,识别到用户的回答为否定性回答时,提醒用户再次进行讲话,输入语音,以重新解析并确定用户语音中的关键词。所述否定性回答例如“不、不是”等。

通过再次输入模块在识别到用户否认后,提醒用户再次输入语音并接收用户语音,以此来提升识别关键词的准确度,并提供纠错的步骤。

进一步的,所述任务型对话机器人交互装置100还包括准确识别模块;

所述准确识别模块,用于当无法判断所述用户回答内容是确认还是否认时,或在预设时间内未收到用户回答时,将再次向所述用户发出同样的提问,至识别到用户准确的回答。

具体的,所述准确识别模块通过dfsmn语音识别模型,识别到用户的回答为既不是肯定回答又不是否定回答时,即回答含糊不清,或是在预设时间内未收到用户的回答时,将再次向用户发出提问,至识别到用户准确的回答。

通过准确识别模块在识别到用户回答既不确认也不否认后,就同样的问题向用户发出提问,以此来提升识别关键词的准确度,并提供纠错的步骤。

对话填充模块105,用于当识别到所述用户对所述提问进行确认后,根据所述关键词获取对应的状态表,再通过与用户进行多轮次对话以填充所述状态表。

具体的,对话填充模块105在识别到用户确认后,根据关键词来获取对应的状态表,根据状态表的内容与用户进行多轮次的对话来填充所述状态表。

进一步的,所述对话填充模块105包括坐标关键词切换子模块和二次提问子模块;

关键词切换子模块,用于当与用户进行多轮次对话时,识别到所述用户回答内容与所述特征词库中的第二字词匹配时,将终止所述多轮次对话,并以所述第二字词作为新的关键词;

二次提问子模块,用于根据所述新的关键词,并结合所述新的关键词对应的问答模板,重新向用户发出提问。

通过关键词切换子模块和二次提问子模块配合,当用户回答的内容中与特征库中的第二字词匹配时,重新将第二字词作为关键词,便于用户询问其他问题时进行跳转。

进一步的,所述对话填充模块105包括状态表获取子模块、对话子模块和填充子模块;

所述状态表获取子模块,用于当识别到所述用户确认后,根据所述关键词获取对应的所述状态表;

所述对话子模块,用于根据所述状态表中需填充的变量,获取变量对应的变量问答模板,基于所述变量问答模板和变量组成的问题依次与用户进行对话;

所述填充子模块,用于基于所述对话的内容,填充所述状态表。

根据所述状态表获取子模块、所述对话子模块和对话子模块配合,实现根据与关键词对应的状态表中需填写的内容与用户进行对话,实现对任务针对性的对话,提高了对话机器人完成任务的准确性且提高了对话效率。

再进一步的,所述变量问答模板包括文字型问答模板,所述填充子模块包括结果匹配单元和词向量计算单元;

所述结果匹配单元,用于基于所述文字型问答模板和变量组成的问题向用户发出提问时,识别用户对应的回答,将所述用户的回答内容与变量对应问题的多个预制结果进行匹配;

所述词向量计算单元,用于若匹配成功,则将所述回答内容填充至状态表中;若未匹配成功,则获取回答内容和多个预制结果的词向量,计算所述回答内容对应的词向量与所述多个预制结果对应的词向量之间的距离,得到距离最小值,将所述距离最小值对应的预制结果作为填充内容填充至状态表中。

通过结果匹配单元将用户回答内容与对应问题的多个预制结果进行匹配,且在未匹配成功后,通过词向量计算单元计算用户回答内容与多个预制结果的词向量之间的距离,以匹配与用户回答最接近的预制结果,通过设置预制结果的方式,来与用户回答内容进行匹配计算,得到最接近的预制结果填充至状态表中,以便于后续得到最终结果的准确性。

再进一步的,所述填充子模块还包括距离判断单元和再次提问单元;

所述距离判断单元,用于判断所述距离最小值与预设数值的大小;

所述再次提问单元,用于若所述距离最小值大于所述预设数值,则将所述文字型问答模板和变量组成的问题再次向用户发出提问。

通过距离判断单元和再次提问单元的配合,设定预设数值并判断与上述距离最小值的大小,以限定最小距离值,以保证用户回答内容与对应的预制结果之间的相似度较高。

再进一步的,所述变量问答模板包括数值型问答模板,所述填充子模块包括正则提取单元;

所述正则提取单元,用于基于所述数值型问答模板和变量组成的问题向用户发出提问时,识别用户对应的回答,利用正则表达式抽取所述用户回答内容中的数值,将所述数值填充至所述状态表中。

正则提取单元利用正则表达式抽取数值,提高了识别速度和准确率。

进一步的,所述对话填充模块105包括终止子模块;

所述终止子模块,用于当与用户进行多轮次对话时,识别用户回答内容中有触发词时,终止所述多轮次对话。

通过所述终止子模块设置触发词,以使用户在对话时,只要回答内容中包括所述触发词,即可终止该场对话。

结果输出模块106,用于根据填充后的所述状态表,进行核准判断,得到并输出判断结果。

通过采用上述装置,所述任务型对话机器人交互装置100通过请求接收模块101、接收模块102、解析模块103、提问确认模块104、对话填充模块105和结果输出模块106的配合使用,使得任务机器人在复杂情况下,根据与用户对话的内容填充状态表,最后根据填充好的状态表,得到任务结果并输出,提高了任务完成的准确性及效率。

为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图3,图3为本实施例计算机设备基本结构框图。

所述计算机设备4包括通过系统总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件41-43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。

所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。

所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,所述存储器41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作系统和各类应用软件,例如任务型对话机器人交互方法的计算机可读指令等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。

所述处理器42在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的计算机可读指令或者处理数据,例如运行所述任务型对话机器人交互方法的计算机可读指令。

所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述计算机设备4与其他电子设备之间建立通信连接。

本实施例通过处理器执行存储在存储器的计算机可读指令时实现如上述实施例任务型对话机器人交互方法的步骤,通过接收所述用户通过语音和/或动作发起的交互请求;根据所述交互请求唤醒机器人,以接收用户语音,解析所述用户语音,得到关键词;所述关键词即为本次对话的任务类型;根据所述关键词,并结合问答模板,向用户发出提问;通过与用户确认任务类型,便于后续对话内容的确认,确保了后续对话内容的准确性。当识别到所述用户对所述提问进行确认后,再通过与用户进行多轮次对话以填充状态表;通过填充状态表的形式获取此次对话任务所需要的信息;基于填充后的所述状态表,进行核准判断,得到并输出判断结果,使得任务机器人在复杂情况下,根据与用户对话的内容填充状态表,最后根据填充好的状态表,得到任务结果并输出,提高了任务完成的准确性及效率。

本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的任务型对话机器人交互方法的步骤,通过接收所述用户通过语音和/或动作发起的交互请求;根据所述交互请求唤醒机器人,以接收用户语音,解析所述用户语音,得到关键词;所述关键词即为本次对话的任务类型;根据所述关键词,并结合问答模板,向用户发出提问;通过与用户确认任务类型,便于后续对话内容的确认,确保了后续对话内容的准确性。当识别到所述用户对所述提问进行确认后,再通过与用户进行多轮次对话以填充状态表;通过填充状态表的形式获取此次对话任务所需要的信息;基于填充后的所述状态表,进行核准判断,得到并输出判断结果,使得任务机器人在复杂情况下,根据与用户对话的内容填充状态表,最后根据填充好的状态表,得到任务结果并输出,提高了任务完成的准确性及效率。

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

显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜