生成式应答方法及相关方法、装置、设备和介质与流程

文档序号:26279323发布日期:2021-08-13 19:36阅读:63来源:国知局
生成式应答方法及相关方法、装置、设备和介质与流程

本公开涉及人工智能领域,具体而言,涉及一种机器人生成式应答方法、文本对话设备和介质。



背景技术:

文本式应答是指,针对用户提出的问题文本,给出自动答案的文本。其目前在人工智能领域具有广泛应用。目前的文本式应答,具有回复率不高,应答速度不够,应答文本不符合用户真实预期等缺点。



技术实现要素:

有鉴于此,本公开的一个目的在于提升文本式应答的速度。

根据本公开的一方面,提供了一种生成式应答方法,包括:

接收用户输入语句;

获取所述用户输入语句的语义表达串;

根据所述用户输入语句的语义表达串,获取所述用户输入语句与候选词汇表中的词语的关联度;

将所述关联度小于预定关联度阈值的词语,从所述候选词汇表删除;

根据所述用户输入语句的语义表达串和删除后的候选词汇表,确定对所述用户输入语句的应答串。

可选地,在接收用户输入语句之后,所述方法还包括:获取所述用户输入语句的情感表达串;所述根据所述用户输入语句的语义表达串,获取所述用户输入语句与候选词汇表中的词语的关联度,包括:根据所述用户输入语句的语义表达串和情感表达串,获取所述用户输入语句与候选词汇表中的词语的关联度;且所述根据所述用户输入语句的语义表达串和删除后的候选词汇表,确定对所述用户输入语句的应答串,包括:根据所述用户输入语句的语义表达串、情感表达串和删除后的候选词汇表,确定对所述用户输入语句的应答串。

可选地,所述根据所述用户输入语句的语义表达串、情感表达串和删除后的候选词汇表,确定对所述用户输入语句的应答串,包括:

基于所述语义表达串和所述情感表达串,确定所述应答串的第一个词语;

基于所述语义表达串、所述情感表达串和应答串中确定出的前一个词语,确定应答串中后一个词语;

将确定出的后一个词语依次连接在确定出的前一个词语的后面,形成所述应答串。

可选地,所述基于所述语义表达串和所述情感表达串,确定所述应答串的第一个词语,包括:

基于所述语义表达串和所述情感表达串,确定所述应答串的第一个词向量;

确定所确定出的词向量与所述候选词汇表中各词语的词向量的相似度;

确定所述候选词汇表中所述相似度最大的词语,作为确定的第一个词语。

可选地,所述基于所述语义表达串、所述情感表达串和应答串中确定出的前一个词语,确定应答串中后一个词语,包括:

基于所述语义表达串、所述情感表达串和应答串中确定出的前一个词语的词向量,确定所述应答串中后一个词向量;

确定所确定的词向量与所述候选词汇表中各词语的词向量的相似度;

确定所述候选词汇表中所述相似度最大的词语,作为确定的后一个词语。

可选地,所述根据所述用户输入语句的语义表达串和情感表达串,获取所述用户输入语句与候选词汇表中的词语的关联度,包括:根据所述用户输入语句的语义表达串和情感表达串,获取所述用户输入语句与候选词汇表中的内容词的关联度;所述将所述关联度小于预定关联度阈值的词语,从所述候选词汇表删除,包括:将所述关联度小于预定关联度阈值的内容词,从所述候选词汇表删除。

可选地,所述获取所述用户输入语句的语义表达串,包括:

获取所述用户输入语句中各词的词向量;

将所述词向量按照词的顺序连接,得到所述用户输入语句的语义表达串。

可选地,所述获取所述用户输入语句的情感表达串,包括:将所述用户输入语句输入情感分类模型,得到用户情感向量,作为所述用户输入语句的情感表达串。

可选地,所述基于所述语义表达串和所述情感表达串,确定所述应答串的第一个词向量,包括:将所述语义表达串和所述情感表达串输入第一应答词向量预测模型,由所述第一应答词向量预测模型给出确定的第一个词向量。

可选地,所述基于所述语义表达串、所述情感表达串和应答串中确定出的前一个词语的词向量,确定所述应答串中后一个词向量,包括:

将所述语义表达串与确定出的前一个词语的词向量输入注意力模型,得到注意力输出,所述注意力输出中指示所述用户输入语句中各词语的重要性程度;

将所述注意力输出、确定的前一个词语的词向量和所述情感表达串输入第二应答词向量预测模型,由所述第二应答词向量预测模型给出确定的后一个词向量。

可选地,所述根据所述用户输入语句的语义表达串和情感表达串,获取所述用户输入语句与候选词汇表中的词语的关联度,包括:将所述用户输入语句的语义表达串、情感表达串和所述候选词汇表中的各词语,输入关联度评价模型,得到所述用户输入语句与候选词汇表中的各词语的关联度。

可选地,在确定对所述用户输入语句的应答串之后,所述方法还包括:输出确定的应答串。

根据本公开的一方面,提供了一种生成与第一语句匹配的第二语句的方法,包括:

接收第一语句;

获取所述第一语句的语义表达串;

根据所述第一语句的语义表达串,获取所述第一语句与候选词汇表中的词语的关联度;

将所述关联度小于预定关联度阈值的词语,从所述候选词汇表删除;

根据所述第一语句的语义表达串和删除后的候选词汇表,确定与第一语句匹配的第二语句。

根据本公开的一方面,提供了一种对关联度评价模型的训练方法,包括:

获取输入的训练样本集合,所述训练样本集合的每个训练样本包括由预设语义表达串和预设词语组成的对、以及事先为该预设语义表达串和该预设词语贴上的关联度标签;

将所述训练样本集合的每个训练样本中的所述对分别输入关联度评价模型,得出所述关联度评价模型判定的所述对中的该预设语义表达串和该预设词语的关联度;

判定所述关联度评价模型判定的关联度是否与相应关联度标签匹配;

如果所述训练样本集合中匹配的样本占比达不到预定比例,调整所述输入关联度评价模型中的系数,直至所述训练样本集合中匹配的样本占比达到预定比例。

可选地,在如果所述训练样本集合中匹配的样本占比达不到预定比例,调整所述输入关联度评价模型中的系数,直至所述训练样本集合中匹配的样本占比达到预定比例之后,所述方法还包括:

获取输入的测试样本集合,所述测试样本集合的每个测试样本包括由预设语义表达串和预设词语组成的对、以及事先为该预设语义表达串和该预设词语贴上的关联度标签;

将所述测试样本集合的每个测试样本中的所述对分别输入关联度评价模型,得出所述关联度评价模型判定的所述对中的该预设语义表达串和该预设词语的关联度;

判定所述关联度评价模型判定的关联度是否与相应关联度标签匹配;

如果所述测试样本集合中匹配的样本占比达到预定比例,则确定所述关联度评价模型训练成功,否则从获取输入的训练样本集合的步骤开始重复执行。

根据本公开的一方面,提供了一种生成式应答方法,包括:

接收用户输入语句;

获取所述用户输入语句的语义表达串和情感表达串;

基于所述用户输入语句的语义表达串和情感表达串,确定对所述用户输入语句的应答串的第一个词语;

基于确定出的应答串前一个词语、所述用户输入语句的语义表达串和情感表达串,确定应答串后一个词语。

根据本公开的一方面,提供了一种生成式应答装置,包括:

用户输入语句接收单元,用于接收用户输入语句;

语义表达串获取单元,用于获取所述用户输入语句的语义表达串;

关联度获取单元,用于根据所述用户输入语句的语义表达串,获取所述用户输入语句与候选词汇表中的词语的关联度;

删除单元,用于将所述关联度小于预定关联度阈值的词语,从所述候选词汇表删除;

应答串确定单元,用于根据所述用户输入语句的语义表达串和删除后的候选词汇表,确定对所述用户输入语句的应答串。

根据本公开的一方面,提供了一种生成与第一语句匹配的第二语句的装置,包括:

第一语句接收单元,用于接收第一语句;

语义表达串获取单元,用于获取所述第一语句的语义表达串;

