首页> 中国专利> 对话评分模型的训练方法、装置、模型及对话评分方法

对话评分模型的训练方法、装置、模型及对话评分方法

摘要

本申请公开了一种对话评分模型的训练方法、装置、模型及对话评分方法,其方法包括:构建模型,该模型包括:BERT层、循环神经网络层、第一和第二全连接层。BERT层、循环神经网络层与第一全连接层依次连接,循环神经网络层还通过第二全连接层连接回BERT层;将训练语料整理为多组按时序排列的对话文本,并将多组对话文本依次输入所述对话评分初始模型,以每组对话文本为一时间步,对对话评分模型进行循环训练,得到各组对话文本的第一评分;在每个时间步上,根据第一评分及训练语料的标签,对模型进行参数更新。本申请极大程度上加强了对数据时序性的表达;显著提高了模型对长对话的处理能力。

著录项

  • 公开/公告号CN114840652A

    专利类型发明专利

  • 公开/公告日2022-08-02

    原文格式PDF

  • 申请/专利权人 大箴(杭州)科技有限公司;

    申请/专利号CN202210423066.6

  • 发明设计人 陈梦霏;陈珺怡;

    申请日2022-04-21

  • 分类号G06F16/332(2019.01);G06Q10/06(2012.01);G06N3/04(2006.01);G06N3/08(2006.01);G10L25/30(2013.01);G10L15/26(2006.01);G10L25/51(2013.01);

  • 代理机构北京中强智尚知识产权代理有限公司 11448;

  • 代理人吕梦雪

  • 地址 310000 浙江省杭州市拱墅区古运路85号古运大厦四层491室

  • 入库时间 2023-06-19 16:14:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-19

    实质审查的生效 IPC(主分类):G06F16/332 专利申请号:2022104230666 申请日:20220421

    实质审查的生效

说明书

技术领域

本申请涉及人工智能技术领域,具体涉及一种对话评分模型的训练方法、装置、模型及对话评分方法。

背景技术

随着近年人工智能应用的越来越广泛,对于对话给与准确的评分也越来越重要,如在电信通话场景中,可根据对通话内容的评分,判断通话内容是否涉及金融诈骗等等。

因此对于对话给出准确的评分显得尤为重要。现有技术中,BERT模型作为一种语言表征模型,有着较强的自然语言处理能力,被广泛应用于对话评分中。

但是BERT模型用于对话评分也有很多不足之处,如BERT模型通过对数据进行位置编码来理解文本顺序,无法捕捉时序信息,因此BERT模型不擅长处理时序性数据;另外,BERT模型不擅长处理长对话数据,一方面,若将每一个多轮对话视为一条数据,则输入时易超出长度限制;另一方面,BERT模型不擅长表达出长对话中上下文时序逻辑上的关联性,造成给出的评分准确度低的问题。

发明内容

针对上述问题,本申请实施例提供了一种对话评分模型的训练方法、装置、模型及对话评分方法,以克服或部分克服现有技术的不足之处。

第一方面,本申请提供了一种对话评分模型的训练方法,所述方法包括:

构建对话评分初始模型,所述对话评分初始模型包括:BERT层、循环神经网络层、第一全连接层和第二全连接层,其中,所述BERT层、所述循环神经网络层与所述第一全连接层依次连接,所述循环神经网络层的输出端还通过所述第二全连接层连接所述BERT层的输入端;

将多轮对话训练语料整理为按照时序划分的多组对话文本,并将所述多组对话文本依次输入所述对话评分初始模型,以每组对话文本为一时间步,对所述对话评分模型进行循环训练,得到各组对话文本的第一评分;

在各时间步中,根据所述第一评分,以及所述训练语料的标签,对所述对话评分模型进行参数更新,得到所述对话评分模型。

第二方面,本申请实施例还提供了一种对话评分模型的训练装置,所述装置包括:

构建单元,用于构建对话评分初始模型,所述对话评分初始模型包括:BERT层、循环神经网络层、第一全连接层和第二全连接层,其中,所述BERT层、所述循环神经网络层与所述第一全连接层依次连接,所述循环神经网络层的输出端还通过所述第二全连接层连接所述BERT层的输入端;

