模型训练、词条分类方法、装置、设备、存储介质及程序与流程

文档序号:26101228发布日期:2021-07-30 18:12阅读:46来源:国知局
模型训练、词条分类方法、装置、设备、存储介质及程序与流程

本公开涉及人工智能中的机器学习和自然语言处理技术领域,尤其涉及一种模型训练、词条分类方法、装置、设备、存储介质及程序。



背景技术:

词条是构成网络百科全书的基本单元,是对各种概念、事物、现象及最新发现等概念的解释。

在词条的各类应用场景中,通常是根据词条的类别对词条进行处理,因此,词条类别的准确性直接影响词条质量以及词条应用的效果。通常,一个词条的类别是由用户在创建该词条的过程中从多个预设类别中手动选择的,受到用户主观因素的影响,使得词条类别的准确性较低。



技术实现要素:

本公开提供了一种模型训练、词条分类方法、装置、设备、存储介质及程序。

根据本公开的第一方面,提供了一种分类模型的训练方法,包括:

获取预设的多个对象类别,以及所述多个对象类别中不同对象类别之间的交集关系,具有交集关系的不同对象类别所指示的对象中存在重叠部分;

根据所述多个对象类别中不同对象类别之间的交集关系,以及所述多个对象类别对应的训练样本,进行子模型训练,得到所述分类模型;其中,所述分类模型包括多个所述子模型,具有交集关系的对象类别所对应的子模型不同。

根据本公开的第二方面,提供了一种词条分类方法,包括:

获取待分类词条的内容;

将所述待分类词条的内容输入已训练好的分类模型,所述分类模型包括多个子模型;

根据所述多个子模型的输出结果,确定所述词条对应的至少一个目标类别;

其中,所述分类模型是采用如第一方面所述的方法训练得到的。

根据本公开的第三方面,提供了一种分类模型的训练装置,包括:

获取模块,用于获取预设的多个对象类别,以及所述多个对象类别中不同对象类别之间的交集关系,具有交集关系的不同对象类别所指示的对象中存在重叠部分;

训练模块,用于根据所述多个对象类别中不同对象类别之间的交集关系,以及所述多个对象类别对应的训练样本,进行子模型训练,得到所述分类模型;其中,所述分类模型包括多个所述子模型,具有交集关系的对象类别所对应的子模型不同。

根据本公开的第四方面,提供了一种词条分类装置,包括:

获取模块,用于获取待分类词条的内容;

处理模块,用于将所述待分类词条的内容输入已训练好的分类模型,所述分类模型包括多个子模型;

确定模块,用于根据所述多个子模型的输出结果,确定所述词条对应的至少一个目标类别;

其中,所述分类模型是采用如第一方面所述的方法训练得到的。

根据本公开的第五方面,提供了一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面所述的方法,或者,执行第二方面所述的方法。

根据本公开的第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行第一方面所述的方法,或者,执行第二方面所述的方法。

根据本公开的第七方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得电子设备执行第一方面所述的方法。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本公开的限定。其中:

图1为本公开实施例提供的一种系统架构的示意图;

图2为词条创建过程的一组用户界面示意图;

图3为本公开实施例提供的一种分类模型的训练方法的流程示意图;

图4为本公开实施例提供的每次迭代训练的流程示意图;

图5为本公开实施例提供的一种分类模型的示意图;

图6为本公开实施例提供的一种词条分类方法的流程示意图;

图7为本公开实施例提供的词条创建过程的一组用户界面的示意图;

图8为本公开实施例提供的一种分类模型的训练装置的结构示意图;

图9为本公开实施例提供的一种词条分类装置的结构示意图;

图10为本公开实施例提供的一种电子设备的结构示意图。

具体实施方式

以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

本公开提供一种模型训练、词条分类方法、装置、设备、存储介质及程序,应用于人工智能中的机器学习和自然语言处理技术领域,以提升词条类别的准确性。

网络百科全书是由大量的互联网用户分享贡献的知识性百科全书。词条是构成网络百科全书的基本单元,是对各种概念、事物、现象及最新发现等概念的解释。网络百科全书中的词条是由互联网用户创建的。下面结合图1对本公开实施例的系统架构进行介绍。

图1为本公开实施例提供的一种系统架构的示意图。如图1所示,该系统架构100可以包括:终端设备101、网络102和服务器103。网络102用以在终端设备101和服务器103之间提供通信链路。网络102可以包括各种连接类型、例如:有线、无线通信链路等。

终端设备101为具有显示屏并支持互联网访问的各种电子设备,包括但不限于:手持终端(例如手机、pad等)、笔记本电脑、台式电脑、车载终端、智能穿戴设备等。终端设备101可以安装有浏览器应用、搜索引擎应用等。用户可以通过终端设备101搜索词条,浏览词条的内容,还可以创建或者编辑词条。

服务器103可以是提供各种服务的服务器,例如:网络百科全书服务器。服务器103可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtualprivateserver",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。

应理解,图1中的终端设备、网络、服务器的数目仅仅是示意性的。根据实际需要,可以具有任意数目的终端设备、网络和服务器。

