基于话题的对话方法、装置和电子设备与流程

文档序号:19738225发布日期:2020-01-18 04:48阅读:211来源:国知局
基于话题的对话方法、装置和电子设备与流程

本申请涉及计算机技术领域,尤其涉及智能搜索领域中的一种基于话题的对话方法、装置和电子设备。



背景技术:

通常,聊天机器人以用户的话语作为输入,通过对输入语句的分析,并结合之前双方的对话历史或者用户兴趣信息等,来自动决策回复的语义内容。

然而,上述方式对于较长的多轮(比如5轮以上)人机对话,倾向于生成主题松散或主题连贯性较差的多轮对话,导致不能够围绕特定话题的进行对话交互。



技术实现要素:

本申请旨在至少在一定程度上解决上述相关技术中的技术问题之一。

为此,本申请的第一个目的在于提出一种基于话题的对话方法,解决了现有技术中不能够围绕特定话题的进行多轮对话交互的技术问题,通过获取输入语句对应的目标话题和辅助子话题来生成回复语句,使得能够围绕特定话题的进行多轮对话交互,满足用户需求,提升用户对话交互体验。

本申请的第二个目的在于提出一种基于话题的对话装置。

本申请的第三个目的在于提出一种计算机设备。

本申请的第四个目的在于提出一种非临时性计算机可读存储介质。

为达上述目的,本申请第一方面实施例提出了一种基于话题的对话方法,包括:获取输入语句,并根据所述输入语句确定目标话题;基于预设的知识图谱获取与所述目标话题对应的辅助子话题;从预设的映射函数集合中获取目标映射函数,并通过所述目标映射函数对所述输入语句、所述目标话题和所述辅助子话题进行处理生成目标向量;通过预设解码器对所述目标向量进行解码处理生成回复语句并输出。

另外,本申请实施例的基于话题的对话方法,还具有如下附加的技术特征:

可选地,所述获取输入语句,并根据所述输入语句确定目标话题,包括:对所述输入语句进行实体抽取;若获取到所述输入语句对应的输入实体,则将所述输入实体映射到所述预设知识图谱中的任一实体节点;若映射成功,则确定实体节点为当前话题,若所述当前话题与上一轮话题不一致,则将所述当前话题确定为目标话题。

可选地,在所述基于预设的知识图谱获取与所述目标话题对应的辅助子话题之前,还包括:获取对话训练数据;根据所述对话训练数据基于通用知识谱图中进行标注生成所述预设的知识图谱。

可选地,所述基于预设的知识图谱获取与所述目标话题对应的辅助子话题,包括:在所述预设的知识图谱中确定所述目标话题对应的目标话题节点;根据预设长度选择所述目标话题节点对应的多个辅助子话题节点;通过预设打分函数对所述多个辅助子话题节点进行打分,根据打分结果从所述多个辅助子话题节点确定目标辅助子话题节点;根据所述目标辅助子话题节点确定所述辅助子话题。

可选地,所述从预设映射函数集合中获取目标映射函数,包括:根据所述输入测试语句、所述目标话题和所述辅助子话题从所述预设的映射函数集合选取所述目标映射函数。

为达上述目的,本申请第二方面实施例提出了一种基于话题的对话装置,包括:第一获取模块,用于获取输入语句,并根据所述输入语句确定目标话题;第二获取模块,用于从预设的映射函数集合中获取目标映射函数,并通过所述

另外,本申请实施例的基于话题的对话装置,还具有如下附加的技术特征:

可选地,所述第一获取模块,具体用于:对所述输入语句进行实体抽取;若获取到所述输入语句对应的输入实体,则将所述输入实体映射到所述预设知识图谱中的任一实体节点;若映射成功,则确定实体节点为当前话题,若所述当前话题与上一轮话题不一致,则将所述当前话题确定为目标话题。

可选地,所述第一获取模块,具体用于:对所述输入语句进行实体抽取;若获取到所述输入语句对应的输入实体,则将所述输入实体映射到所述预设知识图谱中的任一实体节点;若映射成功,则确定实体节点为当前话题,若所述当前话题与上一轮话题不一致,则将所述当前话题确定为目标话题。

