首页 / 专利库 / 人工智能 / 对话语料库 / 一种回复选择方法及装置

一种回复选择方法及装置

阅读:166发布:2020-05-16

专利汇可以提供一种回复选择方法及装置专利检索,专利查询,专利分析的服务。并且本 申请 公开了一种回复选择方法及装置,该方法包括:在获取到提问者提出的目标问题后,可以先根据目标问题,生成提问者的人物画像信息,然后,再获取目标问题的各个待选回复,接着,可以根据目标问题和人物画像信息,从获取到的各个待选回复中选择一个回复,作为目标问题的最终回复。可见,本申请在从各个待选回复中选择目标问题的最终回复时,考虑了提出目标问题的提问者的人物画像信息,使得选择出的最终回复的内容与提问者本身的个性特点更加相关,进而可以满足提问者的对话需求,提高了回复选择结果的合理性。,下面是一种回复选择方法及装置专利的具体信息内容。

1.一种回复选择方法,其特征在于,包括:
获取提问者提出的目标问题;
根据所述目标问题,生成所述提问者的人物画像信息;
获取所述目标问题的各个待选回复;
根据所述目标问题和所述人物画像信息,从各个待选回复中选择一个回复,作为所述目标问题的最终回复。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标问题,生成所述提问者的人物画像信息,包括:
从预先构建的画像信息库中,选择与所述目标问题语义相近的至少一条候选画像信息,作为所述提问者的人物画像信息。
3.根据权利要求2所述的方法,其特征在于,所述从预先构建的画像信息库中,选择与所述目标问题语义相近的至少一条候选画像信息,包括:
生成所述目标问题的语义表示结果;
生成所述画像信息库中的每条候选画像信息的语义表示结果;
根据生成的语义表示结果,选择与所述目标问题在语义距离上相近的至少一条候选画像信息。
4.根据权利要求1所述的方法,其特征在于,所述获取所述目标问题的各个待选回复,包括:
根据所述目标问题和所述人物画像信息,生成所述目标问题的至少一个待选回复;
和/或,从预先构建的对话语料库中,获取所述目标问题的至少一个待选回复。
5.据权利要求1至4任一项所述的方法,其特征在于,所述根据所述目标问题和所述人物画像信息,从各个待选回复中选择一个回复,包括:
根据目标上下文和所述人物画像信息,从各个待选回复中选择一个回复,其中,所述目标上下文包括所述目标问题以及所述目标问题之前的历史对话上文。
6.据权利要求5所述的方法,其特征在于,所述根据目标上下文和所述人物画像信息,从各个待选回复中选择一个回复,包括:
对于各个待选回复中的每一待选回复,确定所述目标上下文与所述人物画像信息分别与所述待选回复之间的语义相关度;
根据各个待选回复各自对应的语义相关度,从各个待选回复中选择一个回复。
7.据权利要求6所述的方法,其特征在于,所述确定所述目标上下文与所述人物画像信息分别与所述待选回复之间的语义相关度,包括:
生成所述待选回复在词级别下的语义表示结果;
生成所述目标上下文在词级别、句子级别以及上下文级别中的至少一个表示级别下的语义表示结果,并根据生成的语义表示结果确定所述目标上下文与所述待选回复之间的语义相关度;
生成所述人物画像信息在词级别、句子级别以及上下文级别中的至少一个表示级别下的语义表示结果,并根据生成的语义表示结果确定所述人物画像信息与所述待选回复之间的语义相关度。
8.据权利要求7所述的方法,其特征在于,所述根据生成的语义表示结果确定所述目标上下文与所述待选回复之间的语义相关度,包括:
将所述目标上下文在每一表示级别下的语义表示结果,与所述待选回复的语义表示结果进行相关性计算,得到所述目标上下文与所述待选回复之间的语义相关度;
相应地,所述根据生成的语义表示结果确定所述人物画像信息与所述待选回复之间的语义相关度,包括:
将所述人物画像信息在每一表示级别下的语义表示结果,与所述待选回复的语义表示结果进行相关性计算,得到所述人物画像信息与所述待选回复之间的语义相关度。
9.一种回复选择装置,其特征在于,包括:
目标问题获取单元,用于获取提问者提出的目标问题;
画像信息生成单元,用于根据所述目标问题,生成所述提问者的人物画像信息;
待选回复获取单元,用于获取所述目标问题的各个待选回复;
待选回复选择单元,用于根据所述目标问题和所述人物画像信息,从各个待选回复中选择一个回复,作为所述目标问题的最终回复。
10.根据权利要求9所述的装置,其特征在于,所述待选回复选择单元具体用于:
根据目标上下文和所述人物画像信息,从各个待选回复中选择一个回复,其中,所述目标上下文包括所述目标问题以及所述目标问题之前的历史对话上文。
11.根据权利要求10所述的装置,其特征在于,所述待选回复选择单元包括:
语义相关度确定子单元,用于对于各个待选回复中的每一待选回复,确定所述目标上下文与所述人物画像信息分别与所述待选回复之间的语义相关度;
待选回复选择子单元,用于根据各个待选回复各自对应的语义相关度,从各个待选回复中选择一个回复。
12.根据权利要求11所述的装置,其特征在于,所述语义相关度确定子单元包括:
第三结果生成子单元,用于生成所述待选回复在词级别下的语义表示结果;
第一相关度生成子单元,用于生成所述目标上下文在词级别、句子级别以及上下文级别中的至少一个表示级别下的语义表示结果,并根据生成的语义表示结果确定所述目标上下文与所述待选回复之间的语义相关度;
第二相关度生成子单元,用于生成所述人物画像信息在词级别、句子级别以及上下文级别中的至少一个表示级别下的语义表示结果,并根据生成的语义表示结果确定所述人物画像信息与所述待选回复之间的语义相关度。
13.一种回复选择设备,其特征在于,包括:处理器、存储器系统总线
所述处理器以及所述存储器通过所述系统总线相连;
所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行权利要求1-8任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行权利要求1-8任一项所述的方法。
15.一种计算机程序产品,其特征在于,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行权利要求1-8任一项所述的方法。

说明书全文

一种回复选择方法及装置

技术领域

[0001] 本申请涉及人工智能技术领域,尤其涉及一种回复选择方法及装置。

背景技术

[0002] 随着人工智能和自然语言处理技术的发展,机器开始初步具备了一定的理解人类语言 的能,这种能力为人与机器通过人类语言来交流带来了可能,因此,近年来出现了
各种各 样的人机对话系统。这种对话系统按照是否面向任务可以分为两种:一种是任务型的,它 带有明确的目标或者任务,旨在用最短的交互时间或者轮数完成任务,如智能客服、手机 智能助理等;另一种是自然交互型的,通常被人们称为“聊天机器人”,它没有明确的目标, 旨在与人类进行沟通、交流甚至是情感倾诉。
[0003] 其中,关于自然交互型的人机对话系统,是基于对话的上下文去检索或生成与对话内 容相关的回复,但得到的回复可能与提问者无关,从而无法满足提问者的对话需求。
发明内容
[0004] 本申请实施例的主要目的在于提供一种回复选择方法及装置,能够得到与提问者相关 的回复,以满足提问者的对话需求。
[0005] 本申请实施例提供了一种回复选择方法,包括:
[0006] 获取提问者提出的目标问题;
[0007] 根据所述目标问题,生成所述提问者的人物画像信息;
[0008] 获取所述目标问题的各个待选回复;
[0009] 根据所述目标问题和所述人物画像信息,从各个待选回复中选择一个回复,作为所述 目标问题的最终回复。
[0010] 本申请实施例还提供了一种回复选择装置,包括:
[0011] 目标问题获取单元,用于获取提问者提出的目标问题;
[0012] 画像信息生成单元,用于根据所述目标问题,生成所述提问者的人物画像信息;
[0013] 待选回复获取单元,用于获取所述目标问题的各个待选回复;
[0014] 待选回复选择单元,用于根据所述目标问题和所述人物画像信息,从各个待选回复中 选择一个回复,作为所述目标问题的最终回复。
[0015] 本申请实施例提供的一种回复选择方法及装置,在获取到提问者提出的目标问题后, 可以先根据目标问题,生成提问者的人物画像信息,然后,再获取目标问题的各个待选回 复,接着,可以根据目标问题和人物画像信息,从获取到的各个待选回复中选择一个回复, 作为目标问题的最终回复。可见,本申请实施例在从各个待选回复中选择目标问题的最终 回复时,考虑了提出目标问题的提问者的人物画像信息,使得选择出的最终回复的内容与 提问者本身的个性特点更加相关,进而可以满足提问者的对话需求,提高了回复选择结果 的合理性。
附图说明
[0016] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技 术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一 些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这 些附图获得其他的附图。
[0017] 图1为本申请实施例提供的一种回复选择方法的流程示意图;
[0018] 图2为本申请实施例提供的回复生成模型的结构示意图;
[0019] 图3为本申请实施例提供的根据目标上下文和人物画像信息生成目标问题的至少一个 待选回复的流程示意图;
[0020] 图4为本申请实施例提供的生成目标问题的至少一个待选回复的流程示意图;
[0021] 图5为本申请实施例提供的从预先构建的对话语料库中获取目标问题的至少一个待选 回复的流程示意图;
[0022] 图6为本申请实施例提供的相关性模型的结构示意图;
[0023] 图7为本申请实施例提供的回复选择模型的结构示意图;
[0024] 图8为本申请实施例提供的根据目标上下文和人物画像信息从各个待选回复中选择一 个回复的流程示意图;
[0025] 图9为本申请实施例提供的确定目标上下文与人物画像信息分别与待选回复之间的语 义相关度的流程示意图;
[0026] 图10为本申请实施例提供的一种回复选择方法的结构示意图;
[0027] 图11为本申请实施例提供的一种回复选择装置的组成示意图。

具体实施方式