关联度获取单元,用于根据所述第一语句的语义表达串,获取所述第一语句与候选词汇表中的词语的关联度;

删除单元,用于将所述关联度小于预定关联度阈值的词语,从所述候选词汇表删除;

第二语句确定单元,用于根据所述第一语句的语义表达串和删除后的候选词汇表,确定与第一语句匹配的第二语句。

根据本公开的一方面,提供了一种对关联度评价模型的训练装置,包括:

训练样本集合获取单元,用于获取输入的训练样本集合,所述训练样本集合的每个训练样本包括由预设语义表达串和预设词语组成的对、以及事先为该预设语义表达串和该预设词语贴上的关联度标签;

关联度评价模型输入单元,用于将所述训练样本集合的每个训练样本中的所述对分别输入关联度评价模型,得出所述关联度评价模型判定的所述对中的该预设语义表达串和该预设词语的关联度;

判定单元,用于判定所述关联度评价模型判定的关联度是否与相应关联度标签匹配;

调整单元,用于如果所述训练样本集合中匹配的样本占比达不到预定比例,调整所述输入关联度评价模型中的系数,直至所述训练样本集合中匹配的样本占比达到预定比例。

根据本公开的一方面,提供了一种生成式应答装置,包括:

用户输入语句接收单元,用于接收用户输入语句;

语义和情感表达串获取单元,用于获取所述用户输入语句的语义表达串和情感表达串;

首词语确定单元,用于基于所述用户输入语句的语义表达串和情感表达串,确定对所述用户输入语句的应答串的第一个词语;

后续词语确定单元,用于基于确定出的应答串前一个词语、所述用户输入语句的语义表达串和情感表达串,确定应答串后一个词语。

根据本公开的一方面,提供了一种生成式应答设备,包括:

存储器,用于存储计算机可读指令;

处理器,用于执行存储中存储的计算机可读指令,以执行:接收用户输入语句;获取所述用户输入语句的语义表达串;根据所述用户输入语句的语义表达串,获取所述用户输入语句与候选词汇表中的词语的关联度;将所述关联度小于预定关联度阈值的词语,从所述候选词汇表删除;根据所述用户输入语句的语义表达串,在删除后的候选词汇表中确定对所述用户输入语句的应答串。

根据本公开的一方面,提供了一种生成与第一语句匹配的第二语句的设备,包括:

存储器,用于存储计算机可读指令;

处理器,用于执行存储中存储的计算机可读指令,以执行:接收第一语句;获取所述第一语句的语义表达串;根据所述第一语句的语义表达串,获取所述第一语句与候选词汇表中的词语的关联度;将所述关联度小于预定关联度阈值的词语,从所述候选词汇表删除;根据所述第一语句的语义表达串和删除后的候选词汇表,确定与第一语句匹配的第二语句。

根据本公开的一方面,提供了一种对关联度评价模型的训练设备,包括:

存储器,用于存储计算机可读指令;

处理器,用于执行存储中存储的计算机可读指令,以执行:获取输入的训练样本集合,所述训练样本集合的每个训练样本包括由预设语义表达串和预设词语组成的对、以及事先为该预设语义表达串和该预设词语贴上的关联度标签;将所述训练样本集合的每个训练样本中的所述对分别输入关联度评价模型,得出所述关联度评价模型判定的所述对中的该预设语义表达串和该预设词语的关联度;判定所述关联度评价模型判定的关联度是否与相应关联度标签匹配;如果所述训练样本集合中匹配的样本占比达不到预定比例,调整所述输入关联度评价模型中的系数,直至所述训练样本集合中匹配的样本占比达到预定比例。

根据本公开的一方面,提供了一种生成式应答设备,包括:

存储器,用于存储计算机可读指令;

处理器,用于执行存储中存储的计算机可读指令,以执行:接收用户输入语句;获取所述用户输入语句的语义表达串和情感表达串;基于所述用户输入语句的语义表达串和情感表达串,确定对所述用户输入语句的应答串的第一个词语;基于确定出的应答串前一个词语、所述用户输入语句的语义表达串和情感表达串,确定应答串后一个词语。

根据本公开的一方面,提供了一种计算机可读介质,所述计算机可读介质存储有可由终端设备执行的计算机指令,所述计算机指令被执行时,实现:接收用户输入语句;获取所述用户输入语句的语义表达串;根据所述用户输入语句的语义表达串,获取所述用户输入语句与候选词汇表中的词语的关联度;将所述关联度小于预定关联度阈值的词语,从所述候选词汇表删除;根据所述用户输入语句的语义表达串,在删除后的候选词汇表中确定对所述用户输入语句的应答串。

根据本公开的一方面,提供了一种计算机可读介质,所述计算机可读介质存储有可由终端设备执行的计算机指令,所述计算机指令被执行时,实现:接收第一语句;获取所述第一语句的语义表达串;根据所述第一语句的语义表达串,获取所述第一语句与候选词汇表中的词语的关联度;将所述关联度小于预定关联度阈值的词语,从所述候选词汇表删除;根据所述第一语句的语义表达串和删除后的候选词汇表,确定与第一语句匹配的第二语句。

根据本公开的一方面,提供了一种计算机可读介质,所述计算机可读介质存储有可由终端设备执行的计算机指令,所述计算机指令被执行时,实现:获取输入的训练样本集合,所述训练样本集合的每个训练样本包括由预设语义表达串和预设词语组成的对、以及事先为该预设语义表达串和该预设词语贴上的关联度标签;将所述训练样本集合的每个训练样本中的所述对分别输入关联度评价模型,得出所述关联度评价模型判定的所述对中的该预设语义表达串和该预设词语的关联度;判定所述关联度评价模型判定的关联度是否与相应关联度标签匹配;如果所述训练样本集合中匹配的样本占比达不到预定比例,调整所述输入关联度评价模型中的系数,直至所述训练样本集合中匹配的样本占比达到预定比例。

根据本公开的一方面,提供了一种计算机可读介质,所述计算机可读介质存储有可由终端设备执行的计算机指令,所述计算机指令被执行时,实现:接收用户输入语句;获取所述用户输入语句的语义表达串和情感表达串;基于所述用户输入语句的语义表达串和情感表达串,确定对所述用户输入语句的应答串的第一个词语;基于确定出的应答串前一个词语、所述用户输入语句的语义表达串和情感表达串,确定应答串后一个词语。

在本公开实施例中,根据用户输入语句的语义表达串,获取所述用户输入语句与候选词汇表中的词语的关联度,将所述关联度小于预定关联度阈值的词语,从所述候选词汇表删除。这样,在应答之前就从候选词汇表中过滤掉大量基本上在本次应答中不可能用到的词语。由于生成应答串中的词语是从候选词汇表选出的,候选词汇表内容越少,生成应答串的速度越高,从而大大提升了应答速度。

附图说明

通过参考以下附图对本公开实施例的描述,本公开的上述以及其它目的、特征和优点将更为清楚,在附图中:

图1a-c示出了根据本公开实施例的生成式应答方法的应用场景图,其顺序地显示了该场景下终端的界面变化。

图2示出了根据本公开一个实施例的生成式应答设备的原理框图;

图3示出了结合图2的一个具体预测过程示意图;

图4示出了根据本公开一个实施例的生成式应答方法流程图;

图5示出了根据本公开一个实施例的生成与第一语句匹配的第二语句的方法流程图;

图6示出了根据本公开一个实施例的对关联度评价模型的训练方法流程图;

图7示出了根据本公开另一个实施例的生成式应答方法流程图;

图8示出了根据本公开一个实施例的生成式应答装置框图;

图9示出了根据本公开一个实施例的生成与第一语句匹配的第二语句的装置框图;

图10示出了根据本公开一个实施例的对关联度评价模型的训练装置框图;

图11示出了根据本公开另一个实施例的生成式应答装置框图;

图12示出了根据本公开一个实施例的生成式应答设备、生成与第一语句匹配的第二语句的设备或对关联度评价模型的训练设备的内部结构图。

具体实施方式

以下基于实施例对本公开进行描述,但是本公开并不仅仅限于这些实施例。在下文对本公开的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本公开。为了避免混淆本公开的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。