为了便于理解,下面以一个具体的示例描述词条的创建过程。

图2为词条创建过程的一组用户界面示意图。如图2所示,在终端设备的界面201中,用户可以输入待创建的词条的名称,比如“专利”,用户点击“创建词条”按钮后,跳转到界面202。在界面202中,展示有预先为词条划分的多个类别,以供用户选择待创建词条所属的类别。继续参见界面202,以用户选择“类型4”为例,当用户点击确定按钮,跳转到界面203。在界面203中展示有类型4对应的信息模板,用户可以在该信息模板中填写待创建词条的相关内容。用户填写完成后,可以点击提交按钮,以将待创建词条的内容上传至服务器进行审核。审核通过后,该词条创建成功。若审核不通过,则服务器将审核结果反馈给终端设备,以便用户根据审核结果进行修改。

由图2所示的词条创建过程可见,目前词条的类别是由用户在创建词条的过程中从预先划分的多个类别中手动选择的,受到用户的知识水平、认知程度等主观因素的影响,使得词条类别的准确性无法保证,导致目前已创建的词条中存在较多的类别错误的词条。

另外,预先为词条划分的多个类别中,可能存在类别交叉的情况,也就是说,不同类别之间指示的词条可能存在交集。例如,假设预先划分的类别中包括“历史事件”和“战役”两个类别,有些词条可能同时属于这两个类别。而基于图2所示的词条创建过程,用户只能在预先划分的类别中选择其中一个类别,使得词条的类别无法对词条的内容进行充分刻画,导致词条类别的完备性欠佳。

进一步的,由于不同类别对应的词条信息模板不同,当用户选择的类别不准确时,会直接导致采用的信息模板不够准确,从而影响词条的质量。另外,在基于词条的各类应用场景中,比如词条筛选、词条检索、词条推荐等场景,通常是根据词条的类别对词条进行相关处理,因此,词条类别的准确性还会直接影响词条应用的效果。

为了解决上述问题中的至少一个,本公开提供的技术方案中,可以基于现有的词条类别体系,训练得到分类模型,利用分类模型对词条进行分类,从而提高词条类别的准确性。

进一步的,在训练分类模型时,考虑不同类别之间的交集关系,使得具有交集关系的类别对应分类模型中的不同子模型。这样,当利用分类模型对待分类词条进行分类时,可以根据多个子模型的输出结果,确定出该词条的一个类别,或者具有交集关系的多个类别,进一步提高词条的准确性和完备性。

下面以具体地实施例对本公开的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

图3为本公开实施例提供的一种分类模型的训练方法的流程示意图。本实施例的方法可以由服务器执行,还可以由其他电子设备执行。本实施例训练得到的分类模型可以部署到终端设备中,或者部署到服务器中。如图3所示,本实施例的方法包括:

s301:获取预设的多个对象类别,以及所述多个对象类别中不同对象类别之间的交集关系,具有交集关系的不同对象类别所指示的对象中存在重叠部分。

本实施例训练的分类模型可用于对对象进行分类。

应理解,不同的分类场景中的对象可以不同。例如,针对词条分类场景,对象可以为词条;针对用户分类场景,对象可以为用户;针对产品分类场景,对象可以为产品;等等。为了便于理解,本实施例涉及举例时,以词条分类场景为例进行描述,其他分类场景的具体实现是类似的。

具体的,可以事先为对象划分多个对象类别。将事先划分的多个对象类别确定为s301中的预设的多个对象类别。例如,以词条为例,可以将现有网络百科全书中各词条的现有类别,确定为预设的多个对象类别。

本实施例中,不同对象类别之间可以存在交集关系。其中,具有交集关系的不同对象类别所指示的对象中存在重叠部分。也就是说,存在一些对象同时属于具有交集关系的多个不同对象类别。

举例而言,以词条为例,假设事先为词条划分了100个类别。这100个类别中至少部分类别之间具有交集关系。例如,“历史事件”和“战役”这两个类别具有交集关系,即,有些词条可以属于“历史事件”类别,也可以属于“战役”类别。

应理解,可以是两个不同对象类别之间存在交集关系,也可以更多个不同对象类别之间存在交集关系,本公开实施例对此不作限定。

具体的,可以根据事先对对象类别的划分方式,确定对象类别之间的交集关系。还可以通过对现有对象以及现有对象的现有类别进行分析,确定出对象类别之间的交集关系。

s302:根据所述多个对象类别中不同对象类别之间的交集关系,以及所述多个对象类别对应的训练样本,进行子模型训练,得到所述分类模型;其中,所述分类模型包括多个所述子模型,具有交集关系的对象类别所对应的子模型不同。

本实施例中,训练后的分类模型中可以包括多个子模型。在训练过程中,根据不同对象类别之间的交集关系以及各对象类别对应的训练样本进行子模型训练,使得具有交集关系的对象类别所对应的子模型不同。一个对象类别对应的子模型可用于确定待分类对象是否属于该对象类别。

