信息处理方法、装置、电子设备及可读存储介质与流程

文档序号:19787020发布日期:2020-01-24 13:43阅读:158来源:国知局
信息处理方法、装置、电子设备及可读存储介质与流程

本申请实施例涉及智能交互技术领域,尤其涉及一种信息处理方法、装置、电子设备及可读存储介质。



背景技术:

随着智能交互技术的发展和智能电子设备的普及,越来越多的用户通过电子设备与智能交互系统进行人机对话。其中,电子设备可作为终端设备,用户通过该终端设备与位于服务端的智能交互系统开展线上交互。或者,电子设备内部署有智能交互系统,用户直接在本地与该智能交互系统开展线下交互。

在智能交互领域,面向任务的智能对话技术是一项热门的技术,该项技术旨在通过与用户的交流,完成用户指定的任务,从而为用户提供服务。以购买火车票的任务为例,目前的智能交互系统在交互期间,会向用户提出多轮询问,直至获取到用户提供的用于推荐火车票的所有信息。例如,智能交互系统与用户的交互过程如下,用户:帮我订张火车票。系统:请问出发地是哪里?用户:上海。系统:请问目的地是哪里?用户:北京。系统:请问您何时出发?用户:明天上午。系统:请问您期望的座位等级是哪种?用户:二等座。系统:可供选择的车次分别为:车次1:上午10点41分,车次g122,票价553元;车次2:上午11点05分,车次g126,票价553元;……。

可见,目前的智能交互系统在处理信息时,缺乏灵活性,对任务的执行效率较低,影响用户体验。



技术实现要素:

本申请实施例提供一种信息处理方法、装置、电子设备及可读存储介质,旨在提高任务执行效率。

本申请实施例第一方面提供了一种信息处理方法,应用于面向任务的智能对话中,所述信息处理方法包括如下步骤:

根据对话消息中的任务,确定完成该任务还需的一个或多个槽名;

基于至少一个数据源,为所述一个或多个槽名中每一个槽名选定至少一个候选槽值,其中,将所述槽名与至少一个候选槽值中的每一个候选槽值作为一个预测槽值对;

根据至少一轮对话消息,确定所述每一个槽名对应的至少一个预测槽值对的置信度;以及

根据每一个槽名对应的至少一个预测槽值对及其置信度,生成对话消息。

可选地,所述方法还包括从所述至少一个数据源采集信息的步骤,其中,所述至少一个数据源包括:当前对话中用户的历史对话信息、用户画像、其他对话系统收集的用户信息、第三方服务获取的用户的历史信息和实时信息中的至少一种。

可选地,所述基于至少一个数据源,为每一个槽名选定至少一个候选槽值的步骤包括:

将至少一个数据源中的信息映射到所述槽名,得到预测槽值对;其中,所述至少一个数据源中的信息通过一分类模型映射至对应的槽名。

可选地,所述分类模型是经卷积神经网络训练得到的。

可选地,所述根据至少一轮对话消息,确定所述每一个槽名对应的至少一个预测槽值对的置信度的步骤包括:

确定所述预测槽值对中的槽值所属的数据源;

根据所述至少一轮对话消息和所述槽值所属的数据源,确定所述预测槽值对的置信度。

可选地,所述根据至少一轮对话消息,确定所述每一个槽名对应的至少一个预测槽值对的置信度的步骤包括:

将当前轮对话消息输入第一特征提取模型,以提取所述当前轮对话消息的消息特征;

将所述消息特征数据和历史累计对话特征输入第二特征提取模型,以提取针对当前轮对话消息的当前累计对话特征,所述历史累计对话特征是通过所述第二特征提取模型提取的针对上一轮对话消息所提取的累计对话特征;

根据所述当前累计对话特征和所述预测槽值对所对应的槽值对特征,确定所述预测槽值对的置信度。

可选地,所述将当前轮对话消息输入第一特征提取模型,以提取所述当前轮对话消息的消息特征的步骤包括:

对当前轮对话消息进行局部特征提取,以提取当前轮对话消息的局部特征;

基于当前轮对话消息和历史全局特征,提取当前轮对话消息的全局特征,所述历史全局特征是针对上一轮对话消息所提取的全局特征;

根据所述当前轮对话消息的局部特征和全局特征以及各自的权重,确定所述当前轮对话消息的消息特征。

可选地,还包括如下步骤:

确定所述预测槽值对中的槽值所属的数据源;

根据所述槽值所属的数据源、所述预测槽值对中的槽名和槽值,确定所述预测槽值对所对应的槽值对特征。

可选地,所述根据每一个槽名对应的至少一个预测槽值及其置信度,生成对话消息的步骤包括:

将所述至少一个预测槽值对的置信度与预设阈值进行比较;

从大于所述预设阈值的所述至少一个预测槽值对选中至少一个预测槽值对,生成针对所述预测槽值对的槽名和槽值的对话消息并输出。

可选地,所述根据每一个槽名对应的至少一个预测槽值及其置信度,生成对话消息的步骤包括:

将所述预测槽值对的置信度与预设阈值进行比较;

在所述置信度大于所述预设阈值的情况下,将所述预测槽值对确定为已知槽值对;