目前的文本式应答,多半是采取人工智能训练师事先配置好对各种文本语句的标准应答的方式。这样,一旦用户输入的文本语句不属于事先配置好的文本语句,就可能不能产生应答,回复率不高。因此,产生了生成式应答。生成式应答是利用生成式模型,对用户文本语句给予应答,每次应答的答案由算法实时生成,提高了机器人的回复率。

该生成式模型主要是根据用户输入的文本语句的语义,预测可能产生的应答。预测的可能产生的应答的每一个词,都从一个很大的候选词汇表中选择,造成处理速度低下。

为了解决该处理速度低下的问题,本公开实施例获取用户输入语句的语义表达串,根据用户输入语句的语义表达串,获取用户输入语句与候选词汇表中的词语的关联度,将关联度小于预定关联度阈值的词语,从候选词汇表删除。这样,在应答之前就从候选词汇表中过滤掉大量基本上在本次应答中不可能用到的词语。由于生成应答串中的词语是从候选词汇表选出的,候选词汇表内容越少,生成应答串的速度越高,从而大大提升了应答速度。

在详细描述本公开实施例的方案之前,先对本公开实施例应用的场景作一个简单介绍。

图1a-c示出了根据本公开实施例的生成式应答方法的应用场景图,其顺序地显示了该场景下终端的界面变化。

该场景中,用户终端101连接有麦克风102。该用户终端101可以是一个专门的人机对话终端,也可以是一台普通的计算机终端,其上安装有人机对话的应用,还可以是一个普通的计算机终端,其通过互联网远程连接到服务器(未示)。在前两种情况下,用户终端101本身具有对用户103的问题进行应答的功能,因此,本公开实施例的生成式应答方法主要在用户终端101实现。在后一种情况下,用户终端101本身不具有对用户103的问题进行应答的功能,用户终端101要将用户103的问题发送给服务器,由服务器给出生成式应答发送回用户终端101。在这种情况下,本公开实施例的生成式应答方法主要在服务器实现。

应当理解,虽然在图1a-c中,用户终端101体现为桌上电脑的形式,其也可以采用便携式电脑、手机、个人数字助理(pda)、车载设备等其它形式。

如图1a所示,在用户103尚未说出提出的问题时,用户终端101的界面上的问题输入位置105上显示为空白,这时界面上的候选词数显示位置104显示目前参与应答词筛选的候选词有102463个,是非常多的。

如图1b所示,在用户103说出提出的问题后,麦克风102收集用户的语音输入用户终端101,由用户终端101内部的语音转换装置(未示)将用户的语音转换为用户问题的文字,呈现在界面的问题输入位置105。在图1b中,转换成的用户问题的文字是“今天星期几”。本公开实施例中,要获取用户问题的文字与候选词汇表中的词语的关联度,并将关联度小于预定关联度阈值的词语,从候选词汇表删除。这样,候选词汇表中与“今天”、“星期”、“几”无关的那些候选词汇统统从候选词汇表中删除掉了,在界面上的候选词数显示位置104显示目前参与应答词筛选的候选词有513个。由于生成应答串中的词语是从候选词汇表选出的,候选词汇表词数越少,生成应答串的速度越高,从而大大提升了应答速度。因此,在图1c中,在用户终端101的界面的应答显示位置106很快显示出文字应答“今天星期五”。

虽然在上面的场景下,用户103是通过语音的形式说出提出的问题的,但本领域技术人员应当理解,用户103也可以通过键盘或触摸屏(未示)在用户终端101上输入提出的问题,在这种情况下,麦克风102不发挥作用。另外,对于聋哑人用户103来说,可以在用户终端101上设置摄像头(未示)。聋哑人用户103在用户终端101前作手势,该手势表示提出的问题,摄像头采集用户103的手势视频,输出给连接的手语识别装置(未示),由手语识别装置识别出用户提出的问题文字,显示在界面上的问题输入位置105。

虽然在上面的场景下,是通过在界面上的应答显示位置106显示应答来对用户的问题进行回答的,但也可以采用其它的形式,例如,通过用户终端101的语音转换装置(未示)将应答文字转换成语音,通过用户终端101的扬声器(未示)播出。对于聋哑人用户103来说,还可以将应答文字通过手语转换装置(未示)转换成手语的视频,在用户终端101的显示屏上播放。

如图4所示,根据本公开的一个实施例,提供了一种生成式应答方法。在用户终端101是专门的人机对话终端,或者是安装有人机对话的应用的普通终端的情况下,该生成式应答方法由用户终端101执行。在用户终端101本身不具备会话处理器功能、连接到远程服务器(未示)作会话处理的情况下,该生成式应答方法由远程服务器执行。

生成式应答是利用生成式模型,对用户文本语句给予应答,而不是事先由人工智能训练师配置语句的答案。生成式模型是利用机器学习来基于语句预测语句的答案的模型。它可能包括不止一个模型,例如本公开实施例中,它包括如图2的情感分类模型220、注意力模型230、第一应答词向量预测模型241、第二应答词向量预测模型242、关联度评价模型261等。这四种模型的训练和使用会在后文中涉及时详细描述。

如图4所示,根据本公开一个实施例的生成式应答方法包括:步骤410、接收用户输入语句;步骤420、获取用户输入语句的语义表达串;步骤430、根据用户输入语句的语义表达串,获取用户输入语句与候选词汇表中的词语的关联度;步骤440、将关联度小于预定关联度阈值的词语,从候选词汇表删除;步骤450、根据用户输入语句的语义表达串和删除后的候选词汇表,确定对用户输入语句的应答串。

下面分别对以上步骤进行详细描述。

在步骤410中,接收用户输入语句。

这里的用户输入语句是指用户103向用户终端101通过各种方式输入的句子的文字,包括用户问题和一般性的会话。在上面结合图1a-c的场景描述中,主要讨论了用户103提出一个问题,由用户终端101反馈一个应答的情况。实际上,用户103输入的语句也可以不是一个问题,而是一般性的会话。然后,用户终端101能够象一个与用户103对话的普通人一样,根据用户103说话的内容,接续后面的对话。例如,用户103可能说“屋里面真冷”,用户终端101识别出该会话内容后,可能会应答“可以打开空调”等。

可以通过多种方式接收用户输入语句。在本公开实施例的生成式应答方法由用户终端101执行时,在语音输入的情况下,可以通过麦克风102采集用户101说话的语音,经由用户终端101内部的语音识别装置将其识别成文字,得到用户输入语句。在用户通过键盘或触摸屏直接在界面上输入句子的情况下,可以通过键盘或触摸屏直接接收用户输入语句。在聋哑人用户通过手语输入的情况下,可以通过用户终端101自带的摄像头捕捉用户的手势视频,利用用户终端101内部的手语识别装置识别该手势视频所表示的意思,从而形成文字的用户输入语句。在本公开实施例的生成式应答方法由与用户终端101经由互联网连接的服务器执行时,可以经由互联网接收用户终端101发送来的用户输入语句。用户终端101获取用户输入语句的方法同上。

在步骤420中,获取用户输入语句的语义表达串。

语义表达串是指表示用户输入语句的含义的字符的序列,这里的字符包括字母、数字、符号等。相同含义的用户输入语句,其语义表达串是相同的。

该步骤是由图2的语义编码器210完成的。简而言之,语义编码器210就是对文字形式的语句进行编码,编码后的代码能够代表该语句的意思的器件。如果两个语句意思相同,编码后的代码也相同。编码后的代码可以采用向量的形式。

在一个实施例中,步骤420包括:获取用户输入语句中各词的词向量;将词向量按照词的顺序连接,得到用户输入语句的语义表达串。

首先,利用分词技术,将用户输入语句进行分词。如图3中,将用户输入语句“igotanofferfromstanford”分成i、got、an、offer、from、stanford这些词语。语义编码器210包括若干词编码器211,分别对分出的每个词语进行编码,即将词语转换成代码。这里的代码是指用于指示词语的含义的唯一的字符。含义相同的词语,转换成的代码相同。编码的方法可以是,查找词的代码字典,可以将词转换成对应的代码。由于词编码器是已有技术,不再赘述。

