一种人机对话方法、装置、设备及存储介质与流程

文档序号:22627755发布日期:2020-10-23 19:36阅读:136来源:国知局
一种人机对话方法、装置、设备及存储介质与流程

本申请实施例涉及数据处理技术领域,尤其涉及语音交互、自然语言处理和云计算技术。



背景技术:

随着自然语言处理技术的日渐成熟,智能对话技术越来越广泛地应用在智能客服、智能外呼、智能音箱等应用场景或产品中。智能客服通常是由终端用户发起,对话系统被动回答终端用户在若干对话场景中的问题。

然而,在多个对话场景进行切换的情况下,由于智能客服机器人仅能被动回答问题,因此可能存在未完成对话场景的遗漏情况,给用户带来较差的使用体验。



技术实现要素:

本申请提供了一种能够减少对话场景遗漏的人机对话方法、装置、设备及存储介质。

根据本申请的一方面,提供了一种人机对话方法,包括:

在当前对话场景下的人机对话过程中,响应于用户的输入操作,识别所述当前对话场景的对话状态;

若所述对话状态为结束态,则根据历史场景库中至少一个未完成历史场景,生成并展示继续执行引导语;

根据所述用户对所述继续执行引导语的反馈数据,对所述继续执行引导语所关联的至少一个未完成历史场景进行处理。

根据本申请的另一方面,提供了一种人机对话装置,包括:

对话状态识别模块,用于在当前对话场景下的人机对话过程中,响应于用户的输入操作,识别所述当前对话场景的对话状态;

引导语生成展示模块,用于若所述对话状态为结束态,则根据历史场景库中至少一个未完成历史场景,生成并展示继续执行引导语;

目标历史场景处理模块,用于根据所述用户对所述继续执行引导语的反馈数据,对所述继续执行引导语所关联的至少一个未完成历史场景进行处理。

根据本申请的又一方面,提供了一种电子设备,包括:

至少一个处理器;以及

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

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请实施例提供的任意一种人机对话方法。

根据本申请的再一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请实施例提供的任意一种人机对话方法。

本申请实施例能够在多个对话场景进行切换的情况下,减少对话场景的遗漏,提高了用户的使用体验。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本申请的限定。其中:

图1a是本申请实施例提供的一种人机对话方法的流程图;

图1b是本申请实施例提供的一种对话场景对应的节点树的示意图;

图2是本申请实施例提供的另一种人机对话方法的流程图;

图3是本申请实施例提供的另一种人机对话方法的流程图;

图4是本申请实施例提供的另一种人机对话方法的流程图;

图5是本申请实施例提供的一种人机对话装置的结构图;

图6是用来实现本申请实施例的人机对话方法的电子设备的框图。

具体实施方式

以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

本申请实施例公开的各人机交互方法和人机交互装置,适用于采用智能音箱等电子设备与用户之间进行多对话场景的语音交互的情况。该人机交互方法由人机交互装置执行,该装置采用软件和/或硬件实现,并具体配置于电子设备中。其中,电子设备可以是能够进行客服对话的设备,例如可以是客服机器人。

图1a是本申请实施例提供的一种人机对话方法的流程图,该方法包括:

s101、在当前对话场景下的人机对话过程中,响应于用户的输入操作,识别所述当前对话场景的对话状态。

其中,对话场景可以是具备前后逻辑顺序的对话流程所构成的多轮对话场景,例如查天气场景、订机票场景、订酒店场景、和租车场景等中的至少一种;还可以是单一问答对应的单轮对话场景,例如问答对、知识图谱和闲聊等中的至少一种。

其中,对话状态,用于反映当前对话场景的完成阶段,可以包括结束态,用于表征当前对话场景已完成;还可以包括中间态,用于表征当前对话场景尚未结束。

由于对话场景可以根据交互次数,划分为多轮对话场景和单轮对话场景,而单轮对话场景执行一次对话后即可认为对话完毕,如用户询问电子设备“你是小哥哥还是小姐姐”,当电子设备反馈答案后,就完成了该对话场景,因此不会涉及中间态这一对话状态。因此,可以首先通过场景类型对中间态和结束态加以区分。具体的,识别当前对话场景的场景类型;若场景类型为单轮对话场景,则确定对话状态为结束态;若对话类型为多轮对话场景,则根据当前对话在当前对话场景的设定流程的所处位置,确定对话状态。