训练单元,用于将多轮对话训练语料整理为按照时序划分的多组对话文本,并将所述多组对话文本依次输入所述对话评分初始模型,以每组对话文本为一时间步,对所述对话评分模型进行循环训练,得到各组对话文本的第一评分;

更新单元,用于在各时间步中,根据所述第一评分,以及所述训练语料的标签,对所述对话评分模型进行参数更新,得到所述对话评分模型。

第三方面,本申请实施例还提供了一种对话评分模型,所述对话评分模型包括:BERT层、循环神经网络层、第一全连接层和第二全连接层,其中,所述BERT层、所述循环神经网络层与所述第一全连接层依次连接,所述循环神经网络层的输出端还通过所述第二全连接层连接所述BERT层的输入端。

第四方面,本申请实施例还提供了一种对话评分方法,所述对话评分方法基于上述的对话评分模型实现的,所述对话评分方法包括:

将预测语料输入所述对话评分模型,得到所述预测语料中各组对话文本的第二评分;

根据得到的各组对话文本的第二评分,确定所述预测语料的第三评分。

第五方面,本申请实施例还提供了一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行上述任一的方法。

第六方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行上述任一的方法。

本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:

本申请针对现有BERT模型在应用于对话评分时,不擅长表征数据时序性以及不擅长处理长对话的技术缺陷,对现有BERT模型进行了改造,构建出对话评分模型,该模型包括BERT层、循环神经网络层、第一全连接层和第二全连接层,其中,所述BERT层、所述循环神经网络层与所述第一全连接层依次连接,所述循环神经网络层还通过所述第二全连接层连接所述BERT层。在对模型进行训练时,将一个多轮对话训练语料整理为按照时间先后分割的多组对话文本,将得到的各组对话文件分别在一个时间步内输入到对话评分模型中,实现对话评分模型的循环训练,根据得到的每个时间步对应的对话文本的评分,确定多轮对话训练语料的评分,并在各个时间步的训练中,不断根据预测评分与真实标签的差距,更新对话评分模型的各项参数,从而得到最终的对话评分模型。本申请通过第二全连接的设置,实现了对数据的循环处理,对模型主体BERT层的输出进行二次处理,并将处理结果加入下一个时间步的输入,实现了信息的传递,极大程度上加强了对数据时序性的表达;本申请的训练方式允许多轮对话训练语料中对话文本单组地输入BERT模型进行训练,并借助循环的思想实现信息的传递,使模型处理当前对话文本时可结合先前对话文本的信息,显著提高了模型对长对话的处理能力,且显著提升了长对话中上下文关联性的表达,提高了对话评分的准确性;且可用于人机对话也可用于人人对话,适用场景广泛。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1示出了根据本申请的一个实施例的对话评分模型的训练方法的流程示意图;

图2示出了根据本申请的一个实施例的对话评分模型的结构示意图;

图3示出了根据本申请的一个实施例的训练语料在对话评分模型中数据流向的示意图;

图4示出了根据本申请的另一个实施例的训练语料在对话评分模型中数据流向的示意图;

图5示出了根据本申请的另一个实施例的对话评分模型的结构示意图;

图6示出了根据本申请的一个实施例的对话评分模型的训练装置的结构示意图;

图7为本申请实施例中一种电子设备的结构示意图。

具体实施方式

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

以下结合附图,详细说明本申请各实施例提供的技术方案。

针对现有技术中,BERT模型应用于对话评分时,准确率不高、数据时序性表达差,难以处理长对话的现状,本申请提出了一种对话评分模型的训练方法,图1示出了根据本申请的一个实施例的对话评分模型的训练方法的流程示意图,从图1可以看出,本申请至少包括步骤S110~步骤S140:

步骤S110:构建对话评分初始模型,所述对话评分初始模型包括:BERT层、循环神经网络层、第一全连接层和第二全连接层,其中,所述BERT层、所述循环神经网络层与所述第一全连接层依次连接,所述循环神经网络层的输出端还通过所述第二全连接层连接所述BERT层的输入端。

