对话处理方法、装置、电子设备及存储介质与流程

文档序号:16430549发布日期:2018-12-28 20:07阅读:152来源:国知局
对话处理方法、装置、电子设备及存储介质与流程

本发明涉及人工智能领域,尤其涉及一种对话处理方法、装置、电子设备及存储介质。

背景技术

多轮对话技术是人机对话系统智能的体现,尤其是在任务驱动的多轮对话中,因为用户的需求可以比较复杂,可能需要分多轮进行陈述,用户也可能在对话过程中不断修改或完善自己的需求,比如在病例问诊中,医生需要通过多轮询问用户的症状,来更加准确的进行问诊,同时在询问的过程中会根据用户的回答决定下一次需要询问的话语。

目前,在多轮对话场景中,一般通过上下文技术,来理解用户的意图,然后根据用户的意图返回对应的答复内容。现在常用的上下文技术主要有补词、指代消解、深度学习模型。以深度学习模型为例,在训练模型时,一般是采用对话状态追踪技术,通过大量的语料学习出各种对话状态以及它们之间的跳转关系。这些技术主要依赖于数据,每一领域的模型训练都需要一定的标注数据,且使用门槛较高,一般业务人员很难提供专业数据。目前这些方法还停留在理论研究阶段,无法适用于多轮对话场景的实际需求。因此,亟需一种多轮对话方法,来满足多轮对话场景的实际需求。



技术实现要素:

本发明实施例提供了一种对话处理方法、装置、电子设备及存储介质,可以解决相关技术无法适用于多轮对话场景的实际需求的问题。所述技术方案如下:

一方面,提供了一种对话处理方法,所述方法包括:

当获取到输入的目标问题信息时,查询树状结构的知识库,所述树状结构的知识库包含多个根节点、每个根节点下的至少一层分支节点以及多个叶子节点,每层分支节点包含至少一个分支节点,每个根节点对应一个第一问题信息,每个分支节点对应一个第二问题信息,每个叶子节点对应一个第一答案信息,所述每个分支节点的每个下一层节点分别对应于所述每个分支节点对应的第二问题信息的一个第二答案信息,同一个第一问题信息对应多个第一答案信息;

当所述树状结构的知识库中包含第一根节点时,输出所述第一根节点下的第一层分支节点对应的第二问题信息,所述第一根节点对应的第一问题信息与所述目标问题信息的相似度大于第一阈值;

当获取到输入的第二答案信息时,根据所述输入的第二答案信息,输出所述目标问题信息的第一答案信息。

一方面,提供了一种对话处理装置,所述装置包括:

查询模块,用于当获取到输入的目标问题信息时,查询树状结构的知识库,所述树状结构的知识库包含多个根节点、每个根节点下的至少一层分支节点以及多个叶子节点,每层分支节点包含至少一个分支节点,每个根节点对应一个第一问题信息,每个分支节点对应一个第二问题信息,每个叶子节点对应一个第一答案信息,所述每个分支节点的每个下一层节点分别对应于所述每个分支节点对应的第二问题信息的一个第二答案信息,同一个第一问题信息对应多个第一答案信息;

输出模块,用于当所述树状结构的知识库中包含第一根节点时,输出所述第一根节点下的第一层分支节点对应的第二问题信息,所述第一根节点对应的第一问题信息与所述目标问题信息的相似度大于第一阈值;

所述输出模块还用于当获取到输入的第二答案信息时,根据所述输入的第二答案信息,输出所述目标问题信息的第一答案信息。

一方面,提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由所述处理器加载并执行以实现上述对话处理方法所执行的操作。

一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如上述对话处理方法所执行的操作。

本发明实施例提供的技术方案带来的有益效果至少包括:

通过在获取到用户输入的目标问题信息时,查询树状结构的知识库,以确定第一问题信息与目标问题信息的相似度大于第一阈值的第一根节点,并输出该第一根节点下的第一层分支节点对应的第二问题信息,进而根据用户输入的第二答案信息,向用户输出目标问题信息的第一答案信息。通过查询一个树形结构的知识库,即可在用户与电子设备的一问一答过程中,实现不同信息的跳转,可以满足多轮对话场景的实际需求。

附图说明

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

图1是本发明实施例提供的一种对话处理方法的实施环境示意图;

图2是本发明实施例提供的一种对话处理方法的流程图;