可选地,所述第二获取模块,具体用于:在所述预设的知识图谱中确定所述目标话题对应的目标话题节点;根据预设长度选择所述目标话题节点对应的多个辅助子话题节点;通过预设打分函数对所述多个辅助子话题节点进行打分,根据打分结果从所述多个辅助子话题节点确定目标辅助子话题节点;根据所述目标辅助子话题节点确定所述辅助子话题。

可选地,所述第三获取模块,具体用于;根据所述输入测试语句、所述目标话题和所述辅助子话题从所述预设的映射函数集合选取所述目标映射函数。

为达上述目的,本申请第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面实施例所述的基于话题的对话方法。

为达上述目的,本申请第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,实现如第一方面实施例所述的基于话题的对话方法。

本申请实施例提供的技术方案可以包含如下的有益效果:

获取输入语句,并根据输入语句确定目标话题;基于预设的知识图谱获取与目标话题对应的辅助子话题;从预设的映射函数集合中获取目标映射函数,并通过目标映射函数对输入语句、目标话题和辅助子话题进行处理生成目标向量,通过预设解码器对目标向量进行解码处理生成回复语句并输出。解决了现有技术中不能够围绕特定话题的进行多轮对话交互的技术问题,通过获取输入语句对应的目标话题和辅助子话题来生成回复语句,使得能够围绕特定话题的进行多轮对话交互,满足用户需求,提升用户对话交互体验。

本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1是根据本申请一个实施例的基于话题的对话方法的流程图;

图2是根据本申请另一个实施例的基于话题的对话方法的流程图;

图3是根据本申请又一个实施例的基于话题的对话方法的流程图;

图4是根据本申请一个实施例的基于话题的对话装置的结构示意图;

图5是根据本申请另一个实施例的基于话题的对话装置的结构示意图;

图6是根据本申请一个实施例的电子设备的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。

下面参考附图描述本申请实施例的基于话题的对话方法、装置和电子设备。

针对背景技术中提到的,现有技术中不能够围绕特定话题的进行多轮对话交互的技术问题,针对上述问题,本申请提出了一种基于话题的对话的方法,获取输入语句,并根据所述输入语句确定目标话题;基于预设的知识图谱获取与所述目标话题对应的辅助子话题;从预设的映射函数集合中获取目标映射函数,并通过目标映射函数对输入语句、目标话题和辅助子话题进行处理生成目标向量,通过预设解码器对目标向量进行解码处理生成回复语句并输出。通过获取输入语句对应的目标话题和辅助子话题来生成回复语句,使得能够围绕特定话题的进行多轮对话交互,满足用户需求,提升用户对话交互体验。

具体而言,图1是根据本申请一个实施例的基于话题的对话方法的流程图,如图1所示,该方法包括:

步骤101,获取输入语句,并根据输入语句确定目标话题。

需要说明的是,本申请实施例的基于话题的对话方法应用于基于层次化强化学习的知识对话模型(knowhrl),包括三层决策模块组成,首层决策模块负责确定目标话题,中间层决策模块负责给定目标话题下的细粒度子话题即辅助子话题的选择,下层决策模块负责选择合适的目标映射函数,回复生成模型负责融合用户输入句、目标话题和辅助子话题的对话生成。其中,三层决策模型可以通过规则方式也可以通过层次化强化学习方式进行训练,回复生成模型可以通过模版方式或序列到序列的深度生成模型来构建。

在实际应用中,实际应用中,knowhrl可以与真实用户进行对话,用户需要向knowhrl(机器人)输入语句,从而knowhrl会输出回复语句,本申请中的输入语句不限于语音输入或者文本输入等。

具体地,在获取输入语句后,可以对输入语句进行分析获取对应的目标话题,作为一种可能实现方式,对输入语句进行实体抽取,若获取到输入语句对应的输入实体,则将输入实体映射到预设知识图谱中的任一实体节点,若映射成功,则确定实体节点为当前话题,若当前话题与上一轮话题不一致,则将当前话题确定为目标话题。

举例而言,输入语句为“刘德华演戏怎么样”,对该输入进行分析获取对应的目标话题可以为“刘德华”。

