分类模型的训练方法、分类方法、装置、计算机存储介质转让专利

申请号 : CN201811244834.1

文献号 : CN111090753B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 靳丁南权圣

申请人 : 马上消费金融股份有限公司

摘要 :

本申请公开了一种分类模型的训练方法、训练装置、训练终端以及计算机存储介质,训练方法包括:从网络或历史记录随机获取到设定数量的第一无标注语料;对第一无标注语料进行处理,得到第一无标注语料的词向量;通过语料的词向量对预设LSTM语言模型进行训练,建立第一模型;通过分类模型的第一标注语料对第二模型进行训练,得到分类模型;其中,第二模型是通过在第一模型添加分类输出模型结构而得到的。通过上述方式,能够在不需要大量人工标注的前提下得到准确率较高的分类模型。

权利要求 :

1.一种分类模型的训练方法,其特征在于,包括:

从网络或历史记录随机获取到设定数量的第一无标注语料;

对所述第一无标注语料进行处理,得到所述第一无标注语料的词向量;

通过所述第一无标注语料的词向量对预设LSTM语言模型进行训练,建立第一模型;所述第一模型依次包括词嵌入层、LSTM语言模型层;

通过所述分类模型的标注语料对第二模型进行训练,得到所述分类模型;其中,所述第二模型是通过在所述第一模型添加分类输出模型结构而得到的,所述分类输出模型结构包括特征拼接层、全连接网络层以及输出层;

所述通过所述分类模型的标注语料对第二模型进行训练,得到所述分类模型包括:将所述分类模型的标注语料输入到所述第一模型进行处理,得到所述分类模型的标注语料的词向量以及所述词向量的输出向量;

将所述词向量及其输出向量进行拼接,得到所述分类模型的标注语料对应句子的特征向量;

通过所述句子的特征向量对所述分类模型的标注语料进行分类预测,得到预测结果;

基于所述预测结果对所述第二模型的模型参数进行调整,获得所述分类模型。

2.根据权利要求1所述的训练方法,其特征在于,

所述将所述分类模型的标注语料输入到所述第一模型进行处理,得到所述分类模型的标注语料的词向量以及所述词向量的输出向量的步骤包括:将所述分类模型的标注语料输入到所述词嵌入层进行处理,得到所述分类模型的标注语料的词向量;

通过所述LSTM语言模型层对所述词向量进行识别处理,得到所述词向量的输出向量;

所述将所述词向量及其输出向量进行拼接,得到所述分类模型的标注语料对应句子的特征向量的步骤包括:将所述词向量的输出向量以及所述词向量输入到所述特征拼接层进行拼接,得到所述分类模型的标注语料对应句子的特征向量;

所述通过所述句子的特征向量对所述分类模型的标注语料进行分类预测,得到预测结果的步骤具体包括:将所述句子的特征向量输入到所述全连接神经网络进行预测结果的查询,并通过输出层输出预测结果。

3.根据权利要求2所述的训练方法,其特征在于,所述将所述词向量及其输出向量进行拼接,得到所述分类模型的标注语料对应句子的特征向量的步骤具体包括:将所述LSTM语言模型层全部隐藏节点的输出向量的平均值,与所述词向量的平均值进行收尾拼接,得到所述分类模型的标注语料对应句子的特征向量。

4.根据权利要求2所述的训练方法,其特征在于,所述第一模型还包括输出层,所述通过所述第一无标注语料的词向量对预设LSTM语言模型进行训练,建立第一模型的步骤之后,所述通过所述分类模型的标注语料对第二模型进行训练,得到所述分类模型的步骤之前还包括:通过所述分类模型的无标注语料对所述第一模型进行训练,得到训练后的第一模型;

所述第二模型是通过在所述训练后的第一模型上添加分类输出模型结构而得到的。

5.一种基于分类模型的分类方法,其特征在于,所述分类模型是在经训练好的第一模型上添加分类输出模型结构后进行再训练得到的;

所述分类方法包括:

接收待分类的语料;

将所述语料输入到所述分类模型中,通过所述分类模型将所述语料进行处理,得到所述语料的特征向量,并基于所述特征向量从全连接神经网络中对分类预测结果进行查询;

输出所述分类预测结果。

6.根据权利要求5所述的分类方法,其特征在于,所述分类模型是通过权利要求1~4任一项所述的分类模型的训练方法训练而得到的。

7.一种分类模型的训练装置,其特征在于,所述训练装置包括语料获取模块、预处理模块、第一模型建立模块以及第二模型训练模块,所述语料获取模块用于从网络或者历史记录随机获取到设定数量的第一无标注语料;

所述预处理模块用于对所述第一无标注语料进行处理,得到所述第一无标注语料的词向量;

所述第一模型建立模块用于通过所述第一无标注语料的词向量对预设LSTM语言模型进行训练,建立第一模型,所述第一模型依次包括词嵌入层、LSTM语言模型层;

所述第二模型训练模块用于通过所述分类模型的标注语料对第二模型进行训练,得到所述分类模型;其中,所述第二模型包括所述第一模型以及添加在所述第一模型上的分类输出模型结构,所述分类输出模型结构包括特征拼接层、全连接网络层以及输出层;

所述所述第二模型训练模块用于通过所述分类模型的标注语料对第二模型进行训练,得到所述分类模型,包括:将所述分类模型的标注语料输入到所述第一模型进行处理,得到所述分类模型的标注语料的词向量以及所述词向量的输出向量;

将所述词向量及其输出向量进行拼接,得到所述分类模型的标注语料对应句子的特征向量;

通过所述句子的特征向量对所述分类模型的标注语料进行分类预测,得到预测结果;

基于所述预测结果对所述第二模型的模型参数进行调整,获得所述分类模型。

8.一种智能客服装置,其特征在于,所述智能客服装置包括分类模型,所述分类模型是在经训练好的第一模型上添加分类输出模型结构后进行再训练得到的,具体地,所述分类模型是通过权利要求1~4任一项所述的分类模型的训练方法训练而得到的,包括接收模块、分类模块以及输出模块,所述接收模块用于接收待分类的语料;