图3是本发明实施例提供的一种配置页面的示意图;

图4是本发明实施例提供的一种树形结构的知识库示意图;

图5是本发明实施例提供的一种对话处理装置的结构示意图;

图6是本发明实施例提供的一种对话处理装置的结构示意图;

图7是本发明实施例提供的一种对话处理装置的结构示意图;

图8是本发明实施例提供的一种电子设备800的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

图1是本发明实施例提供的一种对话处理方法的实施环境示意图,参见图1,该实施环境可以包括两种,一种实施环境可以包括电子设备101,如图1中的(a)图所示,另一种实施环境可以包括电子设备102和终端103,如图1中的(b)图所示。

其中,电子设备101为可以与用户进行对话的任一智能设备,比如具体形式可为智能音响。用户可以直接与电子设备进行对话,例如,用户向电子设备输入问题信息,电子设备向用户反馈答案信息。

电子设备102可以是服务器,比如具体形式可为聊天机器人。用户可以通过终端103与电子设备102进行对话,终端103包括但不限于台式电脑、笔记本电脑、智能手机、平板电脑等用户设备。例如,用户在终端103上输入问题信息,通过终端103向电子设备102发送问题信息,电子设备102在接收到问题信息后,通过终端103向用户反馈答案信息。这种情况下,终端103上可以安装有用于进行对话处理的应用,从而基于该应用实现与电子设备102进行对话的功能。

图2是本发明实施例提供的一种对话处理方法的流程图。参见图2,该方法包括:

200、电子设备获取树状结构的知识库。

其中,该树形结构的知识库包含多个根节点、每个根节点下的至少一层分支节点以及多个叶子节点,每层分支节点包含至少一个分支节点,每个根节点对应一个第一问题信息,每个分支节点对应一个第二问题信息,每个叶子节点对应一个第一答案信息,该每个分支节点的每个下一层节点分别对应于该每个分支节点对应的第二问题信息的一个第二答案信息,同一个第一问题信息对应多个第一答案信息。

本发明实施例中,电子设备可以配置有树状结构的知识库,在一种可能实现方式中,该树状结构的知识库可以通过配置页面来进行配置,具体地,该树状结构的知识库的获取过程包括:当接收到配置指令时,电子设备基于该配置指令中携带的第一问题信息、第二问题信息、第一答案信息以及第二答案信息,构成树状结构的多个根节点、每个根节点下的至少一层分支节点以及多个叶子节点,该配置指令用于指示配置该树形结构的知识库。

其中,配置指令可以由终端发送给电子设备,例如,用户可以在终端上登录电子设备的配置页面,该配置页面可以由电子设备的厂商提供,该配置页面用于在电子设备中配置树状结构的知识库。

用户可以在该配置页面上进行配置操作,如手动输入一个第一问题信息、多个第二问题信息、每个第二问题信息的多个第二答案信息以及该第一问题信息的多个第一答案信息,其中,多个第二问题信息具有配置先后顺序。当然,除了用户手动输入以外,系统也可以自动推荐,例如,系统通过大量对话语料训练学习,自动推荐每个问题信息可能的后续问法,用户可以自动选择并标注是否使用,例如,用户在配置任一个第二问题信息时,可以从多个推荐问题信息中选择任一个推荐问题信息作为第二问题信息,并添加对应的答案信息,同时用户标注的数据也会作为反馈数据,进而优化推荐模型的效果,该推荐模型是指用于系统自动推荐问题信息的模型。如果需要配置多个第一问题信息,则可以多次执行上述配置过程。

通过提供了一种半自动化的后续问题推荐模型,使得问题的配置可由系统自动推荐,并人工选择是否使用,通过用户的参与,可以不断提升模型的准确性,更好地实现知识库的灵活配置。上述树形结构知识库的配置方法主要应用于垂直领域,实际使用中,也可以根据具体应用场景选择不同的配置方法。