从所述多个槽名中确定目标槽名,其中,所述目标槽名是未确定对应槽值的槽名;

生成并输出针对所述目标槽名的对话消息。

本申请实施例第二方面提供一种信息处理装置,应用于面向任务的智能对话中,所述信息处理装置包括如下模块:

槽名确定模块,用于根据对话消息中的任务,确定完成该任务还需的一个或多个槽名;

预测槽值对确定模块,用于基于至少一个数据源,为所述一个或多个槽名中每一个槽名选定至少一个候选槽值,其中,将所述槽名与至少一个候选槽值中的每一个候选槽值作为一个预测槽值对;

置信度确定模块,用于根据至少一轮对话消息,确定所述每一个槽名对应的至少一个预测槽值对的置信度;以及

对话消息生成模块,用于根据每一个槽名对应的至少一个预测槽值对及其置信度,生成对话消息。

可选地,所述信息处理装置还包括信息采集模块,用于从所述至少一个数据源采集信息,其中,所述至少一个数据源包括:当前对话中用户的历史对话信息、用户画像、其他对话系统收集的用户信息、第三方服务获取的用户的历史信息和实时信息中的至少一种。

可选地,所述预测槽值对确定模块包括:

映射子模块,用于将至少一个数据源中的信息映射到所述槽名,得到预测槽值对;其中,所述至少一个数据源中的信息通过一分类模型映射至对应的槽名。

可选地,所述分类模型是经卷积神经网络训练得到的。

可选地,所述置信度确定模块包括:

第一数据源确定子模块,用于确定所述预测槽值对中的槽值所属的数据源;

第一置信度确定子模块,用于根据所述至少一轮对话消息和所述槽值所属的数据源,确定所述预测槽值对的置信度。

可选地,所述置信度确定模块包括:

消息特征提取子模块,用于将当前轮对话消息输入第一特征提取模型,以提取所述当前轮对话消息的消息特征;

当前累计对话特征提取子模块,用于将所述消息特征数据和历史累计对话特征输入第二特征提取模型,以提取针对当前轮对话消息的当前累计对话特征,所述历史累计对话特征是通过所述第二特征提取模型提取的针对上一轮对话消息所提取的累计对话特征;

第二置信度确定子模块,用于根据所述当前累计对话特征和所述预测槽值对所对应的槽值对特征,确定所述预测槽值对的置信度。

可选地,所述消息特征提取子模块包括:

局部特征提取子单元,用于对当前轮对话消息进行局部特征提取,以提取当前轮对话消息的局部特征;

全局特征提取子单元,用于基于当前轮对话消息和历史全局特征,提取当前轮对话消息的全局特征,所述历史全局特征是针对上一轮对话消息所提取的全局特征;

消息特征确定子单元,用于根据所述当前轮对话消息的局部特征和全局特征以及各自的权重,确定所述当前轮对话消息的消息特征。

可选地,所述置信度确定模块还包括:

第二数据源确定子模块,用于确定所述预测槽值对中的槽值所属的数据源;

槽值对特征确定子模块,用于根据所述槽值所属的数据源、所述预测槽值对中的槽名和槽值,确定所述预测槽值对所对应的槽值对特征。

可选地,所述对话消息生成模块包括:

第一置信度比较模块,用于将所述至少一个预测槽值对的置信度与预设阈值进行比较;

第一对话消息生成子模块,用于从大于所述预设阈值的所述至少一个预测槽值对选中至少一个预测槽值对,生成针对所述预测槽值对的槽名和槽值的对话消息并输出。

可选地,所述对话消息生成模块包括:

第二置信度比较模块,用于将所述预测槽值对的置信度与预设阈值进行比较;

已知槽值对确定模,用于在所述置信度大于所述预设阈值的情况下,将所述预测槽值对确定为已知槽值对;

目标槽名确定模块,用于从所述多个槽名中确定目标槽名,其中,所述目标槽名是未确定对应槽值的槽名;

第二对话消息生成子模块,用于生成并输出针对所述目标槽名的对话消息。

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

本申请实施例第四方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请第一方面所述的方法的步骤。

采用本申请实施例提供的信息处理方法,智能交互系统针对为完成用户任务所需的槽名,从数据源为每个槽名选定可能的候选槽值,并组成预测槽值对。然后再根据与用户之间的对话消息,确定每个预测槽值对的置信度。最后根据各预测槽值对及其置信度,生成对话消息。利用该方法在与用户交互期间,可以在减少与用户的对话轮次的情况下,快速确定各槽名对应的槽值,具有较高的灵活性,有利于提高对任务的执行效率、提升用户体验。

附图说明

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

图1是本申请一实施例提出的第一预设模型和分类模型的结构示意图;

图2是本申请一实施例提出的第二预设模型和置信度预测模型的结构示意图;

图3是本申请一实施例提出的信息处理方法的流程图;

图4是本申请一实施例提供的信息处理装置的示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都应属于本申请保护的范围。