在一个实施例中,代码可以采用词向量的形式,即(a1,a2,a3,……an)的形式,其中,n为自然数。获取该词的词向量可以有多种方式。一种获取词向量的方式是查找预先设置的词向量字典,该词向量字典预先存储了各种词对应的词向量。另一种获取词向量的方式是通过词向量模型。该词向量模型也是一个机器学习模型,例如全连接神经网络。

神经网络是一类典型的机器学习模型,它的设计受到生物神经网络的启发。人们通过对大脑生物机理的研究,发现其基本单元是神经元,每个神经元通过树突从上游的神经元那里获取输入信号,经过自身的加工处理后,再通过轴突将输出信号传递给下游的神经元。当神经元的输入信号总和达到一定强度时,就会激活一个输出信号,否则就没有输出信号。受生物神经网络的启发,将一个能够进行简单的逻辑处理的单元作为一个神经元,将它们互相连接起来,形成层次结构,称之为全连接神经网络。全连接神经网络分为输入层、输出层和中间的一层或多层隐藏层。输入层包括多个输入节点,输出层包括多个输出节点,中间的每个隐含层中包括多个隐含节点。每一个隐含节点都会把来自上一层节点的输出进行加权求和,再经过一个非线性的激活函数,输出给下一层。而输出层则一般采用简单的线性函数,或者进一步使用softmax函数将输出变成概率形式。

该词向量模型的训练方式如下:可以构造一个由大量训练词样本组成的样本集合,其中每个训练词样本预先打好词向量标签。将训练词样本集合中的每个训练词样本输入词向量模型,由词向量模型输出学习得到的词向量,该词向量与标签的词向量进行比对,如果对于训练词样本集合中,至少预定比例(例如95%以上)的训练词样本的输出结果是与标签的词向量一致的,则说明该词向量模型训练成功,否则调整词向量模型中各隐含层中各隐含节点的参数,使得至少预定比例(例如95%以上)的训练词样本的输出结果是与标签的词向量一致的。

当词向量模型训练成功后,一般要经受测试的过程才能正式投入使用。在测试时,可以构造一个由大量测试词样本构成的测试词样本集合,其中每个测试词样本预先打好词向量标签。将测试词样本集合中的每个测试词样本输入词向量模型,由词向量模型输出学习得到的词向量,该词向量与标签的词向量进行比对。如果测试词样本集合中匹配的词样本占比达到预定比例,则确定词向量模型训练成功,否则重复进行上述训练的过程。

如图3所示,分别将i、got、an、offer、from、stanford转换成的词向量是h1-h6。

基于用户输入语句的每个词的词向量,可以生成用户输入语句的语义向量。生成用户输入语句的语义向量的一种方式是将用户输入语句的每个词的词向量按照词的顺序串接,如图3中h1h2h3h4h5h6。也可以通过将用户输入语句的每个词的词向量交织,来形成用户输入语句的语义向量。例如,将用户输入语句的每个词的词向量的第一个分量按照词的顺序串接成第一串,将将用户输入语句的每个词的词向量的第二个分量按照词的顺序串接成第二串,以此类推,最后将第一串、第二串……依次串接。

在步骤430中,根据用户输入语句的语义表达串,获取用户输入语句与候选词汇表中的词语的关联度。

关联度是表示候选词汇表中的词语与用户输入语句相关联的程度的量,该量越大,表示候选词汇表中的词语与用户输入语句越关联。

一种获取关联度的方式可以是:将用户输入语句的语义表达串和候选词汇表中的各词语,输入关联度评价模型,得到用户输入语句与候选词汇表中的各词语的关联度。

与上述词向量模型一样,关联度评价模型也可以是一个机器学习模型,例如全连接神经网络模型。由于上文已经对全连接神经网络模型作了简单介绍,这里不再赘述。

关联度评价模型的训练方式如下:可以构造一个由大量训练样本组成的训练样本集合,训练样本集合的每个训练样本包括由预设语义表达串和预设词语组成的对、以及事先为该预设语义表达串和该预设词语贴上的关联度标签。将训练样本集合的每个训练样本中的对分别输入关联度评价模型,得出关联度评价模型判定的对中的该预设语义表达串和该预设词语的关联度。然后,判定关联度评价模型判定的关联度是否与相应关联度标签匹配。如果训练样本集合中匹配的样本占比达不到预定比例(例如95%),调整输入关联度评价模型中的各隐含层的隐含节点中的参数,直至训练样本集合中匹配的样本占比达到预定比例,达到后认为训练成功。

在关联度评价模型训练成功后,一般会经受一个测试过程。在测试时,构造由大量测试样本构成的测试样本集合,其中,测试样本集合的每个测试样本包括由预设语义表达串和预设词语组成的对、以及事先为该预设语义表达串和该预设词语贴上的关联度标签。然后,将测试样本集合的每个测试样本中的对分别输入关联度评价模型,得出关联度评价模型判定的对中的该预设语义表达串和该预设词语的关联度。判定关联度评价模型判定的关联度是否与相应关联度标签匹配。如果测试样本集合中匹配的样本占比达到预定比例(例如95%),则确定关联度评价模型训练成功,否则重复进行上述训练过程。

在一个进一步的实施例中,候选词汇表包含功能词和内容词。功能词即在句子中起到指代、连接作用的词,如英文中的the,i,you,are,of等,中文中的“的”、“地”、“得”。这些词不是表达句子的含义的关键词,但是却是每个句子必须要使用的词。内容词即在句子中表达实体要表达的含义的词。功能词是不能从候选词汇表中滤除的,因为几乎每个句子都有可能使用这些词。因此,该实施例中,仅对内容词执行步骤430,即根据用户输入语句的语义表达串,获取用户输入语句与候选词汇表中的内容词的关联度,对于功能词不能滤除,可以认为其关联度永远为1。由于仅获取与内容词的关联度,提高了生成式应答速度。

在步骤440中,将关联度小于预定关联度阈值的词语,从候选词汇表删除。

步骤440可以由图2的筛选单元262实现。例如,设置预定关联度阈值为0.8,将步骤430得出的关联度小于0.8的词,从候选词汇表中全滤出,从而提供给词预测单元250的只有关联度不小于0.8的那部分词。

在上述将候选词汇表分成功能词和内容词的情况下,在步骤440中,仅将关联度小于预定关联度阈值的词语,从候选词汇表删除。也就是说,对于功能词,是不作滤除的。如图3所示,将功能词的关联度263全为1。仅将所有内容词输入关联度评价模型261,得到各内容词的关联度264。假设预定关联度阈值为0.7。经过筛选单元262的筛选,全部功能词都通过了,具有高于0.7的关联度265的那部分内容词通过。通过的词全部提供给词预测单元250参与预测。

将候选词汇表划分为功能词和内容词,采取不同的做法,保证了几乎每个句子都有可能使用的功能词不被滤除,提高预测效果。

现有技术中的一个主要问题在于,在生成对用户会话的应答时,应答中的每个词语的选取,都是对整个候选词汇表进行全量对比产生的。如果候选词汇表词量很大的情况下,应答速度就会很慢。本公开实施例采用动态候选词汇表,使得在生成应答的初期就过滤掉大量在本次生成应答的任务中根本不太可能用到的词语,让候选词汇表变成之前的候选词汇表的一个子集,大大提升回复速度。由于过滤掉的都是生成应答时基本不太可能用到的词语,不会影响应答的质量。甚至,由于对一些不相关词语的滤除,可能使得应答的质量有所提高。

预定关联度阈值可以根据生成应答的速度要求选取。如果要求迅速应答,则可以将预定关联度阈值设置得很高,这样,提供给词预测单元250的词变得很少,提高预测速度。从实验结果看,即使将候选词汇表缩减到原来的1/10,也没有太影响应答的效果。如果不要求迅速应答,但预测精度要求很高,则可以将预定关联度阈值设置得低一些,这样,提供给词预测单元250的词变得多一些,提高预测精度。