用户在配置操作完成后,可以提交上述配置信息,如点击确认按钮,触发终端向电子设备发送配置指令,当电子设备接收到该配置指令后,可以从该配置指令中提取问题信息以及答案信息。一条配置指令中可以携带一个第一问题信息、多个第二问题信息、每个第二问题信息的多个第二答案信息以及该第一问题信息的多个第一答案信息,其中,多个第二问题信息具有配置先后顺序,该先后顺序用于确定构成各个节点的顺序。电子设备可以基于第一问题信息,构成一个根节点,然后基于排序最靠前的一个第二问题信息,构成该根节点的第一层分支节点,再基于排序最靠前的一个第二问题信息的每个答案信息,分别构成第一层分支节点的每个下一层节点,如此迭代,直至构成树状结构的多个根节点、每个根节点下的至少一层分支节点以及多个叶子节点,则生成了整个树状结构的知识库,然后电子设备可以存储该树状结构的知识库。

参见图3,提供了一种配置页面的示意图,如图3所示,用户可以新建一个第一问题信息,以第一问题信息为“感冒了怎么办”为例,用户可以在“问题标题”输入框中输入“感冒了怎么办”,并进一步询问,如在“问题”输入框中输入“是否发热”或“请问发热吗”。然后配置用户可能给出的答案,比如“发热”和“不发热”,或“是”和“否”,如果根据当前用户的回答可以给出最终的答案,则在“对应答案”输入框中输入对应的答案信息即可,如果还需要进一步询问,则在“关联问题”输入框中输入或选择下一步询问的句子,比如“是否流鼻涕”,如此迭代配置,直至配置好整个树形结构的知识库为止。

参见图4,提供了一种树形结构的知识库示意图,如图4所示,以知识库中的一个根节点,该根节点对应的第一问题信息为“感冒了怎么办”为例,“是否发热”、“是否流鼻涕”、“年龄多大”以及“是否咳嗽”等是第二问题信息,它们所在节点为分支节点;“是”、“否”、“小孩”、“中年”以及“老人”等是第二答案信息;“治疗方法1”、“治疗方法2”、“治疗方法3”以及“治疗方法4”是第一问题信息“感冒了怎么办”的多个第一答案信息,它们所在节点为叶子节点。

其中,“是否发热”所在的分支节点为根节点下的第一层分支节点,“是否流鼻涕”所在的分支节点为根节点下的第二层分支节点,“年龄多大”和“是否咳嗽”所在的分支节点为根节点下的第三层分支节点。“治疗方法1”、“治疗方法2”、“治疗方法3”以及“治疗方法4”所在的节点为多个叶子节点。

以“是否发热”所在的分支节点(称为分支节点1)为例,对每个分支节点的每个下一层节点分别对应于该每个分支节点对应的第二问题信息的一个第二答案信息进行解释说明:分支节点1对应的第二问题信息“是否发热”的第二答案信息有“是”和“否”,该分支节点1的下一层节点包括“治疗方法1”所在的叶子节点和“是否流鼻涕”所在的分支节点,则“治疗方法1”所在的叶子节点对应“是否发热”的第二答案信息“否”,“是否流鼻涕”所在的分支节点对应“是否发热”的第二答案信息“是”。

201、当获取到输入的目标问题信息时,电子设备查询树状结构的知识库。

本发明实施例中,用户可以直接向电子设备输入目标问题信息,例如,用户可以对着电子设备说出想要提问的目标问题信息,电子设备可以通过采集语音数据,并对语音数据进行识别,将识别结果获取为用户输入的目标问题信息。另外,用户也可以通过终端向电子设备输入目标问题信息,例如,用户可以在终端上输入目标问题信息,终端可以将用户输入的目标问题信息发送给电子设备,使得电子设备可以获取到用户输入的目标问题信息。

当电子设备获取到用户输入的目标问题信息时,可以基于树形结构的知识库,查询知识库中是否包含有该目标问题信息,也即是,查询树形结构中是否包含第一根节点。当包含第一根节点时,执行步骤202至步骤203;当不包含第一根节点时,执行后续步骤204至步骤206。

202、当该树形结构的知识库中包含第一根节点时,电子设备输出该第一根节点下的第一层分支节点对应的第二问题信息,该第一根节点对应的第一问题信息与该目标问题信息的相似度大于第一阈值。

其中,第一阈值可以是预先设置用来评价相似度的阈值,当相似度大于该第一阈值时,表明相似度较大,当相似度小于或等于该第一阈值时,表明相似度较小。该第一阈值可以是百分比形式,如80%,也可以是小数形式,如0.8,当然,该第一阈值还可以是其他形式,本发明实施例对此不做限定。

