一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种文本分类方法、装置、设备及存储介质与流程

2022-02-22 09:53:14 来源:中国专利 TAG:


1.本技术涉及一种文本分类技术,提供一种文本分类方法、装置、设备及存储介质。


背景技术:

2.随着移动互联网时代的到来,文本信息的生产和传播都发生了深刻的变化,为了满足信息爆炸背景下用户的多样化需求,迫切需要对文本信息进行有效的组织,信息检索和数据挖掘作为对文本信息进行有效组织的方式逐渐受到关注。
3.文本分类技术是数据挖掘和信息检索的基础,其主要任务是根据文本内容对相应的文本进行分类。在对文本进行分类时,主要包括基于支持向量机的文本分类和基于卷积神经网络的文本分类,其中,基于支持向量机的文本分类是基于词频构建文本特征,忽略了文本中的语义信息;并且支持向量机本身在小规模数据集上效果较好,对于大规模数据集的场景其效果提升并不显著;而基于卷积神经网络的文本分类则采用不同长度的卷积核进行文本特征提取,虽然考虑了语义信息,但受限于卷积核的长度,对于长句容易丢失语义信息,且在最大池化的过程中还会产生部分语义特征丢失,从而导致分类不准;因此,在大规模数据集中如何准确而快速的对文本进行分类是亟待解决的问题。


技术实现要素:

4.本技术的目的在于提供一种文本分类方法、装置、设备及存储介质,将文本分类的问题转化成向量相似度索引的问题,提高了文本分类的速度,且结合类别下特征词从备选集中为待分类数据选择最合适的分类,提高了分类的准确性。
5.本技术提出一种文本分类方法,包括:将待分类文本数据转换为待分类文本向量;将所述待分类文本向量输入到预先建立的faiss索引模型进行相似度索引,以输出与所述待分类文本向量相似度最高的n个训练集中的文本向量,并将输出的文本向量所对应的文本数据作为备选集;所述n为大于或等于2的正整数;所述训练集中的文本数据附有类别标签,所述类别标签用于表征所述文本数据所属类别;根据tf-idf技术获取所述训练集中各类别标签所对应的类别的特征词;将所述备选集中的文本数据对应的类别作为备选类别,根据所述备选类别以及所述待分类文本数据所包含的与所述备选类别对应的特征词,确定所述待分类文本数据的类别。
6.进一步地,在所述将待分类文本数据转换为待分类文本向量之前,所述方法还包括:确定所述待分类文本数据所属业务场景对应的停用词库;根据所述停用词库对所述待分类文本数据进行预处理,以过滤所述待分类文本数据中的停用词。
7.进一步地,所述将待分类文本数据转换为待分类文本向量,包括:将预处理后待分类文本数据输入到预训练模型bert,得到所述待分类文本向量。
8.进一步地,所述将所述待分类文本向量输入到预先建立的faiss索引模型进行相似度索引之前,包括:基于所述训练集中的文本数据所对应的文本向量以及内部聚类索引建立所述faiss索引模型。
9.进一步地,在所述基于所述训练集对应的训练集向量以及内部聚类索引建立所述faiss索引模型之后,所述方法还包括:通过广播机制将所述faiss索引模型传输到分布式计算集群上的每个执行器中;所述将所述待分类文本向量输入到所述faiss索引模型进行相似度索引包括:通过计算引擎在所述执行器中使用所述faiss索引模型对所述待分类文本向量进行相似度索引。
10.进一步地,所述根据tf-idf技术获取所述训练集中各类别标签所对应的类别的特征词,包括:对所述训练集中各类别文本数据进行分词处理,得到各类别的文本数据的分词结果;根据所述分词结果和tf-idf技术计算每个类别的文本数据中各个词的tf-idf值;选取每个类别中所述tf-idf值最高的k个词作为类别的特征词,所述k为正整数。
11.进一步地,所述根据所述备选类别以及所述待分类文本数据所包含的与所述备选类别对应的特征词,确定所述待分类文本数据的类别,包括:对所述备选类别进行去重处理,得到各目标备选类别;对所述待分类文本数据进行分词处理,从得到的分词结果中查找是否包含各目标备选类别对应的特征词,将所包含的特征词作为目标特征词;根据所述目标特征词的tf-idf值,以及所述目标特征词在所述待分类文本数据中出现次数,计算所述待分类文本在各目标备选类别下的目标tf-idf值;将所述目标tf-idf值最高对应的目标备选类别作为所述待分类文本数据的类别。
12.本技术还提出一种文本分类装置,包括:向量转换模块,用于将待分类文本数据转换为待分类文本向量;数据索引模块,将所述待分类文本向量输入到预先建立的所述faiss索引模型进行相似度索引,以输出与所述待分类文本向量相似度最高的n个训练集中的文本向量,并将输出的文本向量所对应的文本数据作为备选集;所述n为大于或等于2的正整数;所述训练集中的文本数据附有类别标签,所述类别标签用于表征所述文本数据所属类别;特征获取模块,根据tf-idf技术获取所述训练集中各类别标签所对应的类别的特征词;文本分类模块,将所述备选集中的文本数据所对应的类别作为备选类别,根据所述备选类别以及所述待分类文本数据所包含的与所述备选类别对应的特征词,确定所述待分类文本数据的类别。
13.本技术还提出一种电子设备,所述电子设备包括:存储器,存储有计算机可读指令;处理器,读取存储器存储的计算机可读指令,以执行如上所述的方法。
14.本技术还提出一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如上所述的方法。
15.与现有技术相比,本技术具有如下有益效果:
16.本技术提供的技术方案中,将待分类文本数据转换为待分类文本向量;将待分类文本向量输入到预先建立的faiss索引模型进行相似度索引,以输出与待分类文本向量相似度最高的n个训练集中的文本向量,并将输出的文本向量所对应的文本数据作为备选集;n为大于或等于2的正整数;训练集中的文本数据附有类别标签,类别标签用于表征文本数据所属类别;根据tf-idf技术获取训练集中各类别标签所对应的类别的特征词;根据备选集中的文本数据对应的备选类别,以及待分类文本数据所包含的与备选类别对应的特征词,确定待分类文本数据的类别;通过faiss索引模型对向量化后的待分类文本数据进行相似度索引,将文本分类的问题转化成向量相似度索引的问题,提高了文本分类的速度,且faiss索引模型在对海量数据检索时有很高的效率;同时通过tf-idf技术获取训练集的每
个类别的特征词,基于相似度接近的备选集,通过待分类文本数据所包含的与备选类别对应的特征词,从备选类别中确定待分类文本数据的类别,避免基于文本相似度确定分类类别导致的不准确性。
附图说明
17.图1是本技术的一示例性实施例示出的一种文本分类方法的流程图;
18.图2是图1所示实施例中的在步骤s110之前在一示例性实施例中的流程图;
19.图3是图1所示实施例中的步骤s130在一示例性实施例中的流程图;
20.图4是图1所示实施例中的在步骤s140在一示例性实施例中的流程图;
21.图5是本技术的一示例性实施例示出的另一种文本分类方法的流程图;
22.图6是图5所示实施例中的为待分类数据选择类别在一示例性实施例中的流程图;
23.图7是本技术的一示例性实施例示出的一种文本分类装置的示意图;
24.图8是本技术的一示例性实施例示出的另一种文本分类装置的示意图;
25.图9示出了适于用来实现本技术实施例的电子设备的结构示意图。
具体实施方式
26.这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
27.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
28.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
29.还需要说明的是:在本技术中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
30.请参阅图1,图1是根据一示例性实施例示出的一种文本分类方法的流程图,该文本分类方法包括步骤s110至步骤s140,详细介绍如下:
31.s110、将待分类文本数据转换为待分类文本向量。
32.在本实施例中,待分类文本数据为需要分类的且未确定分类类别的文本数据,将待分类文本数据转换为向量表达,以便于后续更好地支持文本相似度计算从而进行文本分类。
33.需要说明的是,在将待分类文本数据转换为待分类文本向量之前,还可以对待分类文本数据进行预处理,过滤待分类文本数据中的停用词,以减少停用词对模型分类的负面影响。具体的,如图2所示,图2示出了图1所示实施例中的在步骤s110之前在一示例性实施例中的流程图,文本分类方法还包括:
34.s210、确定待分类文本数据所属业务场景对应的停用词库;
35.在本实施例中,待分类文本数据所属业务场景为待分类文本数据应用的业务场景,例如新闻场景、游戏场景等;在本实施例的一示例中,可以根据待分类文本数据的格式确定待分类文本数据所属业务场景,例如属于新闻场景的文本数据具有新闻格式,即由标题、导语、主体、结尾几部分组成;属于合同场景的文本数据具有标题、主体、正文、签章等;在本实施例的另一示例中,还可以根据待分类文本数据中出现的高频率场景词确定待分类文本数据所属业务场景,例如待分类文本数据中出现了5次场景词“游戏”,则将该待分类文本数据所属业务场景为游戏场景。
36.在本实施例中,预先为各个业务场景分别设置了停用词库,其中业务场景不同,停用词库可以相同,也可以不同;停用词库中包含的是一些需要过滤掉的词,例如停用词库包括一些文本的场景领域内常见的词或字,新闻类文本中的“新闻”等这样的词、合同类文本中的“合同”这样的词等;停用词库还包括一些语气助词、副词、介词、连接词等,通常自身并无明确的意义,只有将其放入一个完整的句子中才有一定作用的词,如常见的“的”、“在”之类。
37.s220、根据停用词库对待分类文本数据进行预处理,以过滤待分类文本数据中的停用词。
38.查找待分类文本数据是否有停用词库对应的停用词,若存在,则将停用词库对应的停用词从待分类文本数据中删除,这样做的目的是为了后续在进行特征提取过程中不会受这些词的影响,从而提升分类的准确性。
39.在本实施例中,步骤s110中将待分类文本数据转换为待分类文本向量具体包括:将预处理后待分类文本数据输入到bert(bidirectional encoder representation from transformers)模型,得到待分类文本向量。bert是一种预训练模型;它的核心是采用了多层self-attention机制,不断计算字与字之间的相关性,将文本信息融合为向量表达,经过多层的self-attention过程,不仅能抽取文本浅层语义,还能挖掘文本中的深层语义,更重要的是,bert本身已经基于大量的数据做了预训练,优化了参数,也就是说bert模型本身已经掌握了一些语言的