其中,设定流程可以理解为完成对话场景所需要完成的整个流程。设定流程可以包括节点和引导线。节点用于表征当前对话场景的所处阶段,并存储有与该阶段相关的节点信息,例如回复话术、进入条件、跳转条件以及跳转的目标节点等;引导线用于表征节点之间的跳转关系,由本节点指向目标节点,从而实现信息流引导。其中,各对话场景的设定流程可以由技术人员根据场景需求预先设定并存储,并在需要时,根据对话场景进行设定流程的查找获取。

示例性地,根据当前对话在当前对话场景的设定流程的所处位置,确定对话状态,可以是:若当前对话在当前对话场景的设定流程的结束位置,则确定对话状态为结束态;否则,确定对话状态为中间态。

可选的,设定流程可以采用节点树的形式存在,节点树中的各节点表征该节点所处对话场景的不同阶段。相应的,根据当前对话在当前对话场景的节点树中的节点位置,确定对话状态;若节点位置为叶子节点,则确定对话状态为结束态;若节点位置为非叶子节点,则确定对话状态为中间态。参见图1b所示的对话场景对应的节点树的示意图,其中,一个对话场景对应一个节点树。

可选的,设定流程还可以以状态图的形式存在,状态图中的各节点表征该节点所处对话场景的不同阶段。相应的,根据当前对话在当前对话场景的状态图中的节点位置,确定对话状态;若节点位置为叶子节点,则确定对话状态为结束态;若节点位置为非叶子节点,则确定对话状态为中间态。

s102、若所述对话状态为结束态,则根据历史场景库中至少一个未完成历史场景,生成并展示继续执行引导语。

其中,历史场景库中存储有至少一个未完成的历史场景。其中,未完成的历史场景,可以理解为在启动电子设备进行人机对话后,在当前对话场景之前的各未完成的对话场景。

可以理解的是,在人机对话时,用户和电子设备通常会进行问答互动,例如在智能客户机器人工作时,针对用户提出的问题进行反馈,还可以在反馈的过程中向用户收集用于解决问题的实体表述。当在向用户收集实体表述的过程中,若识别到用户启动其他对话场景,则认为该当前对话场景为未完成历史场景。当在向用户收集实体表述,并基于实体表述进行数据反馈之后,若识别到用户启动其他对话场景,则认为该当前对话场景为已完成历史场景。

举例说明,当用户采用订票客服机器人进行机票预订时,订票客服机器人会向用户收集乘坐区间、乘坐时间以及舱位类型等实体表述。例如,当订票客服机器人询问用户舱位类型时,用户反馈“上海的天气怎么样”,此时订机票场景即为查天气场景的未完成历史场景。当用户采用订票客服机器人进行机票预订时,订票客服机器人获取用户的“乘坐区间”、“乘坐时间”以及“舱位类型”等实体表述后,向用户反馈相应的票务信息。在向用户反馈票务信息之后,接收用户反馈的“上海的天气怎么样”的输入数据,那么此时订机票场景即为已完成历史场景。

其中,继续执行引导语用户向用户展示至少一个未完成历史场景,从而引导用户继续执行或禁止执行该执行引导语中所包含的未完成历史场景。

若当前对话场景的对话状态为结束态,则表明当前对话场景已执行完毕,因此可以进行其他场景的处理。若此时历史场景库中存储有未完成历史场景,则通过基于历史场景库中的至少一个未完成历史场景,生成继续执行引导语,从而提醒用户还有未完成历史场景,避免产生未完成历史场景的遗漏。

例如,历史场景库中存储了“查天气场景”,则生成诸如“是否继续查询天气状况”的继续执行引导语。又如,历史场景库中存储了“订酒店场景”和“查天气场景”,则生成诸如“是否继续预定酒店或查询天气”的继续执行引导语。

其中,继续执行引导语的展示方式,可以由用户根据个人习惯自行设定,或由技术人员根据经验设定为默认展示方式。示例性地,展示方式可以采用语音提醒方式以及文字提醒方式等中的至少一种。

可以理解的是,在进行人机对话的过程中,可能存在历史场景库为空,也即历史场景库中不存在未完成历史场景的情况,此时,可以不做任何处理,或者等待用户进行新的对话场景的开启。

