文本分类号的确定方法、装置以及电子设备与流程

文档序号:19635071发布日期:2020-01-07 11:54阅读:290来源:国知局
文本分类号的确定方法、装置以及电子设备与流程

本申请涉及计算机技术领域,具体而言,本申请涉及一种文本分类号的确定方法、装置以及电子设备。



背景技术:

中图法即:中国图书馆图书分类法,是我国目前通用的分类文献的工具,中图法中的类目包含类号和类名,类名是指图书分类的名称,图书分类号(即类号)是采用英文字母与阿拉伯数字相结合的混合号码,用一个字母代表一个大类,以字母顺序反映大类的次序,大类下细分的学科门类多用阿拉伯数字组成。

目前的自动分类文献的方法,一种依赖于知识库的构建,通过知识库中类目对应的关键词,确定关键词的权重后构建类目的类中心向量表示,再通过计算待标引文档与类中心向量表示的相似度预测待标引文档的分类号;一种依赖于大量的训练数据构建基础分类器,通过基础分类器预测待标引文本文档的分类号。由于中图法中类目体系庞大,现有的文献分类方法通常是针对中图法的部分类目展开,仅用了较为简单的文本自动分类方法,图书分类的精确度不高。



技术实现要素:

为了解决现有技术中所存在的问题中的至少一个,本申请实施例提供了一种文本分类号的确定方法、装置以及电子设备,本申请实施例所提供的技术方案如下:

本申请的第一方面提供了一种文本分类号的确定方法,包括:

将待分类文本分别输入第一分类模型以及第二分类模型,以获取通过第一分类模型得到的一级目标分类号以及通过第二分类模型得到的二级目标分类号;

将一级目标分类号与二级目标分类号进行匹配;

根据匹配结果,确定第三分类模型中的至少一个子分类模型,其中,子分类模型与目标级别分类号具有对应关系;

将待分类文本分别输入至各子分类模型,并确定各子分类模型的第一参数计算结果;

根据第一参数计算结果,从至少一个子分类模型中确定目标子分类模型,并将目标子分类模型对应的目标级别分类号作为待分类文本的分类号。

可选的,目标级别分类号包括第一分类号和第二分类号中任一项;

根据匹配结果,确定第三分类模型中的至少一个子分类模型,包括:

若匹配结果为一级目标分类号与二级目标分类号相匹配,则确定与二级目标分类号相匹配的至少一个第一分类号,并确定与至少一个第一分类号对应的至少一个子分类模型;

若匹配结果为一级目标分类号与二级目标分类号不相匹配,则确定与一级目标分类号相匹配的至少一个第二分类号,并确定与至少一个第二分类号对应的至少一个子分类模型。

可选的,根据第一参数计算结果,从至少一个子分类模型中确定目标子分类模型,包括:

根据第一参数计算结果,确定最大的参数计算结果对应的子分类模型为目标子分类模型。

可选的,方法还包括:

训练得到第三分类模型,第三分类模型中包括各目标级别分类号对应的子分类模型;

子分类模型包括m个分类器以及融合分类器,对于一个目标级别分类号,训练得到目标级别分类号对应的子分类模型包括:

训练得到m个分类器,m为大于1的整数;

对于目标级别分类号下的各文本,基于训练得到的m个分类器,将各文本输入至m个分类器得到各文本的m个第二参数计算结果;

基于各文本的m个第二参数计算结果,训练得到融合分类器。

可选的,训练得到m个分类器,包括:

获取目标级别分类号下的至少一个第三待训练文本;

对至少一个第三待训练文本进行处理;

基于处理后的至少一个第三待训练文本以及第三分类学习算法,训练得到m个分类器;

其中,第三学习算法包括机器学习算法以及深度学习算法中至少一项。

可选的,基于处理后的至少一个第三待训练文本以及第三分类学习算法,训练得到m个分类器,包括:

对处理后的至少一个第三待训练文本抽样m次,得到m个正例数据集合;

基于m个正例数据集合与对应的m个负例数据集合,通过第三学习算法,训练得到对应的m个第三分类器;

其中,负例数据集合中的负例数据是从与目标级别分类号不同的其他目标级别分类号下的文本中进行抽样得到的。

可选的,基于各文本的m个第二参数计算结果,训练得到融合分类器,包括:

将各文本的m个第二参数计算结果作为正例数据;

获取各文本对应的负例数据,负例数据与m个第二参数计算结果形成的正例数据对应;

基于各文本的正例数据和负例数据,训练得到融合分类器。

可选的,对于各目标级别分类号下的文本,是通过以下至少一项方式得到的:

从预设置的文本数据库中获取;

基于目标级别分类号对应的类名确定关键词,基于该关键词和预置的文本生成模型生成目标关键词,并将目标关键词作为关键词,执行基于关键词和预置的文本生成模型生成目标关键词的步骤,直至得到预置数量的关键词,并基于预置数量的关键词得到目标级别分类号下的文本;

预置的文本生成模型由文本数据库作为训练数据,基于神经网络学习算法训练得到。

本申请的第二方面提供了一种文本分类号的确定装置,包括:

第一分类号确定模块,用于将待分类文本分别输入第一分类模型以及第二分类模型,以获取通过第一分类模型得到的一级目标分类号以及通过第二分类模型得到的二级目标分类号;

匹配模块,用于将一级目标分类号与二级目标分类号进行匹配;

第一确定模块,用于根据匹配结果,确定第三分类模型中的至少一个子分类模型,其中,子分类模型与目标级别分类号具有对应关系;

第二确定模块,用于将待分类文本分别输入至各子分类模型,并确定各子分类模型的第一参数计算结果;

第二分类号确定模块,用于根据第一参数计算结果,从至少一个子分类模型中确定目标子分类模型,并将目标子分类模型对应的目标级别分类号作为待分类文本的分类号。

可选的,目标级别分类号包括第一分类号和第二分类号中任一项;

第一确定模块在根据匹配结果,确定第三分类模型中的至少一个子分类模型时,具体用于:

若匹配结果为一级目标分类号与二级目标分类号相匹配,则确定与二级目标分类号相匹配的至少一个第一分类号,并确定与至少一个第一分类号对应的至少一个子分类模型;

若匹配结果为一级目标分类号与二级目标分类号不相匹配,则确定与一级目标分类号相匹配的至少一个第二分类号,并确定与至少一个第二分类号对应的至少一个子分类模型。

可选的,第二分类号确定模块,在根据第一参数计算结果,从至少一个子分类模型中确定目标子分类模型时,具体用于:

根据第一参数计算结果,确定最大的参数计算结果对应的子分类模型为目标子分类模型。

可选的,该装置还包括:

训练模块,用于训练得到第三分类模型,第三分类模型中包括各目标级别分类号对应的子分类模型;

子分类模型包括m个分类器以及融合分类器,对于一个目标级别分类号,训练模块在训练得到目标级别分类号对应的子分类模型时,具体用于:

训练得到m个分类器,m为大于1的整数;

对于目标级别分类号下的各文本,基于训练得到的m个分类器,将各文本输入至m个分类器得到各文本的m个第二参数计算结果;

基于各文本的m个第二参数计算结果,训练得到融合分类器。

可选的,训练模块在训练得到m个分类器时,具体用于:

获取目标级别分类号下的至少一个第三待训练文本;

对至少一个第三待训练文本进行处理;

基于处理后的至少一个第三待训练文本以及第三分类学习算法,训练得到m个分类器;

其中,第三学习算法包括机器学习算法以及深度学习算法中至少一项。

可选的,训练模块在基于处理后的至少一个第三待训练文本以及第三分类学习算法,训练得到m个分类器时,具体用于:

对处理后的至少一个第三待训练文本抽样m次,得到m个正例数据集合;

基于m个正例数据集合与对应的m个负例数据集合,通过第三学习算法,训练得到对应的m个第三分类器;

其中,负例数据集合中的负例数据是从与目标级别分类号不同的其他目标级别分类号下的文本中进行抽样得到的。

可选的,训练模块在基于各文本的m个第二参数计算结果,训练得到融合分类器时,具体用于:

将各文本的m个第二参数计算结果作为正例数据;

获取各文本对应的负例数据,负例数据与m个第二参数计算结果形成的正例数据对应;

基于各文本的正例数据和负例数据,训练得到融合分类器。

可选的,对于各目标级别分类号下的文本,是通过以下至少一项方式得到的:

从预设置的文本数据库中获取;

基于目标级别分类号对应的类名确定关键词,基于该关键词和预置的文本生成模型生成目标关键词,并将目标关键词作为关键词,执行基于关键词和预置的文本生成模型生成目标关键词的步骤,直至得到预置数量的关键词,并基于预置数量的关键词得到目标级别分类号下的文本;

预置的文本生成模型由文本数据库作为训练数据,基于神经网络学习算法训练得到。

本申请第三方面,提供了一种电子设备,该电子设备包括:

电子设备包括存储器和处理器;

存储器中存储有计算机程序;

处理器,用于在运行计算机程序时执行第一方面中任一项的方法。

本申请第四方面,提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时可以执行第一方面中任一项的方法。

本申请提供的技术方案带来的有益效果是:

将待分类文本输入第一分类模型进行分类得到一级目标分类号,同时输入第二分类模型进行分类得到二级目标分类号,基于一级目标分类号与二级目标分类号的匹配结果,可以确定第三分类模型中的至少一个子分类模型,将待分类文本分别输入至各子分类模型后,确定各子分类模型的第一参数计算结果,由于子分类模型与目标级别分类号具有对应关系,可以根据第一参数计算结果确定目标子分类模型,从而将目标子分类模型对应的目标级别分类号作为待分类文本的分类号,可见,本申请经过第一分类器和第二分类器分类后,可以根据一级目标分类号和二级目标分类号的匹配结果,确定三级或三级以下分类器对应的子分类模型,又经过子分类模型分类可以得到目标级别分类号,进行了待分类文本的多级分类,提高了待分类文本的分类精确度。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。

图1为本申请文本分类号的确定方法的一个实施例示意图;