本申请主要适用于对话评分的场景中,尤其是对多轮次对话的评分中,如公安场景对对话录音进行分析,通过对文本化后的多轮对话内容进行分析,得到对话是否涉嫌诈骗的倾向性评分。又如也可以应用于客户的满意度调查中,对客户的满意度调查通常是人机对话,人机对话通常是以多轮次问答的形式呈现的,对人机对话进行打分,可以直观的了解客户的满意度。

现有技术中,通常采用BERT模型或者BERT模型衍生的模型处理对话评分,但是这些模型都存在很多不足之处,如BERT模型不擅长处理时序性数据,每条数据在进入BERT模型时,各元素是同时被操作的,因此,BERT模型在数据输入时无法捕捉时序信息。替代地,BERT模型通过对数据进行位置编码来理解文本顺序,而位置编码作为编码构成的一部分,能够提供一定顺序信息,但不涉及更多的信息表达与传递。此外,BERT模型不擅长处理长对话(长对话指多轮对话,其包含多组单论对话)数据,若将每一个多轮对话视为一条数据,则输入时易超出长度限制;若将每组对话视为一条数据,则分析缺乏关联性,此情况下对话按组输入模型进行分析,不涉及所属多轮对话信息、不涉及同个对话中先前组的信息,模型本质变为单论对话评分模型。而现有技术中一些由BERT模型衍生的模型也同样存在上述问题。

为此,本申请提出了一种对话评分模型,在训练时,首先构建对话评分初始模型。图2示出了根据本申请一个实施例的对话评分模型的结构示意图,从图2可以看出,本实施例的对话评分初始模型200包括:BERT层210、循环神经网络层220、第一全连接层230和第二全连接层240,其中,所述BERT层210、所述循环神经网络层220与所述第一全连接层230依次连接,所述循环神经网络层220的输出端还通过所述第二全连接层240连接所述BERT层210的输入端。

其中,第二全连接层240的设置可以使得循环神经网络层220的输出经过第二全连接层240的降维处理,再次进入BERT层210进行二次处理,从而实现信息的循环和传递。

步骤S120:将多轮对话训练语料整理为按照时序划分的多组对话文本,并将所述多组对话文本依次输入所述对话评分初始模型,以每组对话文本为一时间步,对所述对话评分模型进行循环训练,得到各组对话文本的第一评分。

在训练过程中,首先将多轮对话训练语料整理为按照时序划分的多组对话文本,多轮对话训练语料可以为语音的,也可以是文本的,本申请不作限定,如果是语音的,首先将其转化为文本。以下以一条多轮对话训练语料为例,对语料在模型中的数据流转情况作简单的说明。

多轮对话训练语料可以理解为包含多轮问答的对话,将一轮问答作为一组对话文本。以下述多轮对话训练语料为例:

Q1:您叫什么名字?

A1:某某;

Q2:您是否有某某银行信用卡?

A2:是;

Q3:您是否到过某个地方?

A3:是。

从上述示例可以看出,一条多轮对话训练语料由多轮问答对话组成,可以将其按照发生的实际先后顺序整理为多组对话文本,上述实例中,Q1和A1组成为第一组对话文本,Q2和A2组成为第二组对话文本,Q3和A3组成为第三组对话文本。

然后,将所述多组对话文本依次输入所述对话评分初始模型,以每组对话文本为一时间步,对所述对话评分模型进行循环训练,得到各组对话文本的第一评分。具体的,采用第一组对话文的训练过程记为第一时间步,在第一时间步内,将第一组对话文本输入到BERT层210的输入层(Embedding)中,第一组对话文本先后经过BERT层210和循环神经网络层220,从循环神经网络层220的输出内容,同时分别进入第一全连接层230和第二全连接层240,经过第一全连接层230,得到第一组对话文的第一评分,记为评分1;经过第二全连接层240后,得到低维的满足BERT层210的输入需求,作为第二组对话文对应的时间步的输入内容的一部分。

