首页> 中国专利> 一种答复推荐方法、答复推荐装置及智能设备

一种答复推荐方法、答复推荐装置及智能设备

摘要

本申请公开了一种答复推荐方法、答复推荐装置、智能设备及计算机可读存储介质。其中,该答复推荐方法包括:在多轮对话过程中,若接收到本轮输入的用户语句,则提取所述用户语句的实体词语及关系信息;将历史拼接语句、所述用户语句及所述实体词语输入至已训练的自然语言处理模型中,得到所述自然语言处理模型所输出的至少一条候选答复,其中,所述历史拼接语句基于所述多轮对话过程中的各个历史用户语句及各个历史用户语句对应的历史答复而生成;根据所述实体词语、所述关系信息及预设的知识图谱,从所述至少一条候选答复中筛选出目标答复;输出所述目标答复。通过本申请方案,可在充分理解历史对话的基础上,向用户推荐有意义的答复。

著录项

  • 公开/公告号CN112527998A

    专利类型发明专利

  • 公开/公告日2021-03-19

    原文格式PDF

  • 申请/专利权人 深圳市优必选科技股份有限公司;

    申请/专利号CN202011528963.0

  • 发明设计人 罗沛鹏;

    申请日2020-12-22

  • 分类号G06F16/332(20190101);G06F40/295(20200101);

  • 代理机构44414 深圳中一联合知识产权代理有限公司;

  • 代理人肖遥

  • 地址 518000 广东省深圳市南山区学苑大道1001号南山智园C1栋16、22楼

  • 入库时间 2023-06-19 10:19:37

说明书

技术领域

本申请属于人工智能技术领域,尤其涉及一种答复推荐方法、答复推荐装置、智能设备及计算机可读存储介质。

背景技术

随着人工智能的飞速发展,智能设备已能够与用户进行人机交互。然而,智能设备在与用户的人机对话方面,表现总是欠佳;特别是在与用户进行闲聊时,智能设备难以主动关联历史会话中的信息,进而缺乏对历史会话的理解,导致其回答较为生硬,甚至出现答非所问的情况。

发明内容

本申请提供了一种答复推荐方法、答复推荐装置、智能设备及计算机可读存储介质,可在充分理解历史对话的基础上,向用户推荐有意义的答复。

第一方面,本申请提供了一种答复推荐方法,包括:

在多轮对话过程中,若接收到本轮输入的用户语句,则提取上述用户语句的实体词语及关系信息;

将历史拼接语句、上述用户语句及上述实体词语输入至已训练的自然语言处理模型中,得到上述自然语言处理模型所输出的至少一条候选答复,其中,上述历史拼接语句基于上述多轮对话过程中的各个历史用户语句及各个历史用户语句对应的历史答复而生成;

根据上述实体词语、上述关系信息及预设的知识图谱,从上述至少一条候选答复中筛选出目标答复;

输出上述目标答复。

第二方面,本申请提供了一种答复推荐装置,包括:

提取单元,用于在多轮对话过程中,若接收到本轮输入的用户语句,则提取上述用户语句的实体词语及关系信息;

获取单元,用于将历史拼接语句、上述用户语句及上述实体词语输入至已训练的自然语言处理模型中,得到上述自然语言处理模型所输出的至少一条候选答复,其中,上述历史拼接语句基于上述多轮对话过程中的各个历史用户语句及各个历史用户语句对应的历史答复而生成;

筛选单元,用于根据上述实体词语、上述关系信息及预设的知识图谱,从上述至少一条候选答复中筛选出目标答复;

输出单元,用于输出上述目标答复。

第三方面,本申请提供了一种智能设备,上述智能设备包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如上述第一方面的方法的步骤。

第四方面,本申请提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现如上述第一方面的方法的步骤。

第五方面,本申请提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,上述计算机程序被一个或多个处理器执行时实现如上述第一方面的方法的步骤。