通过对候选词汇表筛减力度的调节,能够实现对“速度”和“效果”的平衡,并且能够满足不同业务场景对速度和效果的不同特定需求,使得本公开实施例的实现更加定制化,并且大幅减少对计算资源(例如eas计算平台资源)的需求。

在步骤450中,根据用户输入语句的语义表达串和删除后的候选词汇表,确定对用户输入语句的应答串。

应答串是指对用户输入语句进行应答的字符串,这里的字符包括文字(中文或其它国家文字)、字母、数字、符号等。例如,用户输入语句为“今天是几月几日”,应答串可以是“今天是8月25日”。

根据用户输入语句的语义表达串和删除后的候选词汇表,确定对用户输入语句的应答串的方式可以是:基于语义表达串,确定应答串的第一个词语;基于语义表达串和应答串中确定出的前一个词语,确定应答串中后一个词语;将确定出的后一个词语依次连接在确定出的前一个词语的后面,形成应答串。

举例来说,如果用户输入语句为“今天是几月几日”,应答串是“今天是8月25日”,“今天”这个词是根据“今天是几月几日”转换成的语义表达串确定出的,“是”是根据“今天”这个词和“今天是几月几日”转换成的语义表达串确定出的,“8月”是根据“是”这个词和“今天是几月几日”转换成的语义表达串确定出的,“25日”是根据“8月”这个词和“今天是几月几日”转换成的语义表达串确定出的。

可以通过以下方式来基于语义表达串,确定应答串的第一个词语:基于语义表达串,确定应答串的第一个词向量;确定所确定出的词向量与候选词汇表中各词语的词向量的相似度;确定候选词汇表中相似度最大的词语,作为确定的第一个词语。

基于语义表达串,确定应答串的第一个词向量可以通过第一应答词向量预测模型241来实现。

与上述词向量模型一样,第一应答词向量预测模型241也可以是一个机器学习模型,例如全连接神经网络模型。由于上文已经对全连接神经网络模型作了简单介绍,这里不再赘述。

第一应答词向量预测模型241的训练方式如下:可以构造一个由大量语义表达串训练样本组成的训练样本集合。事先为训练样本集合的每个语义表达串训练样本贴上首词向量标签。将训练样本集合的每个训练样本分别输入第一应答词向量预测模型241,得出第一应答词向量预测模型241判定的首词向量,与贴上的首词向量标签相比较。如果训练样本集合中确定出的首词向量与首词向量标签匹配的训练样本占比达不到预定比例(例如95%),调整第一应答词向量预测模型241中的各隐含层的隐含节点中的参数,直至训练样本集合中匹配的训练样本占比达到预定比例,达到后认为训练成功。

在第一应答词向量预测模型241训练成功后,一般会经受一个测试过程。在测试时,构造由大量语义表达串测试样本构成的测试样本集合,其中,为测试样本集合的每个语义表达串测试样本贴上首词向量标签。然后,将测试样本集合的每个语义表达串测试样本分别输入第一应答词向量预测模型241,得出第一应答词向量预测模型241判定的首词向量。确定第一应答词向量预测模型241判定的首词向量是否与首词向量标签匹配。如果测试样本集合中匹配的语义表达串测试样本占比达到预定比例(例如95%),则确定第一应答词向量预测模型241训练成功,否则重复进行上述训练过程。

第一应答词向量预测模型241训练并测试成功后,就可以将步骤420中得到的语义表达串输入第一应答词向量预测模型241,第一应答词向量预测模型241确定出应答串的第一词向量。接着,确定所确定的的词向量与候选词汇表中各词语的词向量的相似度。候选词汇表中各词语的词向量是事先已知的,或者可以通过查找词向量字典的方式确定。相似度是指词向量之间的相似的程度。词语的含义相差越大,词语的词向量之间的相似度越小。反之,词语的含义相差越小,词语的词向量之间的相似度越大。确定两个词向量的相似度可以采用现有方式实现,故不赘述。然后,确定候选词汇表中相似度最大的词语,作为确定的第一个词语。

基于语义表达串和应答串中确定出的前一个词语,确定应答串中后一个词语,可以通过以下方式实现:将语义表达串与确定出的前一个词语的词向量输入注意力模型,得到注意力输出,注意力输出指示用户输入语句中各词语的重要性程度;将注意力输出、确定的前一个词语的词向量和情感表达串输入第二应答词向量预测模型,由第二应答词向量预测模型给出确定的后一个词向量。

注意力输出是指表示语句中各词语的重要性程度的量。当人们听到一个语句时,其对语句中每个词的注意程度是不一样的,语句中每个词语的重要程度也是不同的。由于用户输入语句中每个词语的重要性程度不同,应答时对每个词语的依赖程度也不同。因此,在确定对用户输入语句的应答串时,也要考虑到用户输入语句中每个词语的重要性程度,即权重。注意力输出可以体现为一个向量,向量的各个元素表示用户输入语句中相应一个词语的重要性程度或权重。注意力输出是通过注意力模型230得到的。注意力模型230是一个机器学习模型,例如全连接神经网络。下面描述注意力模型230的训练和使用。

注意力模型230的训练方式如下:可以构造一个由大量训练样本组成的训练样本集合,该训练样本集合中的每个训练样本包括由一个语义表达串和应答串中前一个词向量,事先为每个训练样本贴上注意力输出标签。将训练样本集合的每个训练样本分别输入注意力模型230,得出注意力输出,与贴上的注意力输出标签相比较。如果训练样本集合中确定出的注意力输出与相应注意力输出标签匹配的占比达不到预定比例(例如95%),调整注意力模型230中的各隐含层的隐含节点中的参数,直至训练样本集合中匹配的训练样本占比达到预定比例,达到后认为训练成功。

在注意力模型230训练成功后,一般会经受一个测试过程。在测试时,构造由测试样本构成的测试样本集合,测试样本集合中的每个测试样本包括一个语义表达串和应答串中前一个词向量。为测试样本集合的每个测试样本贴上注意力输出标签。然后,将测试样本集合的每个测试样本分别输入注意力模型230,得出注意力输出。确定注意力模型230的注意力输出是否与注意力输出标签匹配。如果测试样本集合中匹配的测试样本占比达到预定比例(例如95%),则确定注意力模型230训练成功,否则重复进行上述训练过程。

注意力模型230训练并测试成功后,就可以将语义表达串与确定出的前一个词语的词向量输入注意力模型230,得到注意力输出。

第二应答词向量预测模型242也是一个机器学习模型,例如全连接神经网络。下面描述第二应答词向量预测模型242的训练和使用。

第二应答词向量预测模型242的训练方式如下:可以构造一个由大量训练样本组成的训练样本集合,该训练样本集合中的每个训练样本包括由一个注意力输出和一个词向量。事先为每个训练样本贴上该词向量对应的词的下一个词的词向量标签。将训练样本集合的每个训练样本分别输入第二应答词向量预测模型242,得出第二应答词向量预测模型242判定的下一词向量,与贴上的下一词向量标签相比较。如果训练样本集合中确定出的下一词向量与下一词向量标签匹配的训练样本占比达不到预定比例(例如95%),调整第二应答词向量预测模型242中的各隐含层的隐含节点中的参数,直至训练样本集合中匹配的训练样本占比达到预定比例,达到后认为训练成功。

在第二应答词向量预测模型242训练成功后,一般会经受一个测试过程。在测试时,构造由大量测试样本构成的测试样本集合,测试样本集合中的每个测试样本包括一个注意力输出和一个词向量,事先为每个训练样本贴上该词向量对应的词的下一个词的词向量标签。然后,将测试样本集合的每个测试样本分别输入第二应答词向量预测模型242,得出第二应答词向量预测模型242判定的下一词向量。确定第二应答词向量预测模型242判定的下一词向量是否与下一词向量标签匹配。如果测试样本集合中匹配的测试样本占比达到预定比例(例如95%),则确定第二应答词向量预测模型242训练成功,否则重复进行上述训练过程。

第二应答词向量预测模型242训练并测试成功后,就可以将由注意力模型给出的注意力输出和确定的前一个词语的词向量输入第二应答词向量预测模型242,第二应答词向量预测模型242确定出应答串的下一词向量。接着,确定所确定的下一词向量与候选词汇表中各词语的词向量的相似度。然后,确定候选词汇表中相似度最大的词语,作为确定的下一个词语。