图2为本申请文本分类号的确定方法的另一个实施例示意图;

图3为本申请一级分类器的训练过程;

图4为本申请二级分类器的训练过程;

图5为本申请三级或三级以下分类器的训练过程;

图6为本申请基于关键词生成文本的实施例示意图;

图7为本申请文本分类过程的整体介绍的示意图;

图8为本申请文本分类号的确定装置的结构示意图;

图9为本申请电子设备的结构示意图。

具体实施方式

下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

为解决现有技术中待分类文本分类精确度不高的问题,本申请可以构建层次分类器实现基于中图法的文本分类标引自动化,基于中图法的层次结构,构建多层次分类器,利用中图法的前两级类目辅助实现中图法类目标引的自动化,主要研究如何将一篇待分类的文本分类到其对应的中图法分类号。

首先,需要说明的是,本申请中待分类文本以及文本数据库中的用于训练分类模型的文本,在使用前均需要经过文本预处理后再用静态向量表示,预处理阶段的具体过程是:对于存在有html、xml标签的文本需要先进行去标签化处理,然后采用分词工具对获取的自由文本进行分词,分词时使用词向量库中取出来的词汇作为自定义词典,分词后的文本进一步采用停用词表去除停用词;

静态向量表示的具体过程是:利用静态词向量库对预处理后的文本进行向量表示,基本方法是采用预处理后获得的文本的多个词的词向量,取多个词的词向量的平均向量作为文本的向量。由于词向量采用嵌入式表示,向量的维度相对传统的文本表示方式具有低维、稠密的特点,且更能表达丰富的语义特征,能够加速文本分类模型的形成。

为使本申请的目的、技术方案和优点更加清楚,下面请参照图1和图2,对本申请实施方式作进一步地详细描述。

步骤s101:将待分类文本分别输入第一分类模型以及第二分类模型,以获取通过第一分类模型得到的一级目标分类号以及通过第二分类模型得到的二级目标分类号。

如图2所示,将经过上述预处理和静态向量词表示后的待分类文本(即图中待标引文档)分别输入第一分类模型和第二分类模型,第一分类模型也可以称之为一级分类器或第一层分类器(firstlayerclassifier,flc),第二分类模型也可以称之为二级分类器或第二层分类器(secondlayerclassifier,slc),可以得到通过第一分类模型确定得到一级目标分类号c1,以及通过第二分类模型确定得到的二级目标分类号c2,这里是第一分类模型和第二分类模型的使用过程,第一分类模型和第二分类模型的训练过程将在后续实施例中介绍。

在本实施例中,在利用第一分类模型对待分类文本进行分类时,第一分类模型中包括各一级分类号对应的分类器,各一级分类号对应的分类器分别输出待分类文本的置信度或概率值,就是该待分类文本属于各分类器对应的一级分类号的概率或者置信度,从而将输出的概率或者置信度最大的分类器对应的一级分类号作为待分类文本的一级目标分类号。

同样的,在利用第二分类模型对待分类文本进行分类时,第二分类模型中包括各二级分类号对应的分类器,各二级分类号对应的分类器分别输出待分类文本的置信度或概率值,就是该待分类文本属于各分类器对应的二级分类号的概率或者置信度,从而将输出的概率或者置信度最大的分类器对应的二级分类号作为待分类文本的二级目标分类号。

步骤s102:将一级目标分类号与二级目标分类号进行匹配;

步骤s103:根据匹配结果,确定第三分类模型中的至少一个子分类模型,其中,子分类模型与目标级别分类号具有对应关系,目标级别分类号包括三级以及三级以下分类号中任一项;

中图法各级分类号下的文本可以根据其下一级分类号进一步细分,具体的,一级分类号下的文本可以根据二级分类号进一步细分,二级分类号下的文本可以根据三级分类号进一步细分,以此类推。将c1与c2进行匹配,判断二级目标分类号c2是否为属于一级目标分类后c1下的分类号(即图2中所示判断c2对应的一级类是否为c1),从而根据判断结果,确定第三分类模型中的至少一个子分类模型,子分类模型与目标级别分类号是一一对应的,目标级别分类号包括三级分类号、四级分类号至第n级分类号中任一项,n为大于4的整数。

步骤s104:将待分类文本分别输入至各子分类模型,并确定各子分类模型的第一参数计算结果;

将待分类文本分别输入至确定得到的各子分类模型,各子分类模型可以计算得到第一参数计算结果,第一参数结果可以是置信度或者概率值,如上述每个子分类模型对应一个目标级别分类号,子分类模型输出的置信度或者概率值表示的是:待分类文本属于该子分类模型对应的目标级别分类号的概率或置信度。这里介绍的是第三分类模型中各子分类模型的使用过程,第三分类模型中各子分类模型的训练过程将在后续实施例中介绍。

步骤s105:根据第一参数计算结果,从至少一个子分类模型中确定目标子分类模型,并将目标子分类模型对应的目标级别分类号作为待分类文本的分类号。

本申请实施例中将待分类文本分类到三级或三级以下的分类标引过程基本相似,一旦基于匹配结果确定一级或二级分类号后,基于对该级别下级类号的预测就可只选择其下级所有类号的分类器,从而基于分类器输出的概率或置信度确定待分类文本的类号。

