文本分类方法和装置、服务器与流程

文档序号:20769248发布日期:2020-05-15 19:26阅读:96来源:国知局
文本分类方法和装置、服务器与流程

本说明书涉及人工智能技术领域,尤其涉及文本分类方法和装置、服务器。



背景技术:

在日常应用中,常常需要对一些文本信息进行分类。例如,在智能机器人客服应用场景中,用户可以向智能机器人客服发送文本信息,该文本信息可以是与账户操作相关的文本信息,例如:“如何注册账户”或者“如何为账户绑定手机号”等;也可以是与订单相关的文本信息,例如:“如何取消订单”或者“取消订单退款处理时效是多久”等;还可以是其他类型的文本信息。为了提高智能机器人客服的应答效率,需要对此类文本信息进行分类。因此,有必要提高文本信息分类的准确性。



技术实现要素:

基于此,本说明书实施例提供了文本分类方法和装置、服务器。

根据本说明书实施例的第一方面,提供一种文本分类方法,所述方法包括:

接收文本信息;

通过预先训练的第一文本分类模型对所述文本信息进行分类,以确定所述文本信息所属的类别;

其中,所述第一文本分类模型基于第一训练文本、所述第一训练文本的真实类别,以及由预先训练的第二文本分类模型输出的所述第一训练文本的第一预测类别训练得到,且所述第二文本分类模型的特征提取能力低于所述第一文本分类模型的特征提取能力。

根据本说明书实施例的第二方面,提供一种文本分类装置,所述装置包括:

接收模块,用于接收文本信息;

分类模块,用于通过预先训练的第一文本分类模型对所述文本信息进行分类,以确定所述文本信息所属的类别;

其中,所述第一文本分类模型基于第一训练文本、所述第一训练文本的真实类别,以及由预先训练的第二文本分类模型输出的所述第一训练文本的第一预测类别训练得到,且所述第二文本分类模型的特征提取能力低于所述第一文本分类模型的特征提取能力。

根据本说明书实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一实施例所述的方法。

根据本说明书实施例的四方面,提供一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一实施例所述的方法。

应用本说明书实施例方案,通过特征提取能力相对低的第二文本分类模型输出第一训练文本的预测类别,再通过由第一训练文本以及第一训练文本的真实类别和预测类别训练出的第一文本分类模型对接收到的文本信息进行分类。由于第二文本分类模型的特征提取能力小于第一文本分类模型,因此,通过第二文本分类模型能够对第一文本分类模型进行约束,从而可以有效控制第一文本分类模型的过拟合,从而提高文本分类的准确性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。

图1是本说明书一实施例的文本分类方法流程图。

图2a是本说明书一实施例的第二模型训练过程的示意图。

图2b是本说明书一实施例的第一模型训练过程的示意图。

图3是本说明书另一实施例的第一模型训练过程的示意图。

图4是本说明书一实施例的文本分类装置的框图。

图5是本说明书一实施例的用于实施本说明书实施例方法的计算机设备的示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。

在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

如图1所示,本说明书实施例提供一种文本分类方法,所述方法可包括:

步骤s102:接收文本信息;

步骤s104:通过预先训练的第一文本分类模型对所述文本信息进行分类,以确定所述文本信息所属的类别;

其中,所述第一文本分类模型基于第一训练文本、所述第一训练文本的真实类别,以及由预先训练的第二文本分类模型输出的所述第一训练文本的第一预测类别训练得到,且所述第二文本分类模型的特征提取能力低于所述第一文本分类模型的特征提取能力。

本说明书实施例中的各步骤可由位于服务器端的智能机器人客服来执行。对于步骤s102,所述文本信息可以由用户通过客户端发送给智能机器人客服。用户可以在客户端上输入文本信息,客户端可以将该文本信息发送给智能机器人客服。其中,客户端可以是安装在智能手机、平板电脑或者台式电脑等电子设备上的应用程序。例如,可以是淘宝、网商银行或者支付宝等应用程序。用户在所述客户端上输入的文本信息可以是与账户操作相关的文本信息,例如:“如何注册账户”或者“如何为账户绑定手机号”等;也可以是与订单相关的文本信息,例如:“如何取消订单”或者“取消订单退款处理时效是多久”等;还可以是其他类型的文本信息。

在一些实施例中,用户还可以向所述客户端发送其他格式的信息,所述其他格式是文本以外的格式。所述客户端在接收到所述其他格式的信息之后,可以从中提取出文本信息,然后发送给智能机器人客服。例如,当所述其他格式为图片格式时,可以通过ocr(opticalcharacterrecognition,光学字符识别)技术从图片中识别出文本信息。进一步地,对于接收到或者提取出的文本信息,还可以从所述文本信息中过滤掉停用词,然后将过滤后的文本信息发送给智能机器人客服。

