掌桥专利:专业的专利平台
掌桥专利
首页

对话应答方法、装置、计算机设备和存储介质

文献发布时间:2023-06-19 09:58:59


对话应答方法、装置、计算机设备和存储介质

技术领域

本申请涉及计算机技术领域,特别是涉及对话应答方法、装置、计算机设备和存储介质。

背景技术

随着人工智能技术的不断发展,基于人工智能技术的对话系统也越来越多。

在现有技术中,针对带有完整语素的问题,对话系统可以进行有效的回答,例如,可以通过检索问题相似度、关键词抽取、意图识别模型等方式进行对话匹配,与用户进行交互。

然而,当对话过程中出现语素缺省时,例如上轮对话中提出“车险险种有哪些?”,而在后续对话中被问及“附加险呢?”,无法提供准确的提问应答方式,应答准确率差。

发明内容

基于此,有必要针对上述技术问题,提供一种对话应答方法、装置、计算机设备和存储介质。

本申请实施例提供一种对话应答方法,所述方法包括:

获取待应答的第一对话文本;

当检测到所述第一对话文本缺少预设语素信息时,确定与所述第一对话文本包含的语素信息对应的第一语素属性,并从所述第一对话文本关联的历史对话文本中,获取所述第一语素属性关联的第二对话文本;所述第二对话文本包含所述预设语素信息;

比对所述第一对话文本和所述第二对话文本,根据比对结果确定所述第一对话文本对应的缺省语素信息;

根据所述第一对话文本及其对应的所述缺省语素信息,生成所述第一对话文本对应的应答文本,并根据所述应答文本进行对话应答。

在其中一个实施例中,所述比对所述第一对话文本和所述第二对话文本,根据比对结果,确定所述第一对话文本对应缺少的缺省语素信息,包括:

获取所述第二对话文本包含的多个语素信息对应的多个第二语素属性;

将多个第二语素属性与所述第一语素属性进行比对,从多个第二语素属性中,确定出与所述第一语素属性不相同的目标语素属性;

获取所述第二对话文本中与所述目标语素属性对应的语素信息,并确定为所述第一对话文本的缺省语素信息。

在其中一个实施例中,所述第二语素属性包括词汇属性,所述获取所述第二对话文本包含的多个语素信息对应的多个第二语素属性,包括:

将所述第二对话文本输入至预先训练的词汇属性识别模型;所述词汇属性识别模型用于识别所述第二对话文本包含的多个语素信息,并输出各个语素信息对应的词汇属性;其中,所述词汇属性识别模型采用具有词汇属性标签的多个对话文本训练得到;

获取所述词汇属性识别模型输出的多个词汇属性,得到所述第二对话文本的第二语素属性。

在其中一个实施例中,所述第二语素属性包括句型属性,所述获取所述第二对话文本的多个第二语素信息及其对应的多个第二语素属性,还包括:

将所述第二对话文本输入至预先训练的句型属性识别模型;所述句型属性识别模型用于识别所述第二对话文本包含的多个语素信息,并基于多个语素信息输出所述第二对话文本的句型属性;所述句型属性识别模型采用具有句型属性标签的多个对话文本进行训练得到;

获取所述句型属性识别模型输出的句型属性,得到所述第二对话文本的第二语素属性。

在其中一个实施例中,所述方法还包括:

获取第一样本对话文本及其对应词汇属性标签;所述词汇属性标签为对话文本中各命名实体对应的词汇属性标签;

将所述对话文本输入到待训练的第一神经网络模型,所述第一神经网络模型用于识别所述第一样本对话文本包含的多个语素信息,确定所述多个语素信息对应的编码向量,根据所编码向量确定所述第一样本对话文本中各个字符对应的标注序列概率分布,并根据所述标注序列概率分布确定所述第一样本对话文本对应的预测词汇属性;

根据所述第一神经网络模型输出的预测词汇属性和所述词汇属性标签,确定当前的损失函数,并根据所述损失函数调整所述第一神经网络模型的模型参数,直到满足训练结束条件,将当前的第一神经网络模型确定为词汇属性识别模型。

在其中一个实施例中,所述方法还包括:

获取第二样本对话文本及其对应的句型属性标签;

将所述第二样本对话文本输入到待训练的第二神经网络模型,所述第二神经网络模型用于识别所述第二样本对话文本包含的多个语素信息,获取所述多个语素信息对应的编码向量,并根据所述编码向量确定所述第二样本对话文本对应的预测句型属性;

根据所述第二神经网络模型输出的预测句型属性和所述句型属性标签,确定当前的损失函数,并根据所述损失函数调整所述第二神经网络模型的模型参数,直到满足训练结束条件,将当前的第二神经网络模型确定为句型属性识别模型。

在其中一个实施例中,,所述根据所述第一对话文本及其对应的所述缺省语素信息,生成所述第一对话文本对应的应答文本,包括:

从多个候选应答模板中,筛选出与所述第一对话文本包含的语素信息以及对应的所述缺省语素信息匹配的应答模板;

从筛选出的应答模板中,确定出满足预设对话应答策略的应答模板作为所述第一对话文本对应的目标应答模板;

根据所述目标应答模板生成所述第一对话文本对应的应答文本。

在其中一个实施例中,所述对话应答策略中包含主动应答概率;所述主动应答概率表征采用主动类型应答模板进行应答的概率;所述筛选出的应答模板中包含主动类型应答模板和被动类型应答模板;

所述从筛选出的应答模板中,确定出满足预设对话应答策略的应答模板作为所述第一对话文本对应的目标应答模板,包括:

获取所述主动应答概率对应的第一概率分布边界;

当所述第一概率分布边界大于或等于主动应答概率阈值时,从筛选出的应答模板中,获取主动类型应答模板,作为所述第一对话文本对应的目标应答模板;

当所述第一概率分布边界小于主动应答概率阈值时,从筛选出的应答模板中,获取所述被动类型应答模板,作为所述第一对话文本对应的目标应答模板。

在其中一个实施例中,所述对话应答策略中包含积极应答概率;所述积极应答概率表征采用积极类型应答模板进行应答的概率;所述筛选出的应答模板中包含积极类型应答模板和消极类型应答模板;

所述从筛选出的应答模板中,确定出满足预设对话应答策略的应答模板作为所述第一对话文本对应的目标应答模板,包括:

获取所述积极应答概率对应的第二概率分布边界;

当所述第二概率分布边界大于或等于积极应答概率阈值时,从筛选出的应答模板中,获取主动类型应答模板,作为所述第一对话文本对应的目标应答模板;

当所述第二概率分布边界小于积极应答概率阈值时,从筛选出的应答模板中,获取所述消极类型应答模板,作为所述第一对话文本对应的目标应答模板。

在其中一个实施例中,所述根据所述目标应答模板生成所述第一对话文本对应的应答文本,包括:

确定所述目标应答模板中的变量语素信息及其对应的语素属性;

从所述第一对话文本包含的语素信息和所述缺省语素信息中,确定出用于替换所述变量语素信息的目标语素信息;所述目标语素信息的语素属性与所述变量语素信息对应的语素属性匹配;

获取与所述目标语素信息对应的目标业务数据;