在本实施例中,将待分类文本输入第一分类模型进行分类得到一级目标分类号,同时输入第二分类模型进行分类得到二级目标分类号,基于一级目标分类号与二级目标分类号的匹配结果,可以确定第三分类模型中的至少一个子分类模型,将待分类文本分别输入至各子分类模型后,确定各子分类模型的第一参数计算结果,由于子分类模型与目标级别分类号具有对应关系,可以根据第一参数计算结果确定目标子分类模型,从而将目标子分类模型对应的目标级别分类号作为待分类文本的分类号,可见,本申请经过第一分类器和第二分类器分类后,可以根据一级目标分类号和二级目标分类号的匹配结果,确定三级或三级以下分类器中的子分类模型,又经过子分类模型分类可以得到目标级别分类号,进行了待分类文本的多级分类,提高了待分类文本的分类精确度。

可选的,目标级别分类号包括第一分类号和第二分类号中任一项;

根据匹配结果,确定第三分类模型中的至少一个子分类模型,包括:

若匹配结果为一级目标分类号与二级目标分类号相匹配,则确定与二级目标分类号相匹配的至少一个第一分类号,并确定与至少一个第一分类号对应的至少一个子分类模型;

若匹配结果为一级目标分类号与二级目标分类号不相匹配,则确定与一级目标分类号相匹配的至少一个第二分类号,并确定与至少一个第二分类号对应的至少一个子分类模型。

参照图2,若二级目标分类号c2为一级目标分类号c1下的分类号,则将c2作为筛选词,确定与二级目标分类号c2下的至少一个目标级别分类号(这里称之为第一分类号),如上述目标级别分类号与子分类模型一一对应,则可以根据至少一个目标级别分类号确定至少一个子分类模型(即图中选择二级分类号c2下的目标级别分类号对应的分类器);

若二级目标分类号c2不是一级目标分类号c1下的分类号,很可能是第二分类模型预测二级分类号错误,则将c1作为筛选词,确定c1下的至少一个目标级别分类号(这里称之为第二分类号),确定c1下的至少一个目标级别分类号后,如上述目标级别分类号与子分类模型一一对应,则可以根据c1下的至少一个目标级别分类号确定至少一个子分类模型(即图中选择一级分类号c1下的目标级别分类号对应的分类器)。

可选的,根据第一参数计算结果,从至少一个子分类模型中确定目标子分类模型,包括:

根据第一参数计算结果,确定最大的参数计算结果对应的子分类模型为目标子分类模型。

如上述各子分类模型均输出概率或置信度,将各子分类模型输出的概率或者置信度(即图2中分类器输出的概率/置信度)进行排序,从而确定输出的概率或者置信度最高的目标子分类模型,将目标子分类模型对应的目标级别分类号作为待分类文本的分类号。

上面的实施例中,对利用各级分类模型对待分类文本进行分类的过程进行了叙述,下面分别对用于确定一级分类号的第一分类模型、用于确定二级分类号的第二分类模型以及用于确定目标级别分类号的第三分类模型的训练过程进行展开说明。

首先,需要说明的是,第一分类模型和第二分类模型用于辅助确定三级及以下类目的文档分类,不但能够对待分类文本进行一级和二级分类,还可有效提高三级及三级以下类目自动分类的精度。第一分类模型和第二分类模型除所用训练数据不同外,其他处理步骤均相同。本申请可利用fasttext、textcnn等深度学习算法或传统机器学习算法构建第一分类模型,也可利用fasttext、textcnn等深度学习算法或传统机器学习算法构建第二分类模型。

下面,请参照图3,介绍第一分类模型的训练过程。

可选的,该方法还包括:

训练得到第一分类模型;

训练得到第一分类模型包括:

获取至少一个第一待训练文本,至少一个第一待训练文本中包括至少一个一级分类号下的文本;

对各第一待训练文本进行处理;

基于处理后的各第一待训练文本以及第一分类学习算法,训练得到第一分类模型;

其中,第一学习算法包括机器学习算法以及深度学习算法中至少一项。

将带分类标签的文本(即待训练文本)经过上述预处理以及静态词向量表示,一般一级分类号有21个,静态词向量表示形式的待训练文本按照21个一级分类号进行分类,得到21个一级分类号下的文本集合,二级分类号与文本集合一一对应,每个文本集合中有至少一个文本,将21个一级分类号下的文本集合作为图3中21个一级类的训练数据,使用fasttext、textcnn等深度学习算法,也可以使用传统的机器学习算法进行分类模型的训练,训练形成一级分类器。

实质上训练得到一级分类器的过程是利用各一级分类号下的文本集合分别训练得到对应的一级分类号下的分类器,这样才能实现上述利用一级分类器对待分类文本进行分类时,一级分类器中各一级分类号对应的分类器均可以输出一个置信度或概率值的过程。

下面,请参照图4,介绍第二分类模型的训练过程。

可选的,该方法还包括:

训练得到第二分类模型;