为了提高用户的使用体验,可选的,若历史场景库中不存在未完成历史场景,则向用户展示默认引导语,用于询问用户是否开启新的对话场景,从而提高对话过程的友好性,并一定程度上提高用户的使用粘性。

s103、根据所述用户对所述继续执行引导语的反馈数据,对所述继续执行引导语所关联的至少一个未完成历史场景进行处理。

向用户展示继续执行引导语后,接收用户基于继续执行引导语的反馈数据,进而根据反馈数据,确定对至少一个未完成历史场景的处理方式。

其中,反馈数据可以是肯定性答复,用于表征对未完成历史场景下人机对话的允许执行;反馈数据还可以是否定性答复,用于表征对未完成历史场景下人机对话的禁止执行。

相应的,若接收到继续执行的反馈数据时,表明用户愿意继续未完成历史场景的人机对话,因此将选取其中一个未完成历史场景作为新的当前对话场景,继续进行人机对话。若接收到禁止执行的反馈数据时,则表明用户不愿意继续与继续执行引导语关联的未完成历史场景的人机对话,因此将直接丢弃与继续执行引导语关联的各未完成历史场景,不再进行后续处理。

可选的,历史场景库可以是场景队列,或场景栈,用于顺序存储未完成历史场景,相应的,在进行历史场景处理时,顺序读取其中一个未完成历史场景作为目标历史场景,进行目标历史场景的处理。

为了提高所选取的未完成历史场景的多样性,可选的,历史场景库还可以是场景链表,用于非连续、非顺序的进行未完成历史场景的存储。相应的,在进行历史场景处理时,按照设定读取规则、或随机选取其中一个未完成历史场景作为目标历史场景,进行目标历史场景的处理。

可以理解的是,通过对历史场景库设置不同的存储结构,为未完成历史场景的选取多样性奠定了基础。

本申请实施例通过在当前对话场景下的人机对话过程中,响应于用户的输入操作,识别当前对话场景的对话状态;若对话状态为结束态,则根据历史场景库中至少一个未完成历史场景,生成并展示继续执行引导语;根据用户对继续执行引导语的反馈数据,对继续执行引导语所关联的至少一个未完成历史场景进行处理。上述技术方案通过在当前对话场景为结束态时,生成并展示继续执行引导语,从而对用户进行至少一个未完成历史场景的提醒,并基于用户的反馈数据,对至少一个未完成历史场景进行处理,从而减少了多个对话场景切换时的对话场景遗漏的情况,进而提高了用户的使用体验。

图2是本申请实施例提供的另一种人机对话方法的流程图,该方法在上述各技术方案的基础上进行了优化改进。

进一步地,将操作“根据所述用户对所述继续执行引导语的反馈数据,对所述继续执行引导语所关联的至少一个未完成历史场景进行处理”,细化为“若所述反馈数据为继续执行,则从所述至少一个未完成历史场景中选取目标历史场景;从所述历史场景库中读出所述目标历史场景,并将所述目标历史场景作为新的当前对话场景,进行人机对话”,以完善用户要求继续执行情况下,对目标历史场景的处理机制。

进一步地,将操作“根据所述用户对所述继续执行引导语的反馈数据,对所述继续执行引导语所关联的至少一个未完成历史场景进行处理”,细化为“若所述反馈数据为禁止执行,则丢弃所述继续执行引导语所关联的至少一个未完成历史场景,并返回执行继续执行引导语的生成与展示操作。”,以完善用户要求禁止执行情况下,对目标历史场景的处理机制。

如图2所示的一种人机对话方法,包括:

s201、在当前对话场景下的人机对话过程中,响应于用户的输入操作,识别所述当前对话场景的对话状态。

s202、若所述对话状态为结束态,则根据历史场景库中至少一个未完成历史场景,生成并展示继续执行引导语。

在本申请实施例的一种可选实施方式中,可以随机选取历史场景库中至少一个未完成历史场景,并根据选取的各未完成历史场景,生成继续执行引导语,并向用户展示该继续执行引导语。

为了提高所选取的未完成历史场景与用户的匹配度,在本申请实施例的另一可选实施方式中,还可以根据设定选取规则,从历史场景库中选取至少一个未完成历史场景;根据选取的各未完成历史场景,生成继续执行引导语,并向用户展示该继续执行引导语。