根据所述目标业务数据和所述目标语素信息,对所述目标应答模板中的变量语素信息进行替换,生成所述第一对话文本对应的应答文本。

本申请实施例提供一种对话应答装置,所述装置包括:

第一对话文本获取模块,用于获取待应答的第一对话文本;

第一语素属性确定模块,用于当检测到所述第一对话文本缺少预设语素信息时,确定与所述第一对话文本包含的语素信息对应的第一语素属性,并从所述第一对话文本关联的历史对话文本中,获取所述第一语素属性关联的第二对话文本;所述第二对话文本包含所述预设语素信息;

比对模块,用于比对所述第一对话文本和所述第二对话文本,根据比对结果确定所述第一对话文本对应的缺省语素信息;

应答模块,用于根据所述第一对话文本及其对应的所述缺省语素信息,生成所述第一对话文本对应的应答文本,并根据所述应答文本进行对话应答。

本申请实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上任一项所述方法的步骤。

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

上述实施例提出的对话应答方法、装置、计算机设备和存储介质,通过获取待应答的第一对话文本,当检测到第一对话文本缺少预设语素信息时,确定与第一对话文本包含的语素信息对应的第一语素属性,并从第一对话文本关联的历史对话文本中,获取第一语素属性关联的第二对话文本,比对第一对话文本和所述第二对话文本,根据比对结果确定第一对话文本对应的缺省语素信息,根据第一对话文本及其对应的缺省语素信息,生成所述第一对话文本对应的应答文本,并根据所述应答文本进行对话应答,能够根据历史对话确定本轮对话的缺省语素,进而确定恰当的应答方式,提高了对话系统的应答准确率。

附图说明

图1为一个实施例中一种对话应答方法的流程示意图;

图2为一个实施例中一种目标应答模板筛选步骤的流程示意图;

图3为一个实施例中一种应答模板控制策略的流程示意图;

图4为一个实施例中另一种应答模板控制策略的流程示意图;

图5为一个实施例中一种变量语素信息替换方法的流程示意图;

图6为一个实施例中一种对话场景的示意图;

图7为一个实施例中另一种对话场景的示意图;

图8为一个实施例中另一种对话场景的示意图;

图9为一个实施例中一种对话应答装置的结构框图;

图10为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

为了便于对本发明实施例的理解,先对现有技术的对话系统进行介绍。

现有的对话系统与用户进行交互、确定应答方式时,可以通过对用户提出的问题进行相似度检索、关键词抽取、意图识别模型等方式,匹配出与问题对应的应答方式。然而上述方法都是基于完整语法元素进行应答,一旦对话过程中出现语法元素缺省的情况,采用上述方法则难以匹配到正确的应答方式,而在人类的自然对话过程中,语法元素缺省的情况经常发生,现有技术的应答发生使得对话流畅度大大降低,对话模拟效果较差。

基于此,本申请在一个实施例中,如图1所示,提供了一种对话应答方法,本实施例以该方法应用于安装有对话系统的交互终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。

在本实施例中,该方法可以包括以下步骤:

步骤101,获取待应答的第一对话文本。

在实际应用中,终端可以获取待应答的第一对话文本。

其中,待应答的第一对话文本可以是由用户在单轮对话中输入的对话文本。用户可以是真实用户,也可以是模拟用户,例如由具有对话功能的计算机模拟的用户。单轮对话可以是用户单次输入的对话信息,例如,在以下场景中,用户问及“车险险种有哪些?”,终端可以进行相应应答,其中,“车险险种有哪些?”为一轮对话。

与终端进行交互时,用户可以通过语音方式进行话语输入,终端可以通过自动语音识别技术(Automatic Speech Recognition,ASR),将用户输入的本轮对话对应的语音信息,转换为文字信息,进而得到本轮对话对应的第一对话文本。或者,用户可以向终端输入文字,响应于用户的输入操作,终端可以直接得到本轮对话对应的第一对话文本。

步骤102,当检测到所述第一对话文本缺少预设语素信息时,确定与所述第一对话文本包含的语素信息对应的第一语素属性,并从所述第一对话文本关联的历史对话文本中,获取所述第一语素属性关联的第二对话文本;所述第二对话文本包含所述预设语素信息。

作为一示例,语素信息可以是句子中的语法元素,也可以称为语素,是指语言中的音义结合体。预设语素信息是在对话文本符合自然语言规则、具有完整句子成分时,对话文本中各个句子成分所对应的语素信息。具体而言,当人类采用自然语言与计算机进行交互时,计算机通过获取包含预设语素信息的指令“理解”自然语言,例如,输入的指令中需要包括充当主语的语素信息、充当谓语的语素信息和充当宾语的语素信息。

在获取第一对话文本后,可以检测第一对话文本是否缺少预设语素信息,具体而言,可以检测充当各个句子成分的语素信息是否完整,若否,可以确定第一对话文本缺少预设语素信息;若是,可以确定当前第一对话文本包含预设语素信息,则可以根据当前的第一对话文本确定用于回应用户的应答模板。

在检测到第一对话文本缺少预设语素信息时,可以确定第一对话文本中包含的语素信息所对应的第一语素属性。其中,语素信息对应的语素属性,用于表征该语素信息对应语义的属性,例如,针对语素信息“车险”,其指代的是一个与保险相关的具体对象,则“车险”的语素属性可以是“保险-对象”,又如,针对语素信息“今年”,其指代的一个时间状态,则“今年”的语素属性可以是“状态”。

在确定第一对话文本包含的语素信息所对应的第一语素属性后,可以在历史对话文本中,确定出包含预设语素信息并且与第一语素属性关联的第二对话文本。

具体而言,历史对话文本可以是同一用户之前输入的对话信息,例如用户上一轮输入的对话信息,也可以是同一用户前若干轮输入的对话信息;或者,在多人对话场景中,历史对话文本可以是多个用户针对同一对话主题输入的对话信息。终端在获取到每轮对话对应的对话文本后,针对包含了预设语素信息的对话文本,由于其具有预设语素信息,对话文本具有清晰的语言含义,可以将该对话文本中语素信息对应的语素属性保存在对话信息存储模块中。当检测到本轮对话对应的第一对话文本缺少预设语素信息时,可以在对话信息存储模块中,查找与第一语素属性关联的第二对话文本。

步骤103,比对所述第一对话文本和所述第二对话文本,根据比对结果确定所述第一对话文本对应的缺省语素信息。

在得到第一对话文本和第二对话文本后,可以对两者进行比对,并根据比对结果确定第一对话文本对应的缺省语素信息。

具体的,由于第二对话文本包含了预设语素信息,即第二对话文本句子成分完整,没有出现语素信息缺省的情况,基于此,可以以第二对话文本为基础,通过比对,确定出第一对话文本对应的缺省语素信息。

步骤104,根据所述第一对话文本及其对应的所述缺省语素信息,生成所述第一对话文本对应的应答文本,并根据所述应答文本进行对话应答。

在确定第一对话文本对应的缺省语素信息后,可以根据缺省语素信息对第一对话文本进行补充,得到语义清晰、完整的对话文本,进而可以根据补充后的第一对话文本,生成第一对话文本对应的应答文本,并根据该应答文本对用户输入的本轮对话作出应答。