面向任务的智能对话技术在智能交互领域是一项热门的技术,该项技术旨在通过与用户的交流,完成用户指定的任务,从而为用户提供服务。以购买火车票的任务为例,目前的智能交互系统在交互期间会首先确定购买火车票这一任务,所需涉及的槽名,比如:出发时间、出发地、目的地以及座位等级。然后智能交互系统会针对每个槽名,依次向用户提出询问,直至用户回答完所有槽名对应的槽值后,智能交互系统才能向用户推荐对应的火车票。可见,目前的智能交互系统在处理信息时,缺乏灵活性,对任务的执行效率较低,影响用户体验。

为了提高任务执行效率,本申请发明人提出:针对为完成用户任务所需的槽名,从数据源为每个槽名选定可能的候选槽值,并组成预测槽值对。然后再根据与用户之间的对话消息,确定每个预测槽值对的置信度。最后根据各预测槽值对及其置信度,生成对话消息。

此外,为了使智能交互系统或运行智能交互系统的设备更智能地实施发明人提出的上述方法,发明人首先搭建了第一预设模型,并针对第一预设模型搜集对应的第一训练样本集,基于该第一训练样本集对第一预设模型进行训练,获得分类模型。发明人还搭建了第二预设模型,并针对第二预设模型搜集对应的第二训练样本集,基于该第二训练样本集对第二预设模型进行训练,获得置信度预测模型。

训练得到的分类模型和置信度预测模型可作为智能交互系统的一部分,用于执行上述方法中的全部或部分步骤。

参考图1,图1是本申请一实施例提出的第一预设模型和分类模型的结构示意图。如图1所示,第一预设模型主要包括输入模块01、卷积模块02、池化模块03以及输出模块04。

其中,输入模块01主要用于接收数据源信息,并对数据源信息进行向量化,得到数据源信息的向量化表示wordembedding。卷积模块02主要用于对数据源信息的向量进行特征提取,卷积模块02可具体选用cnn(convolutionalneuralnetworks,卷积神经网络),卷积模块02可包括一层或多层卷积层。池化模块03用于对卷积模块的输出做池化操作,池化模块03可包括一层或多层池化层。输出模块04可以有多种实现方式,示例地,输出模块04可以包括至少一层全连接层,用于接收池化模块03的输出,并针对每个数据源信息,输出该数据源信息被分类至每个槽名的可能性,即概率。

以用户任务为购买火车票为例,该用户任务所需的槽名包括:出发时间、出发地、目的地、以及座位等级。训练前可预先搜集第一训练样本集,该第一训练样本集中包括多个第一训练样本,每个第一训练样本中包括一段来自于数据源的信息,该信息标记有对应的槽名。其中,数据源可以是用户的历史对话信息、用户画像、其他对话系统收集的用户信息、第三方服务获取的用户的历史信息和实时信息。

示例地,某一个第一训练样本可以例如:定位软件提供当前定位“北京”,标记“出发地”。

或者示例地,某一个第一训练样本可以例如:根据用户历史对话信息可知用户每月15号会去济南,时间软件提供的当前时间是14号,标记“目的地”和“出发时间”。

然后基于所搜集的第一训练样本集对第一预设模型进行训练。训练期间,可以根据第一预设模型针对每个第一训练样本的预测结果和该第一训练样本的标记,确定损失值,并根据损失值对第一预设模型进行更新。最后将经过多轮训练的第一预设模型确定为分类模型,该分类模型的结构与第一预设模型的结构相同,如图1所示,而该分类模型中的模型参数不同于第一分类模型的初始参数。

参考图2,图2是本申请一实施例提出的第二预设模型和置信度预测模型的结构示意图。如图2所示,第二预设模型主要包括:第一特征提取模型、第二特征提取模型、槽值对特征提取模块、以及汇总模块。

其中,第一特征提取模型用于提取当前轮对话消息的消息特征。具体地,第一特征提取模型可以包括卷积网络、记忆网络和加权模块,该卷积网络可选用cnn(卷积神经网络),该记忆网络可选用lstm(长短期记忆网络)。该卷积网络用于提取当前轮对话消息的局部特征rcnn。该记忆网络基于当前轮对话消息和历史全局特征,提取当前轮对话消息的全局特征rlstm,其中历史全局特征是针对上一轮对话消息所提取的全局特征。该加权模块用于根据局部特征和全局特征及其各自的权重,进行加权计算,以确定当前轮对话消息的消息特征r。

第二特征提取模块也可选用lstm等具有记忆功能的网络,第二特征提取模块基于当前轮对话消息的消息特征r和历史累计对话特征ht-1,提取当前轮对话消息的当前累计对话特征ht,其中历史累计对话特征ht-1是针对上一轮对话消息所提取的累计对话特征。

槽值对特征提取模块用于将槽值对转换为向量形式,并将转化得到的向量作为槽值对的特征。具体地,槽值对特征提取模块可以包括第一转化模块、第二转化模块和求和模块。该第一转化模块用于将槽值对中的槽名和槽值来源转化为向量cslot,第二转化模块用于将槽值对中的槽值转化为向量cvalue。该求和模块用于按照图2所示公式对cslot和cvalue进行求和运算,得到槽值对的特征c。

该汇总模块用于按照图2所示公式,对当前累计对话特征ht和槽值对的特征c进行汇总计算,得到槽值对置信度d。