训练得到第二分类模型包括:

获取至少一个第二待训练文本,至少一个第二待训练文本中包括至少一个二级分类号下的文本;

对各第二待训练文本进行处理;

基于处理后的各第二待训练文本以及第二分类学习算法,训练得到第二分类模型;

其中,第二学习算法包括传统机器学习算法以及深度学习算法中至少一项。

二级分类器的训练过程可以参照上述一级分类器的训练过程,只是训练数据有所不同,具体的,待训练文本形成静态词向量表示形式后,一般二级分类号有247个,静态词向量表示形式的待训练文本按照247个一级分类号进行分类,得到247个二级分类号下的文本集合,二级分类号与文本集合一一对应,每个文本集合中有至少一个文本,将247个二级分类号下的文本集合作为247个二级类的训练数据,从而训练得到二级分类器。同样的训练得到二级分类器的过程是利用各二级分类号下的文本集合分别训练得到对应的二级分类号的分类器。

下面,请参照图5,介绍第三分类模型的训练过程。

可选的,该方法还包括:

训练得到第三分类模型,第三分类模型中包括各目标级别分类号对应的子分类模型;

子分类模型包括m个分类器以及融合分类器,对于一个目标级别分类号,训练得到目标级别分类号对应的子分类模型包括:

训练得到m个分类器,m为大于1的整数;

对于目标级别分类号下的各文本,基于训练得到的m个分类器,将各文本输入至m个分类器得到各文本的m个第二参数计算结果;

基于各文本的m个第二参数计算结果,训练得到融合分类器。

如上述对应各目标级别分类号均要训练一个子分类模型(或称之为三级或三级以下分类器),各目标级别分类号对应的子分类模型共同形成第三分类模型,各子分类模型的训练过程是一样的,下面,请参照图4,以一个子分类模型的训练过程为例对本申请三级分类器或三级以下分类器的训练过程进行说明。

需要说明的是,目标级别分类号的子分类模型包括m个分类器以及一个融合分类器,三级或三级以下分类器的训练分为基分类器训练阶段和融合分类器训练阶段,基分类器训练阶段的目的是训练得到目标级别分类号对应的m个分类器,m为大于1的整数,融合分类器训练阶段的目的是利用m个分类器的输出的目标级别分类号下的各文本的m个第二参数计算结果来训练得到融合分类器,第二参数计算结果可以是概率或置信度,具体过程如下:

首先介绍基础分类器训练阶段:

可选的,训练得到m个分类器,包括:

获取目标级别分类号下的至少一个第三待训练文本;

对至少一个第三待训练文本进行处理;

基于处理后的至少一个第三待训练文本以及第三分类学习算法,训练得到m个分类器;

其中,第三学习算法包括机器学习算法以及深度学习算法中至少一项。

可选的,基于处理后的至少一个第三待训练文本以及第三分类学习算法,训练得到m个分类器,包括:

对处理后的至少一个第三待训练文本抽样m次,得到m个正例数据集合;

基于m个正例数据集合与对应的m个负例数据集合,通过第三学习算法,训练得到对应的m个第三分类器;

其中,负例数据集合中的负例数据是从与目标级别分类号不同的其他目标级别分类号下的文本中进行抽样得到的。

在本实施例中,训练某一目标级别分类号对应的子分类模型时,取该目标级别分类号下的文本形成训练数据,训练数据经过分词、过滤停用词等预处理后,形成静态词向量表示形式,对训练数据进行m次采样,得到m个采样结果,每个采样结果中包括多个训练数据,每个采样结果的多个训练数据作为正例数据集合,再从与该某一目标级别分类号不同的其他目标级别分类号的文本中采样得到m个负例数据集合,正例数据集合与负例数据集合中数据的比例为1:1,这样就有m组正例数据集合和负例数据集合,一组正例数据集合和负例数据集合可以采用支持向量机(supportvectormachine,svm)、随机梯度下降((stochasticgradientdescent),sgd)或神经网络(neuralnetwork,nn)等机器学习算法、以及深度学习算法中至少一项进行训练,得到一个分类器,最终可以得到m个分类器。

其次,介绍融合分类器训练阶段:

可选的,基于各文本的m个第二参数计算结果,训练得到融合分类器,包括:

将各文本的m个第二参数计算结果作为正例数据;

获取各文本对应的负例数据,负例数据与m个第二参数计算结果形成的正例数据对应;

基于各文本的正例数据和负例数据,训练得到融合分类器。

如上述训练某一目标级别分类号对应的子分类模型时,基础训练阶段已经得到了m个分类器,再次取该目标级别分类号下的文本形成新的训练数据(该部分训练数据与基分类器训练阶段的训练数据中数据比例可以为4:5),对于该目标级别分类号下的一个文本(即一个新的训练数据),输入至m个分类器可以得到m个第二参数计算结果,将m个第二参数计算结果作为一组正例数据,然后取其他目标级别分类号下的一个文本也输入至m个分类器可以得到m个第二参数计算结果,将其他目标级别分类号下的文本得到的m个第二参数计算结果作为负例数据,每个正例数据和负例数据作为一组,该目标级别分类号下的多个文本就可以得到多组正例数据和多组负例数据,实际上正例数据的组数与负例数据的组数也可以不同,将多组正例数据和多组负例数据作为训练数据,采用传统的机器学习算法、深度学习算法、以及stacking集成策略中至少一项构建得到融合分类器。