在实际应用中,在根据应答文本进行对话应答时,可以采取多种应答方式,本申请对此不作具体限制,例如,在得到应答文本后,可以采用语音合成技术(Text To Speech,TTS)将应答文本转换为语音信息,也可以采用文字方式将应答文本显示在交互界面中,或者,也可以采用能够通过视觉、听觉或触觉感知的其他方式进行应答。

在本实施例中,通过获取待应答的第一对话文本,当检测到第一对话文本缺少预设语素信息时,确定与第一对话文本包含的语素信息对应的第一语素属性,并从第一对话文本关联的历史对话文本中,获取第一语素属性关联的第二对话文本,比对第一对话文本和所述第二对话文本,根据比对结果确定第一对话文本对应的缺省语素信息,根据第一对话文本及其对应的缺省语素信息,生成所述第一对话文本对应的应答文本,并根据所述应答文本进行对话应答,能够根据历史对话确定本轮对话的缺省语素,进而确定恰当的应答方式,提高了对话系统的应答准确率,有效解决对话过程中的语素缺省问题,同时提高了人机对话的流畅度和以及对话系统的智能化水平,达到更好的模拟效果。

在一个实施例中,可以将对话过程中获取的语义清晰的对话文本,作为历史对话文本保存在对话信息存储模块中,当需要获取第一语素属性关联的第二对话文本时,可以确定各个历史对话文本包含的语素信息及其对应的语素属性,并从历史对话文本中,确定语素属性与第一语素属性关联的第二对话文本,第二对话文本中对应的语素属性也可以称为第二语素属性,与第一语素属性关联的第二语素属性,可以是与第一语素属性相同的语素属性,例如具有相同的词汇属性和/或句型属性。

在一个实施例中,所述比对所述第一对话文本和所述第二对话文本,根据比对结果,确定所述第一对话文本对应缺少的缺省语素信息,可以包括如下步骤:

获取所述第二对话文本包含的多个语素信息对应的多个第二语素属性;将多个第二语素属性与所述第一语素属性进行比对,从多个第二语素属性中,确定出与所述第一语素属性不相同的目标语素属性;获取所述第二对话文本中与所述目标语素属性对应的语素信息,并确定为所述第一对话文本的缺省语素信息。

在具体实现中,可以获取第二对话文本包含的多个语素信息对应的第二语素属性,得到多个第二语素属性,并将第二语素属性与第一语素属性进行比对,在比对时,可以从多个第二语素属性中,将与第一语素属性不相同的元素属性确定为目标语素属性,进而在第二对话文本中,将目标语素属性对应的语素信息,确定为第一对话文本的缺省语素信息。例如,第二对话文本对应的第二语素属性包括对象属性B1、动作属性B2和状态属性B3,同时包括B1、B2、B3拥有的话题属性T2(在单轮对话中往往多个成分属性指向相同的话题属性,成分属性是指对象属性、动作属性、状态属性等标识语法成分的词汇属性),第一对话文本对应的语素属性包括对象属性A1和动作属性A2,同时包括A1、A2拥有的话题属性T1,其中,若T1为“适配”话题类型,则将T2作为第一对话文本的话题类型,这种适配方式称为话题继承;且有A1和B1、A2和B2的成分属性相同,则可以将第二语素属性B3确定为目标语素属性,并将B3对应的语素信息确定为第一对话文本的缺省语素信息;若T2非“适配”话题类型,则依据A1、A2、T1进行步骤201中的应答模板匹配。

更精确的,话题继承可依据对话轮间距离及语素属性对应的语素信息相似度进行适配话题选择;例如,设第二对话文本为第m轮对话,第一对话文本为第n(n>m)轮对话,则对话轮间距离为n-m;设语素属性A1对应的语素信息为AI1,语素属性B1对应的语素信息为BI1,语素属性A2对应的语素信息为AI2,语素属性B2对应的语素信息为BI2,则T1适配T2的可能性得分P可以通过如下公式计算:

其中,α是系统预设的对象属性影响权重,β是系统预设的动作属性影响权重,SIM()为相似度函数,SIM(AI1,BI1)为语素信息AI1与BI1的语义相似度,相似度计算可以采用多种方式,例如将语素信息编码为语义向量,通过余弦公式计算余弦相似度。

在本实施例中,通过获取第二对话文本包含的多个语素信息对应的多个第二语素属性,将多个第二语素属性与所述第一语素属性进行比对,确定第一对话文本的缺省语素信息,能够模拟人类通过前文对话对后文进行补充的特征,有效解决了对话过程中语素缺省的问题。

在一个实施例中,第二语素属性可以包括词汇属性,词汇属性可以包括以下任一项或多项:动作属性、对象属性、状态属性、话题属性,通过词汇属性,可以确定语素信息对应语义所关联的话题,以及语义属性,例如,该语素用于指代对象、描述指定动作,或者描述指定状态。

所述获取所述第二对话文本包含的多个语素信息及其对应的多个第二语素属性,包括如下步骤:

将所述第二对话文本输入至预先训练的词汇属性识别模型;所述词汇属性识别模型用于识别所述第二对话文本包含的多个语素信息,并输出各个语素信息对应的词汇属性;其中,所述词汇属性识别模型采用具有词汇属性标签的多个对话文本训练得到;获取所述词汇属性识别模型输出的多个词汇属性,得到所述第二对话文本的第二语素属性。

在实际应用中,可以采用具有词汇属性标签的多个对话文本对预设模型进行训练,构建词汇属性识别模型,其中,词汇属性识别模型可用于对输入的对话文本进行识别,得到多个语素信息,并确定各个语素信息对应的词汇属性。

在确定第二对话文本后,可以将第二对话文本输入到预先训练的词汇属性识别模型,将词汇属性识别模型输出的词汇属性确定为第二对话文本的第二语素属性。

在本实施例中,通过将第二对话文本输入至词汇属性识别模型,得到模型输出的词汇属性,并将词汇属性确定为第二语素属性,能够通过预先训练的词汇属性识别模型快速识别第二对话文本中的语素信息对应的语素属性,并且,可以令对话系统更深入、细致地理解对话的话题方向,对于话题、对象、动作和状态的切分可以更精确模拟人类对语言的理解方式,相较于现有技术中粗粒度的对话匹配方式,本实施例能够提高应答模板配精准度,达到更好的对话模拟效果。

在一个实施例中,第二语素属性还包括句型属性,句型属性也可以称为提问角度信息,用于指示多个语素信息组成的对话文本的提问角度。句型属性可以包括以下任一项或多项:类型句型属性、对象句型属性、方式句型属性、地点句型属性、时间句型属性、人物句型属性、判断句型属性和陈述属性。其中,类型句型属性指“有哪些(which)”,对象句型属性指“是什么(what)”,方式句型属性指“怎么样(how)”,地点句型属性指“在哪里(where)”,时间句型属性指“什么时候(when)”,人物句型属性指“谁(who)”,判断句型属性指“是否(is)”,陈述属性指对话文本为陈述(statement)句。

所述获取所述第二对话文本的多个第二语素信息及其对应的多个第二语素属性,还包括如下步骤:

将所述第二对话文本输入至预先训练的句型属性识别模型;所述句型属性识别模型用于识别所述第二对话文本包含的多个语素信息,并基于多个语素信息输出所述第二对话文本的句型属性;所述句型属性识别模型采用具有句型属性标签的多个对话文本进行训练得到;获取所述句型属性识别模型输出的句型属性,得到所述第二对话文本的第二语素属性。

在实际应用中,可以采用具有句型属性标签的多个对话文本对预设模型进行训练,构建句型属性识别模型,其中,句型属性识别模型可用于对输入的对话文本语素信息特征进行识别,并根据各个语素信息特征确定第二对话文本的句型属性。

在确定第二对话文本后,可以将第二对话文本输入到预先训练的句型属性识别模型,将句型属性识别模型输出的句型属性确定为第二对话文本的第二语素属性。

在本实施例中,通过将第二对话文本输入至句型属性识别模型,得到模型输出的句型属性,并将句型属性确定为第二语素属性,能够通过预先训练的句型属性识别模型快速识别第二对话文本中的语素信息对应的语素属性,相较于现有技术中粗粒度的对话匹配方式,可以令对话系统更深入、细致地理解对话的困惑角度,提高应答模板配精准度,达到更好的对话模拟效果。

在实际应用中,在确定第一对话文本包含的语素信息所对应的第一语素属性时,可以将第一对话文本分别输入到词汇属性识别模型和句型属性识别模型中,具体的数据处理过程与第二对话文本的数据处理过程类似,在此不作赘述。

在一个实施例中,所述方法还可以包括如下步骤:

S11,获取第一样本对话文本及其对应词汇属性标签;所述词汇属性标签为所述第一样本对话文本中各命名实体对应的词汇属性标签。

在具体实现中,可以获取用于训练词汇属性识别模型的第一样本对话文本,以及第一样本对话文本中各命名实体对应的词汇属性标签。其中,命名实体也可以称为词汇实例,可以通过BIO三位标注的方式对第一样本对话文本中的命名实体进行标注,B(begin)表示词汇实例的开头,I(inside)表示词汇实例的中间或结尾,O(outside)代表不属于任何类型。

S12,将所述第一样本对话文本输入到待训练的第一神经网络模型,所述第一神经网络模型用于识别所述第一样本对话文本包含的多个语素信息,确定所述多个语素信息对应的编码向量,根据所编码向量确定所述第一样本对话文本中各个字符对应的标注序列概率分布,并根据所述标注序列概率分布确定所述第一样本对话文本对应的预测词汇属性。

在得到第一样本对话文本后,可以将第一样本对话文本输入到第一神经网络模型。在具体实现中,第一神经网络模型可以由预训练模型、BiLSTM(Bi-directional LongShort-Term Memory)模型和条件随机场组成(Conditional Random Field,CRF),其中,预训练模型可基于充足的中文语料进行预训练;BiLSTM模型包括前向长短期记忆网络(LongShort-Term Memory,LSTM)和反向长短期记忆网络。

在将第一样本对话文本输入到第一神经网络模型后,首先可以通过预训练模型对第一样本对话文本进行分词处理,识别出第一样本对话文本包含的多个语素信息,在得到多个语素信息后,可以通过模型中的嵌入层获取多个语素信息对应的编码向量,并由第一神经网络模型中的注意力单元对编码向量进行处理,将处理结果输入到BiLSTM模型中,对输出的计算结果进行拼接后输入softmax层,得到第一样本对话文本中各个字符对应的标注序列概率分布。其中,编码向量可以包括块编码、段编码和位置编码,注意力单元可以包括自注意力层和前馈神经网络层。

在得到标注序列概率分布后,可以将其输入到条件随机场中,通过条件随机场内的多个特征函数,确定出评分最高的标注序列,作为最终标记序列,确定出第一样本对话文本对应的预测词汇属性。

S13,根据所述第一神经网络模型输出的预测词汇属性和所述词汇属性标签,确定当前的损失函数,并根据所述损失函数调整所述第一神经网络模型的模型参数,直到满足训练结束条件,将当前的第一神经网络模型确定为词汇属性识别模型。

在确定预测词汇属性后,可以根据预测词汇属性和词汇属性标签确定第一神经网络模型当前的损失函数,同时结合反向传播算法,对第一神经网络模型的模型参数进行调整,在调整模型参数后,可以再次获取第一样本对话文本和对应的词汇属性标签,输入到模型中继续进行训练,不断重复训练过程,对模型参数进行迭代,直到满足训练结束条件时,可以停止对第一神经网络模型的训练,并将当前的第一神经网络模型确定为词汇属性识别模型。其中,训练结束条件可以是损失函数取得最小值,或者,也可以是模型当前的迭代次数满足阈值。

在本实施例中,通过将第一样本对话文本输入到待训练的第一神经网络模型,并面对第一神经网络模型进行训练,能够得到用于识别词汇属性的词汇属性识别模型,为后续确定语素属性提供基础。

在一个实施例中,所述方法还可以包括如下步骤:

S21,获取第二样本对话文本及其对应的句型属性标签。

在实际应用中,可以获取用于训练句型属性识别模型的第二样本对话文本,以及第一样本对话文本对应的词汇属性标签。由于句型属性识别模型与词汇属性识别模型的识别重点不一样,第二样本对话文本可以与第一样本对话文本存在差异,即两者采用不同类型的样本对话文本进行模型训练。

S22,将所述第二样本对话文本输入到待训练的第二神经网络模型,所述第二神经网络模型用于识别所述第二样本对话文本包含的多个语素信息,获取所述多个语素信息对应的编码向量,并根据所述编码向量确定所述第二样本对话文本对应的预测句型属性。

在得到第二样本对话文本后,可以将第二样本对话文本输入到第二神经网络模型,其中,第二神经网络模型可以由预训练模型和BiLSTM模型。

具体而言,第二神经网络模型在获取到第二样本对话文本后,可以通过其中的预训练模型对第二样本对话文本进行分词处理,识别出第二样本对话文本包含的多个语素信息,在得到多个语素信息后,可以通过模型中的嵌入层获取多个语素信息对应的编码向量,并由第二神经网络模型中的注意力单元对编码向量进行处理,将处理结果输入到BiLSTM模型中,对输出的计算结果进行拼接后输入softmax层,第二样本对话文本对应的预测句型属性。

S23,根据所述第二神经网络模型输出的预测句型属性和所述句型属性标签,确定当前的损失函数,并根据所述损失函数调整所述第二神经网络模型的模型参数,直到满足训练结束条件,将当前的第二神经网络模型确定为句型属性识别模型。

具体的,在确定预测句型属性后,可以根据预测句型属性和句型属性标签确定第二神经网络模型的损失函数。根据损失函数和反向传播算法,对第二神经网络模型的模型参数进行调整,在调整模型参数后,可以再次将第二样本对话文本输入到模型中继续进行训练,不断重复上述训练过程,对模型参数进行迭代。直到满足训练结束条件时,可以停止对第二神经网络模型的训练,并将当前的第二神经网络模型确定为句型属性识别模型,其中,训练结束条件可以是损失函数取得最小值,或者模型迭代次数满足预设阈值。