需要说明的是,本实施例中,对于预设的多个对象类别与多个子模型之间的对应关系不作进一步限定,只需要保证具有交集关系的对象类别所对应的子模型不同即可。一个示例中,多个对象类别与多个子模型之间可以是一一对应关系,这样即可保证具有交集关系的对象类别所对应的子模型不同。另一个示例中,不具有交集关系的多个对象类别可以对应一个子模型。

举例而言,以词条为例,假设事先为词条划分为10个类别,其中,类别1、类别2和类别3具有交集关系,其余类别之间不具有交集关系,则类别与子模型的对应关系中,需要满足类别1、类别2和类别3中任意两个类别所对应的子模型均不同即可。一个示例中,对应关系可以如下:类别1、类别4-9对应子模型1,类别2对应子模型2,类别3对应子模型3。另一个示例中,对应关系可以如下:类别1、类别4、类别5对应子模型1,类别2、类别6、类别7对应子模型2,类别3、类别8、类别9、类别10对应子模型3。需要说明的是,上述两个示例仅为举例说明,实际应用中可以采用其他的对应关系。

由于本实施例训练后的分类模型包括多个子模型,且具有交集关系的不同对象类别对应不同的子模型。这样,针对某个待分类对象,每个子模型可以确定出该待分类对象的一个类别,进而通过多个子模型可以为该待分类对象确定出一个或者多个对象类别。应理解,当为某个待分类对象确定出多个对象类别时,该多个对象类别之间可以具有交集关系。

举例而言,以词条为例,假设词条的多个类别中包括“历史事件”和“战役”,由于上述两个类别之间具有交集关系,因此,上述两个类别分别对应不同的子模型。例如,“历史事件”类别可以对应分类模型中的子模型1,“战役”类别可以对应分类模型中的子模型2。这样,当利用分类模型对某个词条进行分类时,子模型1可以确定出词条是否属于“历史事件”类别,子模型2可以确定出词条是否属于“战役”类别。

假设待分类词条为“九一八事变”,若子模型1的分类结果为属于“历史事件”类别,且子模型2的分类结果为属于“战役”类别,则可以确定出该词条同时属于“历史事件”和“战役”两个类别。这样,可以为该词条分配两个类别,利用两个类别对词条内容的刻画更加准确和充分。

本实施例提供的分类模型的训练方法,包括:获取预设的多个对象类别,以及所述多个对象类别中不同对象类别之间的交集关系,具有交集关系的不同对象类别所指示的对象中存在重叠部分,根据所述多个对象类别中不同对象类别之间的交集关系,以及所述多个对象类别对应的训练样本,进行子模型训练,得到分类模型;其中,所述分类模型包括多个所述子模型,具有交集关系的对象类别所对应的子模型不同。这样,可以利用训练后的分类模型对对象进行分类,从而提高对象类别的准确性。进一步的,由于具有交集关系的对象类别所对应的子模型不同,使得利用分类模型对待分类对象进行分类时,可以根据多个子模型的输出结果,确定出该词条的一个类别,或者具有交集关系的多个类别,进一步提高对象类别的准确性和完备性。

在上述实施例的基础上,下面结合一个具体的实施例描述分类模型的具体训练过程。

本实施例中,考虑到一些应用场景中对象类别的数量众多,对所有对象类别搜集样本数据、并对样本数据进行人工标注耗时较长,导致分类模型的训练周期较长。因此,本实施例采用迭代训练的机制,以提高训练效率。

其中,迭代训练的机制是指,每次迭代可以只针对部分对象类别进行训练。例如,第1次迭代针对对象类别1进行训练,第2次迭代针对对象类别2进行训练,第3次迭代针对对象类别3进行训练,依次类推。应理解,每次迭代过程训练的对象类别的数量可以是一个或者两个或者更多个。

这样,由于每次迭代可以针对部分对象类别进行训练,因此,在每次迭代之前只需要准备该对象类别所需的训练样本即可,可以降低准备训练样本所需耗时。进一步的,在每次迭代训练的过程中,可以同时准备下一次迭代训练所需的训练样本,使得子模型训练过程和训练样本准备工作可以并行进行,提高训练效率。

图4为本公开实施例提供的每次迭代训练的流程示意图。为了描述方便,本实施例中以每次迭代针对1个对象类别进行训练为例进行描述。如图4所示,本实施例的方法,可以包括:

s401:针对第i个对象类别,确定第i个对象类别对应的待训练子模型。

其中,在i取值为1时,在所述分类模型中生成新的子模型,将所述新的子模型作为所述第i个对象类别对应的待训练子模型;在所述i依次取2、.....、n时,根据所述多个对象类别中不同对象类别之间的交集关系,确定第i个对象类别对应的待训练子模型,所述n为所述多个对象类别中对象类别的数量。

假设本次迭代是第i次迭代,则本次迭代需要对第i个对象类别进行训练。具体的,可以根据多个对象类别中不同对象类别之间的交集关系,以及分类模型中当前各个子模型已对应的对象类别的情况,确定出第i个对象类别对应的待训练子模型。

应理解,本实施例分类模型中的子模型的数量不是预设的,而是在迭代训练过程中根据需求不断增加的。