对于步骤s104,智能机器人客服可以对所述文本信息进行分类,以确定所述文本信息所属的类别。例如,将“如何注册账户”和“如何为账户绑定手机号”划分为“账户操作”类别;又例如,将“如何取消订单”和“取消订单退款处理时效是多久”划分为订单类别。本步骤中所述的类别可以是类别数据库中的类别,其中,所述类别数据库中包括多个类别,每个类别可以根据实际需求预先设定。如果有需要,还可以定期对所述类别数据库中的类别进行更新,更新方式包括建立新类别、删除不常用类别以及调整现有类别(比如调整现有类别的名称)等。每个类别对应一组应答信息,用于所述智能机器人客服对所述文本信息进行回复。所述智能机器人客服在确定所述文本信息所属的类别之后,可以在所述类别对应的应答信息中查找与所述文本信息最匹配的应答信息,并将查找到的应答信息返回至所述客户端。通过分类,能够提高应答的准确性以及效率。

第二文本分类模型是比第一文本分类模型特征提取能力弱的机器学习模型。可以采用一个规模比第一文本分类模型小的模型作为第二文本分类模型,这里的规模可以指模型参数的数量或者模型的层数,也可以指模型的其他特征。“小”是相对于第一文本分类模型的特征而言的,例如,第二文本分类模型的模型参数的数量比第一文本分类模型少,或者第二文本分类模型的模型层数比第一文本分类模型少,表示第二文本分类模型是比第一文本分类模型规模小的机器学习模型。在实际应用中,第二文本分类模型的规模可以比第一文本分类模型的规模小至少一个量级。例如,第二文本分类模型的模型参数的数量比第一文本分类模型少至少一个量级,或者第二文本分类模型的模型层数比第一文本分类模型少至少一个量级。

第一文本分类模型和第二文本分类模型均可以是各种类别的机器学习模型,例如,神经网络模型、决策树模型、贝叶斯分类器等,第一文本分类模型和第二文本分类模型的类型可以相同,也可以不同,本公开对此不做限定。为了防止因第一文本分类模型过拟合导致的分类结果不准确,第二文本分类模型可以采用欠拟合的机器学习模型。

用于训练第一文本分类模型的每条第一训练文本共包括两个类别标签,即,由第二文本分类模型输出的预测类别,以及第一训练文本的真实类别。由第二文本分类模型输出的预测类别和第一训练文本的真实类别可能相同,也可能不同。例如,当第一训练文本是“如何为账户绑定手机号”时,其对应的预测类别和真实类别可能分别是“账户安全类别”和“账户操作类别”。

通过特征提取能力相对低的第二文本分类模型输出第一训练文本的预测类别,再通过由第一训练文本以及第一训练文本的真实类别和预测类别训练出的第一文本分类模型对接收到的文本信息进行分类。由于第二文本分类模型的特征提取能力小于第一文本分类模型,因此,通过第二文本分类模型能够对第一文本分类模型进行约束,从而可以有效控制第一文本分类模型的过拟合,从而提高文本分类的准确性。

在一些实施例中,如图2a所示,所述第二文本分类模型通过以下方式训练得到:将第二训练文本作为所述第二文本分类模型的输入,将所述第二训练文本的真实类别作为所述第二文本分类模型的输出,以训练所述第二文本分类模型。

在训练过程中,可以获取所述第二训练文本的真实类别的id号,所述id号用于唯一标识所述第二训练文本的各个真实类别,可以将所述第二训练文本的真实类别在类别数据库中的序号作为所述id号。还可以将所述第二训练文本转换为向量,例如,可采用word2vec技术将所述第二训练文本转换为向量,当然,也可以采用其他方式进行转换,本说明书对此不做限制。然后,将所述向量作为所述第二文本分类模型的输入,将所述id号作为所述第二文本分类模型的输出,训练所述第二文本分类模型。

在一些实施例中,如图2b所示,所述第一文本分类模型通过以下方式训练得到:将所述第一训练文本输入所述第二文本分类模型,获取所述第一预测类别;将所述第一训练文本作为第一文本分类模型的输入,并将所述第一训练文本的真实类别和所述第一预测类别共同作为所述第一文本分类模型的输出,以训练所述第一文本分类模型。

在本实施例中,训练所述第一文本分类模型的方式与训练所述第二文本分类模型的方式类似,区别在于,所述第一文本分类模型的输出包括两个类别标签。在训练过程中,也可以将两个类别分别转换为id号,并将第一训练文本转换为向量,此处不再赘述。

在一些实施例中,所述方法还包括:若不满足预设的训练终止条件,将所述第一文本分类模型作为所述第二文本分类模型,重新训练第一文本分类模型。