采用第二组对话文的训练过程记为第二时间步,在第二时间步内,将第二组对话文本输入到BERT层210的输入层(Embedding)中,以及将第一时间步内,第二全连接层240的输出内容也作为第二时间步的一部分输入内容,与第二组对话文本一同输入到BERT层210中。同第一组对话文本,第二组对话文本先后经过BERT层210和循环神经网络层220,从循环神经网络层220的输出内容,同时分别进入第一全连接层230和第二全连接层240,经过第一全连接层230,得到第二组对话文的第一评分,记为评分2;经过第二全连接层240后,得到低维的满足BERT层210的输入需求,作为第三组对话文对应的时间步的输入内容的一部分。

采用第三组对话文的训练过程记为第三时间步,在第三时间步内,将第三组对话文本输入到BERT层210的输入层(Embedding)中,以及将第二时间步内,第二全连接层240的输出内容也作为第三时间步的一部分输入内容,与第三组对话文本一同输入到BERT层210中。同第二组对话文本,第三组对话文本先后经过BERT层210和循环神经网络层220,从循环神经网络层220的输出内容,同时分别进入第一全连接层230和第二全连接层240,经过第一全连接层230,得到第三组对话文的第一评分,记为评分3。为了更加清晰,将各时间步中对于对话评分模型的输入和输出列于表1。

表1

由于在后时间步的训练过程中,考虑了在前时间步的输出内容,即对长对话的上下文特征以及时序特征均作出了充分的表征。

步骤S140:在各时间步中,根据所述第一评分,以及所述训练语料的标签,对所述对话评分模型进行参数更新,得到所述对话评分模型。

第一评分可以理解为数据经过对话评分模型进行预测得到的评分,每组对话文本分别具有第一评分;训练语料的标签为人工标注的,在标注时,同样为各组对话文本进行标注,这个标注可以理解为真实的评分,根据二者的差距,可以对对话评分模型进行参数更新。具体的计算各组对话文本的第一评分和训练语料的各组对话文本的标签之间的损失函数,根据损失函数的值,对对话评分模型的各项参数进行修改和更新,使得第一评分更加接近训练语料的标签。这个过程在整个训练过程中,是不断进行的,即在各个时间步的训练中均存在,经过参数调整后,可得到最终的对话评分模型,该对话评分模型可用于对话评分的场景。

由图1所示的方法可以看出:本申请针对现有BERT模型在应用于对话评分时,不擅长表征数据时序性以及不擅长处理长对话的技术缺陷,对现有BERT模型进行了改造,构建出对话评分模型,该模型包括BERT层、循环神经网络层、第一全连接层和第二全连接层,其中,所述BERT层、所述循环神经网络层与所述第一全连接层依次连接,所述循环神经网络层还通过所述第二全连接层连接所述BERT层。在对模型进行训练时,将一个多轮对话训练语料整理为按照时间先后分割的多组对话文本,将得到的各组对话文件分别在一个时间步内输入到对话评分模型中,实现对话评分模型的循环训练,根据得到的每个时间步对应的对话文本的评分,确定多轮对话训练语料的评分,并在这个过程中,不断根据预测评分与真实标签的差距,更新对话评分模型的各项参数,从而得到最终的对话评分模型。本申请通过第二全连接的设置,实现了对数据的循环处理,对模型主体BERT层的输出进行二次处理,并将处理结果加入下一个时间步的输入,实现了信息的传递,极大程度上加强了对数据时序性的表达;本申请的训练方式允许多轮对话训练语料中对话文本单组地输入BERT模型进行训练,并借助循环的思想实现信息的传递,使模型处理当前对话文本时可结合先前对话文本的信息,显著提高了模型对长对话的处理能力,且显著提升了长对话中上下文关联性的表达,提高了对话评分的准确性;且可用于人机对话也可用于人人对话,适用场景广泛。

在本申请的一些实施例中,在上述的对话评分模型的训练方法中,所述将训练语料整理为按照时序划分的多组对话文本,包括:将所述训练语料转化为文本语料;将得到的文本语料中的相邻的问答语句作为一组对话文本;并将得到的多组对话文本按照时序排列。

仍然以前述的长对话训练文本为例:

Q1:您叫什么名字?

A1:某某;

Q2:您是否有某某银行信用卡?

A2:是;