示例性的,在训练之初,分类模型中包括零个子模型。当需要对第1个对象类别(即i=1)进行训练时,在分类模型中生成新的子模型,将新的子模型作为第1个对象类别对应的待训练子模型。

当需要对第i(i为大于1的整数)个对象类别进行训练时,从前i-1个对象类别中获取与第i个对象类别具有交集关系的参考对象类别,根据所述参考对象类别对应的子模型,确定第i个对象类别对应的待训练子模型。

一种可能的实现方式中,将分类模型当前包括的子模型中,除参考对象类别对应的子模型之外的其余子模型,作为候选子模型,根据候选子模型的数量,确定第i个对象类别对应的待训练子模型。

一个示例中,若候选子模型的数量等于1,则将该候选子模型确定为第i个对象类别对应的待训练子模型。

另一个示例中,若候选子模型的数量大于1,则获取各候选子模型分别对应的对象类别的数量,并将最大数量对应的候选子模型,确定为第i个对象类别对应的待训练子模型。也就是说,当存在多个候选子模型可用时,优先选择对应的对象类别的数量最多的子模型。这样,能够使得不具有交集关系的各对象类别尽可能集中对应到同一子模型中,有助于提升该子模型对各个对象类别的分类结果的准确性。

又一个示例中,若候选子模型的数量等于零,则在分类模型中生成新的子模型,将新的子模型作为第i个对象类别对应的待训练子模型。

s402:根据所述第i个对象类别对应的训练样本,对所述第i个对象类别对应的待训练子模型进行训练,得到所述第i个对象类别对应的子模型。

一种可能的实现方式中,所述第i个对象类别对应的训练样本可以采用如下方式得到:获取多个第一训练样本以及多个第二训练样本。其中,所述第一训练样本的人工标注类别为所述第i个对象类别,所述第二训练样本的人工标注类别为与所述第i个对象类别具有交集关系的对象类别。

示例性的,可以事先挖掘大量的对象样本。从挖掘到的对象样本中抽取部分对象样本,并对抽取出的对象样本进行人工标注。其中,抽取的对象样本包括两部分,一部分是人工标注类别为第i个对象类别(即当前待训练的对象类别),即上述的第一训练样本。另一部分是人工标注类别为与第i个对象类别具有交集关系的对象类别,即上述的第二训练样本。

这样,可以将上述的多个第一训练样本和多个第二训练样本,作为第i个对象类别对应的训练样本。由于第i个对象类别对应的训练样本中,既包括了人工标注为第i个对象类别的样本,还包括了人工标注为与第i个对象类别具有交集关系的对象类别的样本,能够提升子模型的训练效果,保证训练后的子模型对第i个对象类别的分类能力。

进一步的,可以根据所述多个第一训练样本和所述多个第二训练样本,对所述第i个对象类别对应的待训练子模型进行训练,得到所述第i个对象类别对应的子模型。

本实施例中,分类模型中的每个子模型结构相同。其中,子模型的结构可以采用任意支持多分类的模型结构。可选的,每个子模型可以采用多分类albert模型。每个子模型支持的类别数量与事先为对象划分的类别数量一致。

在生成子模型时,还可以为该子模型同步生成训练数据集,训练数据集中包括多个对象类别对应的初始样本。这些初始样本可以是采用规则挖掘到的、未经人工标注的样本对象。每个初始样本的类别是该样本对象被挖掘时具有的类别,该类别可能是不准确的,例如,以词条为例,初始样本的类别可以是用户创建词条时为词条选择的类别。

本实施例中,每个子模型的训练数据集中可以涵盖所有对象类别对应的初始样本,这样,每个子模型可以模拟全样本空间,进行全类别的训练,一方面能够有效提升子模型的准确率和召回率,另一方面便于子模型的迁移复用。

一种可能的实现方式中,对子模型的训练过程可以包括:获取待训练的子模型的训练数据集,所述训练数据集中包括多个对象类别对应的初始样本。通过利用第i个对象类别对应的训练样本对训练数据集中的初始样本进行替换,得到可用于对第i个对象类别对应的待训练子模型进行训练的训练数据集。

具体的,将多个第一训练样本替换掉所述训练数据集中的第i个对象类别对应的初始样本,并将多个第二训练样本替换掉训练数据集中的与第i个对象类别具有交集关系的对象类别对应的初始样本。经过上述替换过程后,得到替换后的训练数据集。可以利用替换后的训练数据集,对第i个对象类别对应的待训练子模型进行训练,得到第i个对象类别对应的子模型。

需要说明的是,本实施例对于每个子模型的具体训练方式不作限定,可以采用现有的训练方式,例如梯度下降、交叉熵等方式进行训练。

本实施例中,通过为子模型生成涵盖所有对象类别的训练数据集,使得每个子模型可以模拟全样本空间,这样,在针对第i个对象类别进行训练时,只需要利用第i个对象类别对应的训练样本对子模型的训练数据集中的相关样本进行替换即可,能够简化子模型的训练流程,提高训练效率。