在本实施例中,通过将第二样本对话文本输入到待训练的第二神经网络模型,并对第二神经网络模型进行训练,能够得到用于识别句型属性的句型属性识别模型,为后续确定语素属性提供基础。

为了使本领域技术人员能够更好地理解词汇属性识别模型和句型属性识别模型的数据处理逻辑,以下对词汇属性识别模型和句型属性识别模型的训练过程进行介绍,但应当理解的是,词汇属性识别模型和句型属性识别模型的训练方式并不限于此。

在具体实现中,可以预先构建话术知识库,话术知识库中可以包括对话系统可用于应答用户的多个对话文本,多个对话文本可以通过人工整理方式录入至话术知识库。其中,多个对话文本可以是结构化存储数据,每个对话文本记录有与该对话文本对应的词汇属性和句型属性,例如对象属性、动作属性、状态属性、话题属性、提问角度;还可以记录有应答模板的应答类型,例如积极类型应答模板或消极类型应答模板、主动类型应答模板或被动类型应答模板。

针对句型属性识别模型,可以通过对包括预训练模型和BiLSTM模型在内的神经网络模型进行训练得到。

在实际应用中,可以将句型属性作为多个对话文本的标签,例如设置以下任一种或多种标签:statement(陈述)、which(有哪些)、what(是什么)、how(怎么样)、where(在哪里)、when(什么时候)、who(谁)、is(是否)。将带有标签的多个对话文本输入到神经网络模型,得到预测值,并通过反向传播不断迭代模型权重,当标签与预测值对应的损失函数达到最小值,模型收敛,固化模型权重参数,得到句型属性识别模型。

针对训练好的句型属性识别模型,当该模型接收到输入的对话文本后,通过分词器对对话文本进行分词,并输入至三个嵌入层(分别是块嵌入(Token Embedding)、段嵌入(Segment Embedding)和位置嵌入(Position Embedding))进行处理,得到块编码、段编码、位置编码。其中,块嵌入处理可以在对话文本中每个句子的首尾添加起始标志(如“[CLS]”)和结束标志(如“[SEP]”)标志句子的开始和结束,通过块嵌入层可以为每个块生成768维的块向量,段编码在此处可以是全为0的索引向量,对应块嵌入层中的每一个块,对应的位置编码可以采用如下公式计算:

其中,pos表示汉字的位置信息,i为编码维度,d

其中,Attention为注意力头向量,Q是模型权重与输入的编码向量进行相乘获得的查询向量,K是模型权重与输入的编码向量进行相乘获得的键向量,V是模型权重与输入的编码向量进行相乘获得的值向量,d

针对词汇属性识别模型,在进行训练时,可以采用BIO三位标注的方式对对话文本中的词汇实例进行标注;词汇实例为具有词汇属性的多个语素信息。将带有词汇属性标签、采用BIO标注的多个对话文本输入神经网络模型中,得到该模型输出的预测值,并根据与预测值和标签对应的损失函数,通过反向传播过程,不断迭代该模型的模型权重,当损失函数达到最小值时,模型收敛,固化模型权重参数,得到词汇属性识别模型。

针对训练好的词汇属性识别模型,该模型的部分数据处理过程与句型属性识别模型相同,即当该模型接收到输入的对话文本后,通过分词器对对话文本进行分词,并输入至三个嵌入层进行处理,得到块编码、段编码、位置编码。进而可以将三种编码加和后,生成与该对话文本对应的编码矩阵,并输入到注意力单元中,经多个前后相连的注意力单元进行处理后,得到最后一个注意力单元输出的结果,其中,注意力单元中的自注意力层在计算注意力头向量时,是使用训练好的词汇属性识别模型的模型权重。将输出结果输入到正反向长短期记忆网络单元进行计算,正反向计算结果拼接后输入最终softmax层,得到每个字符对应的标注序列概率分布,并将其输入到条件随机场模型中。

在条件随机场模型中,通过多个特征函数计算各个标注序列的综合评分,该评分具有全局性。其中,特征函数包括状态特征函数和转移特征函数,建立在标注序列节点上的特征函数为状态特征函数,建立在序列边界上的特征函数为转移特征函数。