common sense’,因此通过预训练模型bert对文本做语义特征提取进行矢量化,可以更好地支持文本相似度计算,从而便于后续进行文本分类。
40.在本实施例的一示例中,通过bert-as-service将文本数据转换为文本向量,bert-as-service是腾讯ai lab开源的一个bert服务,它让用户可以以调用服务的方式使用bert模型,而不需要关注bert的实现细节。bert-as-service分为客户端和服务端,用户可以从python代码中调用服务,也可以通过http的方式访问;通过bert-as-service可以将文本数据转换成向量形式,所有文本数据经向量化后的维度都为768维,这样可方便后续构建faiss索引。
41.s120、将待分类文本向量输入到预先建立的faiss索引模型进行相似度索引,以输出与待分类文本向量相似度最高的n个训练集中的文本向量,并将输出的文本向量所对应的文本数据作为备选集,n为大于或等于2的正整数。
42.在本实施例中,faiss索引模型为基于训练集中的文本数据所对应的文本向量建立的,训练集中的文本数据附有类别标签,类别标签用于表征文本数据所属类别,也就是说,训练集中的文本数据为已分类的文本数据,类别标签用于指出已分类的文本数据是属
于哪一类别,该训练集中的文本数据用于模型训练;具体的,将训练集中的文本数据转换为训练集的文本向量,同理,将训练集中的文本数据输入到bert模型,得到训练集的文本向量,将训练集的文本向量输入到faiss模型建立索引,得到faiss索引模型。其中faiss(facebook ai similarity search)是一个开源库,针对高维空间中的海量数据,提供了高效且可靠的相似性检索方法。faiss从两个方面改善了暴力搜索算法存在的问题:降低空间占用和加快检索速度。faiss的核心就是索引(index)概念,它封装了一组向量,进行高效的向量检索。
43.faiss提供了多种构建索引的方式,有最常用的暴力检索(计算欧式距离):indexflatl2;用以压缩数据节约内存的索引:主成分分析方法(principal component analysis,pca)、product-quantization;用以内部聚类加速检索速度的索引:ivf(inverted file system);在本实施例中,采用ivf内部聚类的方式构建索引,即采用内部聚类索引建立faiss索引模型,ivf索引能在保证分类准确率的基础上还可以加快检索速度。
44.将训练集的文本向量输入到faiss模型中进行训练,训练过程中faiss模型会在内部基于向量的相似度进行聚类,训练完毕后将faiss索引模型序列化导出内存,以物理文件的形式进行保存,方便后续使用。
45.在本实施例中,将待分类文本向量输入到faiss索引模型进行相似度检索,faiss索引模型会在训练集中找出和待分类文本向量相似度最高的文本向量,由于训练集中的一个文本数据对应一个文本向量,当找出相似度最高的文本向量,则可以得到与相似度最高的文本向量对应的文本数据,由于构建索引的方式采用的是ivf索引,faiss索引模型内部基于向量相似度已经进行聚类,因此对于输入待分类文本向量的相似度检索只会和聚类中每一个簇的质心做比较,以此加快检索的速度,进而输出索引中和待分类文本向量相似度最高的n条文本向量,找出相似度最高的n条文本向量对应的相似度最高的topn条文本数据作为备选集,该topn条文本数据为训练集中的文本数据,这是因为相似度最高的那一条文本数据也有可能和待分类文本数据不属于同一类别。在文本相似度相差不大的情况下,希望待分类文本数据在它对应的类别下有更多的特征词,通过输出topn条相似度最高的训练集中的文本数据作备选集,提高后续文本分类的准确性,以避免只选择相似度最高的那条文本数据对应类别作为待分类文本数据的类别不合理性。
46.在本实施例中,bert在对文本进行语义提取方面具有很强的特征提取能力,faiss在对海量数据检索时有很高的效率,将两者相结合提升了文本分类的速度和准确率。
47.值得注意的是,在采用内部聚类索引建立faiss索引模型之后,本实施例提供的文本分类方法还包括:通过广播机制将faiss索引模型传输到分布式计算集群上的每个执行器中;此时,将待分类文本向量输入到faiss索引模型进行相似度索引包括:通过计算引擎在执行器中使用faiss索引模型对待分类文本向量进行相似度索引。通过广播机制将faiss索引模型传输到分布式计算集群上的每个执行器中,分布式部署faiss索引模型,使用计算引擎在每个执行器中使用faiss索引模型对待分类文本向量进行相似度索引,实现分布式使用faiss索引模型,提升了文本检索的速度。
48.示例性的,采用广播(broadcast)机制将训练好的模型在hadoop(hadoop是一个能够对大量数据进行分布式处理的软件框架)集群上的每一个executor(执行器)中利用
zookeeper(zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是google的chubby一个开源的实现,是hadoop和hbase的重要组件)做一次传输,然后使用spark(spark是专为大规模数据处理而设计的快速通用的计算引擎)在每一个executor中分别实现上述检索分类过程,加速计算。
49.s130、根据tf-idf技术获取训练集中各类别标签所对应的类别的特征词。
50.可以理解的是,由于训练集的文本数据附有类别标签,且类别标签用于表征文本数据所属类别,因此训练集中包含了各个分类类别,而每个分类类别中均有代表该类别的特征词,即特征词用于表征类别特性。
51.在本技术的一示例中,如图3所示,图3示出了图1所示实施例中的在步骤s130在一示例性实施例中的流程图,获取训练集中各类别标签所对应类别的特征词的过程包括:
52.s131、对训练集中各类别的文本数据进行分词处理,得到各类别的文本数据的分词结果;
53.分词处理即将一个汉字序列进行切分,得到一个个单独的词;其中可以采用基于词典的分词算法和/或基于统计的机器学习算法对训练集中各类别的文本数据进行分词处理。基于词典的分词算法是按照一定的策略将待匹配的字符串和一个已建立好的“充分大的”词典中的词进行匹配,若找到某个词条,则说明匹配成功,识别了该词;基于词典的分词算法分为以下几种:正向最大匹配法、逆向最大匹配法和双向匹配分词法等;基于统计的机器学习算法是一个序列标注问题,将语句中的字,按照他们在词中的位置进行标注,基于统计的机器学习模型包括n元文法模型(n-gram)、隐马尔可夫模型(hiden markov model,hmm)、最大熵模型(me)、条件随机场模型(conditional random fields,crf)。
54.例如训练集中存在类别a~c,类别a包括文本数据a1、a2;类别b包括文本数据b1、b2,类别c包括文本数据c1~c3,则对文本数据a1、a2、b1、b2和c1~c3分别进行分词处理,得到分词结果a’1、a’2、b’1、b’2和c’1~c’3。
55.s132、根据分词结果和tf-idf技术计算每个类别的文本数据中各个词的tf-idf值。
56.tf-idf(term frequency

inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术;用以评估一个字对于一个文件集或一个词对于一个语料库中的其中一份文件的重要程度;tf是词频(term frequency),idf是逆文本频率指数(inverse document frequency)。tf-idf的主要思想是:若某个词或短语在一篇文章中出现的频率高(即tf高),并且在其他文章中很少出现(即idf高),则认为此词或者短语具有很好的类别区分能力,适合用来分类;该词正是所需要的关键特征词;基于这个原理,可以在每一个文本中都找到若干个这样的特征词并计算它们所占的权重tf-idf;tf-idf=tf*idf,取值范围为[0,1];在同一文本中所有词的tf-idf值的总和为1;其中,
[0057][0058]
比如一篇报道中国农业养殖的新闻报道,最常见的词(“的”、“是”、“在”)通过tf-idf技术计算确定出最小的tf-idf值,较常见的词(“国内”、“中国”、“报道”)计算确定出较小的tf-idf值,较少见的词(“养殖”、“维基”),刻画能力强的词语,tf-idf值应该是最高的。
[0059]
s133、选取每个类别中tf-idf值最高的k个词作为类别的特征词,k为正整数。
[0060]
对于每个类别,统计类别下每个文本数据中的各个词的tf-idf值,选取tf-idf值最高的k个词作为类别的特征词,其中k可以为1、2、3等正整数;承接上例,假设k为2,文件数据a1中的词1的tf-idf值为0.48,文本数据a1中的词2的tf-idf值为0.52;文本数据a2中的词3的tf-idf值为0.21,文本数据a2中的词4的tf-idf值为0.79,则类别a中tf-idf值较高的2个词为词2和词4,将词2和词4作为类别a的特征词;同理,得到各个类别的特征词。可以理解是,对于同一个词在不同类别中的tf-idf值可以不同。
[0061]
s140、将备选集中的文本数据所对应的类别作为备选类别,根据备选类别以及待分类文本数据所包含的与备选类别对应的特征词,确定待分类文本数据的类别。
[0062]
在本实施例中,由于备选集中的文本数据是训练集中的文本数据,且训练集中的文本数据均对应有类别,因此可以确定备选集中的文本数据对应的类别,将备选集中的类别作为备选类别;由于步骤s130获取了训练集中各类别的特征词,因此还可以确定出备选类别对应的特征词和特征词所对应的tf-idf值。
[0063]
在本技术的一示例中,如图4所示,图4示出了图1所示实施例中的在步骤s140在一示例性实施例中的流程图,确定待分类文本数据的类别的过程包括:
[0064]
s141、对备选类别进行去重处理,得到各目标备选类别。
[0065]
在本实施例中,对备选类别进行去重处理,即去掉重复的类别,得到各个目标备选类别,并确定各个目标备选类别的特征词,以及特征词对应的tf-idf值。
[0066]
在一示例性实施例中,由于备选集中的文本数据对应有所属的类别,去掉重复类别中的一个类别,得到目标备选类别,例如备选集包括与待分类文本数据相似度最高的文本数据1,相似度次高的依次为文本数据2、文本数据3和文本数据4,假设文本数据1所属类别为类别1,文本数据2所属类别为类别2,文本数据3所属类别为类别1,文件数据4所属类别为类别3,则备选类别包括类别1、类别2、类别1和类别3,对备选类别进行去重处理,即去掉重复的一个类别1,得到目标备选类别1、类别2和类别3。
[0067]
在另一示例性实施例中,对备选类别进行去重处理,还可以是根据各备选类别的相同或相近特征词进行去重处理,如相同或/和相近特征词的占比大于或等于备选类别总特征词的预设百分比,表示两个备选类别重复,例如承接上例,假设类别1的特征词为「h1,h 2,h 3,h 4」,类别2的特征词为「h1,h 2,h 4,h 5」,类别3的特征词为「h1,h 3,h7,h 8」,若类别1和类别2具有3个相同特征词,且h4和h5为相近意思的特征词,则表示类别1和类别2为重复备选类别;若类别1和类别2具有3个相同特征词,h4和h5为非相近意思的特征词,但类别1和类别2的相同特征词均占类别1和类别2的75%,等于预设百分比75%,表示类别1和类别2为相同的类别,则去掉类别1或者类别2。
[0068]
s142、对待分类文本数据进行分词处理,从得到的分词结果中查找是否包含各目标备选类别对应的特征词,将所包含的特征词作为目标特征词。
[0069]
对待分类文本数据进行分词处理得到待分类文本数据的分词结果,对于每个目标备选类别,查找待分类文本数据的分词结果中是否包含了目标备选类别对应的特征词,例如待分类文本数据的分词结果中包括词「w1,w2,w3,w4」,目标备选类别1的特征词为w1,w2,目标备选类别2的特征词为w2,w3;则待分类文本数据包含了目标备选类别1和目标备选类别2对应的特征词,将w1,w2,w3作为目标特征词。
[0070]
s143、根据目标特征词的tf-idf值,以及目标特征词在待分类文本数据中出现次
数,计算待分类文本数据在各目标备选类别下的目标tf-idf值。
[0071]
获取目标特征词在待分类文本数据中出现次数,承接上例,如w1,w2,w3在待分类文本数据中分别出现了3次、5次和2次;如前,已经确定出备选类别对应的特征词和特征词所对应的tf-idf值,因此也可以得到目标特征词的tf-idf值,例如目标备选类别1的特征词为w1,w2,对应的tf-idf值为k1,k2;目标备选类别2的特征词为w2,w3,对应的tf-idf值为k3,k4;则根据目标特征词的tf-idf值和目标特征词在待分类文本数据中出现次数,确定待分类文本数据在各目标备选类别下的目标tf-idf值;承接上例,待分类文本数据在各目标备选类别1下的目标tf-idf值为「k1*3 k2*5」,待分类文本数据在各目标备选类别2下的目标tf-idf值为「k3*5 k4*2」。
[0072]
s144、将目标tf-idf值最高对应的目标备选类别作为待分类文本数据的类别。
[0073]
承接上例,若待分类文本数据在各目标备选类别1下的目标tf-idf值「k1*3 k2*5」,大于待分类文本数据在各目标备选类别2下的目标tf-idf值「k3*5 k4*2」,则将目标备选类别作为待分类文本数据的类别。
[0074]
在本实施例的另一示例中,确定待分类文本数据的类别还可以是对待分类文本数据进行分词处理,从分词结果中确定待分类文本数据中包含最多特征词数的所属目标备选类别,将包含最多特征词数的所属目标备选类别作为待分类文本数据的类别;即待分类文本数据包含最多的特征词的类别为目标备选类别3,则将目标备选类别3作为待分类文本数据的类别。较优的,从分词结果中确定待分类文本数据中包含的目标备选类别的特征词时,确定各目标备选类别中的每个特征词的tf-idf值,然后在各目标备选类别下,计算待分类文本数据所包含的特征词的总tf-idf值,将总tf-idf值对应的目标备选类别作为待分类文本数据的类别;例如待分类文本数据的分词结果中包括特征词「w1,w2,w3,w4」,目标备选类别1的特征词为w1,w2,w4,对应的tf-idf值为k1,k2,k5;目标备选类别2的特征词为w2,w3,对应的tf-idf值为k3,k4,待分类文本数据在目标备选类别1下的总tf-idf值为(k1 k2 k5),待分类文本数据在目标备选类别2下的总tf-idf值为(k3 k4),假设(k3 k4)》(k1 k2 k5),则将目标备选类别2作为待分类文本数据的类别。
[0075]
在本实施例的再一种示例中,确定待分类文本数据的类别还可以是对待分类文本数据进行分词处理,当从分词结果中确定待分类文本数据中包含最多特征词数的一个所属目标备选类别,将包含最多特征词数的所属目标备选类别作为待分类文本数据的类别;当从分词结果中确定出待分类文本数据中包括至少两个相同的最多特征词数,则从分词结果中查找是否包含各目标备选类别对应的特征词,将包含的特征词作为目标特征词,根据目标特征词的tf-idf值,以及目标特征词在待分类文本数据中出现次数,计算待分类文本数据在各目标备选类别下的目标tf-idf值,将目标tf-idf值最高对应的目标备选类别作为待分类文本数据的类别。例如若待分类文本数据包含4个目标备选类别1的特征词,5个目标备选类别2的特征词,3个目标备选类别3的特征词,则将目标备选类别2作为待分类文本数据;若待分类文本数据包含5个目标备选类别1的特征词,5个目标备选类别2的特征词,3个目标备选类别3的特征词,存在两个相同包含5个特征词的目标备选类别,则参见步骤s143~s144确定待分类文本数据的类别。
[0076]
为了便于理解,本实施例还提供一种文本分类方法,将数据分为训练集,交叉验证集和测试集,其中训练集的文本数据会有类别标签,指出该文本属于哪一类目,该部分数据
用于模型训练;验证集的文本数据也带有类别标签,但该部分数据用于测试模型的准确率;测试集即待分类文本数据。
[0077]
如图5所示,首先需要结合业务场景维护一批领域内的停用词,以减少它们对模型分类的负面影响,因此所有的文本数据都需要进行预处理,过滤停用词;将过滤了停用词后的训练集和待分类文本数据使用bert进行语义特征提取,转换成向量的形式;把训练集的文本向量的数据输入faiss模型建立索引,选择ivf内部聚类的方式构建faiss索引模型,faiss索引模型训练好之后,将验证集的文本数据输入到faiss索引模型进行模型的准确率的测试,将faiss索引模型输出的文本数据的类别,与验证集的文本数据的类别进行比对,确定准确率,当准确率高于预设准确率阈值时,如准确率高于预设准确率阈值90%,即可用该faiss索引模型进行分类。
[0078]
将待分类文本数据的向量数据输入模型进行相似度检索,faiss索引模型会在训练集中找出和输入的待分类文本向量n个相似度最高的训练集的文本向量,并将输出的文本向量所对应的文本数据作为备选集。
[0079]
在训练集中计算每个类别中每一个词语的tf-idf值,选取相应类别下tf-idf值最高的前k个词作为该类别的特征词;最后结合类别下特征词从备选集中为待分类文本数据选择最合适的分类。
[0080]
其中如图6所示,提供一种结合类别下特征词从备选集中为待分类文本数据选择最合适的分类的方式,包括以下过程:
[0081]
此时只需要关注备选集中的文本数据的类别,因为实际上是计算待分类文本数据在每一类别下的tf-idf值这个指标,来从多个类别下选择最优分类。先获取到备选集所有类别,归一化备选集对应的类别,即对这些类别做去重,且对于每一类别都会有一批特征词和它们所占的tf-idf值。如图6中,类别1下的特征词分别为「w11,w12,w13,w14

」,对应的tf-idf值分别为「k11,k12,k13,k14

」,类别2下的特征词分别为「w21,w22,w23,w24

」,对应的tf-idf值分别为「k21,k22,k23,k24

」;其中同一类别下不同的词会有不同的tf-idf值,在该类中更具代表性的词往往有更高的tf-idf值,以此来更好的进行分类。
[0082]
然后对待分类文本数据进行分词,在每个备选集的类别下,都从待分类文本数据的分词结果中找到该类别下存在的特征词,若存在,则将特征词计为1,针对该类别下存在的特征词,结合它们在该类别下的权重相乘再相加,最终可以算出待分类文本数据在该类别下的tf-idf值。如在类别1下,假如「w11,w13,w14」三个词出现在了待分类文本数据中,则待分类文本数据在类别1下的tf-idf值即为「1*k11 1*k13 1*k14」。待分类文本数据更有可能属于最终算出的tf-idf值最高的那一类,因为在待分类文本数据中包含更多这一类的特征词。
[0083]
本实施例提供的技术方案,一方面,使用faiss对向量化后的文本数据构建ivf索引,将文本分类的问题转化成向量相似度索引的问题,提高了文本分类的速度,使用tf-idf的方法从备选类别中选出最优分类,除了从文本相似度的角度进行计算,还增加了类别特征词在分类中所占的权重,使分类策略融合了人的认知规则;另一方面,通过spark的广播机制分布式的使用faiss模型,提升了文本分类的速度,且bert在对文本进行语义提取方面具有很强的特征提取能力,faiss在对海量数据检索时有很高的效率,本实施例提供的技术方案将两者相结合提升了文本分类的速度和准确率。
[0084]
以下介绍本技术的装置实施例,可以用于执行本技术上述实施例中的基于文本分类方法。对于本技术装置实施例中未披露的细节,请参照本技术上述的文本分类方法的实施例。
[0085]
如图7所示,图7是本技术的一示例性实施例示出的一种文本分类装置的示意图,包括:
[0086]
向量转换模块710,用于将待分类文本数据转换为待分类文本向量;
[0087]
数据索引模块720,用于将待分类文本向量输入到预先建立的faiss索引模型进行相似度索引,输出与待分类文本向量相似度最高的n个训练集中的文本向量,并将输出的文本向量所对应的文本数据作为备选集;n为大于或等于2的正整数;训练集中的文本数据附有类别标签,类别标签用于表征文本数据所属类别;
[0088]
特征获取模块730,用于根据tf-idf技术获取训练集中各类别标签所对应的类别的特征词;
[0089]
文本分类模块740,用于将备选集中的文本数据所对应的类别作为备选类别,根据备选类别以及待分类文本数据所包含的与备选类别对应的特征词,确定待分类文本数据的类别。
[0090]
一示例性的,如图8所示,文本分类装置还包括预处理模块750,用于确定待分类文本数据所属业务场景对应的停用词库;根据停用词库对待分类文本数据进行预处理,以过滤待分类文本数据中的停用词。
[0091]
一示例性的,向量转换模块710具体用于将预处理后的待分类文本数据输入到预训练模型bert,得到待分类文本向量。
[0092]
一示例性的,文本分类装置还包括模型建立模块760和传输模块770,其中,模型建立模块760用于基于训练集中的文本数据所对应的文本向量以及内部聚类索引建立faiss索引模型,并将faiss索引模型发送传输模块770。
[0093]
传输模块770用于通过广播机制将faiss索引模型传输到分布式计算集群上的每个执行器中;数据索引模块720具体用于通过计算引擎在执行器中使用faiss索引模型对待分类文本向量进行相似度索引。
[0094]
一示例性的,如图8所示,文本分类装置还包括tf-idf处理模块780,特征获取模块730用于对训练集中各类别文本数据进行分词处理,得到各类别的文本数据的分词结果;tf-idf处理模块780用于根据分词结果和tf-idf技术计算每个类别的文本数据中各个词的tf-idf值;特征获取模块730还用于选取每个类别中tf-idf值最高的k个词作为类别的特征词,k为正整数。
[0095]
一示例性的,文本分类模块740用于对备选类别进行去重处理,得到各目标备选类别;对待分类文本数据进行分词处理,从得到的分词结果中查找是否包含各目标备选类别对应的特征词,将所包含的特征词作为目标特征词;tf-idf处理模块780还用于根据目标特征词的tf-idf值,以及目标特征词在待分类文本数据中出现次数,计算待分类文本数据在各目标备选类别下的目标tf-idf值;文本分类模块740还用于将目标tf-idf值最高对应的目标备选类别作为待分类文本数据的类别。
[0096]
需要说明的是,上述实施例所提供的装置与上述实施例所提供的方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处
不再赘述。
[0097]
在一示例性实施例中,一种计算机设备,包括处理器和存储器,其中,存储器上存储有计算机可读指令,该计算机可读指令被处理器执行时实现如前所述的方法。
[0098]
图9是根据一示例性实施例示出的一种计算机设备的结构示意图。
[0099]
需要说明的是,该计算机设备只是一个适配于本技术的示例,不能认为是提供了对本技术的使用范围的任何限制。该计算机设备也不能解释为需要依赖于或者必须具有图9中示出的示例性的计算机设备中的一个或者多个组件。
[0100]
如图9所示,在一示例性实施例中,计算机设备包括处理组件901、存储器902、电源组件903、多媒体组件904、音频组件905、传感器组件907和通信组件908。其中,上述组件并不全是必须的,计算机设备可以根据自身功能需求增加其他组件或减少某些组件,本实施例不作限定。
[0101]
处理组件901通常控制计算机设备的整体操作,诸如与显示、数据通信以及日志数据处理相关联的操作等。处理组件901可以包括一个或多个处理器909来执行指令,以完成上述操作的全部或部分步骤。此外,处理组件901可以包括一个或多个模块,便于处理组件901和其他组件之间的交互。例如,处理组件901可以包括多媒体模块,以方便多媒体组件904和处理组件901之间的交互。
[0102]
存储器902被配置为存储各种类型的数据以支持在计算机设备的操作,这些数据的示例包括用于在计算机设备上操作的任何应用程序或方法的指令。存储器902中存储有一个或多个模块,该一个或多个模块被配置成由该一个或多个处理器909执行,以完成上述实施例中所描述的方法中的全部或者部分步骤。
[0103]
电源组件903为计算机设备的各种组件提供电力。电源组件903可以包括电源管理系统,一个或多个电源,及其他与为计算机设备生成、管理和分配电力相关联的组件。
[0104]
多媒体组件904包括在计算机设备和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括tp(touch panel,触摸面板)和lcd(liquid crystal display,液晶显示器)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
[0105]
音频组件905被配置为输出和/或输入音频信号。例如,音频组件905包括一个麦克风,当计算机设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。在一些实施例中,音频组件905还包括一个扬声器,用于输出音频信号。
[0106]
传感器组件907包括一个或多个传感器,用于为计算机设备提供各个方面的状态评估。例如,传感器组件907可以检测到计算机设备的打开/关闭状态,还可以检测计算机设备的温度变化。
[0107]
通信组件908被配置为便于计算机设备和其他设备之间有线或无线方式的通信。计算机设备可以接入基于通信标准的无线网络,例如wi-fi(wireless-fidelity,无线网络)。
[0108]
可以理解,图9所示的结构仅为示意,计算机设备该可以包括比图9中所示更多或
更少的组件,或者具有与图9所示不同的组件。图9中所示的各组件均可以采用硬件、软件或者其组合来实现。
[0109]
在一示例性实施例中,一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前所述的方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
[0110]
需要说明的是,本技术实施例所示的计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0111]
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。
[0112]
上述内容,仅为本技术的较佳示例性实施例,并非用于限制本技术的实施方案,本领域普通技术人员根据本技术的主要构思和精神,可以十分方便地进行相应的变通或修改,故本技术的保护范围应以权利要求书所要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献