示例性地,根据设定选取规则,从历史场景库中选取至少一个未完成历史场景,可以是:根据历史场景库中包含的各未完成历史场景的存储顺序,从历史场景库中选取至少一个历史场景。

例如,在使用场景栈作为历史场景库时,依照后进先出原则,选取距离当前时刻最近的至少一个未完成历史场景,从而由近及远进行未完成历史场景提醒,更加贴合人与人之间的沟通逻辑。又如,在使用场景队列作为历史场景库时,依照先进先出原则,选取最先存储的至少一个未完成历史场景,从而由远及近进行未完成历史场景提醒,避免最先存储的未完成历史场景过长时间未响应,给用户带来较差的使用体验。

示例性地,根据设定选取规则,从历史场景库中选取至少一个未完成历史场景,还可以是:根据历史场景库中包含的各未完成历史场景与当前对话场景的相关性,从历史场景库中选取至少一个未完成历史场景。

例如,在使用场景链表作为历史场景库时,选取与当前对话场景关联性更高的至少一个未完成历史场景,从而避免了在多场景切换时出现的切换突兀的情况,提高了切换过程的自然过渡,同时为用户进行关联信息的掌握奠定了基础,从而提高了用户的使用体验。如在完成“订机票场景”的人机对话后,选取与“订机票场景”相关联的“查天气场景”、“订酒店场景”、“订餐厅场景”和“导航场景”等未完成历史场景中的至少一种。

又如,在使用场景链表作为历史场景库时,选取与当前对话场景相似度更高的至少一个未完成历史场景,为用户相似信息的掌握奠定了基础,从而提高了用户的使用体验。如在完成对“景区a”的“导航场景”后,从各未完成历史场景中,选取对与“景区a”位于相同区域的“景区b”的“导航场景”。其中,相同区域可以是两者距离小于设定距离范围,其中,设定距离范围可以由技术人员根据经验值进行设定,还可以由用户自主设定。

s203、判断用户对继续执行引导语的反馈数据是否为继续执行;若是,则执行s204a;否则,执行s204b。

若用户对继续执行引导语的反馈数据为继续执行,则表明用户愿意在继续执行引导语所关联的至少一个未完成历史场景下,进行人机对话;若用户对继续执行引导语的反馈数据为禁止执行,则表明用户不愿意在继续执行引导语所关联的各未完成历史场景下,进行人机对话。

s204a、从所述至少一个未完成历史场景中选取目标历史场景。

示例性地,可以从用户基于继续执行引导语所选择的至少一个未完成历史场景中,选取目标历史场景,从而依照用户选择意愿,辅助进行目标历史场景的选取,进而提高用户满意度。

具体的,向用户展示继续执行引导语后,用户基于继续执行引导语向电子设备进行数据反馈;电子设备接收该反馈数据,并基于反馈数据中包含有历史场景指定数据进行目标历史场景的选取。其中,历史场景指定数据包括用户从继续执行引导语所关联的各未完成历史场景中,选取的至少一个未完成历史场景。

可选的,当用户基于继续执行引导语所选择的未完成历史场景仅包含一个时,直接选取该未完成历史场景作为目标历史场景。

可选的,当用户基于继续执行引导语所选择的未完成历史场景包括至少两个时,随机选取该至少两个未完成历史场景中的其中一个,作为目标历史场景。或者,按照设定选取规则,选择该至少两个未完成历史场景中的其中一个,作为目标历史场景。

示例性地,按照设定选取规则,选择该至少两个未完成历史场景中的其中一个,作为目标历史场景,可以是:从该至少两个未完成历史场景中,选取与当前对话场景关联性更高的其中一个,作为目标历史场景;或者,从该至少两个未完成历史场景中,选取与当前对话场景相似度更高的其中一个,作为目标历史场景;或者,从该至少两个未完成历史场景中,选取存储顺序较近或较远的其中一个,作为目标历史场景。

s205a、从所述历史场景库中读出所述目标历史场景,并将所述目标历史场景作为新的当前对话场景,进行人机对话。返回执行s201。

当用户愿意在继续执行引导语所关联的至少一个未完成历史场景下,进行人机对话时,从继续执行引导语所关联的至少一个未完成历史场景中选取目标历史场景;从历史场景库中读出目标历史场景,并将目标历史场景作为新的当前对话场景;在新的当前对话场景下,继续进行人机对话,从而避免了在多对话场景下,对未完成的目标历史场景的遗漏。另外,通过从历史场景库中读出目标历史场景,实现了对历史场景库中目标历史场景的剔除,从而避免在该目标对话场景下的人机对话的重复执行。

