本申请涉及计算机技术领域,特别是涉及一种人机对话方法、装置、计算机设备和存储介质。
背景技术:
随着计算机技术的发展,智能问答机器人的概念在近年来越来越火热,以语音交互及自然语言理解为核心的问答机器人,正逐步运用到语音助手、在线咨询、导引、客服、日常聊天等各个服务领域。
然后,目前人机对话系统包括问答机器人和业务系统,其中问答机器人直接面向业务系统,一旦业务系统发生业务逻辑的变动会导致问答机器人的代码或者实现方式相应发生变化,或者问答机器人发生了逻辑调整,则会导致业务系统发生变更,人机对话系统灵活性差。
技术实现要素:
基于此,有必要针对上述技术问题,提供一种能够提高人机对话系统灵活性的人机对话方法、装置、计算机设备和存储介质。
一种人机对话方法,该方法包括:
获取目标技能词槽对应的目标词槽值,目标词槽值是当前问答机器人根据输入的用户问句确定得到的;
获取预设配置表,根据预设配置表和目标技能词槽获取与目标词槽值对应的目标业务参数;
根据目标业务参数从对应目标业务系统中调用对应的目标信息,生成与用户语句对应的目标语句,发送目标语句至当前问答机器人。
在其中一个实施例中,获取目标技能词槽对应的目标词槽值,目标词槽值是当前问答机器人根据输入的用户问句确定得到的,包括:获取当前问答机器人对应的当前技能状态;当当前技能状态为技能开启状态时,则通过当前问答机器人对用户问句进行语义分析,,得到语义分析结果;当前问答机器人根据语义分析结果确定对应的目标技能;当前问答机器人从多个预设技能词槽中获取与目标技能对应的目标技能词槽,获取目标技能词槽对应的目标词槽值。
在其中一个实施例中,当当前技能状态为技能关闭状态时,获取目标技能对应的目标技能基础语句,将目标技能基础语句作为用户语句对应的目标语句。
在其中一个实施例中,获取预设配置表,根据预设配置表获取与目标技能词槽对应的目标业务参数,包括:获取预设配置表,预设配置表包括技能词槽与业务参数之间的关联关系;根据关联关系和目标技能词槽从预设配置表中获取与目标词槽值对应的目标业务参数。
在其中一个实施例中,根据目标业务参数从对应目标业务系统中调用对应的目标信息,生成与用户语句对应的目标语句,包括:根据目标业务参数确定对应的目标接口,获取目标接口对应的目标业务系统;通过目标接口从目标业务系统中调用对应的目标信息;根据目标信息生成与用户语句对应的目标语句。
在其中一个实施例中,人机对话方法还包括:获取目标业务系统对应的对外业务接口;将对外业务接口封装成目标业务系统对应的目标接口;获取目标接口对应的目标业务参数,建立目标接口与目标业务参数之间的关系。
在其中一个实施例中,人机对话方法还包括:获取当前问答机器人的当前响应状态,根据当前响应状态判断是否为异常响应状态;当当前响应状态为异常响应状态时,获取当前问答机器人对应的机器人切换状态;当机器人切换状态为开启时,获取当前问答机器人对应的候选问答机器人;通过候选问答机器人根据输入的用户问句重新确定目标技能词槽对应的目标词槽值,返回获取预设配置表的步骤,直至得到与用户语句对应的目标语句。
在其中一个实施例中,人机对话方法还包括:当机器人切换状态为关闭时,从候选基础语句集合中获取与当前问答机器人的目标基础语句;将目标基础语句作为与用户语句对应的目标语句。
一种人机对话装置,该装置包括:
技能词槽获取模块,用于获取目标技能词槽对应的目标词槽值,目标词槽值是当前问答机器人根据输入的用户问句确定得到的;
预设配置表获取模块,用于获取预设配置表,根据预设配置表和目标技能词槽获取与目标词槽值对应的目标业务参数;
目标语句生成模块,用于根据目标业务参数从对应目标业务系统中调用对应的目标信息,生成与用户语句对应的目标语句,发送目标语句至当前问答机器人。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取目标技能词槽对应的目标词槽值,目标词槽值是当前问答机器人根据输入的用户问句确定得到的;
获取预设配置表,根据预设配置表和目标技能词槽获取与目标词槽值对应的目标业务参数;
根据目标业务参数从对应目标业务系统中调用对应的目标信息,生成与用户语句对应的目标语句,发送目标语句至当前问答机器人。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取目标技能词槽对应的目标词槽值,目标词槽值是当前问答机器人根据输入的用户问句确定得到的;
获取预设配置表,根据预设配置表和目标技能词槽获取与目标词槽值对应的目标业务参数;
根据目标业务参数从对应目标业务系统中调用对应的目标信息,生成与用户语句对应的目标语句,发送目标语句至当前问答机器人。
上述人机对话方法、装置、计算机设备和存储介质,获取目标技能词槽对应的目标词槽值,目标词槽值是当前问答机器人根据输入的用户问句确定得到的;获取预设配置表,根据预设配置表和目标技能词槽获取与目标词槽值对应的目标业务参数;根据目标业务参数从对应目标业务系统中调用对应的目标信息,生成与用户语句对应的目标语句,发送目标语句至当前问答机器人。因此,只要得到输入的用户问句对应的目标技能词槽,根据预设配置表获取对应的目标业务参数,根据目标业务参数最后就得到目标语句,即使如果业务系统或问答机器人的逻辑发生变化,也不会导致问答机器人或业务系统相应需要发生变化,提高人机对话的灵活性。
附图说明
图1为一个实施例中人机对话方法的应用环境图;
图2为一个实施例中人机对话方法的流程示意图;
图2a为一个实施例中预设配置表的示意图;
图3为一个实施例中目标技能词槽获取步骤的流程示意图;
图4为一个实施例中目标业务参数获取步骤的流程示意图;
图5为一个实施例中目标语句生成步骤的流程示意图;
图6为另一个实施例中人机对话方法的流程示意图;
图7为又一个实施例中人机对话方法的流程示意图;
图8为再一个实施例中人机对话方法的流程示意图;
图9为一个实施例中人机对话装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的人机对话方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
具体地,终端102上设有当前问答机器人,当前问答机器人获取输入的用户问句,根据用户问句确定对应的目标技能词槽,将目标技能词槽对应的目标词槽值发送至服务器104,服务器104获取到目标技能词槽对应的目标词槽值后,获取预设配置表,根据预设配置表和目标技能词槽获取与目标词槽值对应的目标业务参数,根据目标业务参数从对应目标业务系统中调用对应的目标信息,生成与用户语句对应的目标语句。进一步地,服务器104可以将目标语句发送至终端102上的当前问答机器人,供当前问答机器人进行人机对话。
在另一个实施例中,终端102设有当前问答机器人,当前问答机器人获取输入的用户问句,根据用户问句确定对应的目标技能词槽对应的目标词槽值,获取预设配置表,根据预设配置表和目标技能词槽获取与目标词槽值对应的目标业务参数,根据目标业务参数从对应目标业务系统中调用对应的目标信息,生成与用户语句对应的目标语句,供当前问答机器人进行人机对话。
在一个实施例中,如图2所示,提供了一种人机对话方法,以该方法应用于图1中的终端或服务器为例进行说明,包括以下步骤:
步骤202,获取目标技能词槽对应的目标词槽值,目标词槽值是当前问答机器人根据输入的用户问句确定得到的。
其中,技能词槽是为了完成对应的业务任务所需的必要信息,不同的业务任务对应不同的技能词槽,所谓业务任务是各个行业中需要处理的事务,例如票务业务、生活服务、娱乐业务等。其中,为了完成各个业务任务,都需要一些必要信息才能完成,即这些必要信息为技能词槽。例如,业务任务为票务业务,票务业务可以是订车票,为了完成订车票需要出发时间、始发地、目的地、乘客人数、乘客证件号码等这些必要信息才能完成订车票这个业务任务,因此出发时间、始发地、目的地、乘客人数、乘客证件号码可以为票务业务对应的技能词槽。其中,各个技能词槽都存在对应的词槽值,所谓词槽值是技能词槽的具体赋值,例如,技能词槽为出发时间,则对应的词槽值为:2020年1月13日。
其中,这里的目标技能词槽是与输入的用户问句对应的技能词槽,输入的用户问句主要是用户发出的疑问句,所谓疑问句主要功能是提出问题,询问情况,从输入的用户问句中可以确定对应的业务任务。具体可以是,对输入的用户问句进行语义分析,根据语义分析结果确定对应的当前业务任务。进一步地,根据当前业务任务获取对应的目标技能词槽,其中,可以提前建立业务任务与技能词槽之间的关系,可以根据业务场景、产品需求建立业务任务和技能词槽之间的关联关系。
其中,这里的当前问答机器人是目前正在进行人机对话的问答机器人,可以提前确定用来处理输入的用户问句的当前问答机器人,其中,当前问答机器人的确定方式可自定义,自定义可以是从候选问答机器人中随机选取一个作为当前问答机器人,或者还可以是提前建立业务任务与问答机器人之间的关系,根据输入的用户问句对应的业务任务确定当前问答机器人等等。
具体地,当前问答机器人接收到输入的用户问句后,可以根据输入的用户问句确定得到对应的目标技能词槽。具体可以是,当前问答机器人可以对输入的用户问句进行语义分析,得到语义分析结果,根据语义分析结果确定对应的业务任务,可根据业务任务与技能词槽之间的关系,得到输入的用户问句对应的目标技能词槽,再获取目标技能词槽对应的目标词槽值。
步骤204,获取预设配置表,根据预设配置表和目标技能词槽获取与目标词槽值对应的目标业务参数。
其中,这里的预设配置表是提前配置用来描述技能词槽与对应的业务参数之间的关系的,可以根据产品需求、业务应用场景提前进行配置,将配置好的预设配置表存储至本地。
其中,这里的目标业务参数是与目标技能词槽对应的目标词槽值对应的业务参数,所谓业务参数是业务系统中用来描述对应的业务的相关信息,可以根据业务参数调用对应的目标信息。
具体地,在获取目标技能词槽后,获取存储至本地的预设配置表,获取预设配置表描述技能词槽与对应的业务参数之间的关联关系,根据该关联关系和目标技能词槽查找与目标技能词槽值对应的目标业务参数。
在一个实施例中,如图2a所示,图2a示出一个实施例中预设配置表的示意图,图2a的预设配置表左侧是技能词槽,右侧是业务参数,技能词槽与业务参数之间存在对应的关联关系,具体地,在获取目标技能词槽后,从预设配置表中确定对应的技能词槽,然后将预设配置表中该技能词槽对应的业务参数作为目标技能词槽对应的目标业务参数。
步骤206,根据目标业务参数从对应目标业务系统中调用对应的目标信息,生成与用户语句对应的目标语句,发送目标语句至当前问答机器人。
其中,这里的目标信息是与目标业务参数对应的业务信息,不同的业务参数对应不同的业务信息,可以通过业务参数调用对应的业务信息,再通过业务信息生成对应的目标语句,目标语句可以是一开始输入的用户问句对应的问句答案,目标语句还可以是目标基础语句等。其中,所谓基础语句是预先设置用来回答用户问句的通用回答,当目标信息出现异常时,则可以将目标基础语句作为目标语句,目标基础语句例如:“对不起,该商品太火爆已经卖完啦,请您继续关注”、“对不起,我不理解您说的话”、“对不起,我还在学习中”等等。
具体地,在获取目标技能词槽对应的目标业务参数后,由于不同的业务参数对应不同的业务接口,因此需要根据目标业务参数确定对应的目标接口,所谓业务接口是一个通道,一个与业务系统连接的通道,可以通过该业务接口从业务系统中调用对应的信息,即可以通过目标接口从目标业务系统中调用对应的目标信息,最后可根据目标信息生成用户语句对应的目标语句。其中,目标语句可以是由目标信息组成得到。
其中,业务系统是完成特定领域的事务的系统,由于问答机器人提供的是自然语言理解的通用能力,并不针对特定领域,比如某个问答机器人可以理解订车票相关对话、可以查询天气、可以跟用户讲笑话等多种功能,而不同的领域对应的业务系统是不同的,问答机器人实现人机对话,不同的业务信息需要从不同的业务系统获取相关的信息,比如订车票对应的业务系统为票务业务、查天气对应的业务系统为生活服务、闲聊对应的业务系统为娱乐业务等。
上述人机对话方法中,获取目标技能词槽对应的目标词槽值,目标词槽值是当前问答机器人根据输入的用户问句确定得到的;获取预设配置表,根据预设配置表和目标技能词槽获取与目标词槽值对应的目标业务参数;根据目标业务参数从对应目标业务系统中调用对应的目标信息,生成与用户语句对应的目标语句,发送目标语句至当前问答机器人。因此,只要得到输入的用户问句对应的目标技能词槽,根据预设配置表获取对应的目标业务参数,根据目标业务参数最后就得到目标语句,即使如果业务系统或问答机器人的逻辑发生变化,也不会导致问答机器人或业务系统相应需要发生变化,提高人机对话的灵活性。
在一个实施例中,如图3所示,获取目标技能词槽对应的目标词槽值,目标词槽值是当前问答机器人根据输入的用户问句确定得到的,包括:
步骤302,获取当前问答机器人对应的当前技能状态。
步骤304,当当前技能状态为技能开启状态时,则通过当前问答机器人对用户问句进行语义分析,得到语义分析结果。
其中,当前技能状态是指当前问答机器人的技能启动状态,包括但不限于技能开启状态、技能关闭状态。所谓技能开启状态表示当前问答机器人的技能处于开启状态,技能关闭状态表示当前问答机器人的技能处于关闭状态。各个问答机器人可以根据实际业务需求或者实际应用场景提前设置对应的技能状态,当技能状态开启时,则可通过问答机器人对用户问句进行语义分析,当技能状态关闭时,说明问答机器人无法使用技能,获取目标技能对应的技能基础语句,将技能基础语句作为用户问句的目标语句。其中,所谓技能基础语句是该技能对应的通用回答,可以预先设置的,例如:“对不起,该商品太火爆已经卖完啦,请您继续关注”、“对不起,我不理解您说的话”、“对不起,我还在学习中”等等。
其中,这里的语义分析是指输入的用户问句的句法结构、语义进行分析的过程,所谓句法结构是指词语组成用户问句必须的结构。其中,语义分析包括但不限于分词,分词后的关键词提取,分词后各个词语之间连接关系分析,句法结构分析等等。
其中,由于问答机器人具有自然语言理解的通用能力,因此,在确定用来处理输入的用户语句对应的当前问答机器人后,当前问答机器人获取输入的用户语句后,利用自然语言理解的通用能力对输入的用户语句进行语义分析,语义分析可以是先对用户语句进行分词,分词的原则可以是根据词语与词语之间的通用搭配关系进行分词,或者根据用户语句的句法结构进行分词,得到分词后的词语。进一步地,可以从分词后的词语中提取业务关键词语,所谓业务关键词语是用来体现业务任务的词语,也就是说可以根据关键词语确定用户问句对应的业务任务。其中,语义结果中可以包括关键词语,还可以包括用户语句对应的句法结构等等。
步骤306,当前问答机器人根据语义分析结果确定对应的目标技能。
步骤308,当前问答机器人从多个预设技能词槽中获取与目标技能对应的目标技能词槽,获取目标技能词槽对应的目标词槽值。
其中,这里的技能就是指业务任务,所谓业务任务是各个行业中需要处理的事务,即技能是各个行业中需要处理的事务。而这里的目标技能是指输入的用户问句对应的技能。具体地,当前问答机器人在对用户问句进行语义分析,得到语义分析结果后,根据语义分析结果可以确定对应的目标技能。由于语义分析结果中包括业务关键词语,由于业务关键词语是用来体现业务任务的词语,因此,可以根据语义分析结果中的业务关键词语确定对应的目标业务任务,即目标技能。
进一步地,当前问答机器人在确定用户问句对应的目标技能后,当前问答机器人提前存储技能与技能词槽之间的关系,不同的技能对应不同的技能词槽。
在一个实施例中,当当前技能状态为技能关闭状态时,获取目标技能对应的目标技能基础语句,将目标技能基础语句作为用户语句对应的目标语句。
其中,当技能状态关闭时,说明问答机器人无法使用技能,则获取目标技能对应的技能基础语句,将技能基础语句作为用户问句的目标语句。其中,所谓技能基础语句是该技能对应的通用回答,可以预先设置的,例如:“对不起,该商品太火爆已经卖完啦,请您继续关注”、“对不起,我不理解您说的话”、“对不起,我还在学习中”等等。
具体地,当当前问答机器人对应的当前技能状态为技能关闭状态时,根据技能与技能基础语句之间的关系获取目标技能对应的目标技能基础语句,最后将目标技能基础语句作为用户语句对应的目标语句。
在一个实施例中,如图4所示,获取预设配置表,根据预设配置表获取与目标技能词槽对应的目标业务参数,包括:
步骤402,获取预设配置表,预设配置表包括技能词槽与业务参数之间的关联关系。
步骤404,根据关联关系和目标技能词槽从预设配置表中获取与目标词槽值对应的目标业务参数。
其中,这里的预设配置表是提前配置用来描述技能词槽与对应的业务参数之间的关联关系的,可以根据产品需求、业务应用场景提前进行配置,将配置好的预设配置表存储至本地。
其中,这里的目标业务参数是与目标技能词槽对应的业务参数,所谓业务参数是业务系统中用来描述对应的业务的相关信息,可以根据业务参数调用对应的目标信息。
具体地,在获取目标技能词槽后,获取存储至本地的预设配置表,获取预设配置表描述技能词槽与对应的业务参数之间的关联关系,根据该关联关系从预设配置表中查找与目标技能词槽对应的目标业务参数。
在一个实施例中,如图2a所示,图2a示出一个实施例中预设配置表的示意图,图2a的预设配置表左侧是技能词槽,右侧是业务参数,技能词槽与业务参数之间存在对应的关联关系,具体地,在获取目标技能词槽后,从预设配置表中确定对应的技能词槽,然后将预设配置表中该技能词槽对应的业务参数作为目标词槽值对应的目标业务参数。
在一个实施例中,如图5所示,根据目标业务参数从对应目标业务系统中调用对应的目标信息,生成与用户语句对应的目标语句,包括:
步骤502,根据目标业务参数确定对应的目标接口,获取目标接口对应的目标业务系统。
其中,目标接口是与目标业务参数对应的接口,可通过目标接口调用目标业务参数对应的目标信息。但是,由于不同的业务系统包括不同的对外业务接口,所谓对外业务接口是业务系统提供用来给其他系统进行调用的通道,因此为了避免调用目标信息出现问题,或者调用失败等情况,需要将各个业务系统对应的对外业务接口进行统一封装,得到对应的标准化接口。即,目标接口是目标业务系统的对外业务接口进行封装后得到的标准化接口,不同的业务参数对应不同的标准化接口,可预先建立业务参数与对应的标准化接口之间的关系,再根据该关系获取与目标业务参数对应的目标接口。
进一步地,由于目标接口是目标业务系统的对外业务接口进行封装得到的,因此目标接口与目标业务系统之间也存在关系,可通过该关系确定目标接口对应的目标业务系统。
步骤504,通过目标接口从目标业务系统中调用对应的目标信息。
步骤506,根据目标信息生成与用户语句对应的目标语句。
其中,由于问答机器人只具有自然语言理解的通用能力,并不针对特定领域,因此问答机器人需要从业务系统中获取对应的语句,而业务系统是完成特定领域的事务的系统,不同的领域对应的业务系统是不同的,不同的业务信息需要从不同的业务系统获取相关的信息。因此,在获取目标接口,根据目标接口确定对应的目标业务系统后,通过目标接口从目标业务系统中调用对应的目标信息,即,目标接口是业务系统提供信息的一个专用通道,必须通过该通道才能获得对应的目标信息。
最后,在获得目标信息后,可以根据目标信息生成用户语句对应的目标语句。其中,具体可以是,目标语句可以由目标信息按照一定的顺序组成得到。其中,具体可以是按照目标信息之间的习惯搭配进行组成得到目标语句、或者还可以根据目标信息对应的句法结构进行组成得到目标语句等。
在一个实施例中,如图6所示,人机对话方法还包括:
步骤602,获取目标业务系统对应的对外业务接口。
步骤604,将对外业务接口封装成目标业务系统对应的目标接口。
其中,目标接口是与目标业务参数对应的接口,可通过目标接口调用目标业务参数对应的目标信息。但是,由于不同的业务系统包括不同的对外业务接口,所谓对外业务接口是业务系统提供用来给其他系统进行调用的通道,因此为了避免调用目标信息出现问题,或者调用失败等情况,需要将各个业务系统对应的对外业务接口进行统一封装,得到对应的标准化接口。即,目标接口是目标业务系统的对外业务接口进行封装后得到的标准化接口,不同的业务参数对应不同的标准化接口,可预先建立业务参数与对应的标准化接口之间的关系,再根据该关系获取与目标业务参数对应的目标接口。
其中,将各个业务系统对应的对外业务接口进行统一封装具体可以是,根据预设统一封装协议将对外业务接口封装成标准化接口,包括但不限于重新定义参数名称等。其中,预设统一封装协议可以自定义,自定义可以是根据业务需求,实际应用场景进行确定得到。
步骤606,获取目标接口对应的目标业务参数,建立目标接口与目标业务参数之间的关系。
其中,为了后续能够根据目标业务参数获取对应的目标接口,因此需要建立目标接口与目标业务参数之间的关联关系。具体地,获取各个标准化接口与对应的业务参数,建立各个标准化接口与对应的业务参数之间的关联关系,即,将各个标准化接口与对应的业务参数进行绑定,则绑定成功后,可以根据目标接口获取对应的目标业务参数,或者根据目标业务参数获取对应的目标接口。
在一个实施例中,如图7所示,人机对话方法还包括:
步骤702,获取当前问答机器人的当前响应状态,根据当前响应状态判断是否为异常响应状态。
步骤704,当当前响应状态为异常响应状态时,获取当前问答机器人对应的机器人切换状态。
其中,这里的当前响应状态是指当前问答机器人的响应情况,包括但不限于当前响应成功或当前响应失败,可通过当前响应状态判断当前问答机器人是否出现异常,例如,当当前响应状态为当前响应成功时,说明当前问答机器人是正常的,反之,当当前响应状态为当前响应失败时,则说明当前问答机器人出现异常。当当前问答机器人出现异常时,为了保证人机对话不中断,则可通过候选问答机器人代替当前问答机器人来进行人机对话。
具体地,获取当前问答机器人的当前响应状态,根据当前响应状态判断当前问答机器人是否出现异常,即根据当前响应状态是否为异常响应状态,当当前响应状态为异常响应状态时,获取当前问答机器人对应的机器人切换状态,所谓机器人切换状态是用来描述该当前问答机器人是否设有候选问答机器人的,可通过机器人切换状态得知该当前问答机器人是否设有对应的候选问答机器人。其中,可预先根据业务需求或实际应用场景确定该问答机器人是否设有对应的候选问答机器人,其中,可以提前配置当前问答机器人与候选问答机器人之间的关联关系。
步骤706,当机器人切换状态为开启时,获取当前问答机器人对应的候选问答机器人。
步骤708,通过候选问答机器人根据输入的用户问句重新确定目标技能词槽对应的目标词槽值,返回获取预设配置表的步骤,直至得到与用户语句对应的目标语句。
其中,机器人切换状态存在两种状态,一种是开启状态,一种是关闭状态,当机器人切换状态为开启状态时,说明该当前问答机器人设有对应的候选问答机器人。因此,可获取用来确定当前问答机器人对应的候选问答机器人,通过候选问答机器人重新对输入的用户问句进行自然语言能力处理,即,候选问答机器人根据输入的用户问句重新确定目标技能词槽对应的目标词槽值,返回获取预设配置表的步骤,直至得到与用户语句对应的目标语句。
其中,通过设置候选问答机器人,可以保证人机对话服务不会因为当前问答机器人出现异常而中断,一旦当前问答机器人出现异常,则通过当前问答机器人对应的候选问答机器人重新对输入的用户问句进行解析得到目标技能词槽对应的目标词槽值,再返回获取预设配置表的步骤,直至得到与输入的用户语句对应的目标语句。
在一个实施例中,如图8所示,人机对话方法还包括:
步骤802,当机器人切换状态为关闭时,从候选基础语句集合中获取与当前问答机器人对应的目标基础语句。
步骤804,将目标基础语句作为与用户语句对应的目标语句。
其中,当机器人切换状态为关闭时,说明该当前问答机器人未设有对应的候选问答机器人。因此,可以用预先设置的基础语句作为输入的用户语句对应得目标语句,具体可以是,提前存储候选基础语句集合,候选基础语句集合中包括至少一个候选基础语句,所谓基础语句是预先设置用来回答用户问句的通用回答,例如:“对不起,该商品太火爆已经卖完啦,请您继续关注”、“对不起,我不理解您说的话”、“对不起,我还在学习中”等等。
其中,还可以预先建立各个候选基础语句与对应的问答机器人之间的关联关系,根据该关联关系可以从候选基础语句集合中获取与当前问答机器人对应的目标基础语句。具体地,当检测到机器人切换状态为关闭时,获取候选基础语句集合,根据问答机器人与对应的候选基础语句之间的关系,获取与当前问答机器人对应的目标基础语句,将该目标基础语句作为与输入的用户语句对应的目标语句。
在一个具体的实施例中,提供了一种人机对话方法,具体包括以下步骤:
1、获取目标技能词槽对应的目标词槽值,目标词槽值是当前问答机器人根据输入的用户问句确定得到的。
1-1、获取当前问答机器人对应的当前技能状态,当当前技能状态为技能开启状态时,则通过当前问答机器人对用户问句进行语义分析,得到语义分析结果。
1-2、当前问答机器人根据语义分析结果确定对应的目标技能。
1-3、当前问答机器人从多个预设技能词槽中获取与目标技能对应的目标技能词槽,获取目标技能词槽对应的目标词槽值。
1-4、当当前技能状态为技能关闭状态时,获取目标技能对应的目标技能基础语句,将目标技能基础语句作为用户语句对应的目标语句
2、获取预设配置表,根据预设配置表获取与目标技能词槽对应的目标业务参数。
2-1、获取预设配置表,预设配置表包括技能词槽与业务参数之间的关联关系。
2-2、根据关联关系和目标技能词槽从预设配置表中获取与目标词槽值对应的目标业务参数。
3、根据目标业务参数从对应目标业务系统中调用对应的目标信息,生成与用户语句对应的目标语句,发送目标语句至当前问答机器人。
3-1、获取目标业务系统对应的对外业务接口。
3-2、将对外业务接口封装成目标业务系统对应的目标接口。
3-3、获取目标接口对应的目标业务参数,建立目标接口与目标业务参数之间的关系。
3-4、根据目标业务参数确定对应的目标接口,获取目标接口对应的目标业务系统。
3-5、通过目标接口从目标业务系统中调用对应的目标信息。
3-6、根据目标信息生成与用户语句对应的目标语句。
4、获取当前问答机器人的当前响应状态,根据当前响应状态判断是否为异常响应状态,当当前响应状态为异常响应状态时,获取当前问答机器人对应的机器人切换状态。
5、当机器人切换状态为开启时,获取当前问答机器人对应的候选问答机器人。
6、通过候选问答机器人根据输入的用户问句重新确定目标技能词槽对应的目标词槽值,返回获取预设配置表的步骤,直至得到与用户语句对应的目标语句。
7、当机器人切换状态为关闭时,从候选基础语句集合中获取与当前问答机器人对应的目标基础语句。
8、将目标基础语句作为与用户语句对应的目标语句。应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种人机对话装置900,包括:技能词槽获取模块902、预设配置表获取模块904和目标语句生成模块906,其中:
技能词槽获取模块902,用于获取目标技能词槽对应的目标词槽值,目标词槽值是当前问答机器人根据输入的用户问句确定得到的。
预设配置表获取模块904,用于获取预设配置表,根据预设配置表和目标技能词槽获取与目标词槽值对应的目标业务参数。
目标语句生成模块906,用于根据目标业务参数从对应目标业务系统中调用对应的目标信息,生成与用户语句对应的目标语句,发送目标语句至当前问答机器人。
在一个实施例中,技能词槽获取模块902还用于获取当前问答机器人对应的当前技能状态;当当前技能状态为技能开启状态时,则通过当前问答机器人对用户问句进行语义分析,得到语义分析结果,当前问答机器人根据语义分析结果确定对应的目标技能,当前问答机器人从多个预设技能词槽中获取与目标技能对应的目标技能词槽,获取目标技能词槽对应的目标词槽值。
在一个实施例中,人机对话装置900还用于当当前技能状态为技能关闭状态时,获取目标技能对应的目标技能基础语句,将目标技能基础语句作为用户语句对应的目标语句。
在一个实施例中,预设配置表获取模块904还用于获取预设配置表,预设配置表包括技能词槽与业务参数之间的关联关系,根据关联关系和目标技能词槽从预设配置表中获取与目标词槽值对应的目标业务参数。
在一个实施例中,目标语句生成模块906根据目标业务参数确定对应的目标接口,获取目标接口对应的目标业务系统,通过目标接口从目标业务系统中调用对应的目标信息,根据目标信息生成与用户语句对应的目标语句。
在一个实施例中,人机对话装置900还用于获取目标业务系统对应的对外业务接口,将对外业务接口封装成目标业务系统对应的目标接口,获取目标接口对应的目标业务参数,建立目标接口与目标业务参数之间的关系。
在一个实施例中,人机对话装置900还用于获取当前问答机器人的当前响应状态,根据当前响应状态判断是否为异常响应状态,当当前响应状态为异常响应状态时,获取当前问答机器人对应的机器人切换状态,当机器人切换状态为开启时,获取当前问答机器人对应的候选问答机器人,通过候选问答机器人根据输入的用户问句重新确定目标技能词槽对应的目标词槽值,返回获取预设配置表的步骤,直至得到与用户语句对应的目标语句。
在一个实施例中,人机对话装置900还用于当机器人切换状态为关闭时,从候选基础语句集合中获取与当前问答机器人对应的目标基础语句,将目标基础语句作为与用户语句对应的目标语句。
关于人机对话装置的具体限定可以参见上文中对于人机对话方法的限定,在此不再赘述。上述人机对话装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图10示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端102或服务器104。如图10所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现人机对话方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行人机对话方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取目标技能词槽对应的目标词槽值,目标词槽值是当前问答机器人根据输入的用户问句确定得到的;获取预设配置表,根据预设配置表和目标技能词槽获取与目标词槽值对应的目标业务参数;根据目标业务参数从对应目标业务系统中调用对应的目标信息,生成与用户语句对应的目标语句,发送目标语句至当前问答机器人。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取当前问答机器人对应的当前技能状态,当当前技能状态为技能开启状态时,则通过当前问答机器人对用户问句进行语义分析,得到语义分析结果;当前问答机器人根据语义分析结果确定对应的目标技能;当前问答机器人从多个预设技能词槽中获取与目标技能对应的目标技能词槽,获取目标技能词槽对应的目标词槽值。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当当前技能状态为技能关闭状态时,获取目标技能对应的目标技能基础语句,将目标技能基础语句作为用户语句对应的目标语句。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取预设配置表,预设配置表包括技能词槽与业务参数之间的关联关系;根据关联关系和目标技能词槽从预设配置表中获取与目标词槽值对应的目标业务参数。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据目标业务参数确定对应的目标接口,获取目标接口对应的目标业务系统;通过目标接口从目标业务系统中调用对应的目标信息;根据目标信息生成与用户语句对应的目标语句。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取目标业务系统对应的对外业务接口;将对外业务接口封装成目标业务系统对应的目标接口;获取目标接口对应的目标业务参数,建立目标接口与目标业务参数之间的关系。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取当前问答机器人的当前响应状态,根据当前响应状态判断是否为异常响应状态;当当前响应状态为异常响应状态时,获取当前问答机器人对应的机器人切换状态;当机器人切换状态为开启时,获取当前问答机器人对应的候选问答机器人;通过候选问答机器人根据输入的用户问句重新确定目标技能词槽对应的目标词槽值,返回获取预设配置表的步骤,直至得到与用户语句对应的目标语句。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当机器人切换状态为关闭时,从候选基础语句集合中获取与当前问答机器人对应的目标基础语句;将目标基础语句作为与用户语句对应的目标语句。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取目标技能词槽对应的目标词槽值,目标词槽值是当前问答机器人根据输入的用户问句确定得到的;获取预设配置表,根据预设配置表和目标技能词槽获取与目标词槽值对应的目标业务参数;根据目标业务参数从对应目标业务系统中调用对应的目标信息,生成与用户语句对应的目标语句,发送目标语句至当前问答机器人。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取当前问答机器人对应的当前技能状态,当当前技能状态为技能开启状态时,则通过当前问答机器人对用户问句进行语义分析,得到语义分析结果;当前问答机器人根据语义分析结果确定对应的目标技能;当前问答机器人从多个预设技能词槽中获取与目标技能对应的目标技能词槽,获取目标技能词槽对应的目标词槽值。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当当前技能状态为技能关闭状态时,获取目标技能对应的目标技能基础语句,将目标技能基础语句作为用户语句对应的目标语句。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取预设配置表,预设配置表包括技能词槽与业务参数之间的关联关系;根据关联关系和目标技能词槽从预设配置表中获取与目标词槽值对应的目标业务参数。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据目标业务参数确定对应的目标接口,获取目标接口对应的目标业务系统;通过目标接口从目标业务系统中调用对应的目标信息;根据目标信息生成与用户语句对应的目标语句。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取目标业务系统对应的对外业务接口;将对外业务接口封装成目标业务系统对应的目标接口;获取目标接口对应的目标业务参数,建立目标接口与目标业务参数之间的关系。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取当前问答机器人的当前响应状态,根据当前响应状态判断是否为异常响应状态;当当前响应状态为异常响应状态时,获取当前问答机器人对应的机器人切换状态;当机器人切换状态为开启时,获取当前问答机器人对应的候选问答机器人;通过候选问答机器人根据输入的用户问句重新确定目标技能词槽对应的目标词槽值,返回获取预设配置表的步骤,直至得到与用户语句对应的目标语句。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当机器人切换状态为关闭时,从候选基础语句集合中获取与当前问答机器人对应的目标基础语句;将目标基础语句作为与用户语句对应的目标语句。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
1.一种人机对话方法,所述方法包括:
获取目标技能词槽对应的目标词槽值,所述目标词槽值是当前问答机器人根据输入的用户问句确定得到的;
获取预设配置表,根据所述预设配置表和所述目标技能词槽获取与所述目标词槽值对应的目标业务参数;
根据所述目标业务参数从对应目标业务系统中调用对应的目标信息,生成与所述用户语句对应的目标语句,发送所述目标语句至所述当前问答机器人。
2.根据权利要求1所述的方法,其特征在于,所述获取目标技能词槽对应的词槽值,所述目标词槽值是当前问答机器人根据输入的用户问句确定得到的,包括:
获取所述当前问答机器人对应的当前技能状态;
当所述当前技能状态为技能开启状态时,则通过所述当前问答机器人对所述用户问句进行语义分析,得到语义分析结果;
所述当前问答机器人根据所述语义分析结果确定对应的目标技能;
所述当前问答机器人从多个预设技能词槽中获取与所述目标技能对应的目标技能词槽,获取所述目标技能词槽对应的目标词槽值;
优选地,所述方法还包括:
当所述当前技能状态为技能关闭状态时,获取所述目标技能对应的目标技能基础语句,将所述目标技能基础语句作为所述用户语句对应的目标语句。
3.根据权利要求1所述的方法,其特征在于,所述获取预设配置表,根据所述预设配置表获取与所述目标技能词槽对应的目标业务参数,包括:
获取预设配置表,所述预设配置表包括技能词槽与业务参数之间的关联关系;
根据所述关联关系和所述目标技能词槽从所述预设配置表中获取与所述目标词槽值对应的目标业务参数。
4.根据权利要求1所述的方法,其特征在于,所述根据所述目标业务参数从对应目标业务系统中调用对应的目标信息,生成与所述用户语句对应的目标语句,包括:
根据所述目标业务参数确定对应的目标接口,获取所述目标接口对应的目标业务系统;
通过所述目标接口从目标业务系统中调用对应的目标信息;
根据所述目标信息生成与所述用户语句对应的目标语句。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
获取所述目标业务系统对应的对外业务接口;
将所述对外业务接口封装成所述目标业务系统对应的目标接口;
获取所述目标接口对应的目标业务参数,建立所述目标接口与目标业务参数之间的关系。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述当前问答机器人的当前响应状态,根据所述当前响应状态判断是否为异常响应状态;
当所述当前响应状态为异常响应状态时,获取所述当前问答机器人对应的机器人切换状态;
当所述机器人切换状态为开启时,获取所述当前问答机器人对应的候选问答机器人;
通过所述候选问答机器人根据输入的用户问句重新确定目标技能词槽对应的目标词槽值,返回获取预设配置表的步骤,直至得到与所述用户语句对应的目标语句。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当所述机器人切换状态为关闭时,从候选基础语句集合中获取与所述当前问答机器人对应的目标基础语句;
将所述目标基础语句作为与所述用户语句对应的目标语句。
8.一种人机对话装置,其特征在于,所述装置包括:
技能词槽获取模块,用于获取目标技能词槽对应的目标词槽值,所述目标词槽值是当前问答机器人根据输入的用户问句确定得到的;
预设配置表获取模块,用于获取预设配置表,根据所述预设配置表获取与所述目标技能词槽对应的目标业务参数;
目标语句生成模块,用于根据所述目标业务参数从对应目标业务系统中调用对应的目标信息,生成与所述用户语句对应的目标语句,发送所述目标语句至所述当前问答机器人。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
技术总结