Q3:您是否到过某个地方?

A3:是。

其中,Q1、Q2和Q3为一个人的语音,A1、A2和A3为另一个人的语音。在划分时,首先将语音训练语料转化为文本语料,对于转化方法可参考现有技术中的一种。在进行训练的过程中,需要大量的训练语料,这些训练语料可以通过多种方式进行采集和获取,如人机对话中产生的语料、从通用训练语料中分离得到的多轮对话训练语料等等。这些原始的语料在转化为文本的过程中,可能存在一些错误或瑕疵,影响训练效果,在本申请的一些实施例中,可以对这些语料进行处理,具体的,预处理过程包括但不限于依次进行数据清洗、分词处理、文本纠错处理等。

在将语音训练语料转化为文本语料后,将其划分为多组对话文本,在每一组对话文本中,最好只包括相关的一问一答,通常是问在前、答在后,因此可将得到的文本语料中的相邻的问答语句作为一组对话文本,且将将得到的多组对话文本按照时许前后排列,即可得到多组对话文本。

在本申请的一些实施例中,在上述的对话评分模型的训练方法中,所述将所述多组对话文本依次输入所述对话评分初始模型,以每组对话文本为一时间步,对所述对话评分模型进行循环训练,得到各组对话文本的第一评分,包括:对于一组对话文本对应的时间步中,将该组对话文本作为所述BERT层的第一输入,将编码向量或者上一时间步中第二全连接的输出作为所述BERT层的第二输入,输入所述BERT层;使所述第一输入和所述第二输入依次经历所述BERT层、所述循环神经网络层以及所述第一全连接层,得到该组对话文本的第一评分。

BERT层的输入内容包括第一输入和第二输入,图3示出了根据本申请的一个实施例的训练语料在对话评分模型中数据流向的示意图,从图3可以看出,先以第一时间步为例,将第一组对话文本作为BERT层的第一输入,输入到BERT层,第一时间步为首个时间步,因此没有前一时间步的输出内容,此时可对第二输入内容进行编码,将编码向量作为第二输入,将第一输入和第二输入同时输入到BERT层,将BERT层的输出记为Output_0,Output_0进入循环网络神经(本实施例中,循环神经网络层为LSTM),将循环网络神经LSTM的输出记为Output_1,Output_1分别进入第一全连接层和第二全连接层,第一全连接层的作用是用于对Output_1进行打分,得到第一组对话文本的第一评分(score),因此可将第一全连接层理解为结果模块。

第二全连接层的作用为降维,进入第二全连接层的Output_1通常为高维数据,如1024维,而BERT层的输入通常为较低维度,如256维,Output_1经过第二全连接层的处理,可以转化维较低纬度的向量,符合BERT层的输入要求。将第二全连接层的输出记为Output_2,Output_2进入BERT层,作为第二时间步的第二输入。

再以第二时间步为例,当第一时间步的训练结束后,就进入的第二时间步的训练,在第二时间步中,BERT层的输入也包括第一输入和第二输入,其中,第一输入维第二组对话文本,第二输入为第一时间步中第二全连接层的输出,即为Output_2。后续训练同第一时间步,不再一一赘述。

需要说明的是,图3示出的数据的流向示意图,为了表述清晰,示出了多个对话评分模型的结构示意图,实际上,只是数据又流转回BERT层,而不是模型的串联。

还需要说明的是,本申请省略了对激活函数层、dropout层等的使用描述,因其可放置位置过于灵活,作用同现有技术,具体宜在训练过程中择优设置。

在本身的一些实施例中,在上述的对话评分模型的训练方法中,所述第一输入包括:第一语句、第二语句、分割标识[SEP];所述第二输入包括:状态标识[CLS],其中,分割标识[SEP]指的是句子与句子之间的分割标识,同时也包括句末标识。

所述将该组对话文本作为所述BERT层的第一输入,包括:将所述对话文本中的问语句作为所述第一语句,将所述对话文本中的答语句作为所述第二语句,并将所述第一语句与所述第二语句采用所述分割标识隔离。