本说明书实施例在模型训练过程中进行多次重复通过一个特征提取能力较弱的模型来训练一个特征提取能力较强的模型的过程,然后,再将训练出的模型作为特征提取能力较弱的模型,来训练一个特征提取能力更强的模型,不断重复上述步骤,直到满足训练终止条件。其中,该训练终止条件可以是训练次数达到预设次数阈值,也可以是其他约束条件。

其中,所述第一文本分类模型输出的所述第一训练文本的第二预测类别满足预设的第一损失函数,所述第一预测类别满足预设的第二损失函数。所述第二损失函数是所述第二文本分类模型对所述第一训练文本的类别进行预测的损失函数。由于第二文本分类模型输出的输出类别作为第一文本分类模型对第一训练文本的类别进行预测的参考类别,因此,第二损失函数也可称为第一文本分类模型的软损失函数(softtargetloss);相对地,第一损失函数为第一文本分类模型的硬损失函数(hardtargetloss)。同理,所述第二损失函数是第二文本分类模型的硬损失函数,第一损失函数为第二文本分类模型的软损失函数。

如图3所示,是经过多次训练得到第一文本分类模型的示意图。其中,先以预设的损失函数为约束条件,并根据第二训练文本训练出一个规模较小的小模型(即,第二文本分类模型),然后,将该小模型作为老师模型(teacher),将该小模型的损失函数以及规模较大的大模型(即,第一文本分类模型)的损失函数共同作为约束条件,并根据第一训练文本来训练一个大模型,训练出的大模型称为学生模型(student)。然后,将该学生模型作为老师模型,按照上面的方式再训练出一个更大的学生模型。重复这个过程n次,得到最终部署上线的第一文本分类模型。

应当说明的是,用来训练规模较小的机器学习模型的训练数据称为第二训练文本,用来训练规模较大的机器学习模型的训练数据称为第一训练文本。第一训练文本与第二训练文本可以相同,也可以不同。

在一些实施例中,训练所述第一文本分类模型的步骤包括:对所述真实类别和所述第一预测类别进行加权处理;将所述第一训练文本作为第一文本分类模型的输入,并将加权后的真实类别和加权后的第一预测类别共同作为所述第一文本分类模型的输出,经过若干次迭代,以训练所述第一文本分类模型;在迭代过程中,逐渐减小所述第一预测类别的权重,直至所述第一预测类别的权重减小到第一权重值,并逐渐增大所述真实类别的权重,直至所述真实类别的权重增大到第二权重值;所述第一权重值小于所述第二权重值,且所述第一预测类别的初始权重大于所述真实类别的初始权重。

在本实施例中,训练第一文本分类模型的过程中可以进行多次迭代,每次迭代时,为第一训练文本的预测类别和真实类别分配不同的权重,使得随着迭代次数的增加,第一训练文本的预测类别的权重逐渐减小(例如,从1减小到0),第一训练文本的真实类别的权重逐渐增大(例如,从0增大到1)。其中,上述两个类别的权重可以分别按照预设的步长逐渐增大或者减小,预测类别的权重减小的步长与真实类别的权重增大的步长可以相同,也可以不同。通过逐渐减小第一训练文本的预测类别的权重,并逐渐增大第一训练文本的真实类别的权重,可以使最终的训练结果主要由第一训练文本的真实类别来决定。由于第二文本分类模型输出的预测类别错可能与第一训练文本的真实类别不同,通过上述方式可以避免由于第二文本分类模型输出的预测类别错误导致的训练结果不准确。

如图4所示,是本说明书一个实施例的文本分类装置的框图,所述装置可包括:

接收模块402,用于接收文本信息;

分类模块404,用于通过预先训练的第一文本分类模型对所述文本信息进行分类,以确定所述文本信息所属的类别;

其中,所述第一文本分类模型基于第一训练文本、所述第一训练文本的真实类别,以及由预先训练的第二文本分类模型输出的所述第一训练文本的第一预测类别训练得到,且所述第二文本分类模型的特征提取能力低于所述第一文本分类模型的特征提取能力。

上述文本分类装置中各个模块的功能和作用的实现过程具体详情见上述文本分类方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本说明书装置的实施例可以应用在计算机设备上,例如服务器或终端设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在文件处理的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本说明书装置所在计算机设备的一种硬件结构图,除了图5所示的处理器502、内存504、网络接口506、以及非易失性存储器508之外,实施例中装置所在的服务器或电子设备,通常根据该计算机设备的实际功能,还可以包括其他硬件,对此不再赘述。

相应地,本说明书实施例还提供一种计算机存储介质,所述存储介质中存储有程序,所述程序被处理器执行时实现上述任一实施例中的方法。

相应地,本说明书实施例还提供一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例中的方法。

本说明书实施例可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。计算机可用存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

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

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

以上所述仅为本公开的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。

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