所述分类模块用于将所述语料输入到所述分类模型中,通过所述分类模型将所述语料进行处理,得到所述语料的特征向量,并基于所述特征向量从全连接神经网络中对预测结果进行查询;

所述输出模块用于输出所述预测结果。

9.一种智能系统,其特征在于,所述智能系统包括:

通信电路、存储器、处理器、及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1~4任一项所述分类模型的训练方法的步骤或权利要求5~6任一项所述的分类方法的步骤。

10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有程序数据,所述程序数据被处理器执行时实现如权利要求1~4任一项所述的分类模型的训练方法或权利要求5~6任一项所述的分类方法。

说明书 :

分类模型的训练方法、分类方法、装置、计算机存储介质

技术领域

[0001] 本申请涉及模型应用技术领域,特别是涉及一种分类模型的训练方法、分类方法、装置、计算机存储介质。

背景技术

[0002] 现实生活中为,为了解决一些实际问题,通常会根据需要建立模型,如分类模型,这些模型在初始建立的时候,会通过很多测试数据对其进行训练,得到各项指标参数,在测试合格后投入到市场应用。
[0003] 在智能客服系统中,分类模型是非常有效且普遍的技术,常见任务例如意图识别、情感识别、实体识别等大多使用的都是分类模型。分类模型属于监督学习中的一种,而目前的监督学习一般需要大量的人工语料,其性能才能达到可商用的程度。
[0004] 但对于大多数智能系统而言,收集和标注人工语料是一件人工成本很高的事情,而且效率也低。

发明内容

[0005] 本申请主要解决的技术问题是提供一种分类模型的训练方法、分类方法、装置、计算机存储介质,能够在不需要大量人工标注的前提下得到准确率较高的分类模型。
[0006] 为解决上述技术问题,本申请采用的第一个技术方案是:提供一种分类模型的训练方法,包括:从网络或者历史记录随机获取到设定数量的第一无标注语料;
[0007] 对第一无标注语料进行处理,得到无标注语料的词向量;
[0008] 通过第一无标注语料的词向量对预设LSTM语言模型进行训练,建立第一模型;
[0009] 通过分类模型的标注语料对第二模型进行训练,得到分类模型;其中,第二模型是通过在第一模型添加分类输出模型结构而得到的。
[0010] 为解决上述技术问题,本申请采用的第二个技术方案是:提供一种基于分类模型的分类方法,分类模型是在经训练好的第一模型上添加分类输出模型结构后进行再训练得到的,分类方法包括:
[0011] 接收待分类的语料;
[0012] 将所述语料输入到所述分类模型中,通过所述分类模型将所述语料进行处理,得到所述语料的特征向量,并基于所述特征向量从全连接神经网络中对预测结果进行查询;
[0013] 输出所述预测结果。
[0014] 为解决上述技术问题,本申请采用的第三个技术方案是:提供一种分类模型的训练装置,训练装置包括语料获取模块、预处理模块、第一模型建立模块以及第二模型训练模块,
[0015] 语料获取模块用于从网络或者历史记录随机获取到设定数量的第一无标注语料;
[0016] 预处理模块用于对第一无标注语料进行处理,得到第一无标注语料的词向量;
[0017] 第一模型建立模块用于通过语料的词向量对预设LSTM语言模型进行训练,建立第一模型;
[0018] 第二模型训练模块用于通过分类模型的标注语料对第二模型进行训练,得到分类模型;其中,第二模型包括第一模型以及添加在第一模型上的分类输出模型结构。
[0019] 为解决上述技术问题,本申请采用的第四个技术方案是:提供一种智能客服系统,所述智能客服系统包括分类模型,分类模型是在经训练好的第一模型上添加分类输出模型结构后进行再训练得到的,包括接收模块、分类模块以及输出模块,
[0020] 所述接收模块用于接收待分类的语料;
[0021] 所述分类模块用于将所述语料输入到所述分类模型中,通过所述分类模型将所述语料进行处理,得到所述语料的特征向量,并基于所述特征向量从全连接神经网络中对预测结果进行查询;
[0022] 所述输出模块用于输出所述预测结果。
[0023] 为解决上述技术问题,本申请采用的第五个技术方案是:提供一种智能系统,包括通信电路、存储器、处理器、及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述分类模型的训练方法的步骤或基于分类模型的分类方法的步骤。
[0024] 为解决上述技术问题,本申请采用的第六个技术方案是:提供一种计算机存储介质,计算机存储介质上存储有程序数据,程序数据被处理器执行时实现上述分类模型的训练方法或分类模型的方法。
[0025] 相对于现有技术,本申请的有益效果是:本实施方式中,通过从网络或历史记录中获取的非标准化的第一无标注语料对现有的LSTM语言模型进行训练,得到分类模型的基础模型第一模型。再利用分类模型的标注语料对通过上述第一模型增加一条分类输出而形成的第二模型进行训练,得到性能优良的分类模型。相对于现有常用的通过大量的标注语料直接进行模型训练的方式,上述网络或历史记录中获取的非标准化语料也并不依赖于分类任务领域的限制,也无需对语料进行标注,能够节省大量的人力、财力和时间成本,也更适用。并且由于训练该分类模型的语料丰富,通过该方式训练得到的分类模型通用性强,能够执行不同领域如智能客服领域不同的分类任务,降低不同类型智能客服系统的建立和启动成本。

附图说明

[0026] 图1是本申请分类模型的训练方法一实施方式的流程示意图;
[0027] 图2是图1中对无标注语料进行处理一具体实施方式的流程示意图;
[0028] 图3是本申请第二模型一实施方式的结构示意图;
[0029] 图4是图1对第二模进行训练一具体实施方式的流程示意图;
[0030] 图5是本申请分类模型的训练方法另一实施例的流程示意图;
[0031] 图6是本申请分类方法一实施方式的流程示意图;
[0032] 图7是本申请分类模型的训练装置一实施方式的结构示意图;
[0033] 图8是本申请分类模型的训练装置另一实施方式的结构示意图;
[0034] 图9是本申请智能客服装置一实施方式的结构示意图;
[0035] 图10是本申请智能系统一实施方式的结构示意图;
[0036] 图11是本申请计算机存储介质一实施例的结构示意图。