本实施例中,通过采用迭代训练的机制,将多分类的训练过程简化为多个二分类的训练过程,一方面,在每次迭代过程中,对样本数据进行标注时,只需进行二分类标注(例如,将属于当前对象类别的样本标注为1,将属于与当前对象类别具有交集关系的对象类别的样本标注为0),简化样本标注过程。另一方面,在每次迭代过程中,只需要对当前对象类别进行二分类的训练,简化训练过程。

在上述任意实施例的基础上,下面结合一个具体的示例对分类模型的训练过程进行举例说明。

图5为本公开实施例提供的一种分类模型的示意图。以词条分类模型为例。假设词条被划分为7个类别,其中,类别1、类别2、类别3之间具有交集关系,类别6和类别7具有交集关系。则分类模型的训练过程可以包括:

针对类别1,由于当前分类模型中没有任何子模型,因此,为分类模型生成子模型1。将类别1对应的训练样本替换掉子模型1的训练数据集中的相关样本,利用替换后的训练数据集对子模型1进行训练。训练后的子模型1具有对类别1的分类能力。

针对类别2,由于类别1与类别2具有交集关系,且类别1对应子模型1,可见,当前分类模型中没有可用于类别2的候选子模型,因此,为分类模型生成子模型2。将类别2对应的训练样本替换掉子模型2的训练数据集中的相关样本,利用替换后的训练数据集对子模型2进行训练。训练后的子模型2具有对类别2的分类能力。

针对类别3,由于类别3与类别1、类别2具有交集关系,且类别1对应子模型1、类别2对应子模型2,可见,当前分类模型中没有可用于类别3的候选子模型,因此,为分类模型生成子模型3。将类别3对应的训练样本替换掉子模型3的训练数据集中的相关样本,利用替换后的训练数据集对子模型3进行训练。训练后的子模型3具有对类别3的分类能力。

针对类别4,由于类别4与类别1-3均不具有交集关系,因此,子模型1、子模型2和子模型3均可作为类别4的候选子模型。可以将子模型1作为类别4的待训练子模型。将类别4对应的训练样本替换掉子模型1的训练数据集中的相关样本,利用替换后的训练数据集对子模型1进行训练。训练后的子模型1具有对类别4的分类能力。

针对类别5,由于类别5与类别1-3均不具有交集关系,因此,子模型1、子模型2和子模型3均可作为类别5的候选子模型。由于子模型1对应的类别数量最多,可以将子模型1作为类别5的待训练子模型。将类别5对应的训练样本替换掉子模型1的训练数据集中的相关样本,利用替换后的训练数据集对子模型1进行训练。训练后的子模型1具有对类别5的分类能力。

针对类别6,由于类别6与类别1-3均不具有交集关系,因此,子模型1、子模型2和子模型3均可作为类别6的候选子模型。由于子模型1对应的类别数量最多,可以将子模型1作为类别6的待训练子模型。将类别6对应的训练样本替换掉子模型1的训练数据集中的相关样本,利用替换后的训练数据集对子模型1进行训练。训练后的子模型1具有对类别6的分类能力。

针对类别7,由于类别7与类别6具有交集关系,且类别6对应子模型1,因此,子模型1不可用于类别7,子模型2和子模型3均可作为类,7的候选子模型。可以将子模型2作为类别7的待训练子模型。将类别7对应的训练样本替换掉子模型2的训练数据集中的相关样本,利用替换后的训练数据集对子模型2进行训练。训练后的子模型2具有对类别7的分类能力。

经过上述训练过程之后,得到如图5所示的分类模型。如图5所示,该分类模型中包括3个子模型,其中,子模型1具有对类别1、类别4、类别5、类别6进行分类的能力,子模型2具有对类别2、类别7进行分类的能力,子模型3具有对类别3进行分类的能力。通过上述的训练过程,使得具有交集关系的不同类别均对应不同的子模型。

需要说明的是,上述示例中是以每次迭代过程针对1个类别进行训练为例进行示意的,实际应用中,每次迭代过程还可以针对多个类别进行训练。例如,第1次迭代针对类别1至类别4进行训练,第2次迭代针对类别5至类别7进行训练。这样,在每次迭代中,可以分别针对每个类别执行确定待训练子模型、训练样本替换的过程,然后,再统一进行子模型训练。这样,可以降低训练次数,提高训练效率。

在图4所示实施例的基础上,得到第i个对象类别对应的子模型之后,还可以对该子模型的分类可靠性进行测试。

一种可能的实现方式中,获取多个测试样本,每个测试样本具有人工标注类别,将多个测试样本输入第i个对象类别对应的子模型,得到该子模型对所述多个训练样本的分类结果。根据各测试样本的所述分类结果和所述人工标注类别,确定该子模型对第i个对象类别的分类可靠性。

示例性的,根据各个测试样本的分类结果和人工标注类别,可以确定出子模型对第i个对象类别的分类准确率和/或召回率。