训练前可预先搜集第二训练样本集,该第二训练样本集中包括多个第二训练样本。多个第二训练样本可以被分为多个分组,针对多个分组中的每个分组,该分组中的一个或多个第二训练样本均来自于同一段对话,该段对话包括一轮或多轮对话消息,每轮对话消息对应一个第二训练样本。其中,每个第二训练样本中包括:对话消息、槽值对、槽值来源信息、以及预先标记的置信度。

然后基于所搜集的第二训练样本集对第二预设模型进行训练。训练期间,可以根据第二预设模型针对每个第二训练样本的预测置信度和该第二训练样本标记的置信度,确定损失值,并根据损失值对第二预设模型进行更新。最后将经过多轮训练的第二预设模型确定为置信度预测模型,该置信度预测模型的结构与第二预设模型的结构相同,如图2所示,而该置信度预测模型中的模型参数不同于第二分类模型的初始参数。

参考图3,图3是本申请一实施例提出的信息处理方法的流程图,该方法应用于面向任务的智能对话中。如图3所示,该方法包括以下步骤:

步骤s11:根据对话消息中的任务,确定完成该任务还需的一个或多个槽名。

本实施例中,所述任务是指:智能交互系统可以辅助用户完成的行动。例如辅助用户购买火车票、电影票,辅助用户点餐,辅助用户预定酒店等等。

示例地,步骤s11可具体包括以下子步骤:

步骤s11-1:获取对话消息,从对话信息中确定出任务信息,确定所述对话消息对应的任务。

步骤s11-2:基于确定的所述任务,获得完成所述任务所需的所有槽名,并基于对话消息,从对话消息中确定出已有槽值的槽名。其中,完成任务所需的所有槽名可以是预先设定的。

步骤s11-3:根据完成所述任务所需的所有槽名,以及确定出的已有槽值的槽名,确定完成所述任务还需的所有槽名。本实施例中,针对一个智能交互系统,对话消息的任务可以是固定的。例如某个智能交互系统是专门用于辅助用户购买火车票的系统,则对话消息的任务被固定为“购买火车票”。在此种应用场景下,完成该任务所需的槽名也可以是固定的,例如:出发时间、出发地、目的地、以及座位等级。

本实施例中,针对一个智能交互系统,对话消息的任务也可以是非固定的。例如某个智能交互系统是一个能辅助用户完成多种任务的系统,比如购买火车票、购买电影票、推荐外卖、预定酒店等任务。其中,每种任务对应的槽名通常互不相同,比如“购买火车票”任务对应的槽名包括:出发时间、出发地、目的地、以及座位等级,“购买电影票”任务对应的槽名包括:观影时间、区域、以及电影名称。在此种应用场景下,智能交互系统需要根据用户输入的对话消息,判断用户的目标任务类型。

示例地,智能交互系统可基于规则判断用户的目标任务类型。例如当用户输入的对话消息中包括“电影”或者电影名称实体时,可将用户的目标任务类型判断为“购买电影票”。例如当用户输入的对话消息中包括“外卖”或者食品种类名词时,可将用户的目标任务类型判断为“推荐外卖”。

或者示例地,智能交互系统也可以利用预先训练的任务判别模型以判断用户的目标任务类型。该任务判别模型是以标记有任务类型的用户对话消息为训练样本,对预设模型进行训练更新而得到的。使用时,将用户的对话消息输入该任务判别模型,从而得到该任务判别模型输出的预测任务类型,并将该预测任务类型确定为用户的目标任务类型。

以对话消息中的任务是“购买火车票”为例,完成该任务所需的槽名包括:出发时间、出发地、目的地、以及座位等级。本实施例中,在对话的某个阶段,智能交互系统可能还没有确定出以上任一个槽名对应的槽值,因此在该阶段,智能交互系统可能会将以上四个槽名都确定为完成该任务还需的槽名。或者,在对话的某个阶段,智能交互系统可能已经确定出以上四个槽名中的部分槽名的槽值,例如已经确定出出发地和目的地的槽值,因此在该阶段,智能交互系统可能会将其余的槽名确定为完成该任务还需的槽名,例如将出发时间和座位等级确定为完成该任务还需的槽名。

沿用上述举例,假设用户输入的对话消息是“请帮我预定火车票”,在该阶段,智能交互系统可能会将以上四个槽名都确定为完成该任务还需的槽名。或者假设用户输入的对话消息是“请帮我预定明天的火车票”,在该阶段,智能交互系统可能会将出发地、目的地、以及座位等级确定为完成该任务还需的槽名。

沿用上述举例,假设经过前两轮对话,智能交互系统已经确定出出发时间、出发地、以及目的地的槽值,则在该阶段,智能交互系统可能会将座位等级确定为完成该任务还需的槽名。

步骤s12:基于至少一个数据源,为所述一个或多个槽名中每一个槽名选定至少一个候选槽值,其中,将所述槽名与至少一个候选槽值中的每一个候选槽值作为一个预测槽值对。

本实施例中,在步骤s12之前,还可以预先从至少一个数据源采集信息。所述至少一个数据源包括:当前对话中用户的历史对话信息、用户画像、其他对话系统收集的用户信息、第三方服务获取的用户的历史信息和实时信息中的至少一种。