需要说明的是,在对目标历史场景进行人机对话时,可能存在对已完成阶段内容进行重复处理的情况。例如在未完成历史场景“订机票场景”中,已经收集了“乘坐区间”的相关信息并未收集“乘坐时间”以及“舱位类型”。当将“订机票场景”作为目标历史场景进行人机对话时,再次进行与“乘车区间”获取相关的人机对话。

为了避免对目标理解场景中已完成阶段内容的重复处理,提高用户的使用体验,在本申请实施例的一种可选实施方式中,可以在历史场景库中存储各未完成历史场景的场景数据;相应的,从所述历史场景库中读出所述目标历史场景,并将所述目标历史场景作为新的当前对话场景,进行人机对话,可以是:从历史场景库中读出目标历史场景的场景数据;将目标历史场景作为新的当前对话场景,并根据目标历史场景的场景数据进行人机对话。

其中,未完成历史场景的场景数据可以包括:节点信息、节点所属场景以及场景上下文信息中的至少一种。其中,节点信息,用于表征未完成历史场景在执行中断时所在的节点位置;节点所属场景,用于表征未完成历史场景;场景上下文信息,用于表征在未完成历史场景中断之前所收集的与该场景关联的实体表述和未完成历史场景已完成部分的人机交互次数等。

s204b、丢弃所述继续执行引导语所关联的至少一个未完成历史场景。

s205b、根据历史场景库中至少一个未完成历史场景,生成并展示继续执行引导语。返回执行s203。

当用户不愿意在继续执行引导语所关联的至少一个未完成历史场景下,进行人机对话时,从继续执行引导语所关联的至少一个未完成历史场景中,选取用户不愿意继续执行的目标历史场景,并从历史场景库中丢弃目标历史场景,从而避免了后续在该目标对话场景下的人机对话。上述技术方案将对未完成历史场景的重启动的选择权交由用户进行控制,充分尊重用户的沟通意愿,进一步提高了用户的使用体验。

本申请实施例通过将根据用户对继续执行引导语的反馈数据,对继续执行引导语所关联的至少一个未完成历史场景进行处理的操作,在反馈数据为继续执行以及反馈数据为禁止执行两个维度上,进行了细化,从而完善了根据用户的反馈数据对未完成历史场景进行处理的处理机制,能够充分尊重用户的个人意愿,确定是否在未完成历史场景下继续执行人机对话,仅在用户愿意继续开展的未完成历史场景下进行人机对话,避免了在用户不愿继续开展的未完成历史场景下进行人机对话,致使用户反感,从而提高了用户的使用体验。

图3是本申请实施例提供的另一种人机对话方法的流程图,该方法在上述各技术方案的基础上,进行了优化改进。

进一步地,追加“若所述对话状态为中间态,则根据所述用户的输入数据,确定是否触发了新的对话场景;根据确定结果,对所述当前对话场景进行处理”,以完善对话状态为中间态时的人机对话机制。

如图3所示的一种人机对话方法,包括:

s301、在当前对话场景下的人机对话过程中,响应于用户的输入操作,识别所述当前对话场景的对话状态。

s302、判断对话状态是否为结束态;若是,则执行s303a,否则执行s303b。

判断当前对话场景的对话状态是否为结束态;如果是,则表明当前对话场景已完成,无需进行该当前对话场景的继续执行;如果否,则表明当前对话场景尚未完成,需要进行该当前对话场景的继续执行。

s303a、根据历史场景库中至少一个未完成历史场景,生成并展示继续执行引导语。

s304a、根据所述用户对所述继续执行引导语的反馈数据,从所述至少一个未完成历史场景中选取目标历史场景进行处理。

s303b、根据用户的输入数据,确定是否触发了新的对话场景。

s304b、根据确定结果,对所述当前对话场景进行处理。

在当前对话场景尚未完成时,需要继续在当前对话场景下进行人机对话。在进行人机对话的过程中,当接收到用户的输入数据时,需要确定用户是否要开展新的对话场景。当用户触发了新的对话场景时,为了迎合用户,一般会继续开展新的对话场景,此时,该当前对话场景将会转变为未完成历史场景。当用户未触发新的对话场景时,将会继续在该当前对话场景下开展人机对话。可以理解的是,通过对用户触发和未触发新的对话场景的情况下,对当前对话场景进行区别对待,能够更好的提供用户的使用体验。