另外,若该子模型还针对第j个对象类别(j为小于i的整数)进行训练过,则还可以根据各个测试样本的分类结果和人工标注类别,确定出子模型对第j个对象类别的分类准确率和召回率。进一步的,通过将子模型对第j个对象类别的分类准确率和召回率,与该子模型在本次迭代之前对第j个对象类别的分类准确率和召回率进行对比,确定出本次迭代过程对第j个对象类别的分类可靠性的稳定性。能够理解,由于本次迭代过程中仅更新与第i个对象类别和与第i个对象类别具有交集关系的对象类别的训练样本,即,本次迭代过程更新的训练样本与第j个对象类别没有交集,因此,通常情况下,本次迭代过程不会对第j个对象类别的分类可靠性造成影响。

一些可能的实现方式中,在确定出子模型对第i个对象类别的分类可靠性之后,若该分类可靠性大于或者等于预设阈值,则确定子模型对第i个对象类别的分类可靠性合格。

若该分类可靠性小于预设阈值,则确定子子模型对第i个对象类别的分类可靠性不合格。进一步的,可以生成第i个对象类别对应的辅助分类参数。其中,辅助分类参数可以包括下述中的一项或者多项:概率阈值、白名单关键词、黑名单关键词。

辅助分类参数用于确定所述子模型的输出结果中最大概率对应的类别是否可用,以进一步提高分类结果的准确性。为了避免重复描述,本实施例对于各辅助分类参数的具体使用过程不作详述,可以参见后续实施例的详细描述。

上述各实施例重点描述了分类模型的训练过程。下面结合一个具体的实施例,描述利用分类模型对词条进行分类的过程。

图6为本公开实施例提供的一种词条分类方法的流程示意图。如图6所示,本实施例的方法包括:

s601:获取待分类词条的内容。

s602:将待分类词条的内容输入已训练好的分类模型,分类模型包括多个子模型。

s603:根据多个子模型的输出结果,确定词条对应的至少一个目标类别。

其中,本实施例的分类模型可以是采用上述任一实施例的分类模型的训练方法训练得到的。

具体的,可以根据每个子模型的输出结果,确定出每个子模型对词条的内容进行分类得到的类别结果;根据各子模型对应的类别结果,确定词条的至少一个目标类别。

一种可能的实现方式中,每个子模型的输出结果包括多个预设类别对应的概率。该多个预设类别可以是事先为词条划分的类别。每个子模型可以根据词条的内容,确定出该词条属于各个预设类别的概率。例如,假设事先为词条划分为10个类别,则每个子模型会输出10个类别中每个类别对应的概率。

这样,可以根据每个子模型的输出结果,将最大概率对应的类别确定为候选类别。进而可以结合子模型对该候选类别的分类可靠性,确定出子模型对词条的内容进行分类得到的类别结果。示例性的,结合图5所示的示例,子模型1得到的类别结果为下述中的任一:类别1、类别4、类别5、类别6、未知类别。子模型2得到的类别结果为下述中的任一:类别2、类别7、未知类别。子模型3得到的类别结果为下述中的任一:类别3、未知类别。

一些示例中,若该子模型对候选类别的分类可靠性大于或者等于预设阈值,即该子模型对候选类别的分类可靠性合格,则将该候选类别确定为子模型对词条的内容进行分类得到的类别结果。

另一些示例中,若子模型对候选类别的分类可靠性小于预设阈值,则根据候选类别对应的辅助分类参数,确定出子模型对词条的内容进行分类得到的类别结果。

其中,辅助分类参数可以包括下述中的一项或者多项:概率阈值、白名单关键词、黑名单关键词。根据候选类别对应的辅助分类参数,确定出子模型对词条的内容进行分类得到的类别结果,可以包括下述中的至少一项:

(1)若候选类别对应的概率大于或者等于概率阈值,则将该候选类别确定为所述类别结果。

(2)若候选类别对应的概率小于所述预设阈值,则将所述类别结果确定为未知类别。

(3)若词条内容中包括所述白名单关键词,则将该候选类别确定为所述类别结果。

(4)若词条内容中包括所述黑名单关键词,则将所述类别结果确定为未知类别。

进一步的,将各个子模型得到的类别结果进行合并,除去未知类别之外的各类别结果,作为词条的目标类别。

举例而言,结合图5所示的分类模型,若将待分类的词条a输入分类模型,子模型1得到的类别结果为类别1,子模型2得到的类别结果为类别2,子模型3得到的类别结果为类别3,则该词条a的目标类别为:类别1、类别2和类别3。

若将待分类的词条b输入分类模型,子模型1得到的类别结果为类别4,子模型2得到的类别结果为未知类别,子模型3得到的类别结果为未知类别,则该词条a的目标类别为:类别4。

若将待分类的词条c输入分类模型,子模型1得到的类别结果为未知类别,子模型2得到的类别结果为类别7,子模型3得到的类别结果为未知类别,则该词条a的目标类别为:类别7。

本实施例中,通过利用已训练的分类模型对词条进行分类,与用户手动选择词条的类别相比,能够提高词条类别的准确性。进一步的,由于分类模型中具有交集关系的类别所对应的子模型不同,使得利用分类模型对词条进行分类时,可以根据多个子模型的输出结果,确定出该词条的一个类别,或者具有交集关系的多个类别,进一步提高词条类别的准确性和完备性。