本申请与现有技术相比存在的有益效果是:在多轮对话过程中,当接收到本轮输入的用户语句时,先提取上述用户语句的实体词语及关系信息,然后将历史拼接语句、上述用户语句及上述实体词语输入至已训练的自然语言处理模型中,得到上述自然语言处理模型所输出的至少一条候选答复,其中,上述历史拼接语句基于上述多轮对话过程中的各个历史用户语句及各个历史用户语句对应的历史答复而生成,接着根据上述实体词语、上述关系信息及预设的知识图谱,从上述至少一条候选答复中筛选出目标答复,最后输出上述目标答复。上述过程一方面在多轮对话时将历史会话及当前用户语句均考虑在内,在理解历史会话的基础上帮助智能设备能够获得更优的候选答复,另一方面还会通过知识图谱来对候选答复进行筛选,以获得更有意义的目标答复。可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

附图说明

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

图1是本申请实施例提供的答复推荐方法的实现流程示意图;

图2-1是本申请实施例提供的接收到第一轮的用户语句后所得的当前拼接语句的示例图;

图2-2是本申请实施例提供的第一轮对话结束后所得的历史拼接语句的示例图;

图2-3是本申请实施例提供的接收到第二轮的用户语句后所得的当前拼接语句的示例图;

图2-4是本申请实施例提供的第二轮对话结束后所得的历史拼接语句的示例图;

图2-5是本申请实施例提供的已结束的多轮对话的示例图;

图2-6是本申请实施例提供的GPT2模型生成一条候选答复的过程中,生成第二个字时,GPT2模型的输入数据的示例图;

图2-7是本申请实施例提供的GPT2模型生成一条候选答复的过程中,生成第三个字时,GPT2模型的输入数据的示例图;

图2-8是本申请实施例提供的GPT2模型生成一条候选答复的过程中,生成第四个字时,GPT2模型的输入数据的示例图;

图2-9是本申请实施例提供的一条历史拼接语句的示例图;

图3是本申请实施例提供的GPT2模型进行预测所得的结果的示例图;

图4是本申请实施例提供的自然语言处理模型的训练流程示意图;

图5-1是本申请实施例提供的基于训练样本而得的自然语言处理模型的输入数据的示例图;

图5-2是本申请实施例提供的基于新样本而得的自然语言处理模型的输入数据的示例图;

图6是本申请实施例提供的答复推荐装置的结构框图;

图7是本申请实施例提供的智能设备的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

为了说明本申请所提出的技术方案,下面通过具体实施例来进行说明。

下面对本申请实施例提供的一种答复推荐方法进行描述。请参阅图1,该答复推荐方法包括:

步骤101,在多轮对话过程中,若接收到本轮输入的用户语句,则提取上述用户语句的实体词语及关系信息。

在本申请实施例中,智能设备在与用户进行多轮对话的过程中,一旦接收到当前输入的用户语句(最新输入的用户语句,也即本轮输入的用户语句),即可对该用户语句进行提取处理,提取出该用户语句中所包含的关键信息,其中,该关键信息具体指:该用户语句中所包含的实体词语及关系信息。智能设备倾向于认为本轮针对该用户语句的答复应与该用户语句的关键信息相关。示例性地,可以使用BiLSTM+CRF等序列标注模型来提取用户语句中的实体词语及关系信息,此处不对所采取的提取方式作出限定。

对于无法提取出实体词语的用户语句,可直接令该用户语句的实体词语为空。对于无法提取出关系信息的实体词语,可直接确定本轮无法根据用户语句在知识图谱中查找到目标词语。

步骤102,将历史拼接语句、上述用户语句及上述实体词语输入至已训练的自然语言处理模型中,得到上述自然语言处理模型所输出的至少一条候选答复。

在本申请实施例中,多轮对话过程通常涉及历史会话,也即历史用户语句(之前轮次输入的用户语句),以及智能设备针对各历史用户语句所输出的历史答复(之前轮次输出的答复)。需要说明的是,若本轮为多轮对话过程的第一轮,则可认为历史拼接语句为空。