示例性地,根据用户的输入数据,确定是否触发了新的对话场景,可以借助自然语言处理技术加以实现。可选的,对用户的输入数据进行语义分析,确定用户意图;根据用户意图,确定是否触发了新的对话场景。将用户意图与当前对话场景的场景意图进行比对;若比对结果一致,则表明未触发新的对话场景;否则,表明触发了新的对话场景。例如,对用户的输入数据“今天多少度”进行语义分析,确定用户意图为“查天气”;若当前对话场景的场景意图为“查天气”,则表明未触发新的对话场景;若当前对话场景的场景意图不是“查天气”,例如“订机票”,则表明触发了新的对话场景。

示例性地,根据确定结果,对当前对话场景进行处理,可以是:若触发了新的对话场景,则将当前对话场景作为未完成历史场景,存储至历史场景库,并将新的对话场景作为新的当前对话场景,进行人机对话。若未触发新的对话场景,则根据当前对话场景的设定流程,继续进行人机对话。其中,设定流程可以采用节点树或状态图的形式存在。各对话场景对应的设定流程可以由技术人员根据场景需求进行设定。

本申请实施例在执行人机对话的过程中,若当前对话场景的对话状态为中间态,则根据用户的输入数据,确定是否触发了新的对话场景,并根据确定结果对当前对话场景进行处理,进一步完善了当前对话场景为中间态时的人机对话机制,为多对话场景的顺利执行提供了保障。

图4是本申请实施例提供的另一种人机对话方法的流程图,该方法在上述各技术方案的基础上,提供了一种优选实施方式。

如图4所示的一种人机对话方法,应用于智能客服机器人,包括:

s401、在人机对话过程中,接收用户输入;

s402、判断当前场景是否为结束态;若是,则执行s403;否则,执行s408;

s403、判断场景栈中是否有未完成的场景;若是,则执行s404;否则,执行s411;

s404、从栈顶压出一个未完成的场景,基于该未完成的场景进行引导并接收用户反馈;

s405、根据用户反馈确定是否继续进行该未完成的场景;若是,则执行s406;否则,执行s407。

s406、进入该未完成场景,进行人机对话;返回执行s401;

s407、丢弃该未完成的场景;返回执行s403。

s408、根据用户输入确定是否触发新对话场景;若是,则执行s409;否则,执行s410;

s409、将老的对话场景压入场景栈,进入新对话场景,进行人机对话;返回执行s401。

s410、继续执行当前场景,进行人机对话;返回执行s401。

s411、基于默认引导话术,引导用户是否继续进行人机对话;若是,则执行s412;否则,执行s413;

s412、等待用户输入,以进入新的对话场景;返回执行s401;

s413、结束人机对话。

本申请在人机对话过程中引入场景栈,当用户在对话过程中,主动跳出当前对话场景,进入新的对话场景是,会将当前场景以会话数据亚展;在新的对话场景结束,且用户没有主动引导进入新的对话场景是,可以自动引导用户是否要继续进入未完成场景,提高了用户的对话体验。

图5是本申请实施例提供的一种人机对话装置的结构图,该人机对话装置500,包括:对话状态识别模块501、引导语生成展示模块502和历史场景处理模块503。其中,

对话状态识别模块501,用于在当前对话场景下的人机对话过程中,响应于用户的输入操作,识别所述当前对话场景的对话状态;

引导语生成展示模块502,用于若所述对话状态为结束态,则根据历史场景库中至少一个未完成历史场景,生成并展示继续执行引导语;

历史场景处理模块503,用于根据所述用户对所述继续执行引导语的反馈数据,对所述继续执行引导语所关联的至少一个未完成历史场景进行处理。

本申请实施例通过对话状态识别模块在当前对话场景下的人机对话过程中,响应于用户的输入操作,识别当前对话场景的对话状态;通过引导语生成展示模块若对话状态为结束态,则根据历史场景库中至少一个未完成历史场景,生成并展示继续执行引导语;通过历史场景处理模块根据用户对继续执行引导语的反馈数据,对继续执行引导语所关联的至少一个未完成历史场景进行处理。上述技术方案通过在当前对话场景为结束态时,生成并展示继续执行引导语,从而对用户进行至少一个未完成历史场景的提醒,并基于用户的反馈数据,对至少一个未完成历史场景进行处理,从而减少了多个对话场景切换时的对话场景遗漏的情况,进而提高了用户的使用体验。