其中,当前对话中用户的历史对话信息是指:该用户在历史任务中,该用于与智能交互系统之间的对话消息,包括该用户输入的信息和智能交互系统输出的响应。以智能交互系统是专门用于辅助用户购买火车票的系统为例,历史任务是指该用户在当前任务之前,通过该智能交互系统购买火车票的任务。

用户画像是指从海量的用户数据中抽取出的用户属性信息,该用户属性信息可以包括以下信息中的一种或多种:性别、职业、年龄段、收入水平、婚育情况、教育程度等基础属性,app使用频率、下单概率等行为属性,以及外卖偏好、电影偏好、商品偏好等兴趣属性。

其他对话系统可以是其他的智能交互系统。例如一个能辅助用户完成多种任务的智能交互系统在与用户交互期间,可以从一个专门用于辅助用户购买电影票的智能交互系统处获取该系统搜集的用户信息,如历史对话信息、用户画像等。

第三方服务可以是与智能交互系统在同一设备上运行的其他服务,或者可以是与智能交互系统对应的客户端在同一设备上运行的其他服务。例如,智能交互系统对应的客户端运行在用户的手机上,该用户的手机上还运行有定位服务、天气预报服务、外卖服务、票务订购等服务,这些服务可作为上述第三方服务。又例如,“用户当前的定位地点为北京”是第三方服务(定位服务)提供的用户的实时信息,“用户查询过济南明天的天气”是第三方服务(天气预报服务)提供的用户的历史信息,“用户在两天前在北京市望京区域点过外卖”是第三方服务(外卖服务)提供的用户历史信息,“用户在8月15日预定了当天从北京至济南的火车票”是第三方服务(票务订购服务)提供的用户历史信息。

本实施例中,为了选定候选槽值,一种可行的实施方式是:将至少一个数据源中的信息映射到所述槽名,得到预测槽值对;其中,所述至少一个数据源中的信息通过一分类模型映射至对应的槽名。

示例地,可以将数据源中的信息输入图1所示的分类模型,该分类模型通过输入模块将信息转化为向量形式,如词向量wordembedding。然后依次通过卷积模块、池化模块、以及输出模块的处理,输出该信息被分类至每个槽名的概率。以购买火车票任务为例,假设输入的信息是来自于定位服务软件(第三方服务)提供的定位信息“用户当前的定位地点为北京”,分类模型输出的结果可以是例如(0.08、0.74、0.16、0.02)的概率向量,其中的四个概率分别对应:出发时间、出发地、目的地、以及座位等级等四个槽名。此时,可以将“出发地:北京”确定为一个预测槽值对,或者可以将“出发地:北京”和“目的地:北京”确定为两个预测槽值对。

上述实施方式中,分类模型是经卷积神经网络训练得到的。如图1所示,图1所示分类模型中包括:卷积神经网络模块。

此外,本实施例中,为了选定候选槽值,另一种可行的实施方式是:基于规则为槽名确定候选槽值。

以购买火车票任务为例,当数据源的信息是来自于定位服务软件提供的当前定位信息时,根据规则,将该当前定位信息所表征的地点确定为出发地的候选槽值。或者示例地,当数据源的信息是来自于历史对话信息中包括的关于座位等级的信息时,根据规则,将该关于座位等级的信息所表征的等级类别确定为座位等级的候选槽值。

步骤s13:根据至少一轮对话消息,确定所述每一个槽名对应的至少一个预测槽值对的置信度。

本实施例中,预测槽值对的置信度是指:该预测槽值对的可信程度。置信度越高,该预测槽值对中的槽名和槽值相互对应的可能性越大;置信度越低,该预测槽值对中的槽名和槽值相互对应的可能性越小。

本实施例中,为了确定预测槽值对的置信度,步骤s13可以具体包括以下步骤:

步骤s13-1:确定所述预测槽值对中的槽值所属的数据源;

步骤s13-2:根据所述至少一轮对话消息和所述槽值所属的数据源,确定所述预测槽值对的置信度。

其中,对话消息包括用户输入的对话消息和/或智能交互系统输出的响应消息。

以购买火车票任务为例,假设通过步骤s12确定出针对出发地的两个预测槽值对,分别是“出发地:北京”和“出发地:济南”。其中,槽值“北京”的数据源是定位服务软件(第三方服务)提供的定位信息,槽值“济南”的数据源是历史对话信息中用户输入的消息“从济南出发”。在确定置信度时,不仅可以以用户和智能交互系统之间已经发生的对话消息为依据,还可以同时以槽值的来源为依据。

在以槽值的来源为依据时,一种可行的实施方式是:针对每个槽名,确定该槽名可能对应的多个数据源,然后将多个数据源按照可信程度排序,排名越靠前的数据源具有更高的影响系数。在根据至少一轮对话消息确定出某一预测槽值对的置信度后,根据该预测槽值对中槽值所属的数据源,将该置信度乘以该数据源对应的影响系数,得到最终的置信度。