综上,本申请对每一个三级及三级以下的类号,均构建形成m个分类器,m个分类器的训练数据的正例样本取自所在类号下的数据,负例样本取自其它类号下的数据,正例样本与负例样本数量比为1:1。如果某一个类号下的数据较少或各类号下的实例数量不相同,则采用基于类名和语料库生成新的文本补充至数据量较少的类以增加数据量,使数据均衡,生成文本的过程过程将在后面的实施例中详细介绍。m个分类器的实现支持向量机、随机梯度下降和神经网络等机器学习算法。获得m个分类器后,可以采用stacking策略,将m个分类器的输出作为融合分类器训练的输入,从而训练得到融合分类器。每个类号对应的m个分类器以及融合分类器的训练除使用训练数据不同外(均使用各自类号下的文本作为正例数据,选择部分其他类号下的文本作为负例数据),其余均相同。

如图5中,以训练目标级别分类号a81的10个分类器和融合分类器为例对三级分类器的训练过程进行说明:

在基分类器训练阶段,分类号属于a81的文本抽样10次,得到10份正例数据集合,正例数据集合和随机抽取的其他目标级别分类号(非a81的目标级别分类号)的样本(即负例数据集合)以1:1的比例构成训练数据子集,一共有10个训练数据子集,分别对这10份训练数据子集使用分词工具进行预处理后,使用静态词向量进行表示,10份训练数据子集作为10个分类器的输入,最终训练得到10个分类器。

在融合分类器训练阶段,重新抽取属于a81文本形成新的训练数据,对于新的训练数据中的每一个文档,使用前一阶段得到的10个分类器分别对该文档进行预测,得到10个该文档属于a81类的概率或置信度(p1,p2,...,p10),将10个概率或置信度作为以向量的形式表示形成一组向量集,该向量集及其对应的标签作为一条正例训练数据,新的训练数据中的多个文档均需要输入到10个分类器中,就可以形成多条正例训练数据,同理也会找一些负例数据,将不属于a81的文本作为训练数据也输入到10个分类器中得到10个概率或置信度,将10个概率或置信度作为以向量的形式表示形成一组向量集,该向量集及其对应的标签作为一条负例训练数据。如图5中正例数据和负例数据一共有m条,分别形成item_1至item_m组向量集,每组向量集中包括10个分类器输出的文档属于a81的概率/置信度,每组向量集对应一个标签,标签1文档表示属于a81,标签0表示文档不属于a81,m组向量集及其标签作为融合分类器的输入,最终训练得到融合分类器,从而完成了a81对应的三级分类器的训练。

后续a81对应的三级分类器进行使用时,该三级分类器的输出的是文档属于a81类的概率/置信度。

为解决个别类目下训练样本较少和类间数据分布不均衡的问题,本申请采用数据生成的方式补充数据,其中文本表示方式采用更能捕捉文本的语义信息的word2vec或其它词向量表示方式。在数据生成过程中,是基于前文关键词的语义来迭代式生成下一个关键词的,进而生成特定长度的短文本。

可选的,对于各目标级别分类号下的文本,是通过以下至少一项方式得到的:

从预设置的文本数据库中获取;

基于目标级别分类号对应的类名确定关键词,基于该关键词和预置的文本生成模型生成目标关键词,并将目标关键词作为关键词,执行基于关键词和预置的文本生成模型生成目标关键词的步骤,直至得到预置数量的关键词,并基于预置数量的关键词得到目标级别分类号下的文本;

预置的文本生成模型由文本数据库作为训练数据,基于神经网络学习算法训练得到。

在本实施例中,从目标级别分类号中抽取文本形成训练数据时,各目标级别分类号下的文本可以从预设置的文本数据库中获取,一种可能的情况是文本数据库中,如果某一个类号下的数据较少,如上述可以采用基于类名和语料库(或者称之为文本数据库)生成新的文本补充至数据量较少的类以增加数据量,使数据均衡,具体的,请参照图6,生成某一目标级别分类号下文本的方式是:

基于目标级别分类号对应的类名确定关键词,将关键词进行预处理和静态向量表示(即图中文本表示),再基于关键词和预置的文本生成模型生成目标关键词,将目标关键词再作为关键词,迭代生成下一个目标关键词,直至得到预置数量的关键词,再基于预置数量的关键词得到目标级别分类号下的文本,由此重复执行上述过程可以得到多个目标级别分类号下的文本。目标级别分类号文本生成模型可以是神经网络模型,例如循环神经网络(recurrentneuralnetwork,rnn)或长短期记忆网络(longshort-termmemory,lstm)模型。

一种可能的场景是:文本q555转换酶,目标级别分类号是q555,类名是转换酶,先采用转换酶为关键词,通过神经网络学习算法生成另一个关键词,例如s1,然后利用s1来生成下一个关键词s2,依次迭代生成预置数量的关键词,从而得到一个文本,重复执行上述步骤即可得到多个文本。