本发明实施例中,电子设备可以遍历知识库中的根节点,每遍历到一个根节点,则确定该根节点对应的第一问题信息与目标问题信息的相似度。在一种可能实现方式中,电子设备可以采用预设的相似度算法,计算该根节点对应的第一问题信息与目标问题信息的相似度。该相似度可以是字面相似度,相同的字或词较多,则相似度较大。该相似度也可以是余弦相似度,例如,电子设备可以获取该第一问题信息和该目标问题信息的文本向量,进而利用距离向量计算公式,计算两者的相似度。

如果电子设备查询到知识库中仅有一个根节点对应的第一问题信息与目标问题信息的相似度大于第一阈值,则电子设备可以将该一个根节点确定为第一根节点。如果电子设备查询到知识库中有多个根节点对应的第一问题信息与目标问题信息的相似度大于第一阈值,则电子设备可以将相似度最大的一个根节点确定为第一根节点。例如,用户输入的目标问题信息是“我感冒了”,第一根节点对应的第一问题信息可以是“感冒了怎么办”。

上述电子设备根据相似度大于第一阈值的条件确定第一根节点的过程也即是电子设备对用户当前输入的目标问题信息进行语义分析的过程。如果电子设备能够确定第一根节点,也即是,用户输入的目标问题信息可以命中第一根节点对应的第一问题信息,则电子设备可以认为该第一根节点对应的第一问题信息即是用户真正想要问的问题。为了提供准确的答案信息,电子设备可以对用户进一步询问,如电子设备可以输出第一根节点下的第一层分支节点对应的第二问题信息。例如,第一层分支节点对应的第二问题信息可以是“是否发热”。

电子设备可以直接向用户输出第二问题信息,例如,电子设备可以直接播放第二问题信息。另外,电子设备也可以通过终端向用户输出第二问题信息,例如,电子设备可以将第二问题信息发送给终端,当终端接收到该第二问题信息时,可以向用户输出该第二问题信息。

203、当获取到输入的第二答案信息时,电子设备根据该输入的第二答案信息,输出该目标问题信息的第一答案信息,结束。

本发明实施例中,当电子设备输出第二问题信息后,用户可以回答该第二问题信息,也即是,向电子设备输入一个第二答案信息。与步骤201中用户输入目标问题信息同理,用户可以直接向电子设备输入第二答案信息,也可以通过终端向电子设备输入第二答案信息。

需要说明的是,用户输入的可以是一个第二答案信息,也可以是一个与第二答案信息匹配的答案信息,如当“是否发热”的第二答案信息为“是”和“否”时,用户如果输入“发热”,则电子设备也可以确定用户输入的第二答案信息为“是”,户如果输入“不发热”,则电子设备也可以确定用户输入的第二答案信息为“否”。同理,当“是否发热”的第二答案信息为“发热”和“不发热”时,用户如果输入“是”,则电子设备也可以确定用户输入的第二答案信息为“发热”,户如果输入“否”,则电子设备也可以确定用户输入的第二答案信息为“不发热”。

电子设备根据输入的第二答案信息,输出目标问题信息的第一答案信息包括但不限于以下两种可能实现方式:

第一种可能实现方式,当该输入的第二答案信息对应一个叶子节点时,输出该一个叶子节点对应的第一答案信息。

当电子设备获取到用户输入的第二答案信息后,可以查询树形结构的知识库,如果根据用户输入的第二答案信息可以直接给出目标问题信息的第一答案信息,也即是,电子设备根据用户输入的第二答案信息查询树形结构时,可以直接到达一个叶子节点,该叶子节点是第一层分支节点的下一层节点中与用户输入的第二答案信息对应的节点,则电子设备可以向用户输出该叶子节点对应的第一答案信息。如图4所示,如果用户输入的第二答案信息为“否”或“不发热”,则电子设备可以直接将治疗方法1作为待输出的第一答案信息。

第二种可能实现方式,当该输入的第二答案信息对应第一分支节点时,输出该第一分支节点对应的第二问题信息,该第一分支节点为该第一层分支节点的任一个下一层分支节点;当获取到输入的第二答案信息时,继续基于该树形结构的知识库中该第一分支节点的下一层节点,执行根据输入的第二答案信息输出该目标问题信息的第一答案信息的步骤,直至输出一个叶子节点对应的第一答案信息。