若输入的观测序列X=(X1,X2,X3),得到该模型输出的标记序列Y=(Y1,Y2,Y3),其中,Y1、Y2、Y3取值于(O,B-XX,I-XX),XX为话术知识库中各种词汇属性对应的词汇属性标识,则状态特征函数的一般形式为f(X,i,Y)。其中,i为序列位置,在选择节点路径时,该函数的取值为上层BiLSTM输出的该标注序列的概率值,否则为0。转移特征函数的一般形式为f(X,i,Y

在一个实施例中,如图2所示,所述根据所述第一对话文本及其对应的所述缺省语素信息,生成所述第一对话文本对应的应答文本,可以包括如下步骤:

步骤201,从多个候选应答模板中,筛选出与所述第一对话文本包含的语素信息以及对应的所述缺省语素信息匹配的应答模板。

在实际应用中,可以预先存储多个候选应答模板,其中,应答模板可以是对话的应答方式,该应答方式可以通过人工方式预先设置,也可以通过对多个历史有效应答进行机器学习,得到应答模板。

在确定缺省语素信息后,可以根据第一对话文本包含的语素信息和缺省语素信息,对多个候选应答模板进行匹配,得到应答模板。具体而言,针对多个候选应答模板,通过结构化存储数据,可以确定各个应答模板对应的词汇属性和句型属性,在得到第一文本包含的语素信息和缺省语素信息所对应的语素属性后,可以将词汇属性和句型属性与该语素属性匹配的应答模板筛选出来,作为匹配的应答模板。

在一个示例中,若未查找到匹配的应答模板,可以向终端返回一应答模板查找异常的提示信息。

步骤202,从筛选出的应答模板中,确定出满足预设对话应答策略的应答模板作为所述第一对话文本对应的目标应答模板。

在筛选出应答模板后,可以获取预设的对话应答策略,并从筛选出的应答模板中,确定满足预设应答策略的应答模板作为用于应答第一对话文本的目标应答模板。

步骤203,根据所述目标应答模板生成所述第一对话文本对应的应答文本。

作为一示例,应答模板也可以称为应答话术,是对用户提出的问题或指令进行应答的具体方式。

在确定目标应答模板后,可以直接采用目标应答模板生成应答文本,也可以对目标应答模板中的内容进行修改、生成应答文本,例如,可以对目标应答模板进行语素信息增加、删减、替换或修改,生成第一对话文本对应的应答文本,或者,也可以直接将目标应答模板确定为第一对话文本的应答文本。

在本实施例中,能够根据不同的对话应答策略选择应答模板,提高对话系统的模拟效果。

在一个实施例中,对话应答策略中可以包含主动应答概率和被动应答概率,具体的,在人类对话过程中,往往会出现不同的应答方式,例如,针对他人提出的问题,可以作出正面回应,或者避而不谈,转而谈及其他话题,把握话语主动权,然而现有的对话系统往往忽略了人类对话时主被动应答方式的切换。

基于此,为了更好地模仿人类对话特征,避免回应过于单一、呆板,可以预先在对话系统中的对话策略控制器中设置主动应答概率或被动应答概率,其中,主动应答概率可以表征采用主动类型应答模板进行应答的概率,被动应答概率可以表征采用被动类型应答模板进行应答的概率,主被动应答概率和被动应答概率可以服从伯努利分布(伯努利分布又名0-1分布或者两点分布,是一个离散型概率分布);若主动应答概率为P,被动应答概率可以为1-P;主动类型应答模板是指能够掌握话语主动权的应答模板,被动类型应答模板是指仅承接对话方话题的应答模板,在筛选出的应答模板中可以包含主动类型应答模板和被动类型应答模板。

所述从筛选出的多个应答模板中,确定出满足预设对话应答策略的应答模板作为所述第一对话文本对应的目标应答模板,如图3所示,包括如下步骤:

步骤301,获取所述主动应答概率对应的第一概率分布边界。

具体的,在得到主动应答概率P后,可以根据计算式P*100得到主动应答概率对应的第一概率分布边界,其中,第一概率分布边界可以是伯努利分布边界。

步骤302,当所述第一概率分布边界大于或等于主动应答概率阈值时,从筛选出的应答模板中,获取主动类型应答模板,作为所述第一对话文本对应的目标应答模板。依据预设的主动应答概率P得到伯努利分布边界,当n<=P*100时,选择主动类型应答模板作为所述目标应答模板;当n>P*100时,选择被动类型应答模板作为所述目标应答模板。

步骤303,当所述第一概率分布边界小于主动应答概率阈值时,从筛选出的应答模板中,获取所述被动类型应答模板,作为所述第一对话文本对应的目标应答模板。

在实际应用中,可以获取计算机生成的随机整数n(1<=n<=100)作为主动应答概率阈值,随机整数可以属于[1,100]范围内。在得到主动应答概率阈值后,可以判断第一概率分布边界是否大于或等于主动应答概率阈值。

当第一概率分布边界大于或等于主动应答概率阈值时,可以从筛选出的应答模板中,获取主动类型应答模板作为目标应答模板;当第一概率分布边界小于主动应答概率阈值时,则选择被动类型应答模板作为目标应答模板。在实际应用中,可以通过提高主动应答概率,使得对话过程更加具有导向性。

在另一个实施例中,在判断选择主动类型应答模板或被动类型应答模板作为目标应答模板时,可以根据被动应答概率确定,具体而言,可以获取被动应答概率对应的伯努利分布边界,并获取随机生成的被动应答概率阈值,当伯努利分布边界大于或等于被动应答概率阈值时,可以选择被动类型应答模板作为目标应答模板,否则,将主动类型应答模板确定为目标应答模板。

在本实施例中,根据主动应答概率,从筛选出的多个应答模板中,确定主动类型应答模板或被动类型应答模板作为目标应答模板,实现了根据不同的应答主动性采用不同应答模板进行应答,提升了应答方式的智能化程度。

在一个实施例中,对话应答策略中可以包含积极应答概率和消极应答概率。具体而言,在人类对话过程中,针对不同的语言环境,可以采用带有不同感情色彩的词语进行应答,例如,在表达赞美、欣赏的语言环境中,可以作出积极(positive)回应,例如使用“很好”、“不错”等词汇进行应答;而在表示愤怒、不满、反感或失望的语言环境中,可以做出消极(negative)回应,例如使用“太频繁”、“不感兴趣”等词汇进行应答。然而现有的对话系统往往忽略了人类对话时应答方式的感情色彩。

基于此,为了更好地模仿人类对话特征,避免回应过于单一、呆板,可以预先通过对话系统中的对话策略控制器,在对话应答策略中设置积极应答概率和消极应答概率,其中,积极应答概率可以表征采用积极类型应答模板进行应答的概率,消极应答概率可以表征采用消极类型应答模板进行应答的概率,积极、消极应答概率服从伯努利分布;若积极应答概率为P,消极应答概率可以为1-P;积极类型应答模板是指带有正面、积极感情色彩的应答模板,消极类型应答模板是指带有负面、消极感情色彩的应答模板,在筛选出的应答模板中可以包含积极类型应答模板和消极类型应答模板。

如图4所示,所述从筛选出的应答模板中,确定出满足预设对话应答策略的应答模板作为所述第一对话文本对应的目标应答模板,可以包括如下步骤:

步骤401,获取所述积极应答概率对应的第二概率分布边界。

具体的,在得到积极应答概率P后,可以根据计算式P*100得到积极应答概率对应的第二概率分布边界,其中,第二概率分布边界可以是伯努利分布边界。

步骤402,当所述第二概率分布边界大于或等于积极应答概率阈值时,从筛选出的应答模板中,获取主动类型应答模板,作为所述第一对话文本对应的目标应答模板。

步骤403,当所述第二概率分布边界小于积极应答概率阈值时,从筛选出的应答模板中,获取所述消极类型应答模板,作为所述第一对话文本对应的目标应答模板。

在实际应用中,可以获取计算机生成的随机整数n作为积极应答概率阈值,随机整数可以属于[1,100]范围内。在得到积极应答概率阈值后,可以判断第二概率分布边界是否大于或等于积极应答概率阈值。

当第二概率分布边界大于或等于积极应答概率阈值时,可以从筛选出的应答模板中,获取积极类型应答模板作为目标应答模板;当第二概率分布边界小于积极应答概率阈值时,则选择消极类型应答模板作为目标应答模板。

在另一个实施例中,在判断选择积极类型应答模板或消极类型应答模板作为目标应答模板时,可以根据消极应答概率确定,具体而言,可以获取消极应答概率对应的伯努利分布边界,并获取随机生成的被动应答概率阈值,当伯努利分布边界大于或等于被动应答概率阈值时,可以选择被动类型应答模板作为目标应答模板,否则,将主动类型应答模板确定为目标应答模板。

在本实施例中,根据积极应答概率,从筛选出的多个应答模板中,确定积极类型应答模板或消极类型应答模板作为目标应答模板,实现了根据不同的语言场合采用具有不同感情色彩的应答模板进行应答,提升了应答方式的智能化程度。

在一个示例中,针对话术知识库中的多个应答模板,可以预先结合历史数据构建话术分类模型,采用该模型对多个应答模板进行辅助分类,得到主动类型应答模板、被动类型应答模板、积极类型应答模板、消极类型应答模板。

在筛选出与第一对话文本包含的语素信息以及对应的缺省语素信息匹配的应答模板后,若筛选出的应答模板数量为一,可以将该应答模板确定为目标应答模板,并根据目标应答模板生成应答文本;若筛选出的应答模板数量大于一,则可以判断对话应答策略中是否设置了主动应答概率和被动应答概率,若否,则判断对话应答策略中是否设置了消极应答概率和积极应答概率;若是,则可以先从筛选出的应答模板中选择主动类型应答模板或被动类型应答模板,并跳转至判断对话应答策略中是否设置了消极应答概率和积极应答概率的步骤。若对话应答策略中设置了积极应答概率和消极应答概率,则可以从筛选出的应答模板中选择积极类型应答模板或消极类型应答模板进行应答。若上述概率均未设置,则随机选取一个应答模板进行应答。

当然,上述应答模板的筛选步骤可以根据实际需要调整,本申请对此不作限制。

在一个实施例中,如图5所示,所述根据所述目标应答模板生成所述第一对话文本对应的应答文本,可以包括如下步骤:

步骤501,确定所述目标应答模板中的变量语素信息及其对应的语素属性。

在实际应用中,目标应答模板可以设置变量语素信息,通过对目标应答模板中的变量语速信息进行替换,可以生成与历史对话相关的应答文本,使得应答文本与第一对话文本呈现前后逻辑的连接性。基于此,在得到目标应答模板后,可以确定目标应答模板中的变量语素信息,以及变量语素信息对应的语素属性。

步骤502,从所述第一对话文本包含的语素信息和所述缺省语素信息中,确定出匹配的用于替换所述变量语素信息的目标语素信息;所述目标语素信息的语素属性与所述变量语素信息对应的语素属性匹配。

在确定变量语素信息及其对应的语素属性后,由于第一对话文本中的语素信息和缺省语素信息可以分别具有不同的语素属性,在确定用于替换变量语素信息的目标语素信息时,可以从第一对话文本包含的语素信息以及第一对话文本对应的缺省语素信息中,将语素属性与变量语素信息的语素属性匹配的语素信息,确定为目标语素信息。

例如,目标应答模板为“您查询的XXX如下:***”,其中“XXX”为变量语素信息,其对应的语素属性包括对象属性和与“记录”相关的话题属性,则可以从第一对话文本包含的语素信息和缺省语素信息中,确定出带有对象属性和“记录”话题属性的语素信息,作为目标语素信息。

步骤503,获取与所述目标语素信息对应的目标业务数据。

在确定目标语素信息后,可以获取与目标语素信息对应的目标业务数据。

在实际应用中,数据库中可以存储有多个业务数据,业务数据可以与具体的词汇实例关联,例如,词汇实例“出险记录”可以与多条具体的出险记录关联。基于此,在确定目标语素信息后,可以调用数据库接口,获取与目标语素信息对应的目标业务数据。

步骤504,根据所述目标业务数据和所述目标语素信息,对所述目标应答模板中的变量语素信息进行替换,生成所述第一对话文本对应的应答文本。

在确定目标业务数据和目标语素信息后,即可以采用目标业务数据和目标语素信息对目标应答模板中的变量语素信息进行替换,生成第一对话文本的应答文本,其中,基于目标语素信息和目标业务数据进行替换的过程,可以称为隐式变量替换。

在另一示例中,在确定目标语素信息后,可以直接采用目标语素信息替换变量语素信息,生成应答文本,直接重现在上文语境中出现的语素信息,该过程可以称为显式变量替换。针对话术知识库中的多个应答模板,可以预先对模板中与对象属性、动作属性、状态属性具有上下文关联的部分进行变量标注,以便于对应答模板中的相关语素信息进行替换。

在本实施例中,通过获取与目标语素信息对应的目标业务数据,根据目标业务数据和所述目标语素信息,对目标应答模板中的变量语素信息进行替换,生成应答文本,实现了在承接历史对话相关语素的基础上,调用业务数据对应答文本进行补充,提高了对话流畅性和模拟效果。

为了使本领域技术人员能够更好地理解应答文本的生成过程,以下结合具体的例子对本申请进行介绍,但应当理解的是,本申请并不限于此。

如图6所示,在智能运维场景中,为客户发问、机器应答的业务模式,基于此,可以在话术策略控制器中配置主动应答概率为0,即只筛选被动应答模板(也可以称为承接应答话术),并配置积极应答概率为1,即不返回消极应答模板。在第n轮对话中,客户输入话术为“车险险种有哪些”,通过词汇属性识别模型捕捉到语素信息(也可以称为话题点)包括“车险”、“险种”,其对应的语素属性通过编码表示为“buy_object”、“buy_action”,即对象属性和动作属性,并且话题属性都为“购买”,通过句型属性识别模型进行识别,得到句型属性(也可以称为疑问识别结果)为“which”,即提问角度。依据这两个条件在话术知识库中进行检索,得到匹配话术,经过话术策略控制器、变量替换,生成应答文本并返回。同时将本轮对话的语素信息和语素属性保存在对话空间域中,形成本轮对话记忆点。通过将对话过程中的关键变量存储于对话空间域,可以逼真地模拟人类对话过程中的上下文关键点记忆。

在第n+1轮中出现了语素信息缺省的情况,词汇属性识别模型捕捉到语素信息“附加险”,由于本轮对话语素缺省,针对该语素信息,通过编码“adapter_object”,当编码以“adapter_”开头时,对话系统检启用适配模式,即将上轮对话中的动作、提问角度继承到本轮对话中,进行适配,依据适配后的话题点和提问角度在话术知识库中进行检索,得到匹配话术,经过话术策略控制器、变量替换,生成应答文本并返回。同时将适配后的话题点和提问角度保存在对话空间域,形成本轮对话记忆点。

在智能培训场景中,可以由对话系统模拟客户进行话术应答,并为保险培训学员配置不同的应答方式的概率,其中,话术培训难度与主动应答概率(也可以称为主动概率)正相关、与积极应答概率(也可以称为正向概率)负相关,即主动应答概率越高、积极应答概率越低,则话术培训难度越高。

如图7所示,当保险员输入话术“先生/女士,您好!我是XXX电话服务专员XX工号XX,目标我们公司针对‘xx地区’正在‘开展车险服务升级活动’”,对话系统通过模型进行识别,确定“车险服务升级活动”具有对象属性,话题属性为升级活动;“开展”具有动作属性,对应的话题属性为升级活动;“xx地区”具有状态属性,对应的话题属性为升级活动,同时句型属性(即提问角度)为陈述属性。匹配后得到多个应答模板,在设置了较低的主动应答概率和较低的积极应答概率后,选择“我觉得你们的‘升级活动_对象’(可以通过编码upgradeactivity_object标识)太频繁”应答模板,并直接将捕捉到的具有“升级活动_对象”语素属性的语素信息替换到模板中,输出“我觉得你们的车险服务升级活动太频繁了”。在多个应答模板中,“我不感兴趣,你们上次的理赔让我很恼火”难度最大,在保证话题相关性的前提下,可以通过策略配置提高这种情况出现的概率,以提升训练难度。通过针对不同的应答模式设置应答概率,能够更加有效模拟真实用户思维跳跃、转变话题、消极应答等多种超出预期的情况,提升保险培训学员应对突发情况的能力。同时,针对不同类型的应答模式设置不同的概率,并且对模板中的变量语素进行替换,对于人类说话过程中情感态度、话题切换能够进行有效的控制。

如图8所示,当输入话术为“我要查今年的出险记录”,通过词汇属性识别模型和句型属性识别模型得到各个语素信息对应的语素属性,并将“今年”作为接口输入,通过回调业务接口进行处理,返回应答模板中隐式变量“事故记录(对应编码可以是accidentrecord)”对应的变量值,其中,隐式变量、隐式变量依据的显式变量及回调接口可以在对话系统中预先配置。在应答话术中替换显式变量“事故记录_对象(对应编码可以是accidentrecord_object)”及隐式变量“事故记录”,得到最终的应答模板。

应该理解的是,虽然图1-8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-8中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图9所示,提供了一种对话应答装置,所述装置包括:

第一对话文本获取模块901,用于获取待应答的第一对话文本;

第一语素属性确定模块902,用于当检测到所述第一对话文本缺少预设语素信息时,确定与所述第一对话文本包含的语素信息对应的第一语素属性,并从所述第一对话文本关联的历史对话文本中,获取所述第一语素属性关联的第二对话文本;所述第二对话文本包含所述预设语素信息;

比对模块903,用于比对所述第一对话文本和所述第二对话文本,根据比对结果确定所述第一对话文本对应的缺省语素信息;

应答模块904,用于根据所述第一对话文本及其对应的所述缺省语素信息,生成所述第一对话文本对应的应答文本,并根据所述应答文本进行对话应答。

在一个实施例中,所述比对模块903,包括:

第二语素属性获取子模块,用于获取所述第二对话文本包含的多个语素信息对应的多个第二语素属性;

目标语素属性确定子模块,用于将多个第二语素属性与所述第一语素属性进行比对,从多个第二语素属性中,确定出与所述第一语素属性不相同的目标语素属性;

缺省语素信息确定子模块,用于获取所述第二对话文本中与所述目标语素属性对应的语素信息,并确定为所述第一对话文本的缺省语素信息。

在一个实施例中,所述第二语素属性包括词汇属性,所述第二语素属性获取子模块,包括:

第一输入单元,用于将所述第二对话文本输入至预先训练的词汇属性识别模型;所述词汇属性识别模型用于识别所述第二对话文本包含的多个语素信息,并输出各个语素信息对应的词汇属性;其中,所述词汇属性识别模型采用具有词汇属性标签的多个对话文本训练得到;

词汇属性确定单元,用于获取所述词汇属性识别模型输出的多个词汇属性,得到所述第二对话文本的第二语素属性。

在一个实施例中,所述第二语素属性还包括句型属性,所述第二语素属性获取子模块,还包括:

第二输入单元,用于将所述第二对话文本输入至预先训练的句型属性识别模型;所述句型属性识别模型用于识别所述第二对话文本包含的多个语素信息,并基于多个语素信息输出所述第二对话文本的句型属性;所述句型属性识别模型采用具有句型属性标签的多个对话文本进行训练得到;

句型属性确定单元,用于获取所述句型属性识别模型输出的句型属性,得到所述第二对话文本的第二语素属性。

在一个实施例中,所述装置还包括:

第一样本对话文本获取模块,用于获取第一样本对话文本及其对应词汇属性标签;所述词汇属性标签为对话文本中各命名实体对应的词汇属性标签;

第一样本对话文本输入模块,用于将所述对话文本输入到待训练的第一神经网络模型,所述第一神经网络模型用于识别所述第一样本对话文本包含的多个语素信息,确定所述多个语素信息对应的编码向量,根据所编码向量确定所述第一样本对话文本中各个字符对应的标注序列概率分布,并根据所述标注序列概率分布确定所述第一样本对话文本对应的预测词汇属性;

第一模型调整模块,用于根据所述第一神经网络模型输出的预测词汇属性和所述词汇属性标签,确定当前的损失函数,并根据所述损失函数调整所述第一神经网络模型的模型参数,直到满足训练结束条件,用于将当前的第一神经网络模型确定为词汇属性识别模型。

在一个实施例中,所述装置还包括:

第二样本对话文本获取模块,用于获取第二样本对话文本及其对应的句型属性标签;

第二样本对话文本输入模块,用于将所述第二样本对话文本输入到待训练的第二神经网络模型,所述第二神经网络模型用于识别所述第二样本对话文本包含的多个语素信息,获取所述多个语素信息对应的编码向量,并根据所述编码向量确定所述第二样本对话文本对应的预测句型属性;

第二模型调整模块,用于根据所述第二神经网络模型输出的预测句型属性和所述句型属性标签,确定当前的损失函数,并根据所述损失函数调整所述第二神经网络模型的模型参数,直到满足训练结束条件,将当前的第二神经网络模型确定为句型属性识别模型。

在一个实施例中,所述应答模块904,包括:

筛选子模块,用于从多个候选应答模板中,筛选出与所述第一对话文本包含的语素信息以及对应的所述缺省语素信息匹配的应答模板;

对话策略控制子模块,用于从筛选出的应答模板中,确定出满足预设对话应答策略的应答模板作为所述第一对话文本对应的目标应答模板;

应答文本生成子模块,用于根据所述目标应答模板生成所述第一对话文本对应的应答文本。

在一个实施例中,所述对话应答策略中包含主动应答概率;所述主动应答概率表征采用主动类型应答模板进行应答的概率;所述筛选出的应答模板中包含主动类型应答模板和被动类型应答模板;

所述对话策略控制子模块,包括:

第一概率分布边界获取单元,用于获取所述主动应答概率对应的第一概率分布边界;

第一控制单元,用于当所述第一概率分布边界大于或等于主动应答概率阈值时,从筛选出的应答模板中,获取主动类型应答模板,作为所述第一对话文本对应的目标应答模板;

第二控制单元,用于当所述第一概率分布边界小于主动应答概率阈值时,从筛选出的应答模板中,获取所述被动类型应答模板,作为所述第一对话文本对应的目标应答模板。

在一个实施例中,所述对话应答策略中包含积极应答概率;所述积极应答概率表征采用积极类型应答模板进行应答的概率;所述筛选出的应答模板中包含积极类型应答模板和消极类型应答模板;

所述对话策略控制子模块,包括:

第二概率分布边界获取单元,用于获取所述积极应答概率对应的第二概率分布边界;

第三控制单元,用于当所述第二概率分布边界大于或等于积极应答概率阈值时,从筛选出的应答模板中,获取主动类型应答模板,作为所述第一对话文本对应的目标应答模板;

第四控制单元,用于当所述第二概率分布边界小于积极应答概率阈值时,从筛选出的应答模板中,获取所述消极类型应答模板,作为所述第一对话文本对应的目标应答模板。

在一个实施例中,所述应答文本生成子模块,包括:

变量语素确定单元,用于确定所述目标应答模板中的变量语素信息及其对应的语素属性;

匹配单元,用于从所述第一对话文本包含的语素信息和所述缺省语素信息中,确定出用于替换所述变量语素信息的目标语素信息;所述目标语素信息的语素属性与所述变量语素信息对应的语素属性匹配;

业务数据获取单元,用于获取与所述目标语素信息对应的目标业务数据;

替换单元,用于根据所述目标业务数据和所述目标语素信息,对所述目标应答模板中的变量语素信息进行替换,生成所述第一对话文本对应的应答文本。

关于一种对话应答装置的具体限定可以参见上文中对于一种对话应答方法的限定,在此不再赘述。上述一种对话应答装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种对话应答方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述的一种对话应答方法。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的一种对话应答方法。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 通过提供即时应答性语言应答以提供自然语言对话的方法、计算机装置及计算机可读存储介质
  • 对话应答方法、装置、计算机设备和存储介质
技术分类

06120112373148