下面结合两个具体的应用场景对本公开实施例提供的词条分类方法进行描述。

一些示例中,本实施例的词条分类方法可用于词条创建过程。图7为本公开实施例提供的词条创建过程的一组用户界面的示意图。如图7所示,界面701至界面703的具体交互过程与图2所示类似,此处不作赘述。

在界面703中,当终端设备检测到用户点击提交按钮,则终端设备获取用户在界面703中填写的词条的内容,并将词条的内容发送至服务器。服务器部署有分类模型(该分类模型的训练过程可以参见图3或图4所示实施例)。服务器将词条内容输入分类模型,得到该词条对应的一个或者多个目标类别(具体参见图6所示实施例)。若该词条的目标类别与用户选择的类别不一致,则服务器向终端设备发送提示信息。进而,终端设备展示对该提示信息进行展示,如界面704所示。提示信息用于提示用户该词条的目标类别。

其中,上述的不一致包括如下两种情况:一种情况是用户选择的类别是目标类别的子集,例如用户选择的类别为类别1,而分类模型预测得到的目标类别为类别1和类别2。另一种情况是用户选择类别与目标类别不同,例如,用户选择的类别是类别4,而分类模型预测得到的目标类别为类别5。

另一些示例中,本实施例的词条分类方法还可用于对已创建的词条进行分类。示例性的,网络百科全书中已创建的每个词条存储在服务器中。服务器部署有分类模型(该分类模型的训练过程可以参见图3或图4所示实施例)。服务器将每个词条的内容输入分类模型,得到该词条对应的一个或者多个目标类别(具体参见图6所示实施例)。若该词条的目标类别与该词条的当前类别(用户创建词条时选择的类别)不一致,则服务器将该词条的当前类别修改为目标类别。或者,服务器向创建该词条的用户的终端设备发送提示信息,以便用户根据提示信息对该词条的类别进行修改。

图8为本公开实施例提供的一种分类模型的训练装置的结构示意图。本实施例的装置可以为软件和/或硬件的形式。如图8所示,本实施例提供的分类模型的训练装置800,可以包括:获取模块801和训练模块802。

其中,获取模块801,用于获取预设的多个对象类别,以及所述多个对象类别中不同对象类别之间的交集关系,具有交集关系的不同对象类别所指示的对象中存在重叠部分;

训练模块802,用于根据所述多个对象类别中不同对象类别之间的交集关系,以及所述多个对象类别对应的训练样本,进行子模型训练,得到所述分类模型;其中,所述分类模型包括多个所述子模型,具有交集关系的对象类别所对应的子模型不同。

一种可能的实现方式中,所述训练模块802包括:

确定单元,用于针对第i个对象类别,在i取值为1时,在所述分类模型中生成新的子模型,将所述新的子模型作为所述第i个对象类别对应的待训练子模型;在所述i依次取2、.....、n时,根据所述多个对象类别中不同对象类别之间的交集关系,确定第i个对象类别对应的待训练子模型,所述n为所述多个对象类别中对象类别的数量;

训练单元,用于根据所述第i个对象类别对应的训练样本,对所述第i个对象类别对应的待训练子模型进行训练,得到所述第i个对象类别对应的子模型。

一种可能的实现方式中,所述确定单元包括:

第一获取子单元,用于从前i-1个对象类别中获取与所述第i个对象类别具有交集关系的参考对象类别;

确定子单元,用于根据所述参考对象类别对应的子模型,确定所述第i个对象类别对应的待训练子模型,所述第i个对象类别对应的待训练子模型与所述参考对象类别对应的子模型不同。

一种可能的实现方式中,所述确定子单元具体用于:

将所述分类模型当前包括的子模型中,除所述参考对象类别对应的子模型之外的其余子模型,作为候选子模型;

根据所述候选子模型的数量,确定所述第i个对象类别对应的待训练子模型。

一种可能的实现方式中,所述确定子单元具体用于:

若所述候选子模型的数量等于1,则将所述候选子模型确定为所述第i个对象类别对应的待训练子模型;或者,

若所述候选子模型的数量大于1,则获取各候选子模型分别对应的对象类别的数量,并将最大数量对应的候选子模型,确定为所述第i个对象类别对应的待训练子模型;或者,

若所述候选子模型的数量等于零,则在所述分类模型中生成新的子模型,将所述新的子模型作为所述第i个对象类别对应的待训练子模型。

一种可能的实现方式中,所述训练单元包括:

第二获取子单元,用于获取多个第一训练样本,以及多个第二训练样本;其中,所述第一训练样本的人工标注类别为所述第i个对象类别,所述第二训练样本的人工标注类别为与所述第i个对象类别具有交集关系的对象类别;

训练子单元,用于根据所述多个第一训练样本和所述多个第二训练样本,对所述第i个对象类别对应的待训练子模型进行训练,得到所述第i个对象类别对应的子模型。

一种可能的实现方式中,所述训练子单元具体用于:

获取所述第i个对象类别对应的待训练子模型的训练数据集,所述训练数据集中包括所述多个对象类别对应的初始样本;