如果用户输入的第二答案信息不能直接给出目标问题信息的第一答案信息,例如,电子设备根据用户输入的第二答案信息查询树形结构时,到达第一分支节点,该第一分支节点是第一层分支节点的下一层节点中与用户输入的第二答案信息对应的分支节点。由于该第一分支节点对应一个第二问题信息,并不对应于一个第一答案信息,因此电子设备需要进一步询问用户,如输出第一分支节点对应的第二问题信息。当电子设备输出第一分支节点对应的第二问题信息后,用户可以回答该第二问题信息,向电子设备输入一个第二答案信息,电子设备再根据输入的第二答案信息,查询树形结构的知识库,以输出目标问题信息的第一答案信息,具体方式与上述两种可能实现方式同理,不再赘述。

如图4所示,如果用户输入的第二答案信息为“是”或“发热”,则电子设备可以将“是否流鼻涕”所在的分支节点作为第一分支节点,向用户输出“是否流鼻涕”这个第二问题信息,如果用户向电子设备输入“否”这个第二答案信息,由于该答案信息对应“年龄多大”所在的分支节点,则电子设备可以向用户输出“年龄多大”这个第二问题信息。如果用户向电子设备输入“小孩”这个第二答案信息,由于该答案信息对应“治疗方法2”所在的叶子节点,则电子设备可以直接将治疗方法2作为待输出的第一答案信息。如果用户向电子设备输入“中年”这个第二答案信息,由于该答案信息对应“治疗方法3”所在的叶子节点,则电子设备可以直接将治疗方法3作为待输出的第一答案信息。如果用户向电子设备输入“老人”这个第二答案信息,由于该答案信息对应“治疗方法4”所在的叶子节点,则电子设备可以直接将治疗方法4作为待输出的第一答案信息。

电子设备向用户输出“是否流鼻涕”这个第二问题信息后,如果用户向电子设备输入“是”这个第二答案信息,由于该答案信息对应“是否咳嗽”所在的分支节点,则电子设备可以向用户输出“是否咳嗽”这个第二问题信息,然后再根据用户输入的第二答案信息,查询树状结构的知识库,直至输出一个叶子节点对应的第一答案信息。

上述步骤202至步骤203是电子设备在执行步骤201后,查询到树形结构的知识库中包含第一根节点的情况,针对树形结构的知识库中不包含第一根节点的情况将在后续步骤204至步骤206中进行说明。

204、当该树形结构的知识库中不包含该第一根节点时,电子设备确定第二根节点,该第二根节点为历史提问次数大于第二阈值的根节点,该历史提问次数为历史对话中作为第一根节点的次数。

其中,第二阈值可以是预先设置用来评价历史提问次数的阈值,当历史提问次数大于该第二阈值时,表明历史提问次数较多,当历史提问次数小于或等于该第一阈值时,表明历史提问次数较小。该第二阈值可以是整数形式,如5。当然,该第二阈值还可以是其他形式,本发明实施例对此不做限定。

本发明实施例中,如果电子设备查询到知识库中没有任何一个根节点对应的第一问题信息与目标问题信息的相似度大于第一阈值,表明在相似度大于第一阈值的条件下,用户输入的目标问题信息不能命中任一个根节点对应的第一问题信息,也即是,电子设备无法直接根据用户输入的目标问题信息确定用户真正想要问的问题,则电子设备可以根据上下文信息,预测用户可能想要问的问题。

其中,该上下文信息可以指示在用户之前与电子设备的对话过程中用户提问过的问题以及提问次数等信息。电子设备可以确定历史提问次数大于第二阈值的根节点,也即是第二根节点。该第二根节点的历史提问次数的获取过程包括:用户向电子设备输入一个目标问题信息后,如果该目标问题信息第一次命中该第二根节点对应的第一问题信息,也即是与该第二根节点对应的第一问题信息的相似度大于第一阈值,则电子设备可以将该第二根节点的历史提问次数记为1,以后用户输入的目标问题信息每命中一次该第二根节点对应的第一问题信息,则电子设备可以将该第二根节点的历史提问次数加1。

电子设备根据历史提问次数确定第二根节点的过程也即是电子设备进行上下文记忆的过程。该第二根节点可能与该第一根节点相同,也可能是除该第一根节点以为的其他根节点。该第二根节点对应的第一问题信息是用户之前经常提问的问题,可能用户这次输入的目标问题信息并不是一个第一问题信息,而是一个第二问题信息的第二答案信息。则电子设备可以确定用户输入的该目标问题信息具体是哪一个分支节点对应的第二问题信息的第二答案信息,其中,该待确定的分支节点称为第二分支节点。