还可以理解的是,需要判断是否继续沿用还是终止上一轮的目标话题g_(t-1),步骤1基于用户输入语句抽取实体,如果抽取失败,则继续下一个判断步骤2,否则映射实体到知识图谱中的某个节点,如果映射失败则继续下一个判断步骤2,否则表示为g_user,如果g_user不同于g_(t-1),则终止g_(t-1);步骤2如果g_(t-1)在对话中使用的轮数超过某一数值,那么终止g_(t-1),如果前面判定需要终止g_(t-1),则优先使用g_user,如果g_usr不存在,则使用另一个模型来选择新的目标话题节点(通常从之前的话题节点的邻居节点中选取),如果前面判定不需要终止g_(t-1),则当前对话轮中继续使用g_(t-1)。

步骤102,基于预设的知识图谱获取与目标话题对应的辅助子话题。

具体地,可以预先构建知识图谱用户获取与目标话题对应的辅助子话题,可以理解的是有很多种方式获取基于预设的知识图谱获取与目标话题对应的辅助子话题。

作为一种可能实现方式,获取对话训练数据,根据对话训练数据基于通用知识谱图中进行标注生成预设的知识图谱。

作为一种可能实现方式,在预设的知识图谱中确定目标话题对应的目标话题节点,根据预设长度选择目标话题节点对应的多个辅助子话题节点,通过预设打分函数对多个辅助子话题节点进行打分,根据打分结果从多个辅助子话题节点确定目标辅助子话题节点,根据目标辅助子话题节点确定辅助子话题。

继续以上述例子为例,比如目标话题为刘德华,确定刘德华在知识图谱中的目标话题节点,获取长度为1关联边的相邻多个辅助子话题节点为“无间道”、“冰雨”和“1981年”等,根据预设打分函数进行计算各个节点进行打分处理得到目标辅助子话题节点确定辅助子话题为“无间道”。

步骤103,从预设的映射函数集合中获取目标映射函数,并通过目标映射函数对输入语句、目标话题和辅助子话题进行处理生成目标向量。

步骤104,通过预设解码器对目标向量进行解码处理生成回复语句并输出。

具体地,从预设映射函数集合中选取当前环境下合适的映射函数,即目标映射函数,可以理解的是,可能的环境信息包括目标话题、辅助子话题和输入语句等,作为一种可能实现的方式,根据输入测试语句、目标话题和辅助子话题从预设的映射函数集合选取目标映射函数。

继续以上述例子为例,目标话题为“刘德华”,辅助子话题为“无间道”其中,映射函数可以将目标向量生成不同表达式的回复语句,比如陈述句“刘德华演的无间道很好看”。