沿用上述举例,假设槽名“出发地”对应的多个数据源按照可信程度的排序是:定位服务软件提供的实时定位、天气预报软件中的定位信息、用户画像中用户的活跃城市、以及用户历史对话信息。根据此排序,可以确定“出发地:北京”和“出发地:济南”这两个预测槽值对中,槽值“北京”的数据源所对应的影响系数更高,槽值“济南”的数据源所对应的影响系数更低。再根据各数据源分别对应的影响系数,以及根据至少一轮对话消息,可以确定上述两个预测槽值对各自对应的最终置信度。

本实施例中,在执行上述步骤s13-1和步骤s13-2时考虑了槽值所属的数据源,将数据源作为影响置信度的一个因素,可以有效提高置信度的准确性,进一步提高用户体验。

此外,本实施例中,为了确定预测槽值对的置信度,步骤s13又可以具体包括以下步骤:

步骤s13-a:将当前轮对话消息输入第一特征提取模型,以提取所述当前轮对话消息的消息特征。

步骤s13-b:将所述消息特征数据和历史累计对话特征输入第二特征提取模型,以提取针对当前轮对话消息的当前累计对话特征,所述历史累计对话特征是通过所述第二特征提取模型提取的针对上一轮对话消息所提取的累计对话特征。

步骤s13-c:根据所述当前累计对话特征和所述预测槽值对所对应的槽值对特征,确定所述预测槽值对的置信度。

其中,对话消息包括用户输入的对话消息和/或智能交互系统输出的响应消息。针对步骤s13-a,可以将当前轮对话消息输入图2所示的置信度预测模型中的第一特征提取模型。图2中的第一特征提取模型中包括卷积网络、记忆网络和加权模块。如此,步骤s13-a又可以具体包括:

步骤s13-a-1:对当前轮对话消息进行局部特征提取,以提取当前轮对话消息的局部特征。

步骤s13-a-2:基于当前轮对话消息和历史全局特征,提取当前轮对话消息的全局特征,所述历史全局特征是针对上一轮对话消息所提取的全局特征。

步骤s13-a-3:根据所述当前轮对话消息的局部特征和全局特征以及各自的权重,确定所述当前轮对话消息的消息特征。

具体地,首先将当前轮对话消息转换为转化为向量形式,如词向量wordembedding。然后将词向量分别输入图2中的卷积网络和记忆网络,利用卷积网络针对当前轮对话消息进行局部特征提取,获得当前轮对话消息的局部特征rcnn。利用记忆网络针对当前轮对话消息进行全局特征提取,获得当前轮对话消息的全局特征rlstm。最后将局部特征rcnn和全局特征rlstm输入加权模块,加权模块根据公式:r=w1×rlstm+w2×rcnn确定当前轮对话消息的消息特征r。上述公式中的参数w1和w2可以是第二预设模型在训练期间被逐渐固定的参数;也可以是技术人员预设的固定参数,在模型训练期间不更新。

通过以步骤s13-a-1至步骤s13-a-3的方式提取消息特征r,不仅考虑了当前的局部特征,而且还考虑了用户和智能交互系统开始交互以来的全局特征,从而使得提取出的消息特征r更能准确地表征对话状态。

针对步骤s13-b,可以将消息特征数据r输入图2所示的置信度预测模型中的第二特征提取模型。具体地,由于图2中的第二特征提取模型选用的是长短期记忆网络lstm(longshort-termmemory),第二特征提取模型在以消息特征数据r为输入时,还会以针对上一轮对话消息所提取的累计对话特征ht-1为输入。第二特征提取模型根据上述两种输入,输出针对当前轮对话消息的当前累计对话特征ht。

针对步骤s13-c,可以将当前累计对话特征ht和预测槽值对所对应的槽值对特征c,输入图2所示的置信度预测模型中的汇总模块。汇总模块先后根据公式d=ht×c和d=sigmoid(d)确定置信度d。其中,sigmoid()函数是一种s型函数,最终确定的置信度d是一个介于0到1之间的数值。

此外,在步骤s13-c之前,还可以预先确定所述预测槽值对中的槽值所属的数据源;并根据所述槽值所属的数据源、所述预测槽值对中的槽名和槽值,确定所述预测槽值对所对应的槽值对特征。

示例地,如图2所示,可以将预测槽值对中槽值所属的数据源和槽名输入图2中的第一转化模块,从而获得数据源和槽名的向量化表示cslot,例如可以通过第一转化模块将数据源和槽名转化为词向量。如图2所示,可以将预测槽值对中的槽值输入图2中的第二转化模块,从而获得槽值的向量化表示cvalue,例如可以通过第二转化模块将槽值转化为词向量。然后根据公式c=wc×(cslot+cvalue)+wb确定预测槽值对所对应的槽值对特征c。上述公式中的参数wc和wb可以是第二预设模型在训练期间被逐渐固定的参数;也可以是技术人员预设的固定参数,在模型训练期间不更新。

通过执行上述步骤s13-a至步骤s13-c,确定预测槽值对的置信度。一方面,考虑了槽值所属的数据源,将数据源作为影响置信度的一个因素,可以有效提高置信度的准确性,进一步提高用户体验。另一方面,通过预先训练的置信度预测模型自动地确定预测槽值对的置信度,可以增强智能交互系统的智能性,进一步提高系统响应的准确性。