然后,将确定出的后一个词语依次连接在确定出的前一个词语的后面,就形成应答串了。即,将确定出的第二个词语连接在确定出的第一个词语的后面,将确定出的第三个词语连接在确定出的第二个词语的后面,……然后,以此类推,就形成了对用户输入语句的应答串。

在步骤450之后,该方法可以包括:输出确定的应答串。

可以采用多种方式来输出应答串。当生成式应答方法由用户终端101执行时,可以通过在用户终端101的显示界面上显示应答串的方式来输出应答串,也可以通过用户终端101的语音转换装置(未示)将应答文字转换成语音,通过用户终端101的扬声器(未示)播出,还可以将应答文字通过手语转换装置(未示)转换成手语的视频,在用户终端101的显示屏上播放,以供聋哑人用户提供应答。当生成式应答方法由与用户终端101通过互联网连接的服务器执行时,服务器可以通过互联网向用户终端101发送确定的应答串的方式,来输出确定的应答串。

另外,现有技术的生成式应答的一个重要缺点在于,它只能根据用户输入的文本语句的语义,确定可能产生的应答。但是,经常会有用户说出同样一句话,由于采用的语气不同,或者语气中强调的词语不同,表达的意思也不尽相同,因此,造成现有技术的应答结果不符合用户预期。

为了解决这一问题,本公开实施例除了获取用户输入语句的语义表达串,还获取用户输入语句的情感表达串,并且在确定用户输入语句与候选词语的关联度时,和确定应答串时不但考虑语义表达串,还考虑情感表达串,从而使得给用户的应答考虑到用户情绪,更加符合用户预期。

因此,在该实施例中,在步骤410之后,该方法可以包括:获取用户输入语句的情感表达串。

用户情感表达串是指表示用户输入语句中透露中的用户的情感(例如高兴、悲伤、疑惑)的字符串,这里的字符可以包括文字、数字、字母、符号等。其可以表示为用户情感向量。每一种情感都可以表示成一种唯一的向量。

可以通过情感分类模型220来获取用户输入语句的情感表达串。

情感分类模型220也可以是一个机器学习模型,例如全连接神经网络模型。由于上文已经对全连接神经网络模型作了简单介绍,这里不再赘述。

情感分类模型220的训练方式如下:可以构造一个由大量用户输入语句训练样本组成的训练样本集合,事先为训练样本集合的每个用户输入语句训练样本贴上情感表达串标签。将训练样本集合的每个用户输入语句训练样本分别输入情感分类模型220,得出情感分类模型220判定的情感表达串。然后,确定情感分类模型220判定的情感表达串是否与相应情感表达串标签匹配。如果训练样本集合中匹配的样本占比达不到预定比例(例如95%),调整情感分类模型220中的各隐含层的隐含节点中的参数,直至训练样本集合中匹配的样本占比达到预定比例,达到后认为训练成功。

在情感分类模型220训练成功后,一般会经受一个测试过程。在测试时,构造由大量用户输入语句测试样本构成的测试样本集合。事先为测试样本集合的每个用户输入语句测试样本贴上情感类别标签。然后,将测试样本集合的每个用户输入语句测试样本分别输入情感分类模型,得出情感分类模型判定的情感类别。确定情感分类模型220判定的情感类别是否与相应情感类别标签匹配。如果测试样本集合中匹配的用户输入语句样本占比达到预定比例(例如95%),则确定情感分类模型220训练成功,否则重复进行上述训练过程。

当情感分类模型220训练并测试成功后,将步骤410中接收的用户输入语句输入情感分类模型220,就得到用户输入语句的情感表达串。由于有情感表达串,在步骤430确定用户输入语句与候选词汇表中的词语的关联度时,不需要不仅考虑到用户输入语句的语义表达串,还要考虑到用户输入语句的情感表达串。

如上所述,关联度是通过关联度评价模型确定的。因此,在这种情况下,可以将用户输入语句的语义表达串、情感表达串和候选词汇表中的各词语,输入关联度评价模型,得到用户输入语句与候选词汇表中的各词语的关联度。在候选词汇表包括功能词和内容词的情况下,将用户输入语句的语义表达串、情感表达串和候选词汇表中的各内容词,输入关联度评价模型,得到用户输入语句与候选词汇表中的各内容词的关联度。对于功能词来说,由于其不会被滤除,关联度设为1。

这种情况下,由于有情感表达串的存在,关联度评价模型的训练方式与前述稍有不同。首先,可以构造一个由大量训练样本组成的训练样本集合,训练样本集合的每个训练样本包括由预设语义表达串、预设情感表达串和预设词语组成的组、以及事先为该组贴上的关联度标签。将训练样本集合的每个训练样本中的组分别输入关联度评价模型,得出关联度评价模型判定的组对应的关联度。然后,判定关联度评价模型判定的关联度是否与相应关联度标签匹配。如果训练样本集合中匹配的样本占比达不到预定比例(例如95%),调整输入关联度评价模型中的各隐含层的隐含节点中的参数,直至训练样本集合中匹配的样本占比达到预定比例,达到后认为训练成功。

在关联度评价模型训练成功后的测试阶段,构造由大量测试样本构成的测试样本集合,其中,测试样本集合的每个测试样本包括由预设语义表达串、预设情感表达串和预设词语组成的组、以及事先为该组贴上的关联度标签。然后,将测试样本集合的每个测试样本中的组分别输入关联度评价模型,得出关联度评价模型判定的组的关联度。确定关联度评价模型判定的关联度是否与相应关联度标签匹配。如果测试样本集合中匹配的样本占比达到预定比例(例如95%),则确定关联度评价模型训练成功,否则重复进行上述训练过程。

在这种情况下,在步骤450中,确定对用户输入语句的应答串时,不但要考虑到用户输入语句的语义表达串,还要考虑到用户输入语句的情感表达串。即,根据用户输入语句的语义表达串、情感表达串和删除后的候选词汇表,确定对用户输入语句的应答串。

具体地,可以基于语义表达串和情感表达串,确定应答串的第一个词语。基于语义表达串、情感表达串和应答串中确定出的前一个词语,确定应答串中后一个词语。将确定出的后一个词语依次连接在确定出的前一个词语的后面,形成应答串。

基于语义表达串和情感表达串,确定应答串的第一个词向量可以通过如上所述的第一应答词向量预测模型241来实现。第一应答词向量预测模型241例如全连接神经网络模型。其训练方法与前述没有情感表达串的情况稍有不同。

在有情感表达串时,第一应答词向量预测模型241的训练方式如下:可以构造一个由大量训练样本组成的训练样本集合,每个训练样本包括某一语句的语义表达串和情感表达串。事先为训练样本集合的每个训练样本贴上首词向量标签。将训练样本集合的每个训练样本分别输入第一应答词向量预测模型241,得出第一应答词向量预测模型241判定的首词向量,与贴上的首词向量标签相比较。如果训练样本集合中预测出的首词向量与首词向量标签匹配的训练样本占比达不到预定比例(例如95%),调整第一应答词向量预测模型241中的各隐含层的隐含节点中的参数,直至训练样本集合中匹配的训练样本占比达到预定比例,达到后认为训练成功。

在第一应答词向量预测模型241训练成功后的测试阶段,构造由大量测试样本构成的测试样本集合,每个测试样本包括某一语句的语义表达串和情感表达串。为测试样本集合的每个测试样本贴上首词向量标签。然后,将测试样本集合的每个测试样本分别输入第一应答词向量预测模型241,得出第一应答词向量预测模型241判定的首词向量。确定第一应答词向量预测模型241判定的首词向量是否与首词向量标签匹配。如果测试样本集合中匹配的语义表达串测试样本占比达到预定比例(例如95%),则确定第一应答词向量预测模型241训练成功,否则重复进行上述训练过程。