所述将编码向量或者上一时间步中第二全连接的输出作为所述BERT层的第二输入,包括:若当前时间步为一条训练语料的首时间步,则对所述状态标识进行编码,得到编码向量,并将所述编码向量作为所述第二输入;若当前时间步为一条训练语料的非首时间步,则将上一时间步中第二全连接的输出向量作为所述BERT层的第二输入。

请参考图4,图4示出了根据本申请的另一个实施例的训练语料在对话评分模型中数据流向的示意图,从图4可以看出,BERT层的Embedding包括状态标识[CLS]、分割标识[SEP]以及第一语句(第一时间步中的问1)和第二语句(第一时间步中的答1)。

对于第一输入内容而言,将该组对话文本中的问语句作为第一语句,将该组对话文本中的答语句作为第二语句,并将第一语句与第二语句采用分割标识[SEP]隔离。

对于第二输入内容而言,在对每个多轮对话训练语料进行训练的首个时间步上对状态标识[CLS]进行编码(向量化),得到编码向量,编码向量的形成可参考现有技术,也可以是各元素1的向量,将编码向量作为第二输入;在其余时间步中状态标识[CLS]由上一个时间步中第二全连接层输出的向量来表示。

需要说明的是,当一条多轮对话训练语料进行训练完毕后,进入下一条多轮对话训练语料的训练时,会对状态标识[CLS]进行重新编码,不会将上一条多轮对话训练语料的训练输出的状态标识[CLS],带到当前轮次的训练中。

在本申请的一些实施例中,在上述的对话评分模型的训练方法中,所述对话评分初始模型还包括:第三全连接层,所述第三全连接层的输出端连接所述第一全连接层的输入端;所述将所述多组对话文本依次输入所述对话评分初始模型,以每组对话文本为一时间步,对所述对话评分模型进行循环训练,得到各组对话文本的第一评分,还包括:对于一组对话文本对应的时间步中,使所述训练语料的附加特征输入至所述第三全连接层,将所述第三全连接层的输出作为第三输入;将所述循环神经网络层的输出与所述第三输入进行融合,得到融合向量,并使所述融合向量经历所述第一全连接层,得到该组对话文本的第一评分。

现有技术中,BERT模型还不擅长结合附加数据进行分析,即BERT模型适合以文本、图像等内部或相互存在较强关联性的数据作为输入,并分析各元素之间的内在关系。当任务涉及的附加数据中包含诸如年龄、性别等独立特征数据时,无法很好地将其融入BERT模型。

对此,本申请提供了在图1示出的对话评分模型的基础上,增设了第三全连接层,图5示出了根据本申请的另一个实施例的对话评分模型的结构示意图,请同时参考图1和图5,图5示出的对话评分模型在图1的基础上,增设了第三全连接层250,第三全连接层250的输出端连接第一全连接层230的输入端,在第三全连接层250中可以输入诸如年龄、性别等独立特征数据,以提高对话评分模型的准确度。

当对话评分模型包含第三全连接层时,多轮对话训练语料在对话评分模型的数据流转过程如下,以前述实施例的第一个时间步为例,将第一组对话文本作为BERT层的第一输入,输入到BERT层,第一时间步为首个时间步,因此没有前一时间步的输出内容,此时可对第二输入内容进行编码,将编码向量作为第二输入,将第一输入和第二输入同时输入到BERT层,将BERT层的输出记为Output_0,Output_0进入循环网络神经,将循环网络神经LSTM的输出记为Output_1。同时将所述训练语料的附加特征输入至第三全连接层250,将第三全连接层250的输出(记为Output_3)作为第三输入,然后将Output_1和Output_3进行向量融合,得到融合向量,融合向量进入后续的第一全连接层230,得到第一组对话文本的第一评分。同时Output_1也进入到第二全连接层240,经过第二全连接层240的处理后,进进下一个时间步的训练。

其中,在本申请的一些实施例中,Output_1和Output_3通常为一维向量,对于向量的融合包括:将Output_3的各元素按照原始顺序放置到Output_1之后的相应位置上,得到融合向量。