文本生成模型可以生成各目标级别分类号下的文本,训练得到文本生成模型的方式是:将文本语料库作为训练数据,采用神经网络算法进行训练,即可以得到文本生成模型。

综上,本申请主要通过带分类标签的文本训练一个分类器,然后通过该分类器实现无标签文本的自动分类,在训练模型前需要采用word2vec等非监督的词向量学习方式从大规模文本语料中学习词的分布式表示,形成词向量库,该库包含了词及其嵌入式向量表示。参照图7,本申请主要包括如下内容:

模型训练过程:首先将待训练文本经过预处理以及静态向量词表示后,来训练产生中图法一级分类模型和二级分类模型:中图法的一级类目和二级类目容易找到大量的训练数据,所以采用fasttext、textcnn等分类算法产生中图法一级类目和二级类目的分类模型。但是训练数据并不是在各个类目间均匀分布的,对于训练数据不均衡的情况,本发明对于一级分类模型的训练数据和二级分类模型的训练数据,也可以基于类名和待标引文本构成的语料库生成新的文本补充至数据量较少的类以使数据均衡;

其次,产生中图法三级及三级以下类目的分类模型:中图法三级以下类目的训练数据往往存在训练数据少、数据不平衡问题,直接采用fasttext、textcnn等深度学习算法和传统机器学习算法难以达到理想的效果。因此,对中图法三级及以下类,本发明方法采用了基于静态词向量,结合传统机器学习算法或深度学习算法,再结合stacking集成策略构建分类器。在训练三级及三级以下类目时,对于训练数据少和数据不均衡问题,仍采用基于类名和待标引文本构成的语料库生成新的文本补充至数据量较少的类以增加数据量、使数据均衡;

本申请的待标引文本或待分类文本的分类过程是:分别利用中图法一级分类器和二级分类器对待标引文档的分类号进行预测,进而得到两个预测结果c1和c2,将c1作为该文本的一级分类号。如果c2所属的一级类是c1,则将c2作为该文本的二级分类号,然后以c2为筛选词,筛选出所属二级类为c2的三级类目及以下类目对应的所有分类器,使用筛选出的分类器对待标引文档的分类号进行预测,获得待标引文档属于分类器对应的分类号的概率或置信度,对概率或置信度进行排序取置信度最高的分类器对应的分类号为待标引文档的分类号;如果c2所属一级类不是c1,则以c1为筛选词,筛选出所属一级类为c1的三级类目或三级以下类目对应的所有分类器,后续过程与前述相同,在确定待标文本的分类号后,确定该文本的三级或三级以下级别的分类号。

综上,本申请主要应用于文献数据库(即上述文本数据库)中文献的分类,可以提高文献的分类效率和组织效率,同时提高科研工作者获取某一学科或某一细分领域的期刊论文的准确率。该申请的具体优势主要有三项:

(1)实用性好

针对当前科研文献数据的飞速增长,完全依赖人工标引已不太可能实现。已有的分类方法多以中图法中的部分类目进行测试,难以投入实际应用。本发明可应用在实际的分类标引场景中。

(2)效率高

使用本申请对待标引文档(即待分类文本)进行分类可有效提高文献标引的效率。传统依赖人工标引一篇文章约需要数十分钟,而本申请标引一篇文章仅需不足0.1秒的时间,有效提高了分类标引的速度。

(3)效果好

通过基于类目和语料库生成类目的实例样本数据的方式可以有效地克服数据不平衡的问题,此外由于生成的文本数据是以类目作为起始词,保证了生成文本与类目的高度相关性,有效规避了训练数据中的噪声问题。在此基础上,分类效果得到进一步提升。

上面图1至图7介绍了本申请提供的一种文本分类号确定方法,本申请还提供了一种文本分类号确定装置,请参照图8,下面将介绍本申请的文本分类号确定装置,该装置包括:

第一分类号确定模块801,用于将待分类文本分别输入第一分类模型以及第二分类模型,以获取通过第一分类模型得到的一级目标分类号以及通过第二分类模型得到的二级目标分类号;

匹配模块802,用于将一级目标分类号与二级目标分类号进行匹配;

第一确定模块803,用于根据匹配结果,确定第三分类模型中的至少一个子分类模型,其中,子分类模型与目标级别分类号具有对应关系,目标级别分类号包括三级以及三级以下分类号中任一项;

第二确定模块804,用于将待分类文本分别输入至各子分类模型,并确定各子分类模型的第一参数计算结果;

第二分类号确定模块805,用于根据第一参数计算结果,从至少一个子分类模型中确定目标子分类模型,并将目标子分类模型对应的目标级别分类号作为待分类文本的分类号。

可选的,目标级别分类号包括第一分类号和第二分类号中任一项;

第一确定模块803在根据匹配结果,确定第三分类模型中的至少一个子分类模型时,具体用于:

若匹配结果为一级目标分类号与二级目标分类号相匹配,则确定与二级目标分类号相匹配的至少一个第一分类号,并确定与至少一个第一分类号对应的至少一个子分类模型;