在一些实施例中,智能设备会先将历史拼接语句、用户语句及实体词语进行拼接,并将拼接后的所得到的结果(记作当前拼接语句)输入至预设的自然语言处理(NaturalLanguage Processing,NLP)模型中进行处理,以得到该自然语言处理模型针对该当前拼接结果所输出的至少一条候选答复。

在一些实施例中,历史拼接语句基于多轮对话过程中的各个历史用户语句及各个历史用户语句对应的历史答复而生成,具体为:在接收到下一轮输入的用户语句时,基于当前拼接语句及针对该当前拼接语句所最终确定的目标答复更新上述历史拼接语句。也即,在接收到第i+1轮输入的用户语句时,基于第i轮的当前拼接语句,及第i轮所最终输出的目标答复,获得第i+1轮的历史拼接语句。

示例性地,拼接历史拼接语句、用户语句及实体词语时,所采用的拼接顺序为:历史拼接语句、实体词语及用户语句,且拼接时采用不同的标识符隔开,该标识符用于表示所拼接的内容的类型。假定多轮对话为过程中,第一轮用户输入的用户语句为“刘彻的父亲是谁”,由于本轮为第一轮,历史拼接语句为空,实体词语为“刘彻”,因而,所拼接得到的本轮的当前拼接语句如图2-1所示;假定智能设备在第一轮针对该轮的当前拼接语句而输出的目标答复为“你猜”,则在第一轮对话过后,可基于第一轮的当前拼接语句及第一轮的目标答复而对历史拼接语句进行更新,如图2-2所示;又假定第二轮用户输入的用户语句为“猜不着”,本轮用户语句的实体词语为空,因而,所拼接得到的本轮的当前拼接语句如图2-3所示;又假定智能设备在第二轮针对该轮的当前拼接语句而输出的目标答复为“真笨”,则在第二轮对话过后,可再次基于第二轮的当前拼接语句及第二轮的目标答复而对历史拼接语句进行更新,如图2-4所示;以此类推,直接多轮对话结束,如图2-5所示。

在图2-1至图2-5中,标识符“B”表示新的多轮对话的开始;标识符“S”表示一轮用户语句中识别到的实体的开始,其可以为空;标识符“Q”为一轮用户语句的开始;标识符“A”表示针对一轮用户语句所得到的答复的开始及结束(也即,在该轮的用户语句之后的2个“A”之间的部分为针对该轮用户语句所得到的答复);标识符“E”表示多轮对话的结束。需要注意的是,图2-1至图2-5中的标识符仅为示例,实际应用中,可不采用字母来作为唯一标识符。

在一些实施例中,上述自然语言处理模型可以是GPT2模型,该GPT2模型是基于transformer的decoder在非常大的数据集(例如基于微博、维基百科及新闻门户网站等而获得的数据集)上所训练出的非常大的语言模型。本申请实施例使用了GPT2模型的核心思想——“语言建模”来实现。下面对语言建模进行简单介绍:

语言建模是对一组文字(x

举例来说,x1=贝,x2=多,x3=芬,x=贝多芬;x=贝多芬,那么s1=贝,s2=贝多。通过上式,可得:p(贝多芬)=p(贝)*p(贝多|贝)*p(贝多芬|贝多)。

通过一条语句中前面的n-1个位置上的字所组成的序列(字序列),GPT2模型可在所有汉字中预测第n个位置是每个汉字的概率;通过TB级别语料的预训练学习,GPT2模型会学习到语言的规律,使得GPT2模型在预测时能够找到最满足语言、知识及常识的那个字。如图3所示,在i=n时,显然“国”字是最符合常识的。

基于上述思想,智能设备在与用户进行人机对话时,只需要将用户所输入的用户语句作为已知的序列来预测答复即可。示例性地,GPT2模型生成答复时,为了保障多样性以及准确性,往往会生成多个候选答复一组成候选集。假定生成的候选集的大小为batchsize,则每个batch下,GPT2模型都会基于如下生成策略生成一候选答复:

首先,生成候选答复时,沿用GPT2模型所采取的TopK采样法,该TopK采样法指的是:GPT2模型在生成当前位置的字时,先选取概率最高K个字,这K个字通过Softmax进行归一化,得到这K个字的归一化概率,其中,这K个字的归一化概率之和为1。然后,每个字的归一化概率可作为GPT2模型进行抽取时所考虑的权重,以此获得一个权重分布,并基于该权重分布,在这K个字中进行抽取,使得权重大(也即归一化概率大)的字更容易被抽取到,而权重小(也即归一化概率小)的字则相对来说不那么容易被抽取到,需要注意的是,权重小(也即归一化概率小)的字并非不可能被抽取到。最后,所抽取到的字即为当前位置所生成的字。

举例来说,K为3。假定一个batch下,在生成i=n位置的字时,概率最高的3个字分别为字1、字2及字3;其中,这三个字的概率之和不为1;对这三个字的概率进行归一化后,可得到字1的归一化概率为0.5,字2的归一化概率为0.3,字3的归一化概率为0.2,也即,字1的权重为0.5,字2的权重为0.3,字3的权重为0.2;相对应地,即可生成权重分布[0.5,0.3,0.2],用于表示在抽取时,字1被抽取到的可能性更高,也即更有可能被抽取到。

每个batch下都可基于上述生成策略逐字进行生成,以最终获得一条候选答复。最终,可得到batch size个候选答复。

在一些实施例中,可在Softmax的基础上增加一个温度参数T,也即,归一化概率的计算公式可由

在基于GPT2模型生成候选答复的过程中,由于GPT2模型是逐个字的进行生成,且当前生成的字会对后续的字产生影响;因而,每个新生成的字都会被顺序拼接在当前拼接语句之后,并在每次拼接完成后将最新的拼接结果再次输入至GPT2模型中,来生成下一个字,以此往复,直至生成标识符“A”、“E”或者达到最长可生成的长度时为止。

举例来说,假定第一轮的用户语句为“刘彻的父亲是谁”,实体词语为“刘彻”,将用户语句与实体词语拼接后输入GPT2模型;在一个batch中,GPT2模型所生成的第一个字“你”,该“你”字会被拼接在当前拼接语句之后,如图2-6所示;而后,最新的拼接结果(也即图2-6所示)再次被输入至GPT2模型,可得到GPT2模型所生成的第二个字“觉”;该“觉”字会在图2-6的基础上被拼接于“你”字之后,如图2-7所示;接着,最新的拼接结果(也即图2-7所示)再次被输入至GPT2模型,可得到GPT2模型所生成的第三个字“得”;该“得”字会在图2-7的基础上被拼接于“觉”字之后,如图2-8所示;而后,最新的拼接结果(也即图2-8)再次被输入至GPT2模型,可得到GPT2模型所生成的下一个字,以此往复,每个新生成的字都被顺序拼接于当前拼接语句之后,并将最新的拼接结果返回输入至GPT2模型,直至生成标识符“A”、“E”或者达到最长可生成的长度时为止,可得到这个batch下最后所生成的候选答复为“你觉得呢”。之后,若该答复被确定为目标答复,则可基于用户语句“刘彻的父亲是谁”,实体词语“刘彻”以及目标答复“你觉得呢”来对历史拼接语句进行更新,如图2-9所示,以作为下一轮所使用的历史拼接语句。

步骤103,根据上述实体词语、上述关系信息及预设的知识图谱,从上述至少一条候选答复中筛选出目标答复。

在本申请实施例中,步骤102所筛选出的至少一条候选答复中,只有一条候选答复可作为目标答复输出,因而,可根据本轮的用户语句的实体词语、关系信息及预设的知识图谱,从至少一条候选答复中筛选出目标答复。其中,知识图谱,本质上就是一种描述众多实体之间关系而组成的网络结构。实体通常在知识图谱中作为节点(Node),比方说,实体可以是人名、地名及组织结构名等存在于现实世界中并且可以与其他物体区分开来的物体。不同节点之间可通过关系(relation)而连接起来,组成一个网络结构,该网络结构即为知识图谱。可见,通过知识图谱,可以进行知识的搜索与推理。由此,本申请实施例可以基于已建立好的各个领域的知识图谱,来实现目标答复的筛选。

在一些实施例中,智能设备可先在知识图谱中查找出目标词语,其中,目标词语及实体词语之间的关系应与关系信息相匹配,然后即可根据该目标词语,从至少一条候选答复中筛选出目标答复。为提高筛选速度,可检测各个候选答复中是否包含该目标词语,然后将包含该目标词语的候选答复确定为目标答复。其中,可能出现三种情况:

第一种情况是,所有的候选答复中均不包含该目标词语。这种情况下,可直接将该目标词语确定为目标答复;也即,将知识图谱中查找到的知识作为本轮针对用户语句的目标答复。

第二种情况是,所有的候选答复中,仅一条候选答复包含该目标词语。这种情况下,包含该目标词语的唯一一条答复可直接被确定为目标词语。

第三种情况是,所有候选答复中,有两条以上候选答复包含该目标词语。这种情况下,可根据自然语言处理模型所确定的这两条以上包含该目标词语的候选答复的答复分值来选定最终的目标答复,具体为:这两条以上包含该目标词语的候选答复中,答复分值最高的候选答复可被确定为目标答复。其中,答复分值可以是候选答复中各个字在生成时所被赋予的权重(也即归一化概率)的均值。

需要注意的是,由于智能设备无法穷举所有的知识图谱,且用户的问题千变万化,因而,在实际应用中,也可能出现无法在知识图谱中查找出目标词语的情况。在这种情况下,智能设备可直接获取每个候选答复的答复分值,将答复分值最高的候选答复确定为目标答复。

步骤104,输出上述目标答复。

在本申请实施例中,智能设备可将步骤103所确定的目标答复作为针对本轮的用户语句的反馈而输出。示例性地,目标答复的输出方式与本轮的用户语句的输入方式保持统一,也即,若用户语句为文字输入,则可以文字输出的方式输出该目标答复;若用户语句为语音输入,则可以语音输出的方式输出该目标答复。

在一些实施例中,智能设备在执行上述步骤101-104之前,还需要对自然语言处理模型进行训练。请参阅图4,该自然语言处理模型的训练过程如下:

步骤401,针对任一多轮对话的训练样本,提取样本实体词语及样本关系信息;

在本申请实施例中,样本实体词语指的是一条训练样本中的某一问题所包含的实体词语,样本关系信息指的是该问题所包含的关系信息,且一条训练样本由至少一个问题及对应的答案而得。举例来说,预设的多轮对话的语料为“Q-刘彻的父亲是谁A-你觉得呢Q-不知道A-真笨”,其中,Q为问题,A为答案,则该多轮对话的语料即可作为一条训练样本,且“刘彻”为基于该训练样本的第一个问题所抽取出的实体词语(也即样本实体词语),“父亲”为基于该训练样本的第一个问题所抽取出的关系信息(也即样本关系信息)。需要注意的是,本申请实施例所考虑的样本实体词语及样本关系信息需要来源于同一条问题。

步骤402,根据上述样本实体词语、上述样本关系信息及上述知识图谱,查找出目标知识;

在本申请实施例中,该目标知识即为从知识图谱中所查找出的与样本实体词语及样本关系信息相匹配的答案。通常来说,该目标知识也为实体词语。举例来说,前文所示的训练样本中,“刘彻”为样本实体词语,“父亲”为样本关系信息,在知识图谱中所查找出的目标知识为“刘启”。

步骤403,基于上述目标知识及上述训练样本,生成新样本;

在本申请实施例中,在查找出目标知识的前提下,可基于所查找到的目标知识及原有的训练样本来生成新样本,具体过程为:在该训练样本中,将该问题之后的所有语句删除,并将该目标知识作为该问题的新答案,即可得到新样本。举例来说,对于原来的训练样本,由于根据“刘彻的父亲是谁”这一问题所提取出的样本实体词语“刘彻”及样本关系信息“父亲”,已查找出了目标知识“刘启”,因而,在原来的训练样本中,问题“刘彻的父亲是谁”之后的所有语句将被替换为目标知识“刘启”。也即,原有训练样本“Q-刘彻的父亲是谁A-你觉得呢Q-不知道A-真笨”在被替换后得到了新的多轮对话的语料“Q-刘彻的父亲是谁A-刘彻”。

步骤404,分别通过上述训练样本及上述新样本,对待训练的自然语言处理模型进行训练。

在本申请实施例中,不管是原有的训练样本,还是基于训练样本所生成的新样本,都可作为待训练的自然语言处理模型在训练过程中的输入数据来对自然语言处理模型进行训练。也即,通过上述步骤401-403,可使得原有的多轮对话的训练语料被大大扩充。

需要注意的是,与前文对自然语言处理模型的应用过程的描述类似,训练样本中的实体词语也会被作为重要特征,与训练样本一起输入至自然语言处理模型中;也即,训练过程中,会基于训练样本中各个问题的实体词语、各个问题、各个问题的答复及预设的标识符一起来对待训练的自然语言处理模型进行训练。举例来说,基于上文所提出的训练样本的示例,输入待训练的自然语言处理模型的输入数据如图5-1所示;基于上文所提出的新样本的示例,输入待训练的自然语言处理模型的输入数据如图5-2所示。由于训练过程中,输入自然语言处理模型除了问题及答复外,还有问题的实体词语;也即,多轮对话中的问题所包含的实体词语也会被作为一个重要的特征对自然语言处理模型的训练产生作用,这可大大提升最后所得的已训练的自然语言处理模型的鲁棒性及准确性。

在一些实施例中,在采用GPT2模型作为自然语言处理模型的情况下,该GPT2模型还会在训练时采用Masked Self Attention机制,使得GPT2模型在生成i=n位置的字时,只有i≤n的字序列可以被自注意力机制看见,其原因为:GPT2模型希望用已知的信息逐个预测未知的信息,如果在训练时能看到未知的信息,将会混淆GPT2模型的生成。所以,在生成i=n位置的字时,i>n的位置的字将被mask起来,避免i>n的位置的字对GPT2模型造成干扰。

由上可见,通过本申请实施例,在多轮对话过程中,当接收到本轮输入的用户语句,先提取上述用户语句的实体词语及关系信息,然后将历史拼接语句、上述用户语句及上述实体词语输入至已训练的自然语言处理模型中,得到上述自然语言处理模型所输出的至少一条候选答复,其中,上述历史拼接语句基于上述多轮对话过程中的各个历史用户语句及各个历史用户语句对应的历史答复而生成,接着根据上述实体词语、上述关系信息及预设的知识图谱,从上述至少一条候选答复中筛选出目标答复,最后输出上述目标答复。上述过程一方面在多轮对话时将历史会话及当前用户语句均考虑在内,在理解历史会话的基础上帮助智能设备能够获得更优的候选答复,另一方面还会通过知识图谱来对候选答复进行筛选,以获得更有意义的目标答复。

对应于前文所提出的答复推荐方法,本申请实施例提供了一种答复推荐装置,上述答复推荐装置集成于智能设备。请参阅图6,本申请实施例中的答复推荐装置600包括:

提取单元601,用于在多轮对话过程中,若接收到本轮输入的用户语句,则提取上述用户语句的实体词语及关系信息;

获取单元602,用于将历史拼接语句、上述用户语句及上述实体词语输入至已训练的自然语言处理模型中,得到上述自然语言处理模型所输出的至少一条候选答复,其中,上述历史拼接语句基于上述多轮对话过程中的各个历史用户语句及各个历史用户语句对应的历史答复而生成;

筛选单元603,用于根据上述实体词语、上述关系信息及预设的知识图谱,从上述至少一条候选答复中筛选出目标答复;

输出单元604,用于输出上述目标答复。

可选地,上述获取单元602,包括:

拼接子单元,用于基于预设的拼接顺序,将上述历史拼接语句、上述用户语句及上述实体词语进行拼接,得到当前拼接语句;

处理子单元,用于通过上述自然语言处理模型对上述当前拼接语句进行处理,得到上述自然语言处理模型所输出的至少一条候选答复。

可选地,上述答复推荐装置600还包括:

更新单元,用于在接收到下一轮输入的用户语句时,基于上述当前拼接语句及上述目标答复更新上述历史拼接语句。

可选地,上述筛选单元603,包括:

查找子单元,用于在上述知识图谱中查找出目标词语,其中,上述目标词语及上述实体词语之间的关系与上述关系信息相匹配;

筛选子单元,用于根据上述目标词语,从上述至少一条候选答复中筛选出上述目标答复。

可选地,上述筛选子单元,包括:

检测子单元,用于检测各个候选答复中是否包含上述目标词语;

确定子单元,用于将包含上述目标词语的候选答复确定为上述目标答复。

可选地,上述答复推荐装置600还包括:

训练提取单元,用于针对任一多轮对话的训练样本,提取样本实体词语及样本关系信息,其中,上述样本实体词语为上述训练样本中的问题所包含的实体词语,上述样本关系信息为上述问题所包含的关系信息,且一个训练样本由至少一个问题及对应的答案而得;

训练查找单元,用于根据上述样本实体词语、上述样本关系信息及上述知识图谱,查找出目标知识;

训练生成单元,用于基于上述目标知识及上述训练样本,生成新样本;

模型训练单元,用于分别通过上述训练样本及上述新样本,对待训练的自然语言处理模型进行训练。

可选地,上述训练生成单元,具体用于在上述训练样本中,将上述问题之后的所有语句删除,并将上述目标知识作为上述问题的新答案,得到上述新样本。

由上可见,通过本申请实施例,在多轮对话过程中,当接收到本轮输入的用户语句,先提取上述用户语句的实体词语及关系信息,然后将历史拼接语句、上述用户语句及上述实体词语输入至已训练的自然语言处理模型中,得到上述自然语言处理模型所输出的至少一条候选答复,其中,上述历史拼接语句基于上述多轮对话过程中的各个历史用户语句及各个历史用户语句对应的历史答复而生成,接着根据上述实体词语、上述关系信息及预设的知识图谱,从上述至少一条候选答复中筛选出目标答复,最后输出上述目标答复。上述过程一方面在多轮对话时将历史会话及当前用户语句均考虑在内,在理解历史会话的基础上帮助智能设备能够获得更优的候选答复,另一方面还会通过知识图谱来对候选答复进行筛选,以获得更有意义的目标答复。

本申请实施例还提供了一种智能设备,请参阅图7,本申请实施例中的智能设备7包括:存储器701,一个或多个处理器702(图7中仅示出一个)及存储在存储器701上并可在处理器上运行的计算机程序。其中:存储器701用于存储软件程序以及单元,处理器702通过运行存储在存储器701的软件程序以及单元,从而执行各种功能应用以及数据处理,以获取上述预设事件对应的资源。具体地,处理器702通过运行存储在存储器701的上述计算机程序时实现以下步骤:

在多轮对话过程中,若接收到本轮输入的用户语句,则提取上述用户语句的实体词语及关系信息;

将历史拼接语句、上述用户语句及上述实体词语输入至已训练的自然语言处理模型中,得到上述自然语言处理模型所输出的至少一条候选答复,其中,上述历史拼接语句基于上述多轮对话过程中的各个历史用户语句及各个历史用户语句对应的历史答复而生成;

根据上述实体词语、上述关系信息及预设的知识图谱,从上述至少一条候选答复中筛选出目标答复;

输出上述目标答复。

假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,上述将历史拼接语句、上述用户语句及上述实体词语输入至已训练的自然语言处理模型中,得到上述自然语言处理模型所输出的至少一条候选答复,包括:

基于预设的拼接顺序,将上述历史拼接语句、上述用户语句及上述实体词语进行拼接,得到当前拼接语句;

通过上述自然语言处理模型对上述当前拼接语句进行处理,得到上述自然语言处理模型所输出的至少一条候选答复。

在上述第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,处理器702通过运行存储在存储器701的上述计算机程序时实现以下步骤:

在接收到下一轮输入的用户语句时,基于上述当前拼接语句及上述目标答复更新上述历史拼接语句。

在上述第一种可能的实施方式作为基础而提供的第四种可能的实施方式中,上述根据上述实体词语、上述关系信息及预设的知识图谱,从上述至少一条候选答复中筛选出目标答复,包括:

在上述知识图谱中查找出目标词语,其中,上述目标词语及上述实体词语之间的关系与上述关系信息相匹配;

根据上述目标词语,从上述至少一条候选答复中筛选出上述目标答复。

在上述第四种可能的实施方式作为基础而提供的第五种可能的实施方式中,上述根据上述目标词语,从上述至少一条候选答复中筛选出上述目标答复,包括:

检测各个候选答复中是否包含上述目标词语;

将包含上述目标词语的候选答复确定为上述目标答复。

在上述第一种可能的实施方式作为基础,或者上述第二种可能的实施方式作为基础,或者上述第三种可能的实施方式作为基础,或者上述第四种可能的实施方式作为基础,或者上述第五种可能的实施方式作为基础而提供的第六种可能的实施方式中,上述答复推荐方法还包括:

针对任一多轮对话的训练样本,提取样本实体词语及样本关系信息,其中,上述样本实体词语为上述训练样本中的问题所包含的实体词语,上述样本关系信息为上述问题所包含的关系信息,且一个训练样本由至少一个问题及对应的答案而得;

根据上述样本实体词语、上述样本关系信息及上述知识图谱,查找出目标知识;

基于上述目标知识及上述训练样本,生成新样本;

分别通过上述训练样本及上述新样本,对待训练的自然语言处理模型进行训练。

在上述第六种可能的实施方式作为基础而提供的第七种可能的实施方式中,上述基于上述目标知识对上述训练样本进行更新,包括:

在上述训练样本中,将上述问题之后的所有语句删除,并将上述目标知识作为上述问题的新答案,得到上述新样本。

应当理解,在本申请实施例中,所称处理器702可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器701可以包括只读存储器和随机存取存储器,并向处理器702提供指令和数据。存储器701的一部分或全部还可以包括非易失性随机存取存储器。例如,存储器701还可以存储设备类别的信息。

由上可见,通过本申请实施例,在多轮对话过程中,当接收到本轮输入的用户语句,先提取上述用户语句的实体词语及关系信息,然后将历史拼接语句、上述用户语句及上述实体词语输入至已训练的自然语言处理模型中,得到上述自然语言处理模型所输出的至少一条候选答复,其中,上述历史拼接语句基于上述多轮对话过程中的各个历史用户语句及各个历史用户语句对应的历史答复而生成,接着根据上述实体词语、上述关系信息及预设的知识图谱,从上述至少一条候选答复中筛选出目标答复,最后输出上述目标答复。上述过程一方面在多轮对话时将历史会话及当前用户语句均考虑在内,在理解历史会话的基础上帮助智能设备能够获得更优的候选答复,另一方面还会通过知识图谱来对候选答复进行筛选,以获得更有意义的目标答复。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者外部设备软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关联的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读存储介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机可读存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括是电载波信号和电信信号。

以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号