需要说明的是,本申请中输入语句(测试阶段,来自于用户,训练阶段,来自于另一个模型(即usersimulator)+目标话题+辅助子话题,输出是从预设的映射函数集合中选取出的某个映射函数即目标映射函数。

还可以理解的是,获取对话训练数据,通过模版方法或者序列到序列的模型对对话训练数据进行处理生成一个回复生成模型,通过该回复生成模型基于输入句生成回复语句。

综上,本申请实施例的基于话题的对话方法,获取输入语句,并根据输入语句确定目标话题;基于预设的知识图谱获取与目标话题对应的辅助子话题;从预设的映射函数集合中获取目标映射函数,并通过目标映射函数对输入语句、目标话题和辅助子话题进行处理生成目标向量,通过预设解码器对目标向量进行解码处理生成回复语句并输出。解决了现有技术中不能够围绕特定话题的进行多轮对话交互的技术问题,通过获取输入语句对应的目标话题和辅助子话题来生成回复语句,使得能够围绕特定话题的进行多轮对话交互,满足用户需求,提升用户对话交互体验。

基于上述实施例的描述,可以了解到预设的知识图谱是预先构建的,下面具体结合图2进行详细描述:

图2是根据本申请另一个实施例的基于话题的对话方法的流程图,如图2所示,包括:

步骤201,获取对话训练数据。

步骤202,根据对话训练数据基于通用知识谱图中进行标注生成预设的知识图谱。

具体地,可以基于互联网或者对话历史数据等方式获取大量的对话训练数据,比如3万对话交互,12万对话轮等,因为对话训练数据中已经包含知识图谱(知识图谱其实先存在-是通过其它方式构建的(例如基于百度百科数据),对话训练数据是基于知识图谱进行人工或者自动标注出来的。

由此,进一步提高获取辅助子话题的准确性,从而保证能够围绕特定话题的进行多轮对话交互,满足用户需求。

图3是根据本申请又一个实施例的基于话题的对话方法的流程图,如图3所示,该方法包括:

步骤301,获取输入语句,并根据输入语句确定目标话题。

具体地,在获取输入语句后,可以对输入语句进行分析获取对应的目标话题,作为一种可能实现方式,对输入语句进行实体抽取,若获取到输入语句对应的输入实体,则将输入实体映射到预设知识图谱中的任一实体节点,若映射成功,则确定实体节点为当前话题,若当前话题与上一轮话题不一致,则将当前话题确定为目标话题。

举例而言,输入语句为“刘德华演戏怎么样”,对该输入进行分析获取对应的目标话题可以为“刘德华”。

还可以理解的是,需要判断是否继续沿用还是终止上一轮的目标话题g_(t-1),步骤1基于用户输入语句抽取实体,如果抽取失败,则继续下一个判断步骤2,否则映射实体到知识图谱中的某个节点,如果映射失败则继续下一个判断步骤2,否则表示为g_user,如果g_user不同于g_(t-1),则终止g_(t-1);步骤2如果g_(t-1)在对话中使用的轮数超过某一数值,那么终止g_(t-1),如果前面判定需要终止g_(t-1),则优先使用g_user,如果g_usr不存在,则使用另一个模型来选择新的目标话题节点(通常从之前的话题节点的邻居节点中选取),如果前面判定不需要终止g_(t-1),则当前对话轮中继续使用g_(t-1)。

步骤302,在预设的知识图谱中确定目标话题对应的目标话题节点,根据预设长度选择目标话题节点对应的多个辅助子话题节点。

步骤303,通过预设打分函数对多个辅助子话题节点进行打分,根据打分结果从多个辅助子话题节点确定目标辅助子话题节点,根据目标辅助子话题节点确定辅助子话题。

具体地,在预先构建的知识图谱中确定目标话题节点,并根据预设长度比如关联边长度为1或者2,获取多个辅助子话题节点,进一步通过预设打分函数对多个辅助子话题节点进行打分,其中,预设打分函数是基于历史对话交互数据进行计算不断调整参数得到一个目标话题与辅助子话题之间的关系函数,从而打分分数越高表示该辅助子话题节点对应的辅助子话题是用户需要的,因此,可以选择打分最高作为目标辅助子话题节点,以及目标辅助子话题节点对应的话题为辅助子话题。

步骤304,从预设的映射函数集合中获取目标映射函数,并通过目标映射函数对输入语句、目标话题和辅助子话题进行处理生成目标向量。

步骤305,通过预设解码器对目标向量进行解码处理生成回复语句并输出。

具体地,从预设映射函数集合中选取当前环境下合适的映射函数,即目标映射函数,可以理解的是,可能的环境信息包括目标话题、辅助子话题和输入语句等,作为一种可能实现的方式,根据输入测试语句、目标话题和辅助子话题从预设的映射函数集合选取目标映射函数。

继续以上述例子为例,目标话题为“刘德华”,辅助子话题为“无间道”其中,映射函数可以将目标向量生成不同表达式的回复语句,比如陈述句“刘德华演的无间道很好看”。

综上,本申请实施例的基于话题的对话方法,获取输入语句,并根据输入语句确定目标话题;基于预设的知识图谱获取与目标话题对应的辅助子话题;从预设的映射函数集合中获取目标映射函数,并通过目标映射函数对输入语句、目标话题和辅助子话题进行处理生成目标向量,通过预设解码器对目标向量进行解码处理生成回复语句并输出。解决了现有技术中不能够围绕特定话题的进行多轮对话交互的技术问题,通过获取输入语句对应的目标话题和辅助子话题来生成回复语句,使得能够围绕特定话题的进行多轮对话交互,满足用户需求,提升用户对话交互体验。

基于上述实施例,可以理解到回复语句需要围绕目标话题进行展开,因此可以对回复语句和目标话题的相关性进行分析,从而不断调整模型参数或者再次选择更好的辅助子话题生成新的回复语句输出,具体结合图4详细描述如下:

为了实现上述实施例,本申请还提出了一种基于话题的对话装置。图4是根据本申请一个实施例的基于话题的对话装置的结构示意图,如图4所示,该基于话题的对话装置包括:第一获取模块401、第二获取模块402、第三获取模块403和处理模块404,其中,

第一获取模块401,用于获取输入语句,并根据所述输入语句确定目标话题。

第二获取模块402,用于基于预设的知识图谱获取与所述目标话题对应的辅助子话题。

第三获取模块403,用于从预设的映射函数集合中获取目标映射函数,并通过所述目标映射函数对所述输入语句、所述目标话题和所述辅助子话题进行处理生成目标向量。

处理模块404,用于通过预设解码器对所述目标向量进行解码处理生成回复语句并输出。

在本申请的一个实施例中,第一获取模块401,具体用于对所述输入语句进行实体抽取;若获取到所述输入语句对应的输入实体,则将所述输入实体映射到所述预设知识图谱中的任一实体节点;若映射成功,则确定实体节点为当前话题,若所述当前话题与上一轮话题不一致,则将所述当前话题确定为目标话题。

在本申请的一个实施例中,如图5所示,在如图4所示的基础上,还包括:第四获取模块405和第一生成模块406。

第四获取模块405,用于获取对话训练数据。

第一生成模块406,用于根据所述对话训练数据基于通用知识谱图中进行标注生成所述预设的知识图谱。

在本申请的一个实施例中,第二获取模块502,具体用于:在所述预设的知识图谱中确定所述目标话题对应的目标话题节点;根据预设长度选择所述目标话题节点对应的多个辅助子话题节点;通过预设打分函数对所述多个辅助子话题节点进行打分,根据打分结果从所述多个辅助子话题节点确定目标辅助子话题节点;根据所述目标辅助子话题节点确定所述辅助子话题。

在本申请的一个实施例中,第三获取模块,具体用于;根据所述输入测试语句、所述目标话题和所述辅助子话题从所述预设的映射函数集合选取所述目标映射函数。

需要说明的是,前述对基于话题的对话方法实施例的解释说明也适用于该实施例的基于话题的对话装置,此处不再赘述。

综上,本申请实施例的基于话题的对话装置,通过获取输入语句,并根据输入语句确定目标话题;基于预设的知识图谱获取与目标话题对应的辅助子话题;从预设的映射函数集合中获取目标映射函数,并通过目标映射函数对输入语句、目标话题和辅助子话题进行处理生成目标向量,通过预设解码器对目标向量进行解码处理生成回复语句并输出。解决了现有技术中不能够围绕特定话题的进行多轮对话交互的技术问题,通过获取输入语句对应的目标话题和辅助子话题来生成回复语句,使得能够围绕特定话题的进行多轮对话交互,满足用户需求,提升用户对话交互体验。

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

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

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

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

存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的基于话题的对话的方法对应的程序指令/模块(例如,附图4所示的第一获取模块401、第二获取模块402、第三获取模块403和处理模块404)。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的基于话题的对话的方法。

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

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

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

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

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

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

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

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

综上,本申请实施例的电子设备,通过获取输入语句,并根据输入语句确定目标话题;基于预设的知识图谱获取与目标话题对应的辅助子话题;从预设的映射函数集合中获取目标映射函数,并通过目标映射函数对输入语句、目标话题和辅助子话题进行处理生成目标向量,通过预设解码器对目标向量进行解码处理生成回复语句并输出。解决了现有技术中不能够围绕特定话题的进行多轮对话交互的技术问题,通过获取输入语句对应的目标话题和辅助子话题来生成回复语句,使得能够围绕特定话题的进行多轮对话交互,满足用户需求,提升用户对话交互体验。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

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