若匹配结果为一级目标分类号与二级目标分类号不相匹配,则确定与一级目标分类号相匹配的至少一个第二分类号,并确定与至少一个第二分类号对应的至少一个子分类模型。

可选的,第二分类号确定模块805,在根据第一参数计算结果,从至少一个子分类模型中确定目标子分类模型时,具体用于:

根据第一参数计算结果,确定最大的参数计算结果对应的子分类模型为目标子分类模型。

可选的,该装置还包括:

训练模块,用于训练得到第三分类模型,第三分类模型中包括各目标级别分类号对应的子分类模型;

子分类模型包括m个分类器以及融合分类器,对于一个目标级别分类号,训练模块在训练得到目标级别分类号对应的子分类模型时,具体用于:

训练得到m个分类器,m为大于1的整数;

对于目标级别分类号下的各文本,基于训练得到的m个分类器,将各文本输入至m个分类器得到各文本的m个第二参数计算结果;

基于各文本的m个第二参数计算结果,训练得到融合分类器。

可选的,训练模块在训练得到m个分类器时,具体用于:

获取目标级别分类号下的至少一个第三待训练文本;

对至少一个第三待训练文本进行处理;

基于处理后的至少一个第三待训练文本以及第三分类学习算法,训练得到m个分类器;

其中,第三学习算法包括机器学习算法以及深度学习算法中至少一项。

可选的,训练模块在基于处理后的至少一个第三待训练文本以及第三分类学习算法,训练得到m个分类器时,具体用于:

对处理后的至少一个第三待训练文本抽样m次,得到m个正例数据集合;

基于m个正例数据集合与对应的m个负例数据集合,通过第三学习算法,训练得到对应的m个第三分类器;

其中,负例数据集合中的负例数据是从与目标级别分类号不同的其他目标级别分类号下的文本中进行抽样得到的。

可选的,训练模块在基于各文本的m个第二参数计算结果,训练得到融合分类器时,具体用于:

将各文本的m个第二参数计算结果作为正例数据;

获取各文本对应的负例数据,负例数据与m个第二参数计算结果形成的正例数据对应;

基于各文本的正例数据和负例数据,训练得到融合分类器。

可选的,对于各目标级别分类号下的文本,是通过以下至少一项方式得到的:

从预设置的文本数据库中获取;

基于目标级别分类号对应的类名确定关键词,基于该关键词和预置的文本生成模型生成目标关键词,并将目标关键词作为关键词,执行基于关键词和预置的文本生成模型生成目标关键词的步骤,直至得到预置数量的关键词,并基于预置数量的关键词得到目标级别分类号下的文本;

预置的文本生成模型由文本数据库作为训练数据,基于神经网络学习算法训练得到。

由于本申请实施例所提供的装置为可以执行本申请实施例中相应的方法的装置,故而基于本申请实施例中所提供的方法,本领域所属技术人员能够了解本申请实施例的装置的具体实施方式以及其各种变化形式,所以在此对于该装置如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的装置,都属于本申请所欲保护的范围。

基于与本申请实施例所提供的方法相同的原理,本申请实施例还提供了一种电子设备,该电子设备包括存储器和处理器;存储器中存储有计算机程序;处理器用于在运行计算机程序时执行本申请任一可选实施例中所提供的方法。

本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时可以实现本申请任一可选实施例中所提供的方法。

作为一示例,图9中示出了本申请可以应用于的一种电子设备的结构示意图,该电子设备具体可以是服务器,也可以是其他设备,该电子设备8000包括存储器8003和处理器8001,存储器8003中存储有计算机程序,处理器8001,用于在运行计算机程序时执行上述任一方法。具体的,图9只是示出了电子设备的一种可选的示意性结构。图9中所示的该电子设备8000的结构并不构成对本申请实施例的限定。

其中,处理器8001和存储器8003相连,如通过总线8002相连。可选地,电子设备8000还可以包括收发器8004。需要说明的是,实际应用中收发器8004不限于一个,收发器8004可以具体用于该电子设备8000与其他设备的通信。

处理器8001可以是cpu(centralprocessingunit,中央处理器),通用处理器,dsp(digitalsignalprocessor,数据信号处理器),asic(applicationspecificintegratedcircuit,专用集成电路),fpga(fieldprogrammablegatearray,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请申请内容所描述的各种示例性的逻辑方框,模块和电路。处理器8001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。

总线8002可包括一通路,在上述组件之间传送信息。总线8002可以是pci(peripheralcomponentinterconnect,外设部件互连标准)总线或eisa(extendedindustrystandardarchitecture,扩展工业标准结构)总线等。总线8002可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器8003可以是rom(readonlymemory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(randomaccessmemory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electricallyerasableprogrammablereadonlymemory,电可擦可编程只读存储器)、cd-rom(compactdiscreadonlymemory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

存储器8003用于存储执行本申请方案的应用程序代码,并由处理器8001来控制执行。处理器8001用于执行存储器8003中存储的应用程序代码,以实现上面任一方法实施例所示的内容。

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

以上仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

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