步骤s14:根据每一个槽名对应的至少一个预测槽值对及其置信度,生成对话消息。

本实施例中,智能交互系统生成的对话消息可以是文字消息、语音消息、向用户推荐的链接(如商家链接、电影票订购页面链接等)、以及系统动作(如自动跳转至推荐页面、自动拨打电话、自动发送短信等)等响应,本申请对智能交互系统生成的对话消息的具体形式不做限定。

针对步骤s14,一种可行的具体实施方式包括以下步骤:

步骤s14-1:将所述至少一个预测槽值对的置信度与预设阈值进行比较;

步骤s14-2:从大于所述预设阈值的所述至少一个预测槽值对选中至少一个预测槽值对,生成针对所述预测槽值对的槽名和槽值的对话消息并输出。

其中,在步骤s14-2中,可以将置信度大于预设阈值的全部预测槽值对选中,并针对选中的预测槽值对生成对话消息并输出。又可以将置信度大于预设阈值的全部预测槽值对中置信度最大的预测槽值对选中,并针对选中的预测槽值对生成对话消息并输出。

示例地,假设针对当前轮次的对话消息,通过前述步骤s11至步骤s13,确定出以下两个预测槽值对各自的对应的置信度:“出发地:北京”和“出发地:济南”。其中,“出发地:北京”对应的置信度为0.82,“出发地:济南”对应的置信度为0.22。又假设预设阈值是0.6,则可以从上述两个预测槽值对中将“出发地:北京”选中。

在针对选中的预测槽值对生成对话消息时,可以将预测槽值对中的槽名和槽值输出,使用户确认针对该槽名预测的该槽值是否准确。示例地,假设选中的槽值对是“出发地:北京”,智能交互系统生成的对话消息可以是“请问您的出发地是北京吗”。或者示例地,假设选中的槽值对包括“出发地:北京”和“出发地:济南”,智能交互系统生成的对话消息可以是“请问您的出发地是以下哪一个:1、北京;2、济南”。

在步骤s14-2中,如果所有预测槽值对的置信度均不大于预设阈值,则可以针对这些预测槽值对的槽名,直接向用户发出询问,使用户针对该槽名输入槽值。

此外,在置信度大于预设阈值的预测槽值对有多个的情况下,还可以针对这些置信度大于预设阈值的预测槽值对,比较其之间的置信度差异,以确定从这些预测槽值对中选中一个还是多个预测槽值对,进而针对选中的预测槽值对生成对话消息。其中,当置信度差异较大时,可以从这些预测槽值对中选中置信度最大的预测槽值对。当置信度差异较小时,可以从这些预测槽值对中选中置信度较大的两个或多个预测槽值对。

示例地,假设针对当前轮次的对话消息,通过前述步骤s11至步骤s13,确定出以下四个预测槽值对各自的对应的置信度:“出发地:北京”、“出发地:济南”、“出发地:上海”以及“出发地:成都”。

其中,“出发地:北京”对应的置信度为0.82,“出发地:济南”对应的置信度为0.22,“出发地:上海”对应的置信度为0.79,“出发地:成都”对应的置信度为0.66。又假设预设阈值是0.6,则可以上述四个预测槽值对中“出发地:北京”、“出发地:上海”以及“出发地:成都”这三个预测槽值对的置信度大于预设阈值0.6。通过比较这三者之间的置信度差异,假设预设的差异阈值等于0.05,其中“出发地:北京”和“出发地:上海”之间的置信度差异等0.03,小于差异阈值0.05。“出发地:上海”和“出发地:成都”之间的置信度差异等于0.13,大于差异阈值0.05。如此,将“出发地:北京”和“出发地:上海”这两个预测槽值对选中,并针对这两个选中的预测槽值对生成对话消息,例如“请问您的出发地是北京还是上海”。

通过采用上述方式生成对话消息,在置信度差异较小的情况下,针对多个差异较小的预测槽值对均生成对话消息,可以增强智能交互系统的容错性,进一步提升用户体验。针对步骤s14,另一种可行的具体实施方式包括以下步骤:

步骤s14-a:将所述预测槽值对的置信度与预设阈值进行比较;

步骤s14-b:在所述置信度大于所述预设阈值的情况下,将所述预测槽值对确定为已知槽值对;

步骤s14-c:从所述多个槽名中确定目标槽名,其中,所述目标槽名是未确定对应槽值的槽名;

步骤s14-d:生成并输出针对所述目标槽名的对话消息。

以购买火车票为例,完成该任务所需的槽名包括:出发时间、出发地、目的地、以及座位等级。假设在用户与智能交互系统进行完第一轮对话后,通过步骤s11至步骤s14-b,确定出“出发时间:明天”、“出发地:北京”以及“目的地:济南”等预测槽值对的置信度大于预设阈值,并将这三个预测槽值对确定为已知槽值对。则在步骤s14-c中,智能交互系统从四个所需槽名中确定“座位等级”为目标槽名,并在步骤s14-d中针对“座位等级”生成对话消息。例如针对“座位等级”生成询问消息“请问您希望选择一等座还是二等座”。