第一应答词向量预测模型241训练并测试成功后,就可以将用户输入语句的语义表达串和情感表达串输入第一应答词向量预测模型241,第一应答词向量预测模型241确定出应答串的第一词向量。接着,确定所确定出的词向量与候选词汇表中各词语的词向量的相似度。确定两个词向量的相似度可以采用现有方式实现。然后,确定候选词汇表中相似度最大的词语,作为确定的第一个词语。

基于语义表达串、情感表达串和应答串中确定出的前一个词语,确定应答串中后一个词语,可以通过以下方式实现:将语义表达串与确定出的前一个词语的词向量输入注意力模型,得到注意力输出,注意力输出中指示用户输入语句中各词语的重要性程度;将注意力输出、确定的前一个词语的词向量和情感表达串输入第二应答词向量预测模型,由第二应答词向量预测模型给出确定的后一个词向量。

由于有情感表达串的存在,因此第二应答词向量预测模型242的训练方式会与前述有稍许不同。可以构造一个由大量训练样本组成的训练样本集合,该训练样本集合中的每个训练样本包括由一个注意力输出、一个词向量以及一个情感表达串。事先为每个训练样本贴上该词向量对应的词的下一个词的词向量标签。将训练样本集合的每个训练样本分别输入第二应答词向量预测模型242,得出第二应答词向量预测模型242判定的下一词向量,与贴上的下一词向量标签相比较。如果训练样本集合中确定出的下一词向量与下一词向量标签匹配的训练样本占比达不到预定比例(例如95%),调整第二应答词向量预测模型242中的各隐含层的隐含节点中的参数,直至训练样本集合中匹配的训练样本占比达到预定比例,达到后认为训练成功。

在第二应答词向量预测模型242训练成功后,一般会经受一个测试过程。在测试时,构造由大量测试样本构成的测试样本集合,测试样本集合中的每个测试样本包括一个注意力输出、一个词向量和一个情感表达串,事先为每个训练样本贴上该词向量对应的词的下一个词的词向量标签。然后,将测试样本集合的每个测试样本分别输入第二应答词向量预测模型242,得出第二应答词向量预测模型242判定的下一词向量。确定第二应答词向量预测模型242判定的下一词向量是否与下一词向量标签匹配。如果测试样本集合中匹配的测试样本占比达到预定比例(例如95%),则确定第二应答词向量预测模型242训练成功,否则重复进行上述训练过程。

第二应答词向量预测模型242训练并测试成功后,就可以将由注意力模型给出的注意力输出、确定的前一个词语的词向量和情感表达串输入第二应答词向量预测模型242,第二应答词向量预测模型242确定出应答串的下一词向量。接着,确定所确定的下一词向量与候选词汇表中各词语的词向量的相似度。然后,确定候选词汇表中相似度最大的词语,作为确定的下一个词语。

作为本公开进一步的实施例,本公开可以不仅仅应用于生成式应答,而是可以应用于其它语句素材的生成。例如,在网络创作领域,可以基于目标文章中的每个语句,分别生成与其匹配的另一个语句,产生另一篇文章。这样,在该另一篇文章中,每个语句与目标文章中的相应语句具有匹配关系,但又不相同,使得整个文章看起来是不相同的。本公开实施例还可以用于根据一篇文章产生对应的缩减版本。

在该实施例中,如图5所示,根据本公开的一个实施例,提供了一种生成与第一语句匹配的第二语句的方法。该方法由用户终端101或者通过互联网连接到用户服务器101的服务器执行。该方法包括:步骤510、接收第一语句;步骤520、获取第一语句的语义表达串;步骤530、根据第一语句的语义表达串,获取第一语句与候选词汇表中的词语的关联度;步骤540、将关联度小于预定关联度阈值的词语,从候选词汇表删除;步骤550、根据第一语句的语义表达串和删除后的候选词汇表,确定与第一语句匹配的第二语句。

这里的第一语句是指待匹配的语句,例如网络创作中目标文章中的语句,这里第二语句是指生成的与第一语句匹配的语句。这里的匹配可以是指,与目标文章中的语句意思不变,但说法不同,也可以是指目标文章中语句的缩减版本等。由于该实施例完全是图4所示的生成式应答方法实施例的推广,各步骤的执行与图4的各步骤基本类似,对其实现过程不再赘述。前述结合图4描述的实现细节对于本实施例同样适用。

如图6所示,根据本公开的一个实施例,提供了一种对关联度评价模型的训练方法。该方法由用户终端101或通过互联网连接到用户终端101的服务器执行。该方法包括:步骤610、获取输入的训练样本集合,训练样本集合的每个训练样本包括由预设语义表达串和预设词语组成的对、以及事先为该预设语义表达串和该预设词语贴上的关联度标签;步骤620、将训练样本集合的每个训练样本中的对分别输入关联度评价模型,得出关联度评价模型判定的对中的该预设语义表达串和该预设词语的关联度;步骤630、判定关联度评价模型判定的关联度是否与相应关联度标签匹配;步骤640、如果训练样本集合中匹配的样本占比达不到预定比例,调整输入关联度评价模型中的系数,直至训练样本集合中匹配的样本占比达到预定比例。

该实施例在上述步骤430中关联度的获取环节已经详细介绍,在这里只是将关联度评价模型的训练方法提炼出来,不再赘述,其实现细节可以参照前面步骤430的描述。

如图7所示,根据本公开的一个实施例,提供了一种生成式应答方法。该方法由用户终端101或通过互联网连接到用户终端101的服务器执行。该方法包括:步骤710、接收用户输入语句;步骤720、获取用户输入语句的语义表达串和情感表达串;步骤730、基于用户输入语句的语义表达串和情感表达串,确定对用户输入语句的应答串的第一个词语;步骤740、基于确定出的应答串前一个词语、用户输入语句的语义表达串和情感表达串,确定应答串后一个词语。

该实施例除了获取用户输入语句的语义表达串,还获取用户输入语句的情感表达串,并且在确定用户输入语句与候选词语的关联度时,和确定应答串时不但考虑语义表达串,还考虑情感表达串,从而使得给用户的应答考虑到用户情绪,更加符合用户预期,克服了现有技术的生成式应答方法仅根据用户输入语句的文字本身来进行应答,忽略用户情绪,造成应答不符合用户预期的问题。

该实施例在上面结合图4的描述中实际上已经介绍,只是对技术方案从考虑用户情绪、提高应答满意度的角度进行了重新归纳,其实现细节仍然可以参照上面结合图4的描述,故不赘述。

如图8所示,根据本公开的一个实施例,提供了一种生成式应答装置800,包括:用户输入语句接收单元810,用于接收用户输入语句;语义表达串获取单元820,用于获取用户输入语句的语义表达串;关联度获取单元830,用于根据用户输入语句的语义表达串,获取用户输入语句与候选词汇表中的词语的关联度;删除单元840,用于将关联度小于预定关联度阈值的词语,从候选词汇表删除;应答串确定单元850,用于根据用户输入语句的语义表达串和删除后的候选词汇表,确定对用户输入语句的应答串。

可选地,生成式应答装置800还包括:情感表达串获取单元(未示),用于在接收用户输入语句之后,获取用户输入语句的情感表达串;

可选地,关联度获取单元830进一步用于:根据用户输入语句的语义表达串和情感表达串,获取用户输入语句与候选词汇表中的词语的关联度。应答串确定单元850进一步用于:根据用户输入语句的语义表达串、情感表达串和删除后的候选词汇表,确定对用户输入语句的应答串。

可选地,根据用户输入语句的语义表达串、情感表达串和删除后的候选词汇表,确定对用户输入语句的应答串,包括:基于语义表达串和情感表达串,确定应答串的第一个词语;基于语义表达串、情感表达串和应答串中确定出的前一个词语,确定应答串中后一个词语;将确定出的后一个词语依次连接在确定出的前一个词语的后面,形成应答串。

可选地,基于语义表达串和情感表达串,确定应答串的第一个词语,包括:基于语义表达串和情感表达串,确定应答串的第一个词向量;确定确定的词向量与候选词汇表中各词语的词向量的相似度;确定候选词汇表中相似度最大的词语,作为确定的第一个词语。