假设Output_1和Output_3为多维向量,Output_1表示为[a1,b1]、Output_3表示为[A1,B1],在进行接时,按照Output_3中各元素的原始顺序,将其“摆放”到设Output_1的最后一个元素之后即可,将融合向量记为向量z,向量z可以表示为:[a1,b1,A1,B1]。在本申请的一些实施例中,对于每一组对话文本,Output_1与Output_3的第一维均为1,即拼合过程中维度变化为:Output_1:(1x m)拼Output_3:(1x n)得到向量z:(1x(m+n))。

在本申请的一些实施例中,在上述的对话评分模型的训练方法中,所述根据所述第一评分,以及所述训练语料的标签,对所述对话评分模型进行参数更新,包括:根据所述第一评分以及所述训练语料的标签,确定所述对话评分初始模型的损失函数的值;根据所述损失函数的值对所述对话评分初始模型的各参数进行反向传播,以实现对所述对话评分模型进行参数更新。

在每个时间步内,均根据对话评分模型预测的第一评分与预先人工标注好的训练语料的标签(标签为人工打的分数),计算误差(损失函数的值),并进行反向传播,以实现对所述对话评分模型进行参数更新。

在本申请的一些实施例中,所述循环神经网络层为长短期记忆人工神经网络LSTM或门控循环单元网络GRU。且对话评分模型涉及的参数与超参数均可根据需要进行调整,例如图1示出的对话评分模型使用了3个全连接层,根据需要也可堆叠更多,如添加更多的全连接层等。

本申请实施例还提供了一种对话评分方法,所述对话评分方法基于采用前述的对话评分模型的训练方法经过训练得到的对话评分模型实现的,所述对话评分方法包括:将预测语料输入所述对话评分模型,得到所述预测语料中各组对话文本的第二评分;根据得到的各组对话文本的第二评分,确定所述预测语料的第三评分。

也就是说,预测方法与训练方法的逻辑基本是一致的,不过还包括了根据得到的各组对话文本的评分,确定训练语料整体评分的过程。

从表1可以看出,每组对话文本均具有一个第一评分(在训练过程记为第一评分,在预测过程记为第二评分),本实施例中,在得到各组对话文本的第二评分后,根据各组对话文本的第二评分,确定长语句训练语料整体的评分,将该评分记为第三评分。该第三评分就是预测结果。

在本申请的一些实施例中,在上述的对话评分模型的训练方法中,所述根据所述各组对话文本的第二评分,确定所述训练语料的第三评分,包括:将采用一条训练语料的预测过程中,最后一个时间步中得到的第二评分作为所述第三评分;或者,将采用一条训练语料的预测过程中,各时间步中得到的多个第二评分进行加权平均,将得到的评分作为所述第三评分。

在预测过程中,对话评分模型在每个时间步上均输出分数,即输出每组对话文本的第二评分。而多轮对话训练语料的最终评分,即第三评分的取法是多元的,取法视具体数据、场景灵活决定,可取最后一个时间步上的分数作为最终得分、也可基于一定条件取加权平均得分作为最终得分,也可采用其它取分策略,本申请不作限制。

图6示出了根据本申请的一个实施例的对话评分模型的训练装置的结构示意图,从图6可以看出,所述装置600包括:

构建单元610,用于构建对话评分初始模型,所述对话评分初始模型包括:BERT层、循环神经网络层、第一全连接层和第二全连接层,其中,所述BERT层、所述循环神经网络层与所述第一全连接层依次连接,所述循环神经网络层还通过所述第二全连接层连接所述BERT层;

训练单元620,用于将训练语料整理为多组按时序排列的对话文,并将所述多组对话文本依次输入所述对话评分初始模型,以每组对话文本为一时间步,对所述对话评分模型进行循环训练,得到各组对话文本的第一评分;

更新单元630,用于在各时间步中,根据所述第一评分,以及所述训练语料的标签,对所述对话评分模型进行参数更新,得到所述对话评分模型。

在本申请的一些实施例中,在上述的对话评分模型的训练方法中,训练单元620,用于将所述训练语料转化为文本语料;将得到的文本语料中的相邻的问答语句作为一组对话文本;并将得到的多组对话文本按照时序排列。