将所述多个第一训练样本替换掉所述训练数据集中的所述第i个对象类别对应的初始样本;

将所述多个第二训练样本替换掉所述训练数据集中的与所述第i个对象类别具有交集关系的对象类别对应的初始样本;

利用替换后的所述训练数据集,对所述第i个对象类别对应的待训练子模型进行训练,得到所述第i个对象类别对应的子模型。

一种可能的实现方式中,所述装置还包括测试模块;所述测试模块用于:

获取多个测试样本,每个测试样本具有人工标注类别;

将所述多个测试样本输入所述第i个对象类别对应的子模型,得到所述子模型对所述多个测试样本的分类结果;

根据各测试样本的所述分类结果和所述人工标注类别,确定所述子模型对所述第i个对象类别的分类可靠性。

一种可能的实现方式中,所述装置还包括生成模块;所述生成模块用于:

若所述分类可靠性小于预设阈值,则生成所述第i个对象类别对应的辅助分类参数;其中,所述辅助分类参数包括下述中的一项或者多项:概率阈值、白名单关键词、黑名单关键词;所述辅助分类参数用于确定所述子模型的输出结果中最大概率对应的类别是否可用。

本实施例提供的分类模型的训练装置,可用于执行上述方法实施例中的分类模型的训练方法,其实现原理和技术效果类似,此处不作赘述。

图9为本公开实施例提供的一种词条分类装置的结构示意图。本实施例的装置可以为软件和/或硬件的形式。该装置可以设置在终端设备中或者设置在服务器中。如图9所示,本实施例提供的词条分类装置900,可以包括:获取模块901,处理模块902和确定模块903。

其中,获取模块901,用于获取待分类词条的内容;

处理模块902,用于将所述待分类词条的内容输入已训练好的分类模型,所述分类模型包括多个子模型;

确定模块903,用于根据所述多个子模型的输出结果,确定所述词条对应的至少一个目标类别;

其中,所述分类模型是采用上述实施例中的分类模型的训练方法训练得到的。

一种可能的实现方式中,所述确定模块903包括:

第一确定单元,用于根据每个子模型的输出结果,确定每个子模型对所述词条的内容进行分类得到的类别结果;

第二确定单元,用于根据各子模型对应的类别结果,确定所述词条的至少一个目标类别。

一种可能的实现方式中,每个子模型的输出结果包括多个预设类别对应的概率;所述第一确定单元包括:

第一确定子单元,用于根据每个子模型的输出结果,将最大概率对应的类别确定为候选类别;

第二确定子单元,用于若所述子模型对所述候选类别的分类可靠性大于或者等于预设阈值,则将所述候选类别确定为所述类别结果;或者,

若所述子模型对所述候选类别的分类可靠性小于所述预设阈值,则根据所述候选类别对应的辅助分类参数,确定所述类别结果。

一种可能的实现方式中,所述辅助分类参数包括下述中的至少一项:概率阈值、白名单关键词、黑名单关键词;所述第二确定子单元具体用于:

若所述候选类别对应的概率大于或等于所述概率阈值,则将所述候选类别确定为所述类别结果;或者,

若所述候选类别对应的概率小于所述概率阈值,则确定所述类别结果为未知类别;或者,

若所述词条的内容中包括所述白名单关键词,则将所述候选类别确定为所述类别结果;或者,

若所述词条的内容中包括所述黑名单关键词,则确定所述类别结果为未知类别。

一种可能的实现方式中,所述第二确定单元具体用于:

将各子模型对应的类别结果中,除所述未知类别之外的每个类别结果作为所述词条的目标类别。

本实施例提供的词条分类装置,可用于执行上述实施例中的词条分类方法,其实现原理和技术效果类似,此处不作赘述。

根据本公开的实施例,本公开还提供了一种电子设备和一种可读存储介质。

根据本公开的实施例,本公开还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。

图10示出了可以用来实施本公开的实施例的示例电子设备1000的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图10所示,电子设备1000包括计算单元1001,其可以根据存储在只读存储器(rom)1002中的计算机程序或者从存储单元1008加载到随机访问存储器(ram)1003中的计算机程序,来执行各种适当的动作和处理。在ram1003中,还可存储设备1000操作所需的各种程序和数据。计算单元1001、rom1002以及ram1003通过总线1004彼此相连。输入/输出(i/o)接口1005也连接至总线1004。

设备1000中的多个部件连接至i/o接口1005,包括:输入单元1006,例如键盘、鼠标等;输出单元1007,例如各种类型的显示器、扬声器等;存储单元1008,例如磁盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1001的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和处理,例如分类模型的训练方法或者词条分类方法。例如,在一些实施例中,分类模型的训练方法或者词条分类方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由rom1002和/或通信单元1009而被载入和/或安装到设备1000上。当计算机程序加载到ram1003并由计算单元1001执行时,可以执行上文描述的分类模型的训练方法或者词条分类方法的一个或多个步骤。备选地,在其他实施例中,计算单元1001可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行分类模型的训练方法或者词条分类方法。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtualprivateserver",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。

人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

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