进一步地,所述历史场景处理模块503,包括:

目标历史场景选取单元,用于若所述反馈数据为继续执行,则从所述至少一个未完成历史场景中选取目标历史场景;

目标历史场景处理单元,用于从所述历史场景库中读出所述目标历史场景,并将所述目标历史场景作为新的当前对话场景,进行人机对话。

进一步地,所述历史场景处理模块503,包括:

历史场景丢弃单元,用于若所述反馈数据为禁止执行,则丢弃所述继续执行引导语所关联的至少一个未完成历史场景,并返回执行继续引导语的生成与展示操作。

进一步地,该装置还包括:

新对话场景触发确定模块,用于若所述对话状态为中间态,则根据所述用户的输入数据,确定是否触发了新的对话场景;

触发确定结果响应模块,用于根据确定结果,对所述当前对话场景进行处理。

进一步地,所述触发确定结果响应模块,包括:

新对话场景触发响应单元,用于若触发了新的对话场景,则将所述当前对话场景作为未完成历史场景存储至所述历史场景库,并将所述新的对话场景作为新的当前对话场景,进行人机对话;

新对话场景未触发响应单元,用于若未触发新的对话场景,则根据所述当前对话场景的设定流程,继续进行人机对话。

进一步地,该装置,还包括:

默认引导语展示模块,用于若所述历史场景库中不存在未完成历史场景,则向所述用户展示默认引导语,用于询问用户是否开启新的对话场景。

进一步地,所述引导语生成展示模块502,包括:

相关性选取单元,用于根据所述历史场景库中包含的各未完成历史场景与所述当前对话场景的相关性,从所述历史场景库中选取至少一个未完成历史场景,并根据所选取的各历史场景,生成并展示继续执行引导语;或者,

顺序选取单元,用于根据所述历史场景库中包含的各未完成历史场景的存储顺序,从所述历史场景库中选取至少一个未完成历史场景,并根据所选取的各历史场景,生成并展示继续执行引导语。

进一步地,所述目标历史场景选取单元,包括:

目标历史场景选取子单元,用于从所述用户基于所述继续执行引导语所选择的至少一个未完成历史场景中,选取所述目标历史场景。

进一步地,所述历史场景库中存储有各未完成历史场景的场景数据;

相应的,所述目标历史场景处理单元,包括:

场景数据读出子单元,用于从所述历史场景库中读出所述目标历史场景的场景数据;

新当前对话场景生成子单元,用于将所述目标历史场景作为新的当前对话场景,并根据所述目标历史场景的场景数据,进行人机对话。

进一步地,所述历史场景库为场景栈、场景队列或场景链表。

上述人机对话装置可执行本申请任意实施例所提供的人机对话方法,具备执行人机对话方法相应的功能模块和有益效果。

根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。

如图6所示,是实现本申请实施例的人机对话方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。

如图6所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个处理器601为例。

存储器602即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的人机对话方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的人机对话方法。

存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的人机对话方法对应的程序指令/模块(例如,附图5所示的对话状态识别模块501、引导语生成展示模块502和历史场景处理模块503)。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的人机对话方法。

存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储实现人机对话方法的电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至实现人机对话方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

实现人机对话方法的电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。

输入装置603可接收输入的数字或字符信息,以及产生与实现人机对话方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置(例如,led)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(lcd)、发光二极管(led)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。

此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

根据本申请实施例的技术方案,通过在当前对话场景下的人机对话过程中,响应于用户的输入操作,识别当前对话场景的对话状态;若对话状态为结束态,则根据历史场景库中至少一个未完成历史场景,生成并展示继续执行引导语;根据用户对继续执行引导语的反馈数据,对继续执行引导语所关联的至少一个未完成历史场景进行处理。上述技术方案通过在当前对话场景为结束态时,生成并展示继续执行引导语,从而对用户进行至少一个未完成历史场景的提醒,并基于用户的反馈数据,对至少一个未完成历史场景进行处理,从而减少了多个对话场景切换时的对话场景遗漏的情况,进而提高了用户的使用体验。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

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