在本申请的一些实施例中,在上述的对话评分模型的训练方法中,训练单元620,用于对于一组对话文本对应的时间步中,将该组对话文本作为所述BERT层的第一输入,将编码向量或者上一时间步中第二全连接的输出作为所述BERT层的第二输入,输入所述BERT层;使所述第一输入和所述第二输入依次经历所述BERT层、所述循环神经网络层以及所述第一全连接层,得到该组对话文本的第一评分。

在本申请的一些实施例中,在上述的对话评分模型的训练方法中,所述第一输入包括:第一语句、第二语句、分割标识;训练单元620,用于将所述对话文本中的问语句作为所述第一语句,将所述对话文本中的答语句作为所述第二语句,并将所述第一语句与所述第二语句采用所述分割标识隔离;所述第二输入包括:状态标识;训练单元620,用于若当前时间步为一条训练语料的首时间步,则对所述状态标识进行编码,得到编码向量,并将所述编码向量作为所述第二输入;若当前时间步为一条训练语料的非首时间步,则将上一时间步中第二全连接的输出向量作为所述BERT层的第二输入。

在本申请的一些实施例中,在上述的对话评分模型的训练方法中,所述对话评分初始模型还包括:第三全连接层,所述第三全连接层的输出端连接所述第一全连接层的输入端;训练单元620,用于对于一组对话文本对应的时间步中,使所述训练语料的附加特征输入至所述第三全连接层,将所述第三全连接层的输出作为第三输入;将所述循环神经网络层的输出与所述第三输入进行融合,得到融合向量,并使所述融合向量经历所述第一全连接层,得到该组对话文本的第一评分。

在本申请的一些实施例中,在上述的对话评分模型的训练方法中,更新单元630,用于根据所述第一评分以及所述训练语料的标签,确定所述对话评分初始模型的损失函数的值;根据所述损失函数的值对所述对话评分初始模型的各参数进行反向传播,以实现对所述对话评分模型进行参数更新。

循环神经网络层循环神经网络层循环神经网络层循环神经网络层循环神经网络层能够理解,上述对话评分模型的训练装置,能够实现前述实施例中提供的对话评分模型的训练方法的各个步骤,关于对话评分模型的训练方法的相关阐释均适用于对话评分模型的训练装置,此处不再赘述。

图7是本申请的一个实施例电子设备的结构示意图。请参考图7,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。

处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。

处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成对话评分模型的训练装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:

构建对话评分初始模型,所述对话评分初始模型包括:BERT层、循环神经网络层、第一全连接层和第二全连接层,其中,所述BERT层、所述循环神经网络层与所述第一全连接层依次连接,所述循环神经网络层的输出端还通过所述第二全连接层连接所述BERT层的输入端;

将多轮对话训练语料整理为按照时序划分的多组对话文本,并将所述多组对话文本依次输入所述对话评分初始模型,以每组对话文本为一时间步,对所述对话评分模型进行循环训练,得到各组对话文本的第一评分;

根据所述第一评分,以及所述训练语料的标签,对所述对话评分模型进行参数更新,得到所述对话评分模型。

上述如本申请图6所示实施例揭示的对话评分模型的训练装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。

该电子设备还可执行图6中对话评分模型的训练装置执行的方法,并实现对话评分模型的训练装置在图6所示实施例的功能,本申请实施例在此不再赘述。

本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图6所示实施例中对话评分模型的训练装置执行的方法,并具体用于执行:

构建对话评分初始模型,所述对话评分初始模型包括:BERT层、循环神经网络层、第一全连接层和第二全连接层,其中,所述BERT层、所述循环神经网络层与所述第一全连接层依次连接,所述循环神经网络层的输出端还通过所述第二全连接层连接所述BERT层的输入端;

将多轮对话训练语料整理为按照时序划分的多组对话文本,并将所述多组对话文本依次输入所述对话评分初始模型,以每组对话文本为一时间步,对所述对话评分模型进行循环训练,得到各组对话文本的第一评分;

在各时间步中,根据所述第一评分,以及所述训练语料的标签,对所述对话评分模型进行参数更新,得到所述对话评分模型。

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

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

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

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

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

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

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号