需要说明的是,如果历史提问次数大于第二阈值的根节点仅有一个,则电子设备可以将该一个根节点确定为第二根节点。如果历史提问次数大于第二阈值的根节点有多个,则电子设备可以将历史提问次数最大的一个根节点确定为第二根节点。

205、当该第二根节点下的任一层节点中包含第二分支节点时,电子设备输出该第二分支节点的下一层节点中的第三分支节点对应的第二问题信息,该第二分支节点对应的第二问题信息与该目标问题信息的相似度大于该第一阈值,该第三分支节点对应于与该目标问题信息匹配的第二答案信息。

本发明实施例中,如果电子设备查询到树状结构的知识库中仅有一个分支节点对应的第二问题信息与目标问题信息的相似度大于第一阈值,则电子设备可以将该一个分支节点确定为第二分支节点。如果电子设备查询到知识库中有多个分支节点对应的第二问题信息与目标问题信息的相似度大于第一阈值,则电子设备可以将相似度最大的一个分支节点确定为第二分支节点。

例如,用户输入的目标问题信息是“有点热”,第二分支节点对应的第二问题信息可以是“是否发热”。由于“有点热”这个目标问题信息与“感冒了怎么办”这个第一问题信息的相似度较小,因而不能满足相似度大于第一阈值的条件,但根据上下文信息,“有点热”这个目标问题信息可以命中“是否发热”这个第二问题信息,则电子设备可以直接跳转到该第二分支节点对应的第二问题信息,然后依次迭代询问,直至最终到达一个叶子节点,则输出叶子节点对应的第一答案信息。

电子设备可以认为用户输入的目标问题信息是第二分支节点对应的第二问题信息的其中一个第二答案信息,由于用户已经输入了该其中一个第二答案信息,则电子设备可以从第二分支节点的下一层节点中,确定一个对应该其中一个第二答案信息的分支节点,将该分支节点作为第三分支节点,并输出该第三分支节点对应的第二问题信息。

需要说明的是,该步骤205是以第二分支节点的下一层节点中对应该其中一个第二答案信息的节点为一个分支节点为例进行说明,如果第二分支节点的下一层节点中对应该其中一个第二答案信息的节点为一个叶子节点,则电子设备可以直接输出该叶子节点对应的第一答案信息。

需要说明的是,该步骤205是针对第二根节点下的任一层节点中包含第二分支节点的情况为例进行说明,而针对第二根节点下的任一层节点中不包含第二分支节点的情况,在一种可能实现方式中,电子设备可以输出该第二根节点下的第一层分支节点对应的第二问题信息,然后执行后续步骤206。当然,电子设备也可以输出预设提示信息,以提示用户重新输入目标问题信息,如该预设提示信息可以是“请重新输入您的问题”,当获取到用户重新输入的目标问题信息后,电子设备可以再次执行步骤201,并根据查询结果执行相应步骤。

206、当获取到输入的第二答案信息时,根据该输入的第二答案信息,电子设备输出该目标问题信息的第一答案信息。

本发明实施例中,当电子设备输出第三分支节点对应的第二问题信息后,用户可以回答该第二问题信息,也即是,向电子设备输入一个第二答案信息。电子设备在获取到输入的第二答案信息后,根据该输入的第二答案信息,输出该目标问题信息的第一答案信息的过程在步骤203中已有详细说明,此处不再赘述。

通过提出一种可配置树形结构知识库的多轮问答框架,能够达到通过简单的配置信息,在人与机器的问答过程中,实现不同问题之间的跳转,从而实现复杂的多轮问答方法。上述对话处理方法可以应用于智能音响、聊天机器人、外交部、银行等项目的识别。

本发明实施例提供的方法,通过在获取到用户输入的目标问题信息时,查询树状结构的知识库,以确定第一问题信息与目标问题信息的相似度大于第一阈值的第一根节点,并输出该第一根节点下的第一层分支节点对应的第二问题信息,进而根据用户输入的第二答案信息,向用户输出目标问题信息的第一答案信息。通过查询一个树形结构的知识库,即可在用户与电子设备的一问一答过程中,实现不同信息的跳转,可以满足多轮对话场景的实际需求。