[0028] 通常,可以将人与机器的对话系统分为两类,一类是基于检索技术的对话系统,另一 类是基于生成模型的对话系统。
[0029] 其中,基于检索技术的对话系统在生成问题的回复时,其实现过程为:首先,生成当 前提问者和机器对话的上下文的语义表达结果,然后,再以包含大量人类对话的语料库为 基础,利用语义匹配技术,将该语义表达结果与语料库中包含的所有人类对话对应的语义 表达结果进行匹配,从中检索出至少一个匹配度较高的语义表达结果对应的人类对话,作 为在语义上与当前提问者和机器的对话上下文内容比较相似的人类对话,进而,可以将这 些检索出的人类对话中的回复作为当前提问者在对话中提出的问题的待选回复,最后,再 通过计算这些待选回复与该问题的相关性,选择出其中相关性最高的待选回复,作为该问 题的最终回复。
[0030] 而基于生成模型的对话系统在生成问题的回复时,其实现过程为:首先,预先收集大 量人类对话语料作为训练数据,然后,利用这些训练数据,对预先构建的一个初始神经网 络模型(如基于端到端的序列生成模型)进行训练,以使得训练后的模型能够学习到人类 对话中的转承关系,进而,可以利用该生成模型,生成当前提问者在对话中提出的问题的 回复。
[0031] 但是,申请人发现,上述两种方式均是基于提问者和机器对话的上下文内容去检索或 生成与该对话内容相关的回复,这样得到的回复可能仅与对话内容相关,而与提问者本身 无关,可是,人类之间的对话内容往往与对话者的个人信息是有很大关系的,所以,通过 上述两种方法选择出的回复,均与提问者的个人信息无关,因此,可能无法满足提问者的 对话要求。
[0032] 举例说明:假设提问者提出的问题为“你周末一般喜欢做什么”,通过上述两种回复选 择方法,选择出的回复可能为“喜欢户外运动”、“喜欢宅在家里”等,这些回复和问题“你 周末一般喜欢做什么”之间的关系均符合人类对话中的转承关系,也同样均可以与问题“你 周末一般喜欢做什么”构成人类对话的语料存在语料库中,但是虽然这两条回复都和问题 “你周末一般喜欢做什么”内容相关,可是这两条回复的语义是完全相反的,这是由于现 有的上述两种回复选择方法,均未能根据提问者自身的个性信息,来为提问者选择出符合 其自身特点的回复,造成针对同一问题,可能每次选择的回复是不同的,反复无常,导致 无法满足提问者的对话要求。
[0033] 为解决上述缺陷,本申请提供了一种回复选择方法,在获取到提问者提出的问题后, 先根据目标问题,生成提问者的人物画像信息,然后,再获取目标问题的各个待选回复, 接着,根据目标问题和人物画像信息,从获取到的各个待选回复中选择一个回复,作为目 标问题的最终回复。所以,相比于上述两种回复选择方法,本申请在从各个待选回复中选 择目标问题的最终回复时,充分考虑到了提问者自身的个性特点,从而使得选择出的最终 回复的内容不仅与提问者和机器的人机对话内容相关,也与提问者本身的个性特点相
关, 故而,能够满足提问者的对话需求,提高了回复生成结果的合理性。
[0034] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的 附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本 申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员 在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0035] 第一实施例
[0036] 参见图1,为本实施例提供的一种回复选择方法的流程示意图,该方法包括以下步骤:
[0037] S101:获取提问者提出的目标问题。
[0038] 在本实施例中,将提问者向机器提出的需要机器选择出回复的问题定义为目标问题, 需要说明的是,本实施例不限制提问者提出目标问题的方式,比如,提问者可以通过语音 输入的方式向机器提出目标问题,也可以通过文本输入的方式向机器提出目标问题,
即, 目标问题可以是语音形式,也可以是文本形式,并且,本实施例也不限制目标问题的语种, 比如中文、英文等。此外,当提问者通过文本输入的方式向机器提出目标问题时,本实施 例也不限制提问者所使用的输入法类型,比如搜狗输入法、百度输入法等。
[0039] S102:根据目标问题,生成提问者的人物画像信息。
[0040] 在本实施例中,通过步骤S101获取到提问者提出的目标问题后,为了提高回复选择 结果的合理性,使得选择出的回复内容能够满足提问者的对话需求,首先需要基于目标问 题的语义信息,获取体现提问者个性特点的人物画像信息,该人物画像信息可以包括提问 者的姓名(昵称)、年龄、兴趣爱好、生活习惯等不同类型信息中的一种信息或多种组合信 息。
[0041] 其中,提问者的人物画像信息指的是描述人物个性特点的信息,可以从预先构建的画 像信息库中获取。画像信息库中可以预存有大量的候选画像信息,这些画像信息可以是从 现有的描述人物个性信息中收集到的信息数据,也可以是根据现有的人物画像信息
模拟出 来的信息数据,同时,在存储这些画像信息时,可以将各个类型的画像信息存储为不同的 描述性的字、词或完整的描述性语句等,而且,这些画像信息可以包括人物的姓名(昵称)、 年龄、兴趣爱好、生活习惯等不同类型的信息。
[0042] 需要说明的是,在画像信息库中存储画像信息时,可以按照人物的姓名、年龄、兴趣 爱好等不同信息类型进行存储,比如,信息类型“姓名”下的画像信息可以包含:人物A、 人物B、人物C等,信息类型“年龄”下的画像信息可以包含各种年龄段等,其他信息类 型(比如兴趣爱好、生活习惯)同样可以包含对应类型的画像信息。
[0043] 进而,可以将收集到的现有画像信息和/或根据这些现有画像信息模拟出来的画像信 息,以描述性的字或词的形式存储到画像信息库中,用以构建画像信息库。或者,也可以 利用多条完整的描述性语句,对画像信息进行描述,并作为多条文本行记录,存储在画像 信息库中,例如,假设信息类型“兴趣爱好”下的画像信息包括:篮球、羽毛球和户外徒 步,则可以使用一个完整的描述性语句“我喜欢篮球、羽毛球和户外徒步”对前述画像信 息进行描述,并可以将这条自然文本,存储在画像信息库中,同理,可以将收集到的现有 画像信息以及根据这些现有画像信息模拟出来的画像信息,以这种完整的描述性语句的形 式
存储到画像信息库中,用以构建画像信息库。
[0044] 基于此,当预先构建了画像信息库之后,在本实施例中,一种可选的实现方式是,本 步骤S102具体可以包括:从预先构建的画像信息库中,选择与目标问题语义相近的至少一 条候选画像信息,作为提问者的人物画像信息。
[0045] 在本实现方式中,通过上述方式,将大量的候选画像信息预先存储到画像信息库后, 可以将其中的每条候选画像信息与目标问题进行语义比较,从而可以查询出与目标问题在 语义上比较相近的至少一条候选画像信息,并可以将这至少一条候选画像信息作为
体现提 问者个性特点的人物画像信息,进而可以通过后续步骤S103,根据此人物画像信息以及目 标问题,合理的生成目标问题的至少一个待选回复,以便能够通过后续步骤S104,根据此 人物画像信息以及目标问题,从生成的这至少一个待选回复中选择出符合提问者
需求的最 终回复。
[0046] 这样,在获取到体现提问者个性特点的人物画像信息后,可将其作为生成目标问题的 待选回复的依据,从而使得生成的待选回复能够与提问者自身的特点更相关,进而更符合 提问者的对话需求。
[0047] 接下来,本实施例将通过下述步骤A1-A3,对上述实现方式中“从预先构建的画像信 息库中,选择与目标问题语义相近的至少一条候选画像信息”的具体过程进行介绍。
[0048] 步骤A1:生成目标问题的语义表示结果。
[0049] 在本实施例中,可以首先利用分词方法,对目标问题对应的识别文本进行分词,得到 识别文本中包含的各个词,然后,可以计算出各个词在识别文本中所占的权重,接着,利 用向量生成方法,可以生成识别文本中各个词对应的词向量,比如,可以通过查询语义词 典的方式,查询出识别文本中各个词对应的词向量,进而,可以根据每个词对应的词向量 及每个词在识别文本中所占的权重,生成目标问题的语义表示结果,具体计算公式如下:
[0050]
[0051] 其中,V表示目标问题的语义表示结果;n表示目标问题对应的识别文本中包含的词 的总个数;Ei表示识别文本中第i个词对应的词向量;wi表示识别文本中第i个词在识别 文本中所占的权重,该权重值越大,表示第i个词在识别文本中的重要度越高。
[0052] 举例说明:假设目标问题对应的识别文本为“你周末喜欢做什么”,则对该识别文本 进行分词后,得到的各个词为:“你”、“周末”、“喜欢”、“做”、“什么”,然后,可以计算 出各个词在识别文本中所占的权重分别为“0.2”、“0.3”、“0.16”、“0.18”、“0.14”,接着, 生成各个词对应的词向量分别为E1、E2、E3、E4、E5,进而,可以利用上述公式(1)计 算出目标问题“你周末喜欢做什么”的语义表示结果为: V=0.2E1+0.3E2+0.16E3+0.18E4+0.14E5。
[0053] 步骤A2:生成画像信息库中的每条候选画像信息的语义表示结果。
[0054] 在本实施例中,将以画像信息库中的某一候选画像信息为准来介绍如何生成该候选画 像信息的语义表示结果,而其它候选画像信息的处理方式与之类似,不再一一赘述。
[0055] 具体来讲,可以如步骤A1那样,首先利用分词方法,对该条候选画像信息进行分词, 得到其包含的各个词,然后,可以计算出每个词在该条候选画像信息中所占的权重,接着, 可以生成各个词对应的词向量,进而,可以根据每个词对应的词向量及每个词在该条候选 画像信息中所占的权重,生成该条画像信息的语义表示结果,具体计算公式如下:
[0056]
[0057] 其中,Vh'表示画像信息库中的第h条候选画像信息的语义表示结果;n'表示画像信息 库中的第h条候选画像信息包含的词的总个数;Ej'表示第h条候选画像信息中第j个
词对 应的词向量;γj表示第h条候选画像信息中第j个词在第h条候选画像信息中所占的
权重, 该权重值越大,表示第j个词在第h条候选画像信息中的重要度越高。
[0058] 举例说明:假设画像信息库中第h条候选画像信息为“我喜欢篮球、羽毛球和户外徒 步”,则对该条候选画像信息进行分词后,得到的各个词为:“我”、“喜欢”、“篮球”、“、”、 “羽毛球”、“和”、“户外”、“徒步”,然后,可以计算出各个词在该条候选画像信息中所占 的权重分别为“0.1”、“0.15”、“0.2”、“0.01”、“0.2”、“0.05”、“0.1”、“0.14”,接着,生成 各个词对应的词向量分别为E1'、E2'、E3'、E4'、E5'、E6'、E7'、E8',进而,可以利用上述 公式(2)计算出第h条候选画像信息“我喜欢篮球、羽毛球和户外徒步”的语义表示结果 为:Vh'=
0.1E1'+0.15E2'+0.2E3'+0.01E4'+0.2E5'+0.05E6'+0.1E7'+0.14E8'。
[0059] 需要说明的是,本申请实施例不限制步骤A1和A2的执行顺序。
[0060] 步骤A3:根据生成的语义表示结果,选择与目标问题在语义距离上相近的至少一条 候选画像信息。
[0061] 在本实施例中,通过步骤A1生成目标问题的语义表示结果V,以及通过步骤A2生 成画像信息库中的每条候选画像信息的语义表示结果(如画像信息库中的第h条候选画像 
信息的语义表示结果Vh')后,可以通过计算目标问题的语义表示结果与画像信息库中的每 条候选画像信息的语义表示结果之间的余弦距离,得到目标问题与画像信息库中的每条候 选画像信息之间的语义距离,具体计算公式如下:
[0062] sim=cos ine(V,Vh')   (3)
[0063] 其中,sim是语义距离值,用于衡量目标问题与画像信息库中第h条候选画像信息之 间的语义距离;cos ine表示余弦距离计算公式;V表示目标问题的语义表示结果;Vh'表示 画像信息库中第h条候选画像信息的语义表示结果。
[0064] 可以理解的是,上述公式(3)中的sim取值越大,表明目标问题与画像信息库中的第 h条候选画像信息之间的语义距离越小,即,二者在语义上是越相近的。
[0065] 基于此,可以利用上述公式(3)计算出目标问题与画像信息库中的每条候选画像信息 之间的语义距离值,进而,可以将这些语义距离值从大到小排序,并选择排序在前的预设 数目的语义距离值对应的候选画像信息,作为与目标问题在语义距离上相近的候选
画像信 息;或者,将这些语义距离值从小到大排序,并选择排序在后的预设数目的语义距离值对 应的候选画像信息,作为与目标问题在语义距离上相近的候选画像信息;或者,选择高于 预设阈值的所有语义距离值对应的候选画像信息,作为与目标问题在语义距离上
相近的候 选画像信息。
[0066] S103:获取目标问题的各个待选回复。
[0067] 在本实施例中,通过步骤S101获取到提问者提出的目标问题,以及通过步骤S102生成 提问者的人物画像信息后,可以对目标问题和/或人物画像信息进行数据处理,以便
根据处 理结果,获取满足提问者的对话需求的目标问题的各个待选回复。
[0068] 本步骤S103可以采用以下三种实现方式之一。
[0069] 在S103的第一种实现方式中,步骤S103具体可以包括:根据目标问题和人物画像信息, 生成目标问题的至少一个待选回复。
[0070] 在本实现方式中,可以理解的是,关于目标问题的回复,与提问者在提出目标问题之 前和机器的历史对话内容是有一定的关系的,由此,为了提高生成的待选回复的合理性, 以便后续可以从这些待选回复中选择出满足提问者的对话需求的最终回复,可以在通过步 骤S102生成提问者的人物画像信息后,将该画像信息以及目标问题所属上下文一同
进行相 应的编解码处理,进而可以根据解码结果,生成目标问题的至少一个待选回复。
[0071] 需要说明的是,步骤S103的本实现方式中“根据目标问题和提问者的人物画像信息, 生成目标问题的至少一个待选回复”的具体实现过程将在第二实施例中介绍。
[0072] 在S103的第二种实现方式中,步骤S103具体可以包括:从预先构建的对话语料库中, 获取目标问题的至少一个待选回复。
[0073] 在本实现方式中,同理,由于目标问题的回复,与提问者在提出目标问题之前和机器 的历史对话内容是有一定的关系的,因此,为了提高获取的待选回复的合理性,以便后续 可以从这些待选回复中选择出满足提问者的对话需求的最终回复,可以在通过步骤S101获 取到提问者提出的目标问题后,首先基于目标问题所属上下文的语义信息,从预先构建的 对话语料库中,搜索出与目标问题所属上下文在语义上相近的各组语料上下文,然后,在 获取到各组语料上下文中的问题语料对应的回复语料后,从中选取至少一个回复语料,作 为目标问题的至少一个待选回复。
[0074] 需要说明的是,步骤S103的本实现方式中“从预先构建的对话语料库中,获取目标问 题的至少一个待选回复”的具体实现过程将在第三实施例中介绍。
[0075] 在S103的第三种实现方式中,步骤S103具体可以包括:根据目标问题和提问者的人物 画像信息,生成目标问题的至少一个待选回复,以及,从预先构建的对话语料库中,获取 目标问题的至少一个待选回复。具体实现请参见上述第一种实现方式和第二种实现方
式。
[0076] S104:根据目标问题和人物画像信息,从各个待选回复中选择一个回复,作为目标问 题的最终回复。
[0077] 在本实施例中,通过步骤S102生成提问者的人物画像信息,以及通过步骤S103获取到 目标问题的各个待选回复后,为了使得选择出的最终回复能够满足提问者的对话需
求,可 以将人物画像信息与目标问题所属上下文,分别与各个待选回复进行语义相关度计算,进 而可以根据计算结果,从各个待选回复中选择一个与人物画像信息和目标问题所属上下文 相关度最高的回复,作为目标问题的最终回复。
[0078] 需要说明的是,本步骤S104的具体实现方式将在第四实施例中介绍。
[0079] 综上,本实施例提供的一种回复选择方法,在获取到提问者提出的目标问题后,可以 先根据目标问题,生成提问者的人物画像信息,然后,再获取目标问题的各个待选回复, 接着,根据目标问题和人物画像信息,从获取到的各个待选回复中选择一个回复,作为目 标问题的最终回复。可见,本实施例在从各个待选回复中选择目标问题的最终回复时,考 虑了提出目标问题的提问者的人物画像信息,使得选择出的最终回复的内容与提问者本身 的个性特点更加相关,进而可以满足提问者的对话需求,提高了回复选择结果的合理性。
[0080] 第二实施例
[0081] 本实施例将对第一实施例中步骤S103的第一种实现方式中“根据目标问题和提问者的 人物画像信息,生成目标问题的至少一个待选回复”的具体实现过程进行介绍。
[0082] 可以理解的是,目标问题的答复与提问者提出目标问题之前和机器的对话内容是有很 大关系的,所以,为了使得生成的回复更加符合提问者的对话要求,一种可选的实现方式 是,“根据目标问题和提问者的人物画像信息,生成目标问题的至少一个待选回复”具体可 以包括:根据目标上下文和提问者的人物画像信息,生成目标问题的至少一个待选回复。
[0083] 其中,目标上下文包括目标问题以及目标问题之前的历史对话上文,并可以将目标上 下文定义为C。需要说明的是,目标上下文C可以包括目标问题以及目标问题之前的全部历 史对话上文,或者,目标上下文C也可以包括从目标问题开始向前的包含目标问题在
内的部 分历史对话上文。假设目标上下文C包括m条句子,这里,将这m条句子按时间顺序从前往 后依次定义为u1、u2、…、um,其中,um指的是目标问题对应的文本内容,需要说明的是, 这里的目标上下文的条数m与第四实施例中提及的目标上下文的条数l相同。
[0084] 进而,可以通过对目标上下文和提问者的人物画像信息进行数据处理,获取到其中与 目标问题有关的信息数据,用以生成目标问题的更合理的待选回复,比如,可以利用预先 构建的回复生成模型,对目标上下文和提问者的人物画像信息进行编解码处理,用以生成 目标问题的各个待选回复。
[0085] 其中,本实施例预先构建的回复生成模型可以由多层网络构成,如图2所示,该模型 结构包括了输入层、词级别编码层、句子级别编码层、回复生成层及输出层。其中,词级 别编码层和句子级别编码层共同构成了模型的编码(Encoder)部分,用于将输入的目标上 
下文和人物画像信息编码成目标上下文编码向量 和人物画像信息编码向量 回复生成 
层作为模型的解码(Decoder)部分,用于对目标上下文编码向量 和人物画像信息编码向 
量 进行解码,再通过输出层,基于该解码结果生成目标问题的待选回复的具体内容。
[0086] 具体来讲,在本实施例中,一种可选的实现方式是,参见图3,“根据目标上下文和提 问者的人物画像信息,生成目标问题的至少一个待选回复”具体可以包括以下步骤 S301-S302:
[0087] S301:从目标上下文和提问者的人物画像信息中,提取出与目标问题相关的信息。
[0088] 在本实现方式中,可以利用预先构建的回复生成模型,对目标上下文和提问者的人物 画像信息进行编码处理,以去掉目标上下文和提问者的人物画像信息中的一些冗余
信息, 同时提取出与目标问题更加相关的信息,接着,再利用这些与目标问题更加相关的信息进 行解码,得到相应的解码结果,用以生成合理性更高的待选回复。
[0089] 具体来讲,参见图2,假设目标上下文(包含目标问题在内)中所包括的m条句子按 照出现的先后顺序依次为u1、u2、…、um,其中,um指的是目标问题对应的文本内容,且 提问者的人物画像信息中所包括的K条描述性的句子分别为p1、p2、...、pk,现可以将此 目标上下文和提问者的人物画像信息作为输入数据,输入至预先构建的回复生成模型后, 进而可以利用该模型从目标上下文和提问者的人物画像信息中,提取出与目标问题相关的 信息,具体实现过程包括下述步骤B1-B2:
[0090] 步骤B1:生成目标上下文中的各条句子的第一句子表示结果,并通过关注各个第一句 子表示结果中与目标问题相关的信息,得到目标上下文的上下文表示结果。
[0091] 如图2所示,首先,可以将目标上下文中的m条句子u1、u2、...、um中包含的各个词的 词向量,作为输入数据,输入至回复生成模型的输入层。例如,假设u1为“你在……干嘛”, 且u1中包含有m1个分词,则可以将每个分词依次对应的词向量 作为输 入数据,输入至回复生成模型的输入层,依次类推,可以将ui(我在……看剧)、……、um (看什么……电视剧)中包含的各个分词依次对应的词向量
作为输入数据,输入至回复生成模型的输入层。
[0092] 然后,利用回复生成模型的词级别编码层中包含的一个共享的双向长短期记忆网络 (Bi-directional Long Short-Term,简称BiLSTM),对输入层输入的目标上下文中的每条句 子包含的词向量进行编码处理,通过对每条句子分别进行编码处理,得到对应于每条句子 的句子编码结果,该句子编码结果包括BiLSTM网络对对应句子中的各个分词的词向
量进行 编码后得到的首个节点和最后一个节点的网络输出向量的拼接结果,这里,将每条句子对 应的句子编码结果,定义为对应句子的第一句子表示结果。
[0093] 举例说明:如图2所示,对于目标上下文中的第一条句子u1,利用回复生成模型的词级 别编码层中的共享BiLSTM,对其包含的词向量 进行编码处理后,
可 以得到网络的首个节点和最后一个节点对应的网络输出向量v1,1和 再将二者进行
拼接 后,可以得到句子u1的句子编码结果h1,即可以得到目标上下文中的第一条句子u1的第一 句子表示结果为h1。
[0094] 接着,可以利用回复生成模型的句子级别编码层,对目标上下文中的各条句子的第一 句子表示结果进行进一步的编码处理,以关注到各个第一句子表示结果中与目标问
题相关 的信息,进而可以得到目标上下文编码向量 用以作为目标上下文的上下文表示
结果。
[0095] 具体来讲,如图2所示,可以利用回复生成模型的句子级别编码层,将目标上下文中各 条句子的第一句子表示结果(h1、h2、…、hm)分别与目标问题的第一句子表示结果(即目 标上下文中最后一条句子um的第一句子表示结果hm)进行注意力计算,以关注到各个第
一 句子表示结果中与目标问题相关的信息,进而可以去除与目标问题无关的信息,仅对关注 到的这些信息进行编码即可,并且,在编码过程中,可以先计算出目标上下文中各条句子 的权重,具体计算公式如下:
[0096] ei=VTtanh(Whi+Uhm)   (4)
[0097]
[0098] 其中,V、W、U均表示通过对回复生成模型进行训练得到的模型参数;ei表示目标 上下文中第i条句子与目标问题(即目标上下文中第m条句子)之间的相关性;hi表示目标 上下文中第i条句子的第一句子表示结果;hm表示目标问题(即目标上下文中第m条句子) 
的第一句子表示结果;αi表示将ei经过softmax函数归一化后得到目标上下文中第i条句子的 权重,该权重的值表征了目标上下文中第i条句子与目标问题之间的相关性的高低,即,该 权重的值越大,表明目标上下文中第i条句子与目标问题之间的相关性越高,反之,该权重 的值越小,表明目标上下文中第i条句子与目标问题之间的相关性越低。
[0099] 通过上述公式(4)和(5)计算出目标上下文中各条句子的权重后,进一步可以根据 各条句子对应的权重值,计算出目标上下文的上下文表示结果,具体计算公式如下:
[0100]
[0101] 其中, 表示目标上下文的上下文表示结果;αi表示目标上下文中第i条句子的权重; hi表示目标上下文中第i条句子的第一句子表示结果。
[0102] 步骤B2:生成人物画像信息中的各条句子的第二句子表示结果,并通过关注各个第二 句子表示结果中与目标问题相关的信息,得到人物画像信息的画像表示结果。
[0103] 如图2所示,首先,可以将人物画像信息中的K条句子p1、p2、...、pk包含的各个词的 词向量,作为输入数据,输入至回复生成模型的输入层。例如,假设p1为“我喜欢……运 动”,且p1中包含有k1个分词,则可以将每个分词依次对应的词向量 作 为输入数据,输入至回复生成模型的输入层,依次类推,可以将pi(我看过……电影)、……、 pk(喜欢武侠剧……天龙八部)中包含的各个分词依次对应的词向量
作为输入数据,输入至回复生成模型的输入层。
[0104] 然后,利用回复生成模型的词级别编码层中包含的一个共享的双向长短期记忆网络BiLSTM,对输入层输入的人物画像信息中的每条句子包含的词向量进行编码处理,通过
对 每条句子分别进行编码处理,得到对应于每条句子的句子编码结果,该句子编码结果包括 BiLSTM网络对对应句子中的各个分词的词向量进行编码后得到的首个节点和最后一个
节 点的网络输出向量的拼接结果,这里,将每条句子对应的句子编码结果,定义为对应句子 的第二句子表示结果。
[0105] 举例说明:如图2所示,对于人物画像信息中的第一条句子p1,利用回复生成模型的词 级别编码层中的共享BiLSTM,对其包含的词向量 进行处理后,可
以得 到网络的首个节点和最后一个节点对应的网络输出向量v'1,1和 再将二者进行拼
接后, 可以得到句子p1的句子编码结果l1,即可以得到人物画像信息中的第一条句子p1的第二句 子表示结果为l1。
[0106] 接着,可以利用回复生成模型的句子级别编码层,对人物画像信息中的各条句子的第 二句子表示结果进行进一步的编码处理,以关注到各个第二句子表示结果中与目标
问题相 关的信息,进而可以得到人物画像信息编码向量 用以作为人物画像信息的画像
表示结 果。
[0107] 具体来讲,如图2所示,可以利用回复生成模型的句子级别编码层,将人物画像信息中 各条句子的第二句子表示结果(l1、l2、…、lk)分别与目标问题的第一句子表示结果(即目 标上下文中最后一条句子um的第一句子表示结果hm)进行注意力计算,以关注到各个第二 句子表示结果中与目标问题相关的信息,进而可以去除与目标问题无关的信息,仅对关注 到的这些信息进行编码即可,并且,在编码过程中,可以先计算出人物画像信息中各条句 子的权重,具体计算公式如下:
[0108] e'j=V1Ttanh(W'lj+U'hm)   (7)
[0109]
[0110] 其中,V1T、W'、U'均表示通过对回复生成模型进行训练得到的模型参数;e'j表示人 物画像信息中第j条句子与目标问题(即目标上下文中第m条句子)之间的相关性;lj表示 人物画像信息中第j条句子的第二句子表示结果;hm表示目标问题(即目标上下文中第m条 
句子)的第一句子表示结果;αj'表示将e'j经过softmax函数归一化后得到的表示人物画像信 息中第j条句子的权重,该权重的值表征了人物画像信息中第j条句子与目标问题之间
的相关 性的高低,即,该权重的值越大,表明表示人物画像信息中第j条句子与目标问题之间的相 关性越高,反之,该权重的值越小,则表明人物画像信息中第j条句子与目标问题之间的相 关性越低。
[0111] 通过上述公式(7)和(8)计算出人物画像信息中各条句子的权重后,进一步可以根 据各条句子对应的权重值,计算出人物画像信息的画像表示结果,具体计算公式如下:
[0112]
[0113] 其中, 表示人物画像信息的画像表示结果;α'j表示人物画像信息中第j条句子的权重; lj表示人物画像信息中第j条句子的第二句子表示结果。
[0114] S302:根据提取的相关信息,生成目标问题的至少一个待选回复。
[0115] 通过步骤S301从目标上下文和人物画像信息中,提取出与目标问题相关的信息后,比 如获取到目标上下文编码向量 和人物画像信息编码向量 后,如图2所示,首先,可以利 用回复生成模型的回复生成层中包含的一个单向长短期记忆网络(Long Short-
Term,简称 LSTM),对目标上下文编码向量 和人物画像信息编码向量 进行解码,得到该
回复生成 层在每一生成时刻生成的内部解码状态,具体计算公式如下:
[0116]
[0117] 其中,St表示回复生成层在第t个生成时刻所生成的内部解码状态;st-1表示回复生成 层在第t-1个生成时刻所生成的内部解码状态;yt-1表示输出层在第t-1个生成时刻所生成的 词对应(即输出层输出的待选回复中的第t-1个词)的词向量; 表示将目标上
下文编 码向量 和人物画像信息编码向量 拼接后的向量。
[0118] 需要说明的是,为了得到回复生成层在第1个生成时刻生成的内部解码状态S1,可以将 词向量y0设置为一个特殊符号,并且,将回复生成层在第0个生成时刻的内部解码状
态s0设置为目标问题的第一句子表示结果hm,以便进一步执行后续的解码步骤。
[0119] 接着,可以利用回复生成模型的输出层,根据回复生成层的每一个生成时刻所生成的 内部解码状态,得到对应于每一生成时刻的词概率分布,进而,根据对应于每一生成时刻 的词概率分布,得到每一生成时刻的词,这些词按照生成顺序组成待选回复。
[0120] 具体来讲,可以通过回复生成模型的输出层,根据回复生成层在第t个生成时刻所生成 的内部解码状态St,利用预先构建的候选词典进行概率计算,其中,在构建候选词典时, 可以将日常回复经常使用的词汇按照其出现频率的大小进行排序,并将其中出现频率很低 的词汇去除,同时将剩下的出现频率较高的L个词构成候选词典。这样,输出层即可利用该 候选词典,根据回复生成层在第t个生成时刻所生成的内部解码状态St,得到对应于
该生成 时刻的长度为L的概率分布,即,该概率分布中包含了第t个生成时刻所生成的词为候选词 典中这L个不同词中每一词时的概率,进而,为了提高回复生成结果的准确性,可以选择出 其中最大概率值对应的词作为第t个生成时刻所生成的词,其中,第t个生成时刻所生成的词 概率分布的具体计算公式如下:
[0121] zt=soft max(st)   (11)
[0122] 其中,zt表示第t个生成时刻所生成的词概率分布;st表示回复生成层在第t个生成时 刻所生成的内部解码状态。
[0123] 需要说明的是,在模型的实际解码过程中,为了提高模型的工作效率,尽量减少模型 的冗余计算流程,可以预先设置一个特殊符号,如,作为停止解码的标识,当模型在 解码过程中生成该标识时,则停止解码操作,反之,若未设置该特殊符号,会一直解码到 预设的最大回复长度才停止解码。
[0124] 在上述介绍内容中,当利用回复生成模型对目标上下文和提问者的人物画像信息进行 编解码处理时,充分考虑到了提问者自身的个性特点,并且在编解码处理过程中,去除了 与目标问题无关的信息,仅对关注到的、与目标问题相关的信息进行解码处理,进而可以 根据解码结果,生成准确性更高、更符合提问者需求的回复。
[0125] 需要说明的是,为了进一步提高回复生成结果的准确性,使得回复能够满足提问者的 对话需求,一种可选的实现方式是,本实施例还可以通过下述步骤S401-S403,来生成目标 问题的至少一个待选答复:
[0126] S401:利用N个回复生成模型分别确定第t个生成时刻对应的概率分布,N≥1。
[0127] 在本实现方式中,为了提高回复结果的准确性,可以预先训练多个回复生成模型,并 用这些回复生成模型分别确定出第t个生成时刻对应的概率分布。比如,可以预先训练N个 回复生成模型,用以确定出N个第t个生成时刻对应的概率分布。
[0128] 其中,概率分布包括第t个生成时刻所生成的词为候选词典中每一候选词时的概率,该 概率表示第t个生成时刻所生成的词为候选词典中每一候选词时的可能性大小,若
第t个生成 时刻所生成的词为候选词典中某一候选词时的概率较大,则表明第t个生成时
刻所生成的词 为该候选词的可能性较大,反之,若第t个生成时刻所生成的词为候选词典
中某一候选词时 的概率较小,则表明第t个生成时刻所生成的词为该候选词的可能性较
小。
[0129] 举例说明:可以预先训练5个回复生成模型,然后利用这5个回复生成模型的输出层,  通过公式(11),分别确定出5个第t个生成时刻对应的概率分布,分别为
其中,每一概率分布均包括了第t个生成时刻所生成的词为候选词
典中每一候选词时的 概率。
[0130] 需要说明的是,本实现方式中,在利用这N个回复生成模型各自确定第t个生成时刻对 应的概率分布时,所依据的候选词典为同一个。
[0131] S402:根据N个回复生成模型各自确定的概率分布,从候选词典中选择M个候选词,作 为第t个生成时刻所生成的词,M≥1。
[0132] 通过步骤S401利用N个回复生成模型分别确定出第t个生成时刻对应的概率分布后,即, 利用N个回复生成模型分别确定出第t个生成时刻所生成的词为候选词典中每一候选词时的 概率后,基于所依据的候选字典为同一个,则可以确定出这N个概率分布的维度
是相同的, 且每一维度对应的概率值对应表示第t个生成时刻所生成的词为候选词典中某
一候选词时 的概率,从而可以将该生成时刻确定出的N个概率分布求平均,得到该生成时
刻对应的平 均概率分布,其中,该平均概率分布包括第t个生成时刻所生成的词为候选词
典中每一候选 词时的平均概率。也就是说,对于候选词典中的每一候选词,将该候选词的N个概率值取 平均,得到该候选词的平均概率,故而,当候选词典包括L个词时,上述平均概率分布则包 括对应于这L个词的L个平均概率。
[0133] 进一步的,在确定出第t个生成时刻所生成的词为候选词典中每一候选词时的平均概率 后,可以从中选择出M个较高的平均概率分别对应的M个候选词,作为第t个生成时
刻所生 成的词,其中,M≥1。例如,可以将M值取为2,则可以从平均概率分布中选择出2个较高 的平均概率分别对应的2个候选词,作为第t个生成时刻所生成的词。
[0134] S403:将各个生成时刻所生成的词进行组合,得到至少一个待选回复。
[0135] 通过步骤S402从候选词典中选择M个候选词,作为第t个生成时刻所生成的词后,可以 将每一生成时刻所生成的词进行组合,以得到至少一个待选回复。具体来讲,将生成待选 回复的过程中所经历的生成时刻总个数设为n,且每一个生成时刻选择了M个候选词,则将 每一生成时刻所生成的词进行组合后,可以得到的待选回复个数为Mn,即,可以得到Mn个 待选回复。
[0136] 举例说明:假设在生成回复的过程中共经历了3个生成时刻,且每一生成时刻选择了2 个候选词,具体为:第1个生成时刻选择的候选词为A、B,第2个生成时刻选择的候选词为C、D,第3个生成时刻选择的候选词为E、F,则将每一生成时刻所生成的词进行组合后, 可以得到的待选回复个数为:23=8,这8个待选回复具体为:ACE、ACF、ADE、ADF、 BCE、BCF、BDE、BDF。
[0137] 需要说明的是,在上述内容中,各个生成时刻所选择的候选词个数M是相同的,但在 本实施例中,各个生成时刻所选择的候选词个数M也可以不同,且各个候选词之间的组
合 方式与上述内容类似,此处不再赘述。
[0138] 接下来,本实施例将对回复生成模型的构建过程进行简单介绍。具体可以包括以下步 骤C1-C3:
[0139] 步骤C1:形成模型训练数据。
[0140] 在本实施例中,为了构建回复生成模型,需要预先收集大量的候选画像信息(用以构 成画像信息库,其相关内容请参见第一实施例)、大量的人类对话上下文、以及每一人类对 话上下文中的最后一个问题对应的实际回复内容,将这些收集到的数据作为模型训练
数据。
[0141] 步骤C2:构建回复生成模型。
[0142] 可以构建一个初始的回复生成模型,并初始化模型参数。
[0143] 需要说明的是,本实施例不限制步骤C1与步骤C2的执行顺序。
[0144] 步骤C3:利用预先收集的模型训练数据,对回复生成模型进行训练。
[0145] 在本实施例中,通过步骤C1收集到模型训练数据后,可以利用该模型训练数据对通过 步骤C2构建的回复生成模型进行训练,通过多轮模型训练,直到满足训练结束条件为止, 此时,即训练得到回复生成模型。
[0146] 具体地,在进行本轮训练时,需要从上述模型训练数据中选择一组人类对话上下文(将 其中的最后一个问题定义为样本问题),此时,将上述实施例中的目标上下文替换为该人类 对话上下文,按照上述实施例介绍的方式,生成该人类对话上下文对应的人物画像信息, 并预测生成上述样本问题对应的样本回复。然后,根据预测出的样本回复内容与该人类对 话上下文对应的实际回复内容之间的差异,对回复生成模型的参数进行更新,即完成了回 复生成模型的本轮训练。
[0147] 这样,本实施例利用预先构建的回复生成模型对人物画像信息以及目标上下文进行编 解码处理,以提取出目标上下文和提问者的人物画像信息中与目标问题相关的信息,并去 除了与目标问题无关的信息,从而可以根据对提取出的与目标问题相关信息进行解
码处理 得到的解码结果,生成准确性更高、更符合提问者需求的各个待选回复。
[0148] 综上,本实施例是利用提问者的人物画像信息和目标问题,生成目标问题的至少一个 待选回复。可见,本实施例在生成目标问题的待选回复时,考虑了提出目标问题的提问者 的人物画像信息,使得生成的待选回复的内容与提问者本身的个性特点更加相关,以便后 续可以从这些待选回复中选择出目标问题的最终回复,以满足提问者的对话需求,提高了 回复生成结果的合理性。
[0149] 第三实施例
[0150] 本实施例将对第一实施例中步骤S103的第二种实现方式中“从预先构建的对话语料库 中,获取目标问题的至少一个待选回复”的具体实现过程进行介绍。
[0151] 参见图5,其示出了本实施例提供的从预先构建的对话语料库中获取目标问题的至少一 个待选回复的流程示意图,该流程包括以下步骤:
[0152] S501:获取目标上下文,其中,目标上下文包括提问者提出的目标问题以及目标问题 之前的历史对话上文。
[0153] 在本实施例中,目标上下文可以包括目标问题以及目标问题之前的全部历史对话上 文,或者,目标上下文也可以包括从目标问题开始向前的包含目标问题在内的部分历史对 话上文。假设目标上下文包括m条句子,这里,将这m条句子按时间顺序从前往后依次定 义为u1、u2、...、um,其中,um指的是目标问题对应的文本内容。
[0154] S502:获取与目标上下文在语义上相近的各组语料上下文,其中,语料上下文包括问 题语料以及问题语料之前的历史对话上文。
[0155] 在本实施例中,通过步骤S501获取到目标上下文后,为了获取到能够满足提问者的 对话需求的候选回复,首先需要基于目标上下文的语义信息,获取与目标上下文在语义上 相近的各组语料上下文,获取的每一语料上下文包括问题语料以及问题语料之前的历
史对 话上文,其中,语料上下文可以是预先收集的,可以将人与机器的多轮对话作为一组语料 上下文,也可以将人与人的多轮对话作为一组语料上下文,且语料上下文中的问题语料是 一个用户问题。
[0156] 需要说明的是,语料上下文可以包括问题语料以及问题语料之前的全部历史对话上 文,或者,语料上下文也可以包括从问题语料开始向前的包含问题语料在内的部分历史对 话上文。假设语料上下文包括n条句子,这里,将这n条句子按时间顺序从前往后依次定 义为v1、v2、...、vn,其中,vn指的是问题语料对应的文本内容。
[0157] 接下来,本实施例将通过下述步骤D-E,对步骤S502中“获取与目标上下文在语义 上相近的各组语料上下文”的具体过程进行介绍。
[0158] 步骤D:从预先构建的对话语料库中,搜索出与目标上下文相关的各组上下文。
[0159] 在本实施例中,通过步骤S501获取到目标上下文后,可以利用文本搜索方法,从预 先构建的对话语料库中,搜索出与目标上下文相关的各组上下文,比如,可以利用分布式 搜索引擎(Elasticsearch)或全文搜索服务器(Solr),从预先构建的对话语料库中,搜索出 与目标上下文相关的各组上下文。然后,再通过后续步骤E,从搜索出的这各组上下文中, 进一步筛选出与目标上下文在语义上相近的各组上下文。
[0160] 其中,对话语料库中可以预存有多组上下文、以及每组上下文中的问题语料(即每组 上下文中的最后一个问题)对应的回复语料(即每组上下文中最后一个问题对应的实际
回 复内容),这些上下文及各自对应的回复语料,可以是通过收集人们在日常生活中的对
话并 对其进行敏感信息处理后得到的。具体来讲,在构建对话语料库时,首先可以收集大量人 们在日常生活中的对话数据,比如,收集大量人们在社交网络平台(如微博、贴吧等)上 的真实对话数据等,然后,再将这些对话文本中的一些敏感数据(如电话号码或者身份
证 号等)删除或替换,接着,可以将其中每一组经过敏感信息处理后的对话数据直接作为
一 组上下文、或从中提取部分连续的对话数据作为一组上下文,其中,每组上下文中的最后 一句为用户问题,此时,将每组上下文以及每组上下文中的用户问题的回复语料,存入对 话语料库。
[0161] 此外,在构建对话语料库时,除了上述的对现有真实对话数据进行处理后得到的各组 上下文及其各自对应的回复语料外,还可以根据这些真实的对话数据模拟出其他对
话数据, 并从中得到各组上下文以及每组上下文对应的回复语料,用以构建对话语料库。
[0162] 其中,关于对话语料库中的每组上下文,可以是具有第一预设长度或预设对话轮数的 文本,类似的,每组上下文对应的回复语料可以是具有第二预设长度的文本,并且,第一 预设长度通常大于第二预设长度。
[0163] 需要说明的是,在从对话语料库中搜索与目标上下文相关的各组上下文时,为便于描 述,可以将对话语料库中的每一上下文定义为样本上下文,可以计算每一样本上下文与目 标上下文之间的相关系数值,该相关系数值用于衡量对应的样本上下文与目标上下
文之间 的相关性,比如,相关系数值越大,表示这两个上下文之间的相关性越大。然后,将这些 相关系数值从大到小排序,并选择排序在前的预设数目的相关系数值对应的各组样
本上下 文,作为与目标上下文在语义上相关的各组上下文;或者,将这些相关系数值从小到大排 序,并选择排序在后的预设数目的相关系数值对应的各组样本上下文,作为与目标上下文 在语义上相关的各组上下文。
[0164] 并且,为了能够尽可能检索出更多的与目标上下文在语义上相关的各组上下文,可以 在系统运算量允许的情况下,尽可能将预设数目设置为较大数值,例如,可以将其设置为 1000,即,可以在系统运算量允许的情况下,选择出与目标上下文在语义上相关的
1000组 上下文,用以通过后续步骤B,从这1000组上下文中进一步获取到与目标上下文在
语义上 相近的各组上下文。
[0165] 步骤E:从搜索到的各组上下文中,筛选出与目标上下文在语义上相近的各组上下文, 作为各组语料上下文。
[0166] 在本实施例中,通过步骤D从预先构建的对话语料库中,搜索出与目标上下文相关的 各组上下文后,可以分别对搜索到的每组上下文与目标上下文的语义相近程度进行计
算, 并根据计算结果,筛选出与目标上下文在语义上较为相近的各组上下文,即,筛选出与目 标上下文语义相近程度较高的各组上下文,作为各组语料上下文。
[0167] 这样,在搜索到与目标上下文相关的各组上下文后,可以从中筛选出与目标上下文在 语义上相近的各组上下文,用以作为获取目标问题的待选回复的依据,从而使得获取到的 待选回复的内容与目标上下文内容是语义相关的,进而更符合提问者的对话需求。
[0168] 接下来,本实施例将通过下述步骤E1-E3,对步骤E中“从搜索到的各组上下文中, 筛选出与目标上下文在语义上相近的各组上下文”的具体过程进行介绍。
[0169] 步骤E1:将搜索到的每组上下文定义为搜索上下文。
[0170] 在本实施例中,为便于描述,将从对话语料库中搜索出的与目标上下文相关的每组上 下文定义为搜索上下文。
[0171] 步骤E2:生成搜索上下文对应的上下文特征。
[0172] 在本实施例中,对于每组搜索上下文,为了判断出该搜索上下文是否与目标上下文在 语义上是相近的,首先可以生成该搜索上下文对应的上下文特征。
[0173] 其中,该搜索上下文对应的上下文特征包括共现特征和/或语义特征,共现特征表征了 搜索上下文与目标上下文中的共现词在搜索上下文与目标上下文中的重要度,语义
特征则 表征了搜索上下文与目标上下文的语义相似度。
[0174] 需要说明的是,本实施例将以所有搜索上下文中的某一组搜索上下文为准,来介绍如 何生成搜索上下文对应的上下文特征,而其它组搜索上下文的处理方式与之类似,不再一 一赘述。
[0175] 下面对共现特征进行介绍。
[0176] 共现特征的一种生成方式为:首先利用分词方法,对搜索上下文进行分词,得到该搜 索上下文中包含的各个词,然后,将其中包含的“的”、“在”等自身并无明确的意义的停 用词删除,接着,再计算出剩下的各个词在该搜索上下文中所占的权重,该权重值越大, 表明对应的词在该搜索上下文中的重要度越高。
[0177] 同理,可以利用分词方法,对该目标上下文进行分词,得到目标上下文中包含的各个 词,然后,将其中包含的“的”、“在”等自身并无明确的意义的停用词删除,接着,再计 算出剩下的各个词在目标上下文中所占的权重,该权重值越大,表明对应的词在目标上下 文中的重要度越高。
[0178] 在本实施例中,将搜索上下文与目标上下文均具有的词定义为共现词,该共现词可以 由至少一个字组成。
[0179] 进而,可以将该搜索上下文与目标上下文中的共现词的权重分别进行求和计算,再对 得到两个求和计算结果进行调和平均计算,并将该计算结果作为该搜索上下文对应
的共现 特征,用以表征该搜索上下文和目标上下文中包含的所有共现词在该搜索上下文
与目标上 下文中的重要度,具体计算公式如下:
[0180]
[0181]
[0182] fw=fs*fh*2/(fs+fh)   (14)
[0183] 其中, 表示搜索上下文中第i个共现词的权重,该权重值越大,表示第i个共现词 在搜索上下文中的重要性越高;n表示搜索上下文与目标上下文中的共现词的总个数;fs表 示搜索上下文与目标上下文中的所有共现词在该搜索上下文中的总权重,该权重值越大, 表明所有共现词在该搜索上下文中的重要度越高; 表示目标上下文中第i个共现词的权 重,该权重值越大,表示第i个共现词在目标上下文中的重要性越高;fh表示搜索上下文 与目标上下文中的所有共现词在目标上下文中的总权重,该权重值越大,表明所有共现词 在目标上下文中的重要度越高;fw为该搜索上下文对应的共现特征,其表示对fs和fh进行 调和平均计算后得到的计算结果,fw的取值越大,表明所有共现词在该搜索上下文与目标 上下文中的重要度越高。
[0184] 举例说明:假设对搜索上下文进行分词等预处理后得到的各个词为“你”、“现在”、 “好”、“吗”,并计算出各个词在该搜索上下文中所占的权重分别为“0.2”、“0.3”、“0.4”、 “0.1”,同时对目标上下文进行分词等预处理后得到的各个词为“你”、“真的”、“好”、“么”, 并计算出各个词在目标上下文中所占的权重分别为“0.2”、“0.3”、“0.3”、“0.2”。
[0185] 可见,该搜索上下文与目标上下文中的共现词为“你”和“好”,则利用公式(12)可 以计算出这两个共现词在该搜索上下文中的总权重为0.6,即0.2+0.4=0.6,利用公式 (13)可以计算出这两个共现词在目标上下文中的总权重为0.5,即0.2+0.3=0.5,进而, 利用公式(14)可以计算出该搜索上下文对应的共现特征为0.545,即 fw=0.6*0.5*2/(0.5+
0.6)=0.545,其表征了该搜索上下文和目标上下文中包含的所有共现词 在该搜索上下文
与目标上下文中的重要度。
[0186] 以上介绍了搜索上下文对应的共现特征,下面对搜索上下文对应的语义特征进行介 绍,具体地,语义特征的生成方式可以包括下述步骤(1)-(3):
[0187] 步骤(1):生成目标上下文的语义表示结果。
[0188] 在本实施例中,对目标上下文进行分词,得到目标上下文中包含的各个词后,可以利 用向量生成方法,生成目标上下文中各个词对应的词向量,比如,可以通过查询语义词典 的方式,查询出目标上下文中各个词对应的词向量,进而,可以根据每个词对应的词向量 及每个词在目标上下文中所占的权重,生成目标上下文的语义表示结果,具体计算公式如 下:
[0189]
[0190] 其中,S表示目标上下文的语义表示结果;m表示目标上下文中包含的词的总个数;Ei表示目标上下文中第i个词对应的词向量;wi表示目标上下文中第i个词在目标上下文中 所占的权重,该权重值越大,表示第i个词在目标上下文中的重要度越高。
[0191] 步骤(2):生成搜索上下文的语义表示结果。
[0192] 在本实施例中,对搜索上下文进行分词,得到该搜索上下文中包含的各个词后,可以 利用向量生成方法,生成该搜索上下文中各个词对应的词向量,比如,可以通过查询语义 词典的方式,查询出该搜索上下文中各个词对应的词向量,进而,可以根据每个词对应的 词向量及每个词在该搜索上下文中所占的权重,生成该搜索上下文的语义表示结果,具体 计算公式如下:
[0193]
[0194] 其中,H表示搜索上下文的语义表示结果;m'表示搜索上下文中包含的词的总个数;E'j表示搜索上下文中第j个词对应的词向量;γj表示搜索上下文中第j个词在搜索上下文中所 占的权重,该权重值越大,表示第j个词在搜索上下文中的重要度越高。
[0195] 需要说明的是,本申请实施例不限制步骤(1)和(2)的执行顺序。
[0196] 步骤(3):根据生成的语义表示结果,生成搜索上下文对应的语义特征。
[0197] 在本实施例中,通过步骤(1)生成目标上下文的语义表示结果S,以及通过步骤(2) 生成搜索上下文的语义表示结果H后,可以通过计算目标上下文的语义表示结果与搜索上 下文的语义表示结果之间的余弦距离,得到搜索上下文与目标上下文的语义相似度,用以 作为搜索上下文对应的语义特征,具体计算公式如下:
[0198] fm=cosine(S,H)   (17)
[0199] 其中,fm是搜索上下文对应的语义特征,用以表征搜索上下文与目标上下文的语义相 似度,同时,fm也是语义距离值,用于衡量搜索上下文与目标上下文的语义距离;cos ine 表示余弦距离计算公式;S表示目标上下文的语义表示结果;H表示搜索上下文的语义
表 示结果。
[0200] 可以理解的是,上述公式(17)中的fm取值越大,表明搜索上下文与目标上下文的语 义距离越小,即,二者的语义相似度越高。
[0201] 步骤E3:根据搜索到的每组上下文各自对应的上下文特征,从搜索到的各组上下文中, 筛选出与目标上下文在语义上相近的各组上下文。
[0202] 通过步骤E2生成每一组搜索上下文对应的上下文特征后,即,生成每一组搜索上下文 对应的共现特征和/或语义特征后,可以将二者按照各自所占权重进行求和计算,并
利用计 算结果来表征对应搜索上下文与目标上下文的语义相近程度,具体计算公式如下:
[0203] f=wwfw+wmfm   (18)
[0204] 其中,f表示对应搜索上下文与目标上下文的语义相近程度值;ww表示该搜索上下文 对应的共现特征fw的权重,权重ww越大,表示共现特征fw的重要性越大,权重ww可根据 实验结果进行调整;wm表示该搜索上下文对应的语义特征fm的权重,权重wm越大,表示 语义特征fm的重要性越大,权重wm可根据实验结果进行调整。
[0205] 具体来讲,在利用上述公式(18)计算出每组搜索上下文与目标上下文之间的语义相 近程度值后,进而,可以将这些语义相近程度值从大到小排序,并选择排序在前的预设数 目(或预设数值范围内)的语义相近程度值对应的各组搜索上下文,作为与目标上下文
在 语义上相近的各组上下文;或者,将这些语义相近程度值从小到大排序,并选择排序在后 的预设数目(或预设数值范围内)的语义相近程度值对应的各组搜索上下文,作为与目
标 上下文在语义上相近的各组上下文;或者,选择高于预设阈值的所有语义相近程度值对应 的各组搜索上下文,作为与目标上下文在语义上相近的各组上下文。
[0206] 或者,也可以仅依据每一组搜索上下文对应的共现特征或仅依据每一组搜索上下文对 应的语义特征,从搜索到的各组上下文中,筛选出与目标上下文在语义上相近的各组上下 文。
[0207] 具体来讲,一种可选的实现方式是,在利用上述公式(14)计算出每组搜索上下文对 应的共现特征值fw后,进而,可以将这些共现特征值从大到小排序,并选择排序在前的预 设数目(或预设数值范围内)的共现特征值对应的各组搜索上下文,作为与目标上下文
在 语义上相近的各组上下文;或者,将这些共现特征值从小到大排序,并选择排序在后的预 设数目(或预设数值范围内)的共现特征值对应的各组搜索上下文,作为与目标上下文
在 语义上相近的各组上下文;或者,选择高于预设阈值的所有共现特征值对应的各组搜索上 下文,作为与目标上下文在语义上相近的各组上下文。
[0208] 另一种可选的实现方式是,在利用上述公式(17)计算出每组搜索上下文对应的语义 特征值fm后,进而,可以将这些语义特征值从大到小排序,并选择排序在前的预设数目(或 预设数值范围内)的语义特征值对应的各组搜索上下文,作为与目标上下文在语义上
相近 的各组上下文;或者,将这些语义特征值从小到大排序,并选择排序在后的预设数目(或 预设数值范围内)的语义特征值对应的各组搜索上下文,作为与目标上下文在语义上
相近 的各组上下文;或者,选择高于预设阈值的所有语义特征值对应的各组搜索上下文,作为 与目标上下文在语义上相近的各组上下文。
[0209] 需要说明的是,利用搜索上下文和目标上下文中的共现词,能够从在对话语料库中搜 索出的与目标上下文相关的各组上下文中,更准确的筛选出与目标上下文在语义上
相近的 各组上下文,并作为各组语料上下文。
[0210] S503:获取各组语料上下文中的问题语料对应的回复语料。
[0211] 在本实施例中,通过步骤S502获取到与目标上下文在语义上相近的各组语料上下文 后,可以从预先构建的对话语料库中,获取到各组语料上下文中的问题语料对应的回复语 料。
[0212] S504:选取至少一个回复语料,作为目标问题的至少一个待选回复。
[0213] 在本实施例中,通过步骤S503获取到各组语料上下文中的问题语料对应的回复语料 后,可以对每一回复语料与目标上下文之间的语义相关程度进行计算,进而可以根据计算 结果,从中选取出至少一个回复语料,作为目标问题的至少一个待选回复。
[0214] 需要说明的而是,由于一个问题的回复,应该与该问题甚至是该问题的上下文在语义 相关度上较高,才能保证该回复是能够回复到问题重点内容的合理回复,而不是一些类似 于“我不知道”这样无意义的、仅与问题在语义上勉强相关的高频回复。
[0215] 基于此,在本实施例中,一种可选的实现方式是,步骤S504中“选取至少一个回复语 料”的具体实现过程可以包括:通过分析目标上下文与各个回复语料之间的相关性,选取 至少一个回复语料。
[0216] 在本实现方式中,可以利用现有或未来出现的语义相关性计算方法,计算出目标上下 文与各个回复语料之间的相关性,再根据计算结果,从中选取出至少一个回复语料,比如, 可以利用预先构建的相关性模型、或者直接采用相关性计算的方式,确定出目标上下文与 各个回复语料之间的相关性,进而根据该相关性确定结果,选取出至少一个回复语料。
[0217] 需要说明的是,接下来,本实施例将以通过步骤S503获取到的所有回复语料中的某 一条回复语料为准,来介绍如何利用预先构建的相关性模型,确定出目标上下文与该条回 复语料之间的相关性,而其它条回复语料处理方式与之类似,不再一一赘述。
[0218] 具体来讲,本实施例预先构建的相关性模型可以由多层网络构成,如图6所示,该模 型结构包括了输入层、嵌入层、表示层及匹配层。
[0219] 其中,输入层用于输入回复语料和目标上下文。具体来讲,如图6所示,可以将该回 复语料输入至图6中输入层左侧“真实回复”所在位置,同时将“目标上下文”输入至图 6中输入层中间“上下文”所在位置。
[0220] 嵌入层的作用是将输入层中的回复语料和目标上下文中的各个词转换为对应的词向 量,具体来讲,如图6所示,在嵌入层中,可通过查询预先训练好的词向量词典
(Embedding Matrix)的方式,查询出回复语料和目标上下文中每个词分别对应的词向量,
即,将回复 语料和目标上下文各自的词序列转换为词向量序列。
[0221] 表示层的作用是对嵌入层输出的回复语料和目标上下文各自对应的词向量序列进行 编码,以得到回复语料和目标上下文各自对应的编码向量。例如,在表示层中,可以利用 词袋模型(Bag-of-words model,简称BOW)、卷积神经网络(Convolutional Neural 
Networks, 简称CNN)或循环神经网络(Recurrent Neural Network,简称RNN)等对嵌入层
输出的回 复语料和目标上下文各自对应的词向量序列进行编码,以得到二者各自对应的
一个编码向 量,模型的具体编码过程与现有方法一致,在此不再赘述。
[0222] 匹配层的作用是对表示层输出的回复语料和目标上下文各自对应的编码向量进行匹配 计算,并根据计算结果确定出目标上下文与该条回复语料之间的相关性。具体来
讲,可以 计算表示层输出的回复语料和目标上下文各自对应的编码向量之间的余弦距离
值,作为匹 配计算结果,该匹配计算结果取值越大,表明目标上下文与该条回复语料之间的相关性越 高。或者,也可以利用预先训练好的多层全连接网络(Multi-Layer 
Perception,简称MLP), 来对表示层输出的回复语料和目标上下文各自对应的编码向量进行匹配计算,得到匹配计 算结果。
[0223] 进而,当利用上述预先构建的相关性模型,确定出目标上下文与每一条回复语料之间 的匹配计算结果后,可以将这些匹配计算结果从大到小排序,并选择排序在前的预设数目 的匹配计算结果值对应的至少一条回复语料,作为目标问题的至少一个待选回复;或者, 将这些匹配计算结果从小到大排序,并选择排序在后的预设数目的匹配计算结果值对应的 至少一条回复语料,作为目标问题的至少一个待选回复;或者,选择高于预设阈值的所有 匹配计算结果值对应的至少一条回复语料,作为目标问题的至少一个待选回复。
[0224] 在本实施例中,一种可选的实现方式是,相关性模型是利用模型训练数据训练得到的, 其中,模型训练数据包括各个样本上下文、样本上下文所包括的样本问题的真实回复和随 机回复;其中,样本上下文包括样本问题以及样本问题之前的历史对话上文。
[0225] 接下来,本实施例将对相关性模型的构建过程进行介绍。具体可以包括以下步骤 F1-F3:
[0226] 步骤F1:形成模型训练数据。
[0227] 在本实施例中,为了构建相关性模型,首先,需要预先收集大量的人类对话上下文(这 些对话上下文可以构成上述的对话语料库),比如,可以预先收集大量人们在微博、贴吧等 社交网络平台上的真实对话数据,然后,将其中每一人类对话上下文中的最后一个问题作 为样本问题,并将包括样本问题以及该样本问题之前的历史对话上文定义为样本上下文, 且每一样本问题对应了真实回复内容以及随机回复内容,将这些收集到的数据作为模型训 练数据。
[0228] 步骤F2:构建相关性模型。
[0229] 可以构建一个初始的相关性模型,并初始化模型参数。
[0230] 需要说明的是,本实施例不限制步骤F1与步骤F2的执行顺序。
[0231] 步骤F3:利用预先收集的模型训练数据,对相关性模型进行训练。
[0232] 在本实施例中,通过步骤F1收集到模型训练数据后,可以利用该模型训练数据对通过 步骤F2构建的相关性模型进行训练,通过多轮模型训练,直到满足训练结束条件为
止,此 时,即训练得到相关性模型。
[0233] 具体地,在进行本轮训练时,需要从上述模型训练数据中选择一个样本上下文,此时, 将上述实施例中的目标上下文替换为该样本上下文,将上述实施例中通过步骤S503获取到 的回复语料替换为该样本上下文所包括的真实回复内容,按照上述实施例介绍的方式,确 定出该样本上下文与该真实回复内容之间的相关性,具体流程可参考图6左侧和中
间两列 框图所示。
[0234] 同时,可以将上述实施例中通过步骤S503获取到的回复语料替换为该样本上文所包括 的随机回复内容,按照上述实施例介绍的方式,确定出该样本上下文与该随机回复内容之 间的相关性,具体流程可参考图6中间和右侧两列框图所示。
[0235] 然后,在该样本上下文与真实回复内容之间的相关性,以及该样本上下文与该随机回 复内容之间的相关性的基础上,通过比较二者之间的差异,对相关性模型的参数进行更新, 即完成了相关性模型的本轮训练。
[0236] 在本轮训练过程中,一种可选的实现方式是,可以在相关性模型的训练过程中使用目 标函数进行训练,比如,可以将损失函数hinge loss或二分类交叉熵(binary_
crossentropy) 作为目标函数,用于在该样本上下文和真实回复之间的相关性、以及该样
本上下文和随机 回复之间的相关性的基础上,拉大二者之间的差距,从而使得相关性模型具有对合理回复 和非合理回复的区分能力。
[0237] 并且,在使用损失函数hinge loss或binary_crossentropy等目标函数对相关性模型进行 训练时,可以根据该目标函数取值的变化,对相关性模型的模型参数进行不断更新,比如, 可以使用反向传播算法对模型参数进行更新,直至目标函数的取值满足要求(比如,趋于 0或变化幅度很小等),则停止模型参数的更新,从而完成相关性模型的训练。
[0238] 这样,本实施例利用预先构建的相关性模型先确定出目标上下文与各个回复语料之间 的相关性,然后再根据该相关性确定结果,选取出其中至少一个回复语料,作为目标问题 的各个待选回复,从而能够保证获取到的这些待选回复与目标上下文在内容上是语
义相关 的,且也能够保证这些待选回复可以回复到目标问题的重点内容,而不再仅仅是一些无意 义的、或仅与目标上下文在语义上勉强相关的高频回复,进而能够满足提问者的对话需求。
[0239] 综上,本实施例在获取到目标上下文后,先从预先构建的语料库中获取与目标上下文 在语义上相近的各组语料上下文,然后,在从预先构建的语料库中获取到各组语料上下文 中的问题语料对应的回复语料后,从中选取至少一个回复语料,作为目标问题的至少一个 待选回复。可见,本实施例是基于预先构建的语料库中与目标上下文在语义上相近的各组 语料上下文,来获取目标问题的待选回复,可以使获取的待选回复能够回复到目标问题的 重点内容,以便后续可以从这些待选回复中选择出目标问题的最终回复,进而满足提问者 的对话需求,提高了回复获取结果的合理性。
[0240] 第四实施例
[0241] 本实施例将对第一实施例中步骤S104“根据目标问题和人物画像信息,从各个待选回 复中选择一个回复,作为目标问题的最终回复”的具体实现过程进行介绍。
[0242] 可以理解的是,目标问题的答复与提问者提出目标问题之前和机器的对话内容是有很 大关系的,所以,为了使得选择出的最终回复更加符合提问者的对话要求,一种可选的实 现方式是,步骤S104具体可以包括:根据目标上下文和人物画像信息,从各个待选回复中 选择一个回复。
[0243] 其中,目标上下文包括目标问题以及目标问题之前的历史对话上文,关于目标上下文 的相关介绍,请参见第三实施例中S501中的介绍。
[0244] 可以将目标上下文和提问者的人物画像信息,与通过步骤S103获取的每一待选回复进 行语义相关度的计算,以获取每一待选回复分别与目标上下文和提问者的人物画像
信息的 语义相关度,进而,可以选择出最高语义相关度对应的待选回复作为目标问题的最终回复, 比如,可以利用预先构建的回复选择模型,将每一待选回复与目标上下文和提问者的人物 画像信息进行语义相关度计算,用以根据计算结果,选择出目标问题的最终回
复。
[0245] 在本实施例中,一种可选的实现方式是,参见图8,上述S104的实现方式“根据目标上 下文和人物画像信息,从各个待选回复中选择一个回复”具体可以包括以下步骤S801-S802:
[0246] S801:对于各个待选回复中的每一待选回复,确定目标上下文与人物画像信息分别与 该待选回复之间的语义相关度。
[0247] 需要说明的是,接下来,本实施例将以通过步骤S103获取到的所有待选回复中的某 一个待选回复为准,来介绍如何利用预先构建的回复选择模型,确定出该待选回复与目标 上下文和人物画像信息之间的语义相关度,而其它待选回复的处理方式与之类似,不再一 一赘述。
[0248] 在本实现方式中,可以利用预先构建的回复选择模型,将该待选回复与目标上下文和 提问者的人物画像信息进行语义相关度计算。
[0249] 其中,预先构建的回复选择模型可以由多层网络构成,如图7所示,该模型结构包括 了输入层、多层表示层(包括词级别表示层、句子级别表示层、上下文级别表示层)、匹配 计算层、降维融合层及输出层。
[0250] 具体地,输入层用于输入目标上下文和人物画像信息以及一条待选回复,多层表示层 包括了词级别表示层、句子级别表示层、上下文表示层,与匹配计算层相结合,用于将目 标上下文和人物画像信息在词级别、句子级别、上下文级别这三个级别下,分别与该条待 选回复进行匹配计算,再利用降维融合层,将得到的匹配计算结果进行降维,以便输出层 根据降维结果,输出该条待选回复与目标上下文和提问者的人物画像信息之间的语义
相关 度。
[0251] 具体来讲,参见图7,假设目标上下文包括l条句子,这里,将这l条句子按时间顺序 从前往后依次定义为u1、u2、...ul,其中,ul指的是目标问题对应的文本内容,并且,可 以将每轮对话中的提问者发言和机器发言分别视为一个句子;提问者的人物画像信息中所 包括的K条描述性的句子分别为p1、p2、...、pk,且这K条句子中每条句子的最大长度为 m(即每条句子最多包含m个词);目标上下文中所包括的每条句子和待选回复的最大长度 为n(即
每条句子和待选回复均最多包含n个词);其中,m可以是人物画像信息中各个句 子中的最
长句子的长度,n可以是目标上下文的各个句子和待选回复中的最长句子的长度。
[0252] 现将此目标上下文、提问者的人物画像信息以及待选回复作为输入数据,输入至预先 构建的回复选择模型后,可以利用该选择模型在词级别、句子级别、上下文级别这三个级 别分别确定出目标上下文和人物画像信息与该待选回复之间的语义相关度,具体实
现过程 包括下述步骤S8011-S8013:
[0253] S8011:生成该待选回复在词级别下的语义表示结果。
[0254] 在本实施例中,可以首先利用分词方法,对该待选回复进行分词,得到其包含的各个 词,然后,利用向量生成方法,生成各个词对应的词向量,比如,可以通过查询预先训练 好的词向量词典的方式,查询出该待选回复中各个词对应的词向量,进而可以将该待选回 复的词序列转换为词向量序列,用以作为输入数据,输入至回复选择模型的输入层,如图 7所示,假设每个词对应的词向量维度为d,则该待选回复的词向量序列的张量大小为: n*d。
[0255] 然后,利用回复选择模型的词级别表示层中包含的一个共享的LSTM,对输入层输入的 该待选回复的词向量序列进行进一步向量化处理,得到对应于该待选回复在词级别
下的向 量表示结果,用以作为该待选回复在词级别下的语义表示结果,具体地,假设该
LSTM网络 中包含的网络节点数目为h,则可以将得到的各个节点的网络输出向量进行拼
接,得到该待 选回复在词级别下的语义表示结果的张量大小为:n*h。
[0256] S8012:生成目标上下文在词级别、句子级别以及上下文级别中的至少一个表示级别下 的语义表示结果,并根据生成的语义表示结果确定目标上下文与该待选回复之间的
语义相 关度。
[0257] 在本实施例中,可以利用回复生成模型的词级别表示层、句子级别表示层以及上下文 级别表示层分别生成目标上下文在词级别、句子级别以及上下文级别下的语义表示
结果, 并且,在生成这三个级别中至少一个表示级别下的语义表示结果后,可以根据生成的这至 少一个语义表示结果确定出目标上下文与该待选回复之间的语义相关度。
[0258] 接下来,本实施例将对目标上下文在词级别、句子级别以及上下文级别下的语义表示 结果的生成过程分别进行介绍:
[0259] (1)、可以按照下述方式生成目标上下文在词级别下的语义表示结果:
[0260] 首先可以利用分词方法,对目标上下文中包含的l条句子进行分词,得到其包含的各 个词,然后,利用向量生成方法生成各个词对应的词向量,比如,可以通过查询预先训练 好的词向量词典的方式,查询出这l条句子中各个词对应的词向量,进而可以将这l条句子 的词序列转换为词向量序列,用以作为输入数据,输入至回复选择模型的输入层,如图7 所示,假设每个词对应的词向量维度为d、目标上下文中所包括的每条句子的最大长度为n, 则目标上下文的词向量序列的张量大小为:l*n*d。
[0261] 然后,利用回复选择模型的词级别表示层中包含的一个共享的LSTM,对输入层输入的 目标上下文的词向量序列进行进一步向量化处理,得到对应于目标上下文在词级别
下的向 量表示结果,用以作为目标上下文在词级别下的语义表示结果,具体地,假设该
LSTM网络 中包含的网络节点数目为h,则可以将得到的各个节点的网络输出向量进行拼
接,进而得到 目标上下文包含的各条句子在词级别下的语义表示结果,其张量大小为l*n*h,其中, 每条句子在词级别下的语义表示结果的张量大小为n*h。
[0262] (2)、可以按照下述方式生成目标上下文在句子级别下的语义表示结果:
[0263] 由于目标上下文中的信息较多,而其中只有目标问题才是选择回复时最重要的依据信 息,因此,在得到目标上下文中每条句子在词级别下的语义表示结果后,可以利用回复选 择模型的句子级别表示层,对目标上下文中的各条句子在词级别下的语义表示结果
进行进 一步的向量化处理,以关注到各条句子在词级别下的语义表示结果中与目标问题
相关的信 息,即,关注到目标上下文包含的各条句子中与目标问题相关的词,进而可以得到目标上 下文包含的各条句子在句子级别下的语义表示结果。
[0264] 具体来讲,如图7所示,可以利用回复选择模型的句子级别表示层,将目标上下文中各 条句子在词级别下的语义表示结果,分别与目标问题(即目标上下文中最后一条句子
ul在 词级别下的语义表示结果)进行注意力计算,以关注到各条句子在词级别下的语义表
示结 果中与目标问题相关的信息,进而可以去除与目标问题无关的信息,仅对关注到的这些信 息进行进一步的向量化处理即可,并且,在向量化处理过程中,可以先计算出目标上下文 中各条句子中每个词的权重,具体计算公式如下:
[0265]
[0266]
[0267] 其中,q(i)为目标问题中第i个词的词向量;uk(j)表示目标上下文中第k条句子中第j个 词的词向量; 表示目标上下文中第k条句子中第j个词与目标问题中第i个
词的相关 性;n表示预设的目标问题中包含的词的最大个数; 表示目标
上下文中第 k条句子中第j个词的相关性系数,其取值为目标上下文中第k条句子中第j个
词与目标问题中 每个词的相关性的最大值;Vatt表示将 经过softmax函
数归一化后得到的 目标上下文中第k条句子中第j个词的权重值,该权重值表征了目标上
下文中第k条句子中第 j个词与目标问题之间的相关性的高低,即,该权重值越大,表明目标上下文中第k条句子 中第j个词与目标问题之间的相关性越高,反之,该权重值越小,表明目标上下文中第k条 句子中第j个词与目标问题之间的相关性越低。
[0268] 可见,通过上述公式(19)和(20),可以计算出目标上下文中各条句子中每个词的权 重值,进一步可以根据各条句子中每个词对应的权重值,计算出目标上下文中各条句子在 句子级别下的语义表示结果,即,得到目标上下文在句子级别下的语义表示结果,具体计 算公式如下:
[0269]
[0270] 其中, 表示目标上下文中第k条句子在句子级别下的语义表示结果;Vatt表示目标上 下文中第k条句子中第j个词的权重值;uk(j)表示目标上下文中第k条句子中第j个词
的词向 量;n表示目标上下文中第k条句子包含的词的个数。
[0271] 需要说明的是,假设回复选择模型的句子级别表示层包含的网络节点数目仍为h,则通 过上述方式得到的目标上下文中各条句子在句子级别下的语义表示结果的张量大小
为: l*h。
[0272] (3)、可以按照下述方式生成目标上下文在上下文级别下的语义表示结果:
[0273] 在得到目标上下文中每条句子在句子级别下的语义表示结果后,可以利用回复选择模 型的上下文级别表示层,对目标上下文中每条句子在句子级别下的语义表示结果进
行进一 步的向量化处理,以将目标上下文中每条句子的语义联系起来,构成目标上下文在上下文 级别下的语义表示结果。
[0274] 具体来讲,如图7所示,可以利用回复选择模型的上下文级别表示层包含的一个共享的 LSTM,对句子级别表示层输入的目标上下文中各条句子在句子级别下的语义表示结
果进行 进一步向量化处理,得到对应于目标上下文在上下文级别下的向量表示结果,用以作为目 标上下文在上下文级别下的语义表示结果。
[0275] 需要说明的是,假设该LSTM隐含层包含的网络节点数目为h',则可以将得到的各个 节点的网络输出向量进行拼接,进而得到目标上下文在上下文级别下的语义表示结果
的张 量大小为:l*h'。其中,h'的取值与上文步骤(1)和(2)提到的h的取值可以相同,也 可以不同,本实施例对此不进行限制,但为便于后续计算,一般可以将二者取为相同的值。
[0276] 进一步的,通过上述步骤(1)(2)(3)生成目标上下文在词级别、句子级别以及上下 文级别中的至少一个表示级别下的语义表示结果后,可以根据生成的语义表示结果确定目 标上下文与待选回复之间的语义相关度。
[0277] 具体来讲,一种可选的实现方式是,可以将目标上下文在每一表示级别下的语义表示 结果,与待选回复的语义表示结果进行相关性计算,得到目标上下文与待选回复之间的语 义相关度。
[0278] 在本实现方式中,当通过上述步骤(1)(2)(3)生成目标上下文在每一表示级别下的 语义表示结果,以及通过步骤S8011生成该待选回复在词级别下的语义表示结果后,如
图7 所示,可以利用回复选择模型的匹配计算层,将得到的目标上下文在每一表示级别下
的语 义表示结果分别与该待选回复在词级别下的语义表示结果进行匹配计算,具体的匹
配计算 方式,可以是分别计算目标上下文在每一表示级别下的语义表示结果与该待选回
复在词级 别下的语义表示结果之间的余弦距离,进而可以基于计算出的余弦距离,得到目标上下文 与该待选回复之间的语义相似度。三个表示级别的具体匹配计算公式如下:
[0279]
[0280]
[0281]
[0282] 其中,Wr(i)表示待选回复中第i个词在词级别下的语义表示结果; 表示目标上下 文中第k条句子中第j个词在词级别下的语义表示结果; 表示目标上下文中第k条
句子在 句子级别下的语义表示结果; 表示目标上下文中第k条句子在上下文级别下的
语义表示 结果;cos ine表示余弦距离计算公式; 表示目标上下文中第k条句子
中第j个词 在词级别下的语义表示结果与该待选回复中第i个词在词级别下的语义表示结
果之间的余 弦距离; 表示目标上下文中第k条句子在句子级别下的语义表示结果
与该待选回复 中第i个词在词级别下的语义表示结果之间的余弦距离; 表示目标
上下文中第k条句 子在上下文级别下的语义表示结果与该待选回复中第i个词在词级别下
的语义表示结果之 间的余弦距离。
[0283] 可以理解的是,上述公式(22)中的 取值越大,表明目标上下文中第k条句 子中第j个词在词级别下的语义表示结果与该待选回复中第i个词在词级别下的语义表
示结 果之间的语义距离越小,即,二者的语义相似度越高;同理,上述公式(23)中的
取值越大,表明目标上下文中第k条句子在句子级别下的语义表示结果与该待选回
复中第i 个词在词级别下的语义表示结果之间的语义距离越小,即,二者的语义相似度越
高;上述 公式(24)中的 取值越大,表明目标上下文中第k条句子在上下文级别下的
语义表 示结果与该待选回复中第i个词在词级别下的语义表示结果之间的语义距离越小,
即,二者 的语义相似度越高。
[0284] S8013:生成人物画像信息在词级别、句子级别以及上下文级别中的至少一个表示级别 下的语义表示结果,并根据生成的语义表示结果确定人物画像信息与该待选回复之
间的语 义相关度。
[0285] 在本实施例中,可以利用回复生成模型的词级别表示层、句子级别表示层以及上下文 级别表示层分别生成人物画像信息在词级别、句子级别以及上下文级别下的语义表
示结果, 并且,在生成这三个级别中至少一个表示级别下的语义表示结果后,可以根据生成的这至 少一个语义表示结果确定出人物画像信息与该待选回复之间的语义相关度。
[0286] 接下来,本实施例将对人物画像信息在词级别、句子级别以及上下文级别下的语义表 示结果的生成过程分别进行介绍:
[0287] (1)、可以按照下述方式生成人物画像信息在词级别下的语义表示结果:
[0288] 首先可以利用分词方法,对人物画像信息中包含的K条描述性的句子进行分词,得到 其包含的各个词,然后,利用向量生成方法生成各个词对应的词向量,比如,可以通过查 询预先训练好的词向量词典的方式,查询出这K条句子中各个词对应的词向量,进而可以 
将这K条句子的词序列转换为词向量序列,用以作为输入数据,输入至回复选择模型的输 
入层,如图7所示,假设每个词对应的词向量维度为d、人物画像信息中所包括的每条句 子的最大长度为m,则人物画像信息的词向量序列的张量大小为:k*m*d。
[0289] 然后,利用回复选择模型的词级别表示层中包含的一个共享的LSTM,对输入层输入的 人物画像信息的词向量序列进行进一步向量化处理,得到对应于人物画像信息在词
级别下 的向量表示结果,用以作为人物画像信息在词级别下的语义表示结果,具体地,假设该LSTM 网络中包含的网络节点数目为h,则可以将得到的各个节点的网络输出向量进行
拼接,进而 得到人物画像信息包含的各条句子在词级别下的语义表示结果,其张量大小为k*m*h, 其中,每条句子在词级别下的语义表示结果的张量大小为:m*h。
[0290] (2)、可以按照下述方式生成人物画像信息在句子级别下的语义表示结果:
[0291] 由于人物画像信息中的信息较多,但并不是所有信息对选择回复均起作用,因此,在 得到人物画像信息中每条句子在词级别下的语义表示结果后,可以利用回复选择模型的句 子级别表示层,对人物画像信息中的各条句子在词级别下的语义表示结果进行进一
步的向 量化处理,以关注到各条句子在词级别下的语义表示结果中与目标问题相关的信
息,即, 关注到人物画像信息包含的各条句子中与目标问题相关的词,进而可以得到人物画像信息 包含的各条句子在句子级别下的语义表示结果。
[0292] 具体来讲,如图7所示,可以利用回复选择模型的句子级别表示层,将人物画像信息中 各条句子在词级别下的语义表示结果,分别与目标问题(即目标上下文中最后一条句
子ul在 词级别下的语义表示结果)进行注意力计算,以关注到各条句子在词级别下的语义
表示结 果中与目标问题相关的信息,进而可以去除与目标问题无关的信息,仅对关注到的这些信 息进行进一步的向量化处理即可,并且,在向量化处理过程中,可以先计算出人物画像信 息中各条句子中每个词的权重,具体计算公式如下:
[0293]
[0294]
[0295] 其中,q(i)为目标问题中第i个词的词向量;pk(j)表示人物画像信息中第k条句子中第j 个词的词向量; 表示人物画像信息中第k条句子中第j个词与目标问题中第
i个词的 相关性;n表示预设的目标问题中包含的词的最大个数; 表示人
物画像信 息中第k条句子中第j个词的相关性系数,其取值为人物画像信息中第k条句子中
第j个词与目 标问题中每个词的相关性的最大值;V’att表示将 经过
softmax函数归一化 后得到的人物画像信息中第k条句子中第j个词的权重值,该权重值表
征了人物画像信息中 第k条句子中第j个词与目标问题之间的相关性的高低,即,该权重值越大,表明人物画像 信息中第k条句子中第j个词与目标问题之间的相关性越高,反之,该权重值越小,表明人 物画像信息中第k条句子中第j个词与目标问题之间的相关性越低。
[0296] 可见,通过上述公式(25)和(26),可以计算出人物画像信息中各条句子中每个词的 权重值,进一步可以根据各条句子中每个词对应的权重值,计算出人物画像信息中各条句 子在句子级别下的语义表示结果,即,得到人物画像信息在句子级别下的语义表示结
果, 具体计算公式如下:
[0297]
[0298] 其中, 表示人物画像信息中第k条句子在句子级别下的语义表示结果;V’att表示人物 画像信息中第k条句子中第j个词的权重值;pk(j)表示人物画像信息中第k条句子
中第j个词 的词向量;m表示人物画像信息中第k条句子包含的词的个数。
[0299] 需要说明的是,假设回复选择模型的句子级别表示层包含的网络节点数目仍为h,则通 过上述方式得到的人物画像信息中各条句子在句子级别下的语义表示结果的张量大
小为: k*h。
[0300] (3)、可以按照下述方式生成人物画像信息在上下文级别下的语义表示结果:
[0301] 在得到人物画像信息中每条句子在句子级别下的语义表示结果后,可以利用回复选择 模型的上下文级别表示层,对人物画像信息中每条句子在句子级别下的语义表示结
果进行 进一步的向量化处理,以将人物画像信息中每条句子的语义联系起来,构成人物画像信息 在上下文级别下的语义表示结果。
[0302] 具体来讲,如图7所示,可以利用回复选择模型的上下文级别表示层包含的一个共享的 LSTM,对句子级别表示层输入的人物画像信息中各条句子在句子级别下的语义表示
结果进 行进一步向量化处理,得到对应于人物画像信息在上下文级别下的向量表示结果,用以作 为人物画像信息在上下文级别下的语义表示结果。
[0303] 需要说明的是,假设该LSTM隐含层包含的网络节点数目为h',则可以将得到的各个 节点的网络输出向量进行拼接,进而得到人物画像信息在上下文级别下的语义表示结
果的 张量大小为:k*h'。其中,h'的取值与上文步骤(1)和(2)提到的h的取值可以相同, 也可以不同,本实施例对此不进行限制,但为便于后续计算,一般可以将二者取为相同的 值。
[0304] 进一步的,通过上述步骤(1)(2)(3)生成人物画像信息在词级别、句子级别以及上 下文级别中的至少一个表示级别下的语义表示结果后,可以根据生成的语义表示结果确定 人物画像信息与待选回复之间的语义相关度。
[0305] 具体来讲,一种可选的实现方式是,可以将人物画像信息在每一表示级别下的语义表 示结果,与待选回复的语义表示结果进行相关性计算,得到人物画像信息与待选回复之间 的语义相关度。
[0306] 在本实现方式中,当通过上述步骤(1)(2)(3)生成人物画像信息在每一表示级别下 的语义表示结果,以及通过步骤S8011生成该待选回复在词级别下的语义表示结果后,
如图 7所示,可以利用回复选择模型的匹配计算层,将得到的人物画像信息在每一表示级
别下的 语义表示结果分别与该待选回复在词级别下的语义表示结果进行匹配计算,具体
的匹配计 算方式,可以是分别计算人物画像信息在每一表示级别下的语义表示结果分别
与该待选回 复在词级别下的语义表示结果之间的余弦距离,进而可以基于计算出的余弦
距离,得到人 物画像信息与该待选回复之间的语义相似度。三个表示级别的具体匹配计算公式如下:
[0307]
[0308]
[0309]
[0310] 其中,Wr(i)表示待选回复中第i个词在词级别下的语义表示结果; 表示人物画像 信息中第k条句子中第j个词在词级别下的语义表示结果; 表示人物画像信息中第
k条句 子在句子级别下的语义表示结果; 表示人物画像信息中第k条句子在上下文级别
下的语 义表示结果;cos ine表示余弦距离计算公式; 表示人物画像信息中第k
条句子 中第j个词在词级别下的语义表示结果与该待选回复中第i个词在词级别下的语义
表示结果 之间的余弦距离; 表示人物画像信息中第k条句子在句子级别下的语义
表示结果与 该待选回复中第i个词在词级别下的语义表示结果之间的余弦距离;
表示人物画像 信息中第k条句子在上下文级别下的语义表示结果与该待选回复中第i个词
在词级别下的语 义表示结果之间的余弦距离。
[0311] 可以理解的是,上述公式(28)中的 取值越大,表明人物画像信息中第k条 句子中第j个词在词级别下的语义表示结果与该待选回复中第i个词在词级别下的语义
表示 结果之间的语义距离越小,即,二者的语义相似度越高;同理,上述公式(29)中的
取值越大,表明人物画像信息中第k条句子在句子级别下的语义表示结果与该待
选回复中第 i个词在词级别下的语义表示结果之间的语义距离越小,即,二者的语义相似
度越高;上述 公式(30)中的 取值越大,表明人物画像信息中第k条句子在上下文级
别下的语义 表示结果与该待选回复中第i个词在词级别下的语义表示结果之间的语义距
离越小,即,二 者的语义相似度越高。
[0312] 需要说明的是,本实施例不限制步骤S8012与步骤S8013的执行顺序。
[0313] 可见,通过公式(22)可以计算出目标上下文中所有句子(即l条句子)包含的所有词 在词级别下的语义表示结果与该待选回复在词级别下的语义表示结果之间的匹配结果
(即 余弦距离),可以将这些匹配结果构成该待选回复与目标上下文在词级别下的匹配矩
阵,定 义为 则 的维度为n*l*n;同理,通过公式(23)可以计算出目标上下文中所有
句 子(即l条句子)在句子级别下的语义表示结果与该待选回复在词级别下的语义表示结
果之 间的匹配结果(即余弦距离),可以将这些匹配结果构成该待选回复与目标上下文在
句子级 别下的匹配矩阵,定义为 则 的维度为n*l;通过公式(24)可以计算出目标上
下 文中所有句子(即l条句子)在上下文级别下的语义表示结果与该待选回复在词级别下
的语 义表示结果之间的匹配结果(即余弦距离),可以将这些匹配结果构成该待选回复与
目标上 下文在上下文级别下的匹配矩阵,定义为 则 的维度为n*l。
[0314] 类似的,通过公式(28)可以计算出人物画像信息中所有句子(即K条句子)包含的 所有词在词级别下的语义表示结果与该待选回复在词级别下的语义表示结果之间的匹配
结 果(即余弦距离),可以将这些匹配结果构成该待选回复与人物画像信息在词级别下的
匹配 矩阵,定义为 则 的维度为n*k*m;同理,通过公式(29)可以计算出人物画像 信
息中所有句子(即K条句子)在句子级别下的语义表示结果与该待选回复在词级别下的 语
义表示结果之间的匹配结果(即余弦距离),可以将这些匹配结果构成该待选回复与人物 
画像信息在句子级别下的匹配矩阵,定义为 则 的维度为n*k;通过公式(30)可 以计
算出人物画像信息中所有句子(即K条句子)在上下文级别下的语义表示结果与该待 选回
复在词级别下的语义表示结果之间的匹配结果(即余弦距离),可以将这些匹配结果构 成
该待选回复与人物画像信息在上下文级别下的匹配矩阵,定义为 则 的维度为 n*k。
[0315] 进而,可以将该待选回复与目标上下文和人物画像信息在相同表示级别下的匹配矩阵 分别进行拼接,具体拼接公式如下:
[0316]
[0317]
[0318]
[0319] 其中,M1表示该待选回复与目标上下文和人物画像信息在词级别下的匹配矩阵的拼接 结果;M2表示该待选回复与目标上下文和人物画像信息在句子级别下的匹配矩阵的
拼接结 果;M3表示该待选回复与目标上下文和人物画像信息在上下文级别下的匹配矩阵
的拼接结 果。
[0320] 进一步的,由于通过上述公式(31)得到的拼接结果M1的维度较高,如图7所示,可 以利用最大池化max-pooling的方法,对公式(31)得到的拼接结果M1进行降维处理,具体 处理公式如下:
[0321]
[0322] 其中,M1'表示在词级别利用最大池化max-pooling对M1进行降维处理后的结果; 表示从该待选回复与人物图像信息在词级别下的匹配矩阵中,取出的人
物 图像信息的每条句子中的每个词对应的匹配结果(该匹配结果可以通过上述公式(28)
计 算出)中的最大值,共可以取出n*k个值; 表示从该待选回复与目标上下 
文在词级别下的匹配矩阵中,取出的目标上下文的每条句子中的每个词对应的匹配结果
(该 匹配结果可以通过上述公式(22)计算出)中的最大值,共可以取出n*l个值。
[0323] 进而,可以将通过上述公式(32)(33)(34)得到的M2、M3、M1'进行拼接,并将 拼接结果作为该待选回复对应的最终的匹配矩阵,用以表征该待选回复与目标上下文和人 物画像信息的相关度,具体拼接公式如下:
[0324] M=[M1';M2;M3]   (35)
[0325] 其中,M表示该待选回复对应的最终的匹配矩阵,其表征了该待选回复对应的语义相 关度,且M对应的张量大小为3*n*(k+l),n表示待选回复中包含的词的总个数,k和l 分别表示人物画像信息和目标上下文中包含的句子的总条数;M1'表示在词级别利用最大池 
化max-pooling对M1进行降维处理后的结果,M1表示该待选回复与目标上下文和人物画像 
信息在词级别下的匹配矩阵的拼接结果;M2表示该待选回复与目标上下文和人物画像信息 在句子级别下的匹配矩阵的拼接结果;M3表示该待选回复与目标上下文和人物画像信息在 上下文级别下的匹配矩阵的拼接结果。
[0326] 需要说明的是,上述介绍的是基于目标上下文和人物画像信息在词级别、句子级别以 及上下文级别这三个表示级别下的语义表示结果,进行的相关度计算,而实际上,还可以 采用其中任意一个、或任意两个表示级别下的语义表示结果进行相关度计算,将计算结果 作为该待选回复对应的语义相关度M。
[0327] 例如,若通过步骤S8012和S8013仅生成了目标上下文和人物画像信息在词级别的语 义表示结果,则可以通过上述方式仅确定出目标上下文和人物画像信息与该待选回复
在词 级别的语义相关度即可,进而可利用公式(31)和(34)计算出M1',作为该待选回复对
应 的语义相关度M;或者,可以仅利用公式(32)计算出M2或仅利用公式(33)计算出M3, 作为该待选回复对应的语义相关度M。
[0328] 又例如,若通过步骤S8012和S8013仅生成了目标上下文和人物画像信息在词级别和 句子级别的语义表示结果,则可以通过上述方式仅确定出目标上下文和人物画像信息
与该 待选回复在词级别和句子级别的语义相关度即可,进而可利用公式(31)(32)(34)
(35) 计算出该待选回复对应的语义相关度为M=[M1';M2]。
[0329] 可见,通过上述方式,可以计算出通过步骤S103获取到的所有待选回复中的每一待 选回复对应的语义相关度M,用以通过后续步骤S802,从中选择出最高语义相关度对应
的 待选回复作为目标问题的最终回复。
[0330] S802:根据各个待选回复各自对应的语义相关度,从各个待选回复中选择一个回复。
[0331] 在本实施例中,若通过步骤S801确定出各个待选回复中的每一待选回复对应的语义 相关度M,例如,每一待选回复对应的语义相关度为M=[M1';M2;M3],则可以利用回复 选择模型的降维融合层中包含的BiLSTM和最大池化max-pooling对M进行降维,具体计 算公
式如下:
[0332] M'=Maxpooling(Bi-LSTM(M))   (36)
[0333] V=Maxpooling(Bi-LSTM(M'))   (37)
[0334] 其中,M'表示对M进行一次降维后的结果,也就是将M输入至降维融合层中的 BiLSTM后,对BiLSTM的每个网络节点的输出值进行最大池化后得到的结果;V表示对M' 进
行一次降维后的结果,也就是将M'输入至降维融合层中的BiLSTM后,对BiLSTM的每 个网络节点的输出值进行最大池化后得到的结果,即,表示对M进行二次降维后的结果。
[0335] 通过上述公式(36)和(37),可以将三维的M,降维成一维的V,且V对应的长度 为k+l。
[0336] 进而,可以将V输入至输出层,该输出层可以是一个具有S型阈值函数sigmoid的输 出层,该输出层可以预测输出一个概率值,该概率值可以为区间[0,1]中的一个数值,并且, 该概率值的大小表征了该待选回复与目标上下文以及人物画像信息之间的语义相关度的高 低,比如,该概率值越大,代表该待选回复与目标上下文以及人物画像信息之间的语义相 关度越高,具体计算公式如下:
[0337] score=sigmoid(W*V+b)   (38)
[0338] 其中,W、b均表示对回复选择模型进行训练后得到的模型参数;score表示该待选回 复对应的概率值。
[0339] 可见,通过上述方式,可以计算出S103所获取的各个待选回复中的每一待选回复对应 的概率值,进而,可以将这些概率值从大到小排序,并选择排序最靠前的概率值对应的待 选回复,作为目标问题的最终回复;或者,将这些概率值从小到大排序,并选择排序最靠 后的概率值对应的待选回复,作为目标问题的最终回复。
[0340] 综上,本实施例利用预先构建的回复选择模型,从词、句子、上下文这三个级别中的 至少一个级别,将各个待选回复与目标上下文和人物画像信息进行相关性计算,当基于这 些信息选择目标问题的最终回复时,避免了被目标上下文和人物画像信息中的不重要的局 部信息所误导,从而可以选择出更适合目标上下文的最终回复;并且,在从各个待选回复 中选择目标问题的最终回复时,还考虑了提出目标问题的提问者的人物画像信息,使得选 择出的最终回复的内容与提问者本身的个性特点更加相关,进而可以满足提问者的
对话需 求,提高了回复生成结果的合理性。
[0341] 第五实施例
[0342] 为便于理解,本实施例将结合图10所示的一种回复选择方法的结构示意图。对本申请 实施例提供的回复选择方法的整体实现过程进行介绍。
[0343] 如图10所示,该结构中包含画像管理模、回复生成模块、回复获取模块以及回复选 择模型,其中,画像管理模块用于生成目标问题的提问者的人物画像信息;回复生成模块 用于生成目标问题的至少一个待选回复;回复获取模块用于获取目标问题的至少一个待选 回复;回复选择模块用于从各个待选回复中选择一个回复,作为目标问题的最终回
复。
[0344] 具体来讲,本申请实施例的整体实现过程为:首先,可以获取到提问者通过语音或文 本的方式输入的目标问题;然后,可以利用画像管理模块,根据获取到的目标问题,从预 先构建的画像信息库中,选择出与目标问题语义相近的至少一条候选画像信息,作为提问 者的人物画像信息,接着,回复生成模块可以利用接收到的人物画像信息、以及包括目标 问题和目标问题之前的历史对话上文组成的目标上下文,进行编解码处理,以提取出目标 上下文和提问者的人物画像信息中与目标问题相关的信息,去除与目标问题无关的信息, 进而可以根据解码结果,生成准确性更高、更符合提问者需求的各个待选回复。
[0345] 同时,回复获取模块也可以根据获取到的目标上下文,从预先构建的对话语料库中, 筛选出与目标上下文在语义上相近的各组上下文,作为各组语料上下文,并获取到这各组 语料上下文中的问题语料对应的回复语料;接着,回复获取模块还可以利用获取到的这些 回复语料、以及包括目标问题和目标问题之前的历史对话上文组成的目标上下文,进行相 关性计算,以根据该相关性确定结果,选取出其中至少一个回复语料,作为目标问题的各 个待选回复,从而能够保证获取到的这些待选回复是与目标上下文在内容上是语义
相关的, 且是能够回复到目标问题重点内容的合理回复,而不是一些无意义的、仅与目标上下文在 语义上勉强相关的高频回复,进而能够满足提问者的对话需求。
[0346] 最后,回复选择模块可以利用接收到的人物画像信息、以及包括目标问题和目标问题 之前的历史对话上文组成的目标上下文,分别与获取到的各个待选回复进行语义相
关度计 算,确定出在词、句子、上下文这三个级别下,每一待选回复与人物画像信息和目标上下 文之间的相关性,进而可以从中选择出相关性最高的待选回复,作为目标问题的最终回复, 即,从各个待选回复中选择出与人物画像信息和目标上下文相关度最高的候选回
复,作为 目标问题的最终回复,并且在考虑了提出目标问题的提问者的人物画像信息的情况下,也 使得选择出的最终回复的内容与提问者本身的个性特点更加相关,以满足提问者的对话需 求,提高了回复生成结果的合理性。
[0347] 进一步的,还可以将选择出的最终回复通过语音和/或文本的形式进行输出。需要说明 的是,具体的回复生成过程、回复获取过程以及回复选择过程,请参见上述相关实施例, 在此不再赘述。
[0348] 第六实施例
[0349] 本实施例将对一种回复选择装置进行介绍,相关内容请参见上述方法实施例。
[0350] 参见图11,为本实施例提供的一种回复选择装置的组成示意图,该装置1100包括:
[0351] 目标问题获取单元1101,用于获取提问者提出的目标问题;
[0352] 画像信息生成单元1102,用于根据所述目标问题,生成所述提问者的人物画像信息;
[0353] 待选回复获取单元1103,用于获取所述目标问题的各个待选回复;
[0354] 待选回复选择单元1104,用于根据所述目标问题和所述人物画像信息,从各个待选回 复中选择一个回复,作为所述目标问题的最终回复。
[0355] 在本实施例的一种实现方式中,所述画像信息生成单元1102具体用于:
[0356] 从预先构建的画像信息库中,选择与所述目标问题语义相近的至少一条候选画像信息, 作为所述提问者的人物画像信息。
[0357] 在本实施例的一种实现方式中,所述画像信息生成单元1102包括:
[0358] 第一结果生成子单元,用于生成所述目标问题的语义表示结果;
[0359] 第二结果生成子单元,用于生成所述画像信息库中的每条候选画像信息的语义表示结 果;
[0360] 画像信息选择子单元,用于根据生成的语义表示结果,选择与所述目标问题在语义距 离上相近的至少一条候选画像信息。
[0361] 在本实施例的一种实现方式中,所述待选回复获取单元1103具体用于:
[0362] 根据所述目标问题和所述人物画像信息,生成所述目标问题的至少一个待选回复;
[0363] 和/或,从预先构建的对话语料库中,获取所述目标问题的至少一个待选回复。
[0364] 在本实施例的一种实现方式中,所述待选回复选择单元1104具体用于:
[0365] 根据目标上下文和所述人物画像信息,从各个待选回复中选择一个回复,其中,所述 目标上下文包括所述目标问题以及所述目标问题之前的历史对话上文。
[0366] 在本实施例的一种实现方式中,所述待选回复选择单元1104包括:
[0367] 语义相关度确定子单元,用于对于各个待选回复中的每一待选回复,确定所述目标上 下文与所述人物画像信息分别与所述待选回复之间的语义相关度;
[0368] 待选回复选择子单元,用于根据各个待选回复各自对应的语义相关度,从各个待选回 复中选择一个回复。
[0369] 在本实施例的一种实现方式中,所述语义相关度确定子单元包括:
[0370] 第三结果生成子单元,用于生成所述待选回复在词级别下的语义表示结果;
[0371] 第一相关度生成子单元,用于生成所述目标上下文在词级别、句子级别以及上下文级 别中的至少一个表示级别下的语义表示结果,并根据生成的语义表示结果确定所述
目标上 下文与所述待选回复之间的语义相关度;
[0372] 第二相关度生成子单元,用于生成所述人物画像信息在词级别、句子级别以及上下文 级别中的至少一个表示级别下的语义表示结果,并根据生成的语义表示结果确定所
述人物 画像信息与所述待选回复之间的语义相关度。
[0373] 在本实施例的一种实现方式中,所述第一相关度生成子单元具体用于:
[0374] 将所述目标上下文在每一表示级别下的语义表示结果,与所述待选回复的语义表示结 果进行相关性计算,得到所述目标上下文与所述待选回复之间的语义相关度;
[0375] 相应地,所述第二相关度生成子单元具体用于:
[0376] 将所述人物画像信息在每一表示级别下的语义表示结果,与所述待选回复的语义表示 结果进行相关性计算,得到所述人物画像信息与所述待选回复之间的语义相关度。
[0377] 进一步地,本申请实施例还提供了一种回复选择设备,包括:处理器、存储器、系统 总线;
[0378] 所述处理器以及所述存储器通过所述系统总线相连;
[0379] 所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被 所述处理器执行时使所述处理器执行上述回复选择方法的任一种实现方法。
[0380] 进一步地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介 质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述回复选择 方法的任一种实现方法。
[0381] 进一步地,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在终端 设备上运行时,使得所述终端设备执行上述回复选择方法的任一种实现方法。
[0382] 通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方 法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样
的理解, 本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的
形式体现出 来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干 指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网
络通 信设备,等等)执行本申请各个实施例或者实施例的某些部分所述的方法。
[0383] 需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的 都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例 公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参 见方法部分说明即可。
[0384] 还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体 或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之
间存在 任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖 非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要 素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设 备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排 除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0385] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这 些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义
的一般 原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将 不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特
点相一致 的最宽的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