具体实施方式

[0037] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,均属于本申请保护的范围。
[0038] 模型是机器学习中的概念,是指处理多元特征输入值的算法。在监督式机器学习中,模型可以理解为多元函数映射关系,这种模型是基于大量已知的输入输出样本集合,训练得到函数关系的调控系数,最终运用于实际使用场景中进行结果预测。
[0039] 分类模型是将一组输入特征值如待分类数据输入模型,在有限个结果集合如分类类别中选出一个概率最大的结果。本实施方式提供的分类模型是适用于智能客服系统,能够实现用户的意图识别、情感识别、实体识别等分类任务。
[0040] LSTM(Long Short-Term Memory)是长短期记忆网络,是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件。
[0041] 本申请的分类模型是基于迁移思想,从LSTM语言模型转变而来,其中,训练该LSTM语言模型的语料为无标注语料。
[0042] 如图1所示,图1是本申请分类模型的训练方法一实施方式的流程示意图。包括:
[0043] 步骤101:从网络或历史记录随机获取到设定数量的第一无标注语料。
[0044] 具体地,该第一无标注语料为通过爬虫从网络上爬取的语料信息,一些实施例中为中文语料,但不限于中文语料,在其他实施方式中,也可以扩展到常用的多语种语料,如英语等,在此不做限定。
[0045] 为了使该分类模型更具有通用性,该第一无标注语料为无标注口语化的语料信息。并且为了后续对数据的预处理更加方便,爬取文本较短,字符数量小于一预设值如20字符的语料信息。另外,该第一无标注语料也可以是训练终端如智能客服系统积累的语料,比如历史记录中存储的语料等。
[0046] 上述设定数量可以尽可能的多,具体根据训练终端的处理器的内存以及处理能力确定。
[0047] 步骤102:对第一无标注语料进行处理,得到第一无标注语料的词向量。
[0048] 由于直接从网络爬取或者从历史记录中得到的无标注语料为口语化的语料信息,为了使训练终端如智能客服系统能够识别及处理,在获取到上述第一无标注语料后,对该第一无标注语料进行处理,得到无第一标注语料的词向量。包括如下步骤:
[0049] 步骤1021:对所述第一无标注语料进行预处理,并得到所述第一无标注语料的切词字符及所述切词字符的特征值。
[0050] 具体地,训练终端如智能客服系统首先去除第一无标注语料中的设定字符,如表情符号,语气词以及与一些标点字符等。
[0051] 由于上述第一无标注语料一般为问答语料,且一般为句子语料,而句子语料在对模型进行训练时并不方便,通用性不好。为了使训练终端处理起来更方便,减少计算量,增加语料的通用性,在去除句子语料中的设定字符后,对句子语料进行切词,得到每个句子的切词字符。其中,切词的标准为能够表达准确意思的最小单元,如动词可以直接切成字,名词等不可分割的语料切成词语,如地名以及一些专用名词等。
[0052] 在将句子语料进行切词后,由于句子被离散成切词字符,为了方便句子的识别,将切词后的每个句子的开头添加上开始符,并在句子的末端添加上结束符。统计每个切词字符的词频,并根据设定算法以及每个切词字符的词频,计算对应切词字符的加权值,方便后续使用。
[0053] 为了提高语料的通用性以及数据准确性,也减少计算量,本实施方式中,将词频低于设定值的切词字符在对其进行加权值计算之前进行删除,该设定值可以为20,也可以为30,还可以根据第一无标注语料的选取范围的设定数量的比例来确定。
[0054] 步骤1022:基于所述切词字符及其特征值利用词嵌入方法对预处理后的所述第一无标注语料进行无监督学习,得到所述第一无标注语料的词向量。
[0055] 基于词频大于设定值的切词字符及其加权值,利用词嵌入方法对预处理后的第一无标注语料进行无监督学习,得到第一无标注语料的词向量。
[0056] 步骤103:通过所述第一无标注语料的词向量对预设LSTM语言模型进行训练,建立第一模型。
[0057] 正如上述所述,本申请是以LSTM语言模型为基础来搭建分类模型,具体地,该LSTM语言模型为两层LSTM结构的语言模型。通过经过步骤102处理得到的词向量对该LSTM语言模型进行训练,调整该LSTM语言模型的模型参数。
[0058] 在一个可选的实施方式中,该LSTM语言模型的原型为输出是当前词向量所在句子的下一个切词对应词向量的模型。再根据输出结果与实际结果的比对,对该LSTM语言模型的模型参数实时进行调整。由于对该LSTM语言模型进行训练的词向量数量非常庞大,因此,能够得到一份容量很大的神经网络语言模型。
[0059] 进一步地,在LSTM语言模型的输入端增加一层词嵌入层而得到第一模型,以使该第一模型能够直接对第一无标注语料进行词向量的处理。
[0060] 步骤104:通过所述分类模型的标注语料对第二模型进行训练,得到所述分类模型。其中,所述第二模型是通过在所述第一模型添加分类输出模型结构而得到的。
[0061] 为了清楚说明上述对第二模型的结构以及训练方式,如图3所示,图3是本申请第二模型一实施方式的结构示意图。第二模型本身是在第一模型301的基础上添加分类输出模型结构302而得到的。具体地,第一模型301包括词嵌入层3011、LSTM语言模型层3012。分类输出模型结构302包括特征拼接层3021、全连接网络层3022以及输出层3023。
[0062] 其中,词嵌入层3011用于对训练第二模型的标注语料进行处理转换成词向量,LSTM语言模型层3012用于进一步对该词向量进行处理。特征拼接层3021用于将词嵌入层3011输出的词向量以及LSTM语言模型输出的词向量进行拼接成句子语料的特征向量。再通过全连接网络层3022进行分类预测,最终通过输出层3023输出。
[0063] 为了清楚说明上述对第二模型的训练方式,进一步如图4所示,包括如下步骤:
[0064] 步骤1041:将所述分类模型的标注语料输入到所述第一模型进行处理,得到所述分类模型的标注语料的词向量以及所述词向量的输出向量。
[0065] 具体地,先将用于训练第二模型的标注语料输入到所述词嵌入层3011,通过词嵌入层3011去除如表情、语气词等设定字符后进行切词,得到标注语料的切词字符。其中,切词的标准为能够表达准确意思的最小单元,如动词可以直接切成字,名词等不可分割的语料切成词语,如地名以及一些专用名词等。
[0066] 通过词嵌入层3011在将句子标注语料进行切词后,将切词后的每个句子的开头添加上开始符,并在句子的末端添加上结束符,以方便识别句子。统计每个切词字符的词频,并根据设定算法以及每个切词字符的词频,计算对应切词字符的加权值,基于词频大于设定值的切词字符及其加权值,得到分类模型的标注语料句子的词向量。
[0067] 得到标注语料的句子的词向量后,通过LSTM语言模型层3012对所述词向量进行识别处理,得到所述词向量的输出向量。
[0068] 步骤1042:将所述词向量及其输出向量进行拼接,得到所述分类模型的标注语料对应句子的特征向量。
[0069] 由于LSTM语言模型层3012中包括多个隐藏节点,从第一个隐藏节点开始,将接收到的输出向量发送至下一隐藏节点,因此,理论上每个隐藏节点都包括当前处理的词向量的特征信息,在一个可选的实施方式中,特征拼接层3021可直接通过最后一个隐藏节点输出的词向量的输出向量与词嵌入层3011输出的同一个句子的词向量进行首尾拼接,形成该句子的特征向量。
[0070] 为了防止隐藏节点在对输出向量进行传播时出现数据丢失或受损,导致最后一个隐藏节点输出的输出向量数据不准确的情况。在另一个实施方式中,获取LSTM语言模型层3012全部隐藏节点的输出向量的平均值作为该句子的特征向量。以及为了进一步提高特征向量的准确性,计算得到词嵌入层3011输出的同一句子词向量的平均值,通过特征拼接层
3021将该输出向量的平均值与该词向量的平均值进行首尾拼接,得到该句子的特征向量。
[0071] 步骤1043:通过所述句子的特征向量对所述分类模型的标注语料进行分类预测,得到预测结果。
[0072] 具体地,将所述句子的特征向量依次输入到所述全连接神经网络层3022进行预测结果的查询,并通过输出层3023输出预测结果。
[0073] 步骤1044:基于所述预测结果对所述第二模型的模型参数进行调整,获得新的分类模型。
[0074] 具体地,训练终端进一步获取第二模型输出的预测结果,根据该预测结果计算得到该第二模型的损失函数。在本实施方式中,损失函数是指一种将一个事件(在一个样本空间中的一个元素)映射到一个表达与其事件相关机会成本的实数上的一种函数。更通俗地说,在统计学中损失函数是一种衡量损失和错误程度的函数。损失函数值越大,错误率越高,损失函数值越小,错误率越低。在本实施方式中,就是基于该损失函数通过反向传播算法对第二模型的模型参数进行调整,获得新的分类模型。
[0075] 需要说明的是,本实施方式中对模型参数的调整并不是在全部标注语料处理完后才调整,而是按照一定频率动态的调整方式。比如,随机采集小批量的预测结果来计算这一时间段内的损失函数,并根据该损失函数进行参数调整,得到新的分类模型,并将该新的分类模型作为下一次的调整基础。通过这种方式,能够使尽量多的标注语料起到实际调整作用,以使分类模型的性能达到最佳。
[0076] 区别于现有技术,本实施方式中,通过从网络或历史记录中获取的非标准化的第一无标注语料对现有的LSTM语言模型进行训练,得到分类模型的基础模型第一模型。再利用分类模型的标注语料对通过上述第一模型增加一条分类输出而形成的第二模型进行训练,得到性能优良的分类模型。相对于现有常用的通过大量的标注语料直接进行模型训练的方式,上述网络或历史记录中获取的非标准化语料也并不依赖于分类任务领域的限制,也无需对语料进行标注,能够节省大量的人力、财力和时间成本,也更适用。并且由于训练该分类模型的语料丰富,通过该方式训练得到的分类模型通用性强,能够执行不同领域如智能客服领域不同的分类任务,降低不同类型智能客服系统的建立和启动成本。
[0077] 进一步地,为了进一步提高分类模型的性能,如准确率以及精确率等,如图5所示,图5是本申请分类模型的训练方法另一实施方式的流程示意图,包括如下步骤:
[0078] 步骤501:从网络或历史记录随机获取到设定数量的第一无标注语料。
[0079] 该步骤与步骤101相同,具体请参阅步骤101的相关描述,在此不再赘述。
[0080] 步骤502:对所述第一无标注语料进行处理,得到所述第一无标注语料的词向量。
[0081] 其中,该步骤与步骤102相同,具体请参阅步骤102的相关描述,在此不再赘述。
[0082] 步骤503:通过所述第一无标注语料的词向量对预设LSTM语言模型进行训练,建立第一模型。
[0083] 该步骤与步骤103相同,具体请参阅步骤103的相关描述,在此不再赘述。
[0084] 步骤504:通过所述分类模型的无标注语料对所述第一语言模型进行训练,得到训练后的第一模型。
[0085] 在一个可选的实施方式中,该分类模型的无标注语料区别于通过从网络或历史记录中爬取的无标注语料,为训练分类模型完成分类任务而准备的无标注语料,与分类模型的标注语料相对应。可以理解的是,该分类模型的无标注语料的数量远大于分类模型的标注语料的数量,以降低训练分类模型的成本。
[0086] 具体地,进一步参阅图3中第二模型的结构示意图。第一模型301还包括输出层3013。分类终端将该分类模型的无标注语料输入到词嵌入层3011,通过词嵌入层3011去除如表情、语气词等设定字符后进行切词,得到分类模型的无标注语料的切词字符。其中,切词的标准为能够表达准确意思的最小单元,如动词可以直接切成字,名词等不可分割的语料切成词语,如地名以及一些专用名词等。
[0087] 通过词嵌入层3011在将句子语料进行切词后,将切词后的每个句子的开头添加上开始符,并在句子的末端添加上结束符,以方便识别句子。统计每个切词字符的词频,并根据设定算法以及每个切词字符的词频,计算对应切词字符的加权值,基于词频大于设定值的切词字符及其加权值,利用词嵌入方法对预处理后的分类模型的无标注语料进行无监督学习,得到分类模型的无标注语料句子的词向量。
[0088] 得到分类模型的无标注语料的句子的词向量后,通过LSTM语言模型层3012对所述词向量进行识别处理,得到所述词向量的输出向量。
[0089] 由于LSTM语言模型层3012中包括多个隐藏节点,从第一个隐藏节点开始,将接收到的输出向量发送至下一隐藏节点,因此,每个隐藏节点都包括当前处理的词向量的特征信息,在本实施方式中,由于数据量比较大,为了减少计算量以及训练时间,直接通过最后一个隐藏节点输出的词向量的输出向量为分类模型的无标注语料对应词向量的输出向量。
[0090] 再利用所述输出层3013输出所述预测结果,基于所述预测结果对所述第一模型的模型参数进行调整,获得训练后的第一模型。
[0091] 具体地,训练终端进一步获取第一模型的输出层3013输出的预测结果,根据该预测结果计算得到该第一模型的损失函数。基于该损失函数通过反向传播算法对第一模型的模型参数进行调整,获得新的第一模型。
[0092] 需要说明的是,本实施方式中对模型参数的调整并不是在全部分类模型的无标注语料处理完后才调整,而是按照一定频率动态的调整方式。比如,随机采集小批量的预测结果来计算这一时间段内的损失函数,并根据该损失函数进行参数调整,得到新的分类模型,并将该新的分类模型作为下一次的调整基础。通过这种方式,能够使尽量多的分类模型的无标注语料起到实际调整作用,以使分类模型的性能达到最佳。
[0093] 步骤505:通过所述分类模型的标注语料对第二模型进行训练,得到所述分类模型;其中,所述第二模型是通过在训练后的第一模型添加分类输出模型结构而得到的。
[0094] 该步骤的执行方式与步骤104相同,区别点在于,本实施方式的第一模型是通过分类模型的无标注语料进行训练后的新的第一模型,在此不再赘述。
[0095] 区别于上述实施方式,本实施方式中,通过分类模型的无标注语料先对第一模型进行训练,而后再通过该训练后的第一模型建立第二模型并通过分类模型的标注语料对第二模型进行训练,能进一步地提高分类模型的性能,并且由于对第一模型进行训练的大量语料为分类模型的无标注语料,也不会产生额外的成本以及人工上的成本。通过这种先通过分类模型的无标注语料对第一模型进行训练,再通过分类模型的标注语料对第二模型进行训练的半监督方法,能够在低成本、高效率的前提下得到高性能的分类模型。
[0096] 另外,本实施方式中,通过从网络或历史记录中获取的第一无标注对现有的LSTM语言模型进行训练,得到分类模型的基础模型第一模型。再利用分类模型的标注语料对通过上述第一模型增加一条分类输出而形成的第二模型进行训练,得到性能优良的分类模型。相对于现有常用的通过大量的标注语料直接进行模型训练的方式,上述网络或历史记录中获取的第一无标准化语料也并不依赖于分类任务领域的限制,也无需对语料进行标注,能够节省大量的人力、财力和时间成本,也更适用。并且由于训练该分类模型的语料丰富,通过该方式训练得到的分类模型通用性强,能够执行不同领域如智能客服领域不同的分类任务,降低不同类型智能客服系统的建立和启动成本。
[0097] 参阅图6,图6是本申请基于分类模型的分类方法一实施方式的流程示意图。
[0098] 其中,本实施方式的分类模型是在经训练好的第一模型上添加分类输出模型结构后进行再训练得到的。该第一模型是通过对设定LSTM语言模型进行训练得到的,其中,该LSTM语言模型为两层结构的LSTM语言模型。该第一模型包括词嵌入层以及LSTM语言模型层。该分类输出模型结构包括特征拼接层、全连接网络层以及输出层。
[0099] 具体地,该分类模型是通过图1~5以及相关文字描述的任一实施方式的分类模型的训练方法训练而得到的。具体请参阅图1~图5及其相关文字描述,在此不再赘述。
[0100] 本实施方式的分类方法包括:
[0101] 步骤601:接收待分类的语料。
[0102] 用户通过智能装置如智能客服系统进行问题查询或者数据分类时,通过智能客服系统的人工界面以文字或语音的方式输入待分类的语料。对应的,智能装置如智能客服系统接收该语料。
[0103] 步骤602:将语料输入到分类模型中,通过所述分类模型将所述语料进行处理,得到所述语料的特征向量,并基于所述特征向量从全连接神经网络中对分类预测结果进行查询。
[0104] 智能装置接收到上述语料后,将该语料输入到分类模型中。该分类模型先通过其词嵌入层对语料进行切词,将切词后的每个句子的开头添加上开始符,并在句子的末端添加上结束符,以方便识别句子。统计每个切词字符的词频,并根据设定算法以及每个切词字符的词频,计算对应切词字符的加权值,基于词频大于设定值的切词字符及其加权值,得到语料句子的词向量。
[0105] 再通过LSTM语言模型层对词向量进行识别处理,得到词向量的输出向量。通过分类模型的特征拼接层将词向量及其输出向量进行拼接,得到标注语料对应句子的特征向量。
[0106] 由于LSTM语言模型层中包括多个隐藏节点,从第一个隐藏节点开始,将接收到的输出向量发送至下一隐藏节点,因此,理论上每个隐藏节点都包括当前处理的词向量的特征信息,在一个可选的实施方式中,特征拼接层可直接通过最后一个隐藏节点输出的词向量的输出向量与词嵌入层输出的同一个句子的词向量进行首尾拼接,形成该句子的特征向量。
[0107] 为了防止隐藏节点在对输出向量进行传播时出现数据丢失或受损,导致最后一个隐藏节点输出的输出向量数据不准确的情况。本实施方式中,通过特征拼接层获取LSTM语言模型层全部隐藏节点的输出向量的平均值作为该句子的特征向量。以及为了进一步提高特征向量的准确性,计算得到词嵌入层输出的同一句子词向量的平均值,再将该输出向量的平均值与该词向量的平均值进行首尾拼接,得到该句子的特征向量。
[0108] 最后将该句子的特征向量输入到分类模型的全连接神经网络层进行预测结果的查询。
[0109] 步骤603:输出所述分类预测结果。
[0110] 分类模型的输出层获取到通过全连接网络层查询到的分类预测结果,智能装置如智能客服系统通过其人工智能界面通过文字、语音播报、图片等格式输出该分类预测结果,在此不做限定。
[0111] 区别于现有技术,本实施方式的智能装置通过将待分类的语料输入到分类模型中,通过分类模型对语料进行分类,并输出预测结果。其中,该分类模型过从网络或历史记录中获取的非标准化的第一无标注语料对现有的LSTM语言模型进行训练,得到分类模型的基础模型第一模型。再利用分类模型的标注语料对通过上述第一模型增加一条分类输出而形成的第二模型进行训练,得到性能优良的分类模型。相对于现有常用的通过大量的标注语料直接进行模型训练的方式,上述网络或历史记录中获取的第一无标注语料并不依赖于分类任务领域的限制,也无需对语料进行标注,能够节省大量的人力、财力和时间成本,也更适用。并且由于训练该分类模型的语料丰富,通过该方式训练得到的分类模型通用性强,能够执行不同领域如智能客服领域不同的分类任务,降低不同类型智能客服系统的建立和启动成本。
[0112] 参阅图7,图7是本申请训练装置一实施方式的流程示意图。该训练装置包括语料获取模块701、预处理模块702、第一模型建立模块703以及第二模型训练模块704。
[0113] 具体地,语料获取模块701用于从网络或者历史记录随机获取到设定数量的第一无标注语料。
[0114] 具体地,该第一无标注语料为语料获取模块701通过爬虫从网络上爬取的语料信息,一些实施例中为中文语料,但不限于中文语料,在其他实施方式中,也可以扩展到常用的多语种语料,如英国等,在此不做限定。
[0115] 为了使该分类模型更具有通用性,该第一无标注语料为非标准口语化的语料信息。并且为了后续对数据的预处理更加方便,爬取文本较短,字符数量小于一预设值如20字符的语料信息。另外,该第一无标注语料也可以是训练终端如智能客服系统积累的语料,比如历史记录中存储的语料等。上述设定数量可以尽可能的多,具体根据处理器的内存以及处理能力确定。
[0116] 预处理模块702用于对所述第一无标注语料进行处理,得到所述第一无标注语料的词向量。
[0117] 由于直接从网络爬取或者从历史记录中得到的第一无标注语料为口语化的语料信息,为了使训练终端如智能客服系统能够识别及处理,在获取到上述第一无标注语料后,对该第一无标注语料进行处理,得到第一无标注语料的词向量。
[0118] 具体地,预处理模块702首先对所述第一无标注语料进行预处理,并得到所述第一无标注语料的切词字符及所述切词字符的特征值。
[0119] 具体地,预处理模块702首先去除第一无标注语料中的设定字符,如表情符号,语气词以及与一些标点字符等。
[0120] 由于上述无标注语料一般为问答语料,且一般为句子语料,而句子语料在对模型进行训练时并不方便,通用性不好。为了使训练装置处理起来更方便,减少计算量,增加语料的通用性,预处理模块702在去除句子语料中的设定字符后,对句子语料进行切词,得到每个句子的切词字符。其中,切词的标准为能够表达准确意思的最小单元,如动词可以直接切成字,名词等不可分割的语料切成词语,如地名以及一些专用名词等。
[0121] 在将句子语料进行切词后,由于句子被离散成切词字符,为了方便句子的识别,将切词后的每个句子的开头添加上开始符,并在句子的末端添加上结束符。统计每个切词字符的词频,并根据设定算法以及每个切词字符的词频,计算对应切词字符的加权值,方便后续使用。
[0122] 为了提高语料的通用性以及数据准确性,也减少计算量,本实施方式中,将词频低于设定值的切词字符在对其进行加权值计算之前进行删除,该设定值可以为20,也可以为30,还可以根据第一无标注语料的选取范围的设定数量的比例来确定。
[0123] 预处理模块702再基于词频大于设定值的切词字符及其加权值,利用词嵌入方法对预处理后的所述第一无标注语料进行无监督学习,得到所述第一无标注语料的词向量。
[0124] 第一模型建立模块703用于通过所述第一无标注语料的词向量对预设LSTM语言模型进行训练,建立第一模型。
[0125] 正如上述所述,本申请是以LSTM语言模型为基础来搭建分类模型,具体地,本实施方式采用的是两层LSTM结构的语言模型。在一个可选的实施方式中,该LSTM语言模型的原型为问答模型中的输出为输出当前词向量对应的句子的下一个词向量,根据输出结果与实际结果的比对,对该LSTM语言模型的模型参数实时进行调整。由于对该LSTM语言模型进行训练的词向量数量非常庞大,因此,能够得到一份容量很大的神经网络语言模型。
[0126] 进一步地,在LSTM语言模型的输入端增加一层词嵌入层而得到第一模型,以使该第一模型能够直接对语料进行词向量的处理。
[0127] 第二模型训练模块704用于通过所述分类模型的标注语料对第二模型进行训练,得到所述分类模型;其中,所述第二模型包括所述第一模型以及添加在所述第一模型上的分类输出模型结构。分类输出模型结构包括特征拼接层、全连接网络层以及输出层。
[0128] 第二模型训练模块704将分类模型的标注语料输入到所述第一模型进行处理,得到所述分类模型的标注语料的词向量以及所述词向量的输出向量。
[0129] 具体地,先将用于训练第二模型的分类模型的标注语料输入到所述词嵌入层,通过词嵌入层去除如表情、语气词等设定字符后进行切词,得到分类模型的标注语料的切词字符。其中,切词的标准为能够表达准确意思的最小单元,如动词可以直接切成字,名词等不可分割的语料切成词语,如地名以及一些专用名词等。
[0130] 通过词嵌入层在将句子语料进行切词后,将切词后的每个句子的开头添加上开始符,并在句子的末端添加上结束符,以方便识别句子。统计每个切词字符的词频,并根据设定算法以及每个切词字符的词频,计算对应切词字符的加权值,基于词频大于设定值的切词字符及其加权值,得到分类模型的标注语料句子的词向量。
[0131] 得到标注语料的句子的词向量后,通过LSTM语言模型层对所述词向量进行识别处理,得到所述词向量的输出向量。
[0132] 第二模型训练模块704进一步将所述词向量及其输出向量进行拼接,得到分类模型的标注语料对应句子的特征向量。
[0133] 由于LSTM语言模型层中包括多个隐藏节点,从第一个隐藏节点开始,将接收到的输出向量发送至下一隐藏节点,因此,理论上每个隐藏节点都包括当前处理的词向量的特征信息。为了防止隐藏节点在对输出向量进行传播时出现数据丢失或受损,导致最后一个隐藏节点输出的输出向量数据不准确的情况,在本实施方式中,第二模型训练模块704获取LSTM语言模型层全部隐藏节点的输出向量的平均值作为该句子的特征向量。以及为了进一步提高特征向量的准确性,计算得到词嵌入层输出的同一句子词向量的平均值,通过特征拼接层将该输出向量的平均值与该词向量的平均值进行首尾拼接,得到该句子的特征向量。
[0134] 第二模型训练模块704通过句子的特征向量对所述分类模型的标注语料进行分类预测,得到预测结果。
[0135] 具体地,第二模型训练模块704将所述句子的特征向量依次输入到所述全连接神经网络层进行预测结果的查询,并通过输出层输出预测结果。
[0136] 最后,第二模型训练模块704基于所述预测结果对所述第二模型的模型参数进行调整,获得新的分类模型。
[0137] 具体地,第二模型训练模块704获取第二模型输出的预测结果,根据该预测结果计算得到该第二模型的损失函数。在本实施方式中,损失函数是指一种将一个事件(在一个样本空间中的一个元素)映射到一个表达与其事件相关机会成本的实数上的一种函数。更通俗地说,在统计学中损失函数是一种衡量损失和错误程度的函数。损失函数值越大,错误率越高,损失函数值越小,错误率越低。在本实施方式中,就是基于该损失函数通过反向传播算法对第二模型的模型参数进行调整,获得新的分类模型。
[0138] 区别于现有技术,本实施方式中,第一模型建立模块通过语料获取模块从网络或历史记录中获取的非标准化的第一无标注语料对现有的LSTM语言模型进行训练,得到分类模型的基础模型第一模型。第二模型训练模块再利用分类模型的标注语料对通过上述第一模型增加一条分类模型输出结构而形成的第二模型进行训练,得到性能优良的分类模型。相对于现有常用的通过大量的标注语料直接进行模型训练的方式,上述网络或历史记录中获取的非标准化语料也并不依赖于分类任务领域的限制,也无需对语料进行标注,能够节省大量的人力、财力和时间成本,也更适用。并且由于训练该分类模型的语料丰富,通过该方式训练得到的分类模型通用性强,能够执行不同领域如智能客服领域不同的分类任务,降低不同类型智能客服系统的建立和启动成本。
[0139] 在另一个实施方式中,如图8所述,图8是本申请分类模型的训练装置另一实施方式的结构示意图,区别于上述实施方式的训练装置,本实施的训练装置还包括第一模型训练模块805。第一模型训练模块805用于通过所述分类模型的无标注语料对所述第一语言模型进行训练,得到训练后的第一模型。
[0140] 其中,该分类模型的无标注语料区别于通过从网络或历史记录中爬取的无标注语料,为分类任务对应无标注语料,可以理解的是,该无标注语料的数量远大于分类模型的标注语料的数量,以降低训练分类模型的成本。
[0141] 第一模型训练模块805通过词嵌入层在将分类模型的无标注语料对应的句子语料进行切词后,将切词后的每个句子的开头添加上开始符,并在句子的末端添加上结束符,以方便识别句子。统计每个切词字符的词频,并根据设定算法以及每个切词字符的词频,计算对应切词字符的加权值,基于词频大于设定值的切词字符及其加权值,利用词嵌入方法对预处理后的所述分类模型的无标注语料进行无监督学习,得到分类模型的无标注语料句子的词向量。
[0142] 得到无标注语料的句子的词向量后,第一模型训练模块805通过LSTM语言模型层对所述词向量进行识别处理,得到所述词向量的输出向量。
[0143] 由于LSTM语言模型层中包括多个隐藏节点,从第一个隐藏节点开始,将接收到的输出向量发送至下一隐藏节点,因此,每个隐藏节点都包括当前处理的词向量的特征信息,在本实施方式中,由于数据量比较大,为了减少计算量以及训练时间,直接通过最后一个隐藏节点输出的词向量的输出向量为分类模型的无标注语料对应词向量的输出向量。
[0144] 第一模型训练模块805再利用所述输出层输出所述预测结果,基于所述预测结果对所述第一模型的模型参数进行调整,获得训练后的第一模型。
[0145] 具体地,训练终端进一步获取第一模型输出的预测结果,根据该预测结果计算得到该第一模型的损失函数。基于该损失函数通过反向传播算法对第一模型的模型参数进行调整,获得新的第一模型。
[0146] 区别于上述实施方式,本实施方式中,通过第一模型训练模块对分类模型的无标注语料先对第一模型进行训练,而后再通过该训练后的第一模型建立第二模型并通过分类模型的标注语料对第二模型进行训练,能进一步地提高分类模型的性能,并且由于对第一模型进行训练的大量语料是分类模型的无标注语料,也不会产生额外的成本以及人工上的成本。通过这种先通过分类模型的无标注语料对第一模型进行训练,再通过分类模型的标注语料对第二模型进行训练的半监督方法对分类模型进行训练,能够在低成本、高效率的前提下得到高性能的分类模型。
[0147] 参阅图9,图9是本申请智能客服装置一实施方式的结构示意图。本实施方式的智能客服装置包括分类模型,其其中,本实施方式的分类模型是在经训练好的第一模型上添加分类输出模型结构后进行再训练得到的。该第一模型是通过对设定LSTM语言模型进行训练得到的,其中,该LSTM语言模型为两层结构的LSTM语言模型。该第一模型包括词嵌入层以及LSTM语言模型层。该分类输出模型结构包括特征拼接层、全连接网络层以及输出层。
[0148] 具体地,该分类模型是通过图1~5以及相关文字描述的任一实施方式的分类模型的训练方法训练而得到的。具体请参阅图1~图5及其相关文字描述,在此不再赘述。
[0149] 具体包括:接收模块901、分类模块902以及输出模块903。
[0150] 接收模块901用于接收待分类的语料。
[0151] 用户通过智能装置如智能客服系统进行问题查询或者数据分类时,通过智能客服系统的人工界面以文字或语音的方式输入待分类的语料。对应的,接收模块901接收该语料。
[0152] 分类模块902用于将所述语料输入到所述分类模型中,通过所述分类模型将所述语料进行处理,得到所述语料的特征向量,并基于所述特征向量从全连接神经网络中对分类预测结果进行查询。
[0153] 分类模块902在接收模块901收到上述语料后,通过其词嵌入层对语料进行切词,将切词后的每个句子的开头添加上开始符,并在句子的末端添加上结束符,以方便识别句子。统计每个切词字符的词频,并根据设定算法以及每个切词字符的词频,计算对应切词字符的加权值,基于词频大于设定值的切词字符及其加权值,得到语料句子的词向量。
[0154] 分类模块902再通过分类模型的LSTM语言模型层对词向量进行识别处理,得到词向量的输出向量。通过分类模型的特征拼接层将词向量及其输出向量进行拼接,得到标注语料对应句子的特征向量。
[0155] 由于LSTM语言模型层中包括多个隐藏节点,从第一个隐藏节点开始,将接收到的输出向量发送至下一隐藏节点,因此,理论上每个隐藏节点都包括当前处理的词向量的特征信息,在一个可选的实施方式中,特征拼接层可直接通过最后一个隐藏节点输出的词向量的输出向量与词嵌入层输出的同一个句子的词向量进行首尾拼接,形成该句子的特征向量。
[0156] 为了防止隐藏节点在对输出向量进行传播时出现数据丢失或受损,导致最后一个隐藏节点输出的输出向量数据不准确的情况。本实施方式中,分类模块902通过特征拼接层获取LSTM语言模型层全部隐藏节点的输出向量的平均值作为该句子的特征向量。以及为了进一步提高特征向量的准确性,计算得到词嵌入层输出的同一句子词向量的平均值,再将该输出向量的平均值与该词向量的平均值进行首尾拼接,得到该句子的特征向量。
[0157] 最后分类模块902将该句子的特征向量输入到分类模型的全连接神经网络层进行分类预测结果的查询。
[0158] 输出模块903用于输出所述预测结果。
[0159] 分类模型的输出层获取到通过全连接网络层查询到的分类预测结果,输出模块903通过其人工智能界面通过文字、语音播报、图片等格式输出该预测结果,在此不做限定。
[0160] 区别于现有技术,本实施方式的分类模块通过将接收模块接收的待分类的语料输入到分类模型中,通过分类模型对语料进行分类,再通过输出模块输出预测结果。其中,该分类模型过从网络或历史记录中获取的非标准化的第一无标注语料对现有的LSTM语言模型进行训练,得到分类模型的基础模型第一模型。再利用分类模型的标注语料对通过上述第一模型增加一条分类输出而形成的第二模型进行训练,得到性能优良的分类模型。相对于现有常用的通过大量的标注语料直接进行模型训练的方式,上述网络或历史记录中获取的非标准化语料也并不依赖于分类任务领域的限制,也无需对语料进行标注,能够节省大量的人力、财力和时间成本,也更适用。并且由于训练该分类模型的语料丰富,通过该方式训练得到的分类模型通用性强,能够执行不同领域如智能客服领域不同的分类任务,降低不同类型智能客服系统的建立和启动成本。
[0161] 参阅图10,图10是本申请智能系统一实施方式的结构示意图。本实施方式的智能系统可以为智能移动终端,如计算机,也可以为智能客服终端,如网络客服终端等。本实施方式的智能系统100包括通过总线耦接的通信电路1001、存储器1002、处理器1003、及存储在所述存储器上并可在所述处理器上运行的计算机程序。处理器1003在执行计算机程序时能够实现图1以及图5及其相关文字描述中的任一实施方式的分类模型的训练方法,还能够实现图6以及相关文字描述的任一实施方式的分类方法。
[0162] 请参阅图11,本申请还提供一种计算机存储介质的实施例的结构示意图。本实施例中,该计算机存储介质110存储有处理器可运行的计算机指令1101,该计算机指令1101用于执行图1以及图5及其相关文字描述中的任一实施方式的分类模型的训练方法,还能够实现图6以及相关文字描述的任一实施方式的分类方法。
[0163] 该计算机存储介质110具体可以为U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory,)、磁碟或者光盘等可以存储计算机指令的介质,或者也可以为存储有该计算机指令的服务器,该服务器可将存储的计算机指令发送给其他设备运行,或者也可以自运行该存储的计算机指令。
[0164] 在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,单元或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0165] 作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
[0166] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0167] 集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0168] 以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。