此外,如果在步骤s14-b中,针对同一槽名的多个预测槽值对的置信度均大于预设阈值,则将其中置信度最大的预测键值对确定为已知槽值对。例如两个预测槽值对“出发地:北京”和“出发地:济南”各自的置信度均大于预设阈值,其中“出发地:北京”的置信度大于“出发地:济南”的置信度,如此,可以将“出发地:北京”确定为已知槽值对。

应当理解的,上述两种具体实施方式的举例仅作为本申请多种可实施方式中的两种示例,至于在步骤s14中具体采用何种方式生成对话消息,本申请对此不做限定。

通过执行上述包括步骤s11至步骤s14的信息处理方法,智能交互系统针对为完成用户任务所需的槽名,从数据源为每个槽名选定可能的候选槽值,并组成预测槽值对。然后再根据与用户之间的对话消息,确定每个预测槽值对的置信度。最后根据各预测槽值对及其置信度,生成对话消息。利用该方法在与用户交互期间,可以在减少与用户的对话轮次的情况下,快速确定各槽名对应的槽值,具有较高的灵活性,有利于提高对任务的执行效率、提升用户体验。

基于同一发明构思,本申请一实施例提供一种信息处理装置。参考图4,图4是本申请一实施例提供的信息处理装置的示意图。如图4所示,该装置包括:

槽名确定模块41,用于根据对话消息中的任务,确定完成该任务还需的一个或多个槽名;

预测槽值对确定模块42,用于基于至少一个数据源,为所述一个或多个槽名中每一个槽名选定至少一个候选槽值,其中,将所述槽名与至少一个候选槽值中的每一个候选槽值作为一个预测槽值对;

置信度确定模块43,用于根据至少一轮对话消息,确定所述每一个槽名对应的至少一个预测槽值对的置信度;以及

对话消息生成模块44,用于根据每一个槽名对应的至少一个预测槽值及其置信度,生成对话消息。

可选地,所述信息处理装置还包括信息采集模块,用于从所述至少一个数据源采集信息,其中,所述至少一个数据源包括:当前对话中用户的历史对话信息、用户画像、其他对话系统收集的用户信息、第三方服务获取的用户的历史信息和实时信息中的至少一种。

可选地,所述预测槽值对确定模块包括:

映射子模块,用于将至少一个数据源中的信息映射到所述槽名,得到预测槽值对;其中,所述至少一个数据源中的信息通过一分类模型映射至对应的槽名。

可选地,所述分类模型是经卷积神经网络训练得到的。

可选地,所述置信度确定模块包括:

第一数据源确定子模块,用于确定所述预测槽值对中的槽值所属的数据源;

第一置信度确定子模块,用于根据所述至少一轮对话消息和所述槽值所属的数据源,确定所述预测槽值对的置信度。

可选地,所述置信度确定模块包括:

消息特征提取子模块,用于将当前轮对话消息输入第一特征提取模型,以提取所述当前轮对话消息的消息特征;

当前累计对话特征提取子模块,用于将所述消息特征数据和历史累计对话特征输入第二特征提取模型,以提取针对当前轮对话消息的当前累计对话特征,所述历史累计对话特征是通过所述第二特征提取模型提取的针对上一轮对话消息所提取的累计对话特征;

第二置信度确定子模块,用于根据所述当前累计对话特征和所述预测槽值对所对应的槽值对特征,确定所述预测槽值对的置信度。

可选地,所述消息特征提取子模块包括:

局部特征提取子单元,用于对当前轮对话消息进行局部特征提取,以提取当前轮对话消息的局部特征;

全局特征提取子单元,用于基于当前轮对话消息和历史全局特征,提取当前轮对话消息的全局特征,所述历史全局特征是针对上一轮对话消息所提取的全局特征;

消息特征确定子单元,用于根据所述当前轮对话消息的局部特征和全局特征以及各自的权重,确定所述当前轮对话消息的消息特征。

可选地,所述置信度确定模块还包括:

第二数据源确定子模块,用于确定所述预测槽值对中的槽值所属的数据源;

槽值对特征确定子模块,用于根据所述槽值所属的数据源、所述预测槽值对中的槽名和槽值,确定所述预测槽值对所对应的槽值对特征。

可选地,所述对话消息生成模块包括:

第一置信度比较模块,用于将所述至少一个预测槽值对的置信度与预设阈值进行比较;

第一对话消息生成子模块,用于从大于所述预设阈值的所述至少一个预测槽值对选中至少一个预测槽值对,生成针对所述预测槽值对的槽名和槽值的对话消息并输出。

可选地,所述对话消息生成模块包括:

第二置信度比较模块,用于将所述预测槽值对的置信度与预设阈值进行比较;

已知槽值对确定模,用于在所述置信度大于所述预设阈值的情况下,将所述预测槽值对确定为已知槽值对;

目标槽名确定模块,用于从所述多个槽名中确定目标槽名,其中,所述目标槽名是未确定对应槽值的槽名;

第二对话消息生成子模块,用于生成并输出针对所述目标槽名的对话消息。

基于同一发明构思,本申请另一实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如本申请上述任一实施例所述的方法中的步骤。

基于同一发明构思,本申请另一实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请上述任一实施例所述的方法中的步骤。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本申请所提供的一种信息处理方法、装置、电子设备及可读存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

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