可选地,基于语义表达串、情感表达串和应答串中确定出的前一个词语,确定应答串中后一个词语,包括:基于语义表达串、情感表达串和应答串中确定出的前一个词语的词向量,确定应答串中后一个词向量;确定确定的词向量与候选词汇表中各词语的词向量的相似度;确定候选词汇表中相似度最大的词语,作为确定的后一个词语。

可选地,根据用户输入语句的语义表达串和情感表达串,获取用户输入语句与候选词汇表中的词语的关联度,包括:根据用户输入语句的语义表达串和情感表达串,获取用户输入语句与候选词汇表中的内容词的关联度;删除单元840进一步用于:将关联度小于预定关联度阈值的内容词,从候选词汇表删除。

可选地,语义表达串获取单元820进一步用于:获取用户输入语句中各词的词向量;将词向量按照词的顺序连接,得到用户输入语句的语义表达串。

可选地,情感表达串获取单元进一步用于:将用户输入语句输入情感分类模型,得到用户情感向量,作为用户输入语句的情感表达串。

可选地,基于语义表达串和情感表达串,确定应答串的第一个词向量,包括:将语义表达串和情感表达串输入第一应答词向量预测模型,由第一应答词向量预测模型给出确定的第一个词向量。

可选地,基于语义表达串、情感表达串和应答串中确定出的前一个词语的词向量,确定应答串中后一个词向量,包括:将语义表达串与确定出的前一个词语的词向量输入注意力模型,得到注意力输出,注意力输出中指示用户输入语句中各词语的重要性程度;将注意力输出、确定的前一个词语的词向量和情感表达串输入第二应答词向量预测模型,由第二应答词向量预测模型给出确定的后一个词向量。

可选地,根据用户输入语句的语义表达串和情感表达串,获取用户输入语句与候选词汇表中的词语的关联度,包括:将用户输入语句的语义表达串、情感表达串和候选词汇表中的各词语,输入关联度评价模型,得到用户输入语句与候选词汇表中的各词语的关联度。

可选地,生成式应答装置800还包括:应答串输出单元(未示),用于在确定对用户输入语句的应答串之后,输出确定的应答串。

该生成式应答装置809的实现细节已经在前面结合图4的方法实施例的讨论中充分描述,因此,可以参照上述结合图4的方法实施例的讨论来理解该生成式应答装置809的细节。

如图9所示,根据本公开的一个实施例,提供了一种生成与第一语句匹配的第二语句的装置900,包括:第一语句接收单元910,用于接收第一语句;语义表达串获取单元920,用于获取第一语句的语义表达串;关联度获取单元930,用于根据第一语句的语义表达串,获取第一语句与候选词汇表中的词语的关联度;删除单元940,用于将关联度小于预定关联度阈值的词语,从候选词汇表删除;第二语句确定单元950,用于根据第一语句的语义表达串和删除后的候选词汇表,确定与第一语句匹配的第二语句。

该生成与第一语句匹配的第二语句的装置900是图8的生成式应答装置809的推广。它可以应用于其它语句素材的生成。例如,在网络创作领域,可以基于目标文章中的每个语句,分别生成与其匹配的另一个语句,产生另一篇文章。这样,在该另一篇文章中,每个语句与目标文章中的相应语句具有匹配关系,但又不相同,使得整个文章看起来是不相同的。该装置900还可以用于根据一篇文章产生对应的缩减版本。这里的第一语句是指待匹配的语句,例如网络创作中目标文章中的语句,这里第二语句是指生成的与第一语句匹配的语句。这里的匹配可以是指,与目标文章中的语句意思不变,但说法不同,也可以是指目标文章中语句的缩减版本等。

由于该实施例完全是图8所示的生成式应答装置800的实施例的推广,各单元功能的执行与图8的各单元功能的执行是类似的,对其实现过程不再赘述。

如图10所示,根据本公开的一个实施例,提供了一种对关联度评价模型的训练装置1000,包括:训练样本集合获取单元1010,用于获取输入的训练样本集合,训练样本集合的每个训练样本包括由预设语义表达串和预设词语组成的对、以及事先为该预设语义表达串和该预设词语贴上的关联度标签;关联度评价模型输入单元1020,用于将训练样本集合的每个训练样本中的对分别输入关联度评价模型,得出关联度评价模型判定的对中的该预设语义表达串和该预设词语的关联度;判定单元1030,用于判定关联度评价模型判定的关联度是否与相应关联度标签匹配;调整单元1040,用于如果训练样本集合中匹配的样本占比达不到预定比例,调整输入关联度评价模型中的系数,直至训练样本集合中匹配的样本占比达到预定比例。

由于对关联度评价模型的训练装置1000的各单元的功能在前面结合图4的方法实施例讨论中已经详细描述,因此在这里不再赘述,其细节可以参照结合图4的方法实施例的讨论。

如图11所示,根据本公开的一个实施例,提供了一种生成式应答装置1100,包括:用户输入语句接收单元1110,用于接收用户输入语句;语义和情感表达串获取单元1120,用于获取用户输入语句的语义表达串和情感表达串;首词语确定单元1130,用于基于用户输入语句的语义表达串和情感表达串,确定对用户输入语句的应答串的第一个词语;后续词语确定单元1140,用于基于确定出的应答串前一个词语、用户输入语句的语义表达串和情感表达串,确定应答串后一个词语。

对图11的生成式应答装置1100的各单元的功能在前面结合图4的方法实施例讨论中已经详细描述,因此在这里不再赘述,其细节可以参照结合图4的方法实施例的讨论。

下面参照图12来描述根据本公开实施例的生成式应答设备、生成与第一语句匹配的第二语句的设备或对关联度评价模型的训练设备1200的硬件结构。在用户终端101本身具有生成式应答功能时,生成式应答设备、生成与第一语句匹配的第二语句的设备或对关联度评价模型的训练设备1200是用户终端101。在用户终端101本身不具有生成式应答功能,要通过互联网与具有生成式应答功能的服务器通信时,生成式应答设备、生成与第一语句匹配的第二语句的设备或对关联度评价模型的训练设备1200是服务器。

图12显示的生成式应答设备、生成与第一语句匹配的第二语句的设备或对关联度评价模型的训练设备1200仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图6所示,生成式应答设备、生成与第一语句匹配的第二语句的设备或对关联度评价模型的训练设备1200以通用计算设备的形式表现。生成式应答设备、生成与第一语句匹配的第二语句的设备或对关联度评价模型的训练设备1200的组件可以包括但不限于:上述至少一个处理单元1210、上述至少一个存储单元1220、连接不同系统组件(包括存储单元1220和处理单元1210)的总线1230。

其中,存储单元存储有程序代码,程序代码可以被处理单元1210执行,使得处理单元1210执行上文中结合图4-7描述的各方法步骤。

存储单元1220可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)12201和/或高速缓存存储单元12202,还可以进一步包括只读存储单元(rom)12203。

存储单元1220还可以包括具有一组(至少一个)程序模块12205的程序/实用工具12204,这样的程序模块12205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线1230可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。

生成式应答设备、生成与第一语句匹配的第二语句的设备或对关联度评价模型的训练设备1200也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该生成式应答设备、生成与第一语句匹配的第二语句的设备或对关联度评价模型的训练设备1200交互的设备通信,和/或与使得该生成式应答设备、生成与第一语句匹配的第二语句的设备或对关联度评价模型的训练设备1200能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口1250进行。并且,生成式应答设备、生成与第一语句匹配的第二语句的设备或对关联度评价模型的训练设备1200还可以通过网络适配器1260与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器1260通过总线1230与生成式应答设备、生成与第一语句匹配的第二语句的设备或对关联度评价模型的训练设备1200的其它模块通信。应当明白,尽管图中未示出,可以结合生成式应答设备、生成与第一语句匹配的第二语句的设备或对关联度评价模型的训练设备1200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。

在本公开的示例性实施例中,还提供了一种计算机程序介质,其上存储有计算机可读指令,当计算机可读指令被计算机的处理器执行时,使计算机执行上文中结合图4-7描述的各方法。

根据本公开的一个实施例,还提供了一种用于实现上述方法实施例中的方法的程序产品,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。

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