图5是本发明实施例提供的一种对话处理装置的结构示意图。参照图5,该装置包括:

查询模块501,用于当获取到输入的目标问题信息时,查询树状结构的知识库,该树状结构的知识库包含多个根节点、每个根节点下的至少一层分支节点以及多个叶子节点,每层分支节点包含至少一个分支节点,每个根节点对应一个第一问题信息,每个分支节点对应一个第二问题信息,每个叶子节点对应一个第一答案信息,该每个分支节点的每个下一层节点分别对应于该每个分支节点对应的第二问题信息的一个第二答案信息,同一个第一问题信息对应多个第一答案信息;

输出模块502,用于当该树状结构的知识库中包含第一根节点时,输出该第一根节点下的第一层分支节点对应的第二问题信息,该第一根节点对应的第一问题信息与该目标问题信息的相似度大于第一阈值;

该输出模块502还用于当获取到输入的第二答案信息时,根据该输入的第二答案信息,输出该目标问题信息的第一答案信息。

在一种可能实现方式中,该输出模块502用于当该输入的第二答案信息对应一个叶子节点时,输出该一个叶子节点对应的第一答案信息。

在一种可能实现方式中,该输出模块502用于:

当该输入的第二答案信息对应第一分支节点时,输出该第一分支节点对应的第二问题信息,该第一分支节点为该第一层分支节点的任一个下一层分支节点;

当获取到输入的第二答案信息时,继续基于该树形结构的知识库中该第一分支节点的下一层节点,执行根据输入的第二答案信息输出该目标问题信息的第一答案信息的步骤,直至输出一个叶子节点对应的第一答案信息。

在一种可能实现方式中,参见图6,该装置还包括:

确定模块503,用于当该树形结构的知识库中不包含该第一根节点时,确定第二根节点,该第二根节点为历史提问次数大于第二阈值的根节点,该历史提问次数为历史对话中作为该第一根节点的次数;

该输出模块502还用于当该第二根节点下的任一层节点中包含第二分支节点时,输出该第二分支节点的下一层节点中的第三分支节点对应的第二问题信息,该第二分支节点对应的第二问题信息与该目标问题信息的相似度大于该第一阈值,该第三分支节点对应于与该目标问题信息匹配的第二答案信息;

该输出模块502还用于执行当获取到输入的第二答案信息时,根据该输入的第二答案信息,输出该目标问题信息的第一答案信息的步骤。

在一种可能实现方式中,参见图7,该装置还包括:

获取模块504,用于当接收到配置指令时,基于该配置指令中携带的第一问题信息、第二问题信息、第一答案信息以及第二答案信息,构成树状结构的多个根节点、每个根节点下的至少一层分支节点以及多个叶子节点,该配置指令用于指示配置该树形结构的知识库。

本发明实施例中,通过在获取到用户输入的目标问题信息时,查询树状结构的知识库,以确定第一问题信息与目标问题信息的相似度大于第一阈值的第一根节点,并输出该第一根节点下的第一层分支节点对应的第二问题信息,进而根据用户输入的第二答案信息,向用户输出目标问题信息的第一答案信息。通过查询一个树形结构的知识库,即可在用户与电子设备的一问一答过程中,实现不同信息的跳转,可以满足多轮对话场景的实际需求。

需要说明的是:上述实施例提供的对话处理装置在处理对话时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的对话处理装置与对话处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图8是本发明实施例提供的一种电子设备800的结构示意图,该电子设备800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)801和一个或一个以上的存储器802,其中,存储器802中存储有至少一条指令,至少一条指令由处理器801加载并执行以实现上述各个方法实施例提供的方法。当然,该电子设备还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该电子设备还可以包括其他用于实现设备功能的部件,在此不做赘述。

在示例性实施例中,还提供了一种计算机可读存储介质,例如包括至少一条指令、至少一段程序、代码集或指令集的存储器,上述至少一条指令、至少一段程序、代码集或指令集可由处理器加载并执行以完成上述实施例中的对话处理方法。例如,计算机可读存储介质可以是只读存储器(read-onlymemory,rom)、随机存取存储器(random-accessmemory,ram)、只读光盘(compactdiscread-onlymemory,cd-rom)、磁带、软盘和光数据存储设备等。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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