发明内容
本发明实施方式的目的在于提供一种文本分类方法、装置、终端及存储介质,使得在对文本分类的过程中,能够充分考虑各个类别的语料的数量对相关度的影响,减少了各个类别的语料的数量的差异对分类的准确度的影响。
为解决上述技术问题,本发明的实施方式提供了一种文本分类方法,包括以下步骤:提取待分类文本的文本特征;通过最佳匹配模型(Best Match25,BM25)算法,确定每个待分类文本的文本特征与各个类别的语料的相关度;根据每个待分类文本的文本特征与各个类别的语料的相关度,确定待分类文本属于各个类别的置信度;根据待分类文本属于各个类别的置信度,确定待分类文本所属的类别。
本发明的实施方式还提供了一种文本分类装置,包括:提取模块、第一确定模块、第二确定模块和分类模块;提取模块用于提取待分类文本的文本特征;第一确定模块用于通过最佳匹配模型BM25算法,确定每个待分类文本的文本特征与各个类别的语料的相关度;第二确定模块用于根据每个待分类文本的文本特征与各个类别的语料的相关度,确定待分类文本属于各个类别的置信度;分类模块用于根据待分类文本属于各个类别的置信度,确定待分类文本所属的类别。
本发明的实施方式还提供了一种终端,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上述实施方式提及的文本分类方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述实施方式提及的文本分类方法。
本发明的实施方式相对于现有技术而言,相对于基于一元字或多元字的TF-IDF模型,BM25算法在计算每个待分类文本的文本特征与各个类别的语料的相关度时,充分考虑了各个类别的语料的数量对待分类文本的文本特征与各个类别的语料的相关度的影响,使得待分类文本的文本特征与该类别的语料的相关度更为准确,进而提高了分类的准确度。
另外,待分类文本的文本特征由待分类文本中任意M个字符组成,M为大于1的正整数。该实现中,不要求组成文本特征的M个字符相邻,使得文本分类装置能够提取到距离更长的文本特征,进而使得文本分类装置能够针对同一待分类文本提取得到更多的文本特征。
另外,提取待分类文本的文本特征,具体包括:确定指示数据;其中,指示数据用于指示是否考虑文本特征中的字符在待分类文本中的先后顺序;判断指示数据是否指示考虑文本特征中的字符在待分类文本中的先后顺序;若确定是,在一次文本特征的提取过程中,从待分类文本中提取M个字符,其中,M个字符未被同时提取过;按M个字符在待分类文本中的先后顺序,确定M个字符的先后顺序;按照M个字符的先后顺序,组合M个字符,得到本次提取过程中的待分类文本的文本特征,记录本次提取得到的待分类文本的文本特征;判断待分类文本中是否存在T个字符未被同时提取过,若确定是,进行下一次文本特征的提取过程,直至待分类文本中任意T个字符均被同时提取过;其中,T等于M,为正整数;否则,在一次文本特征的提取过程中,从待分类文本中提取M个字符,其中,M个字符未被同时提取过;按M个字符的字符特征,确定M个字符的先后顺序;按照M个字符的先后顺序,组合M个字符,得到本次提取过程中的待分类文本的文本特征,记录本次提取得到的待分类文本的文本特征;判断待分类文本中是否存在T个字符未被同时提取过;若确定是,进行下一次文本特征的提取过程,直至待分类文本中任意T个字符均被同时提取过;其中,T等于M,为正整数。该实现中,在不考虑M个字符的先后顺序时,对文本特征进行无序化处理,降低了对语料的规模的要求;在考虑M个字符的先后顺序时,充分考虑了M个字符的组合顺序,提高了分类结果的准确度。
另外,提取待分类文本的文本特征,具体包括:提取待分类文本的候选文本特征,候选文本特征由待分类文本中的任意M个字符组成,且候选文本特征中的M个字符的先后顺序与这M个字符在待分类文本中的先后顺序相同;确定指示数据;其中,指示数据用于指示是否考虑提取的字符各自在待分类文本中的先后顺序;判断指示数据是否指示考虑提取的字符各自在待分类文本中的先后顺序;若确定是,将候选文本特征作为待分类文本的文本特征;否则,针对每个候选文本特征,分别进行以下操作:按照候选文本特征中的M个字符的字符特征,调整候选文本特征,得到待分类文本的文本特征。
另外,通过最佳匹配模型BM25算法,确定每个待分类文本的文本特征与各个类别的语料的相关度,具体包括:针对每个待分类文本的文本特征,分别进行以下操作:确定待分类文本的文本特征的逆向文档概率;根据待分类文本的文本特征的逆向文档概率,确定待分类文本的文本特征与各个类别的语料的相关度。
另外,在通过最佳匹配模型BM25算法,确定每个待分类文本的文本特征与各个类别的语料的相关度之前,文本分类方法还包括:确定在总文本特征库中存在待分类文本的文本特征;其中,总文本特征库中包括所有类别的语料中的文本特征。该实现中,在确定存在总文本特征库中存在该待分类文本的文本特征后,再确定待分类文本的文本特征的逆向文档概率,提高了文本分类的效率。
另外,确定待分类文本的文本特征的逆向文档概率,具体包括:按照公式a:
计算待分类文本的文本特征的逆向文档概率;公式a中,IDF
i表示待分类文本的文本特征i的逆向文档概率,|d|表示类别的总数目,t
i表示待分类文本的文本特征i,d
j表示类别j,|{j:t
i∈d
j}|表示包含待分类文本的文本特征i的类别数,k
1表示第一平滑因子;根据待分类文本的文本特征的逆向文档概率,确定待分类文本的文本特征与各个类别的语料的相关度,具体包括:按照公式b:
计算待分类文本的文本特征与各个类别的语料的相关度;公式b中,BM25
i,j表示待分类文本的文本特征i与类别j的语料的相关度,n
i,j表示待分类文本的文本特征i在类别j中的出现次数,k
2为第一参数,k
3为第二参数,|d
j|表示类别j的语料的文本特征的数量,avgdl表示各个类别的文本特征的数目的平均值,avgdl=∑
j|d
j|/|d|,IDF
i表示待分类文本的文本特征i的逆向文档概率。
另外,根据每个待分类文本的文本特征与各个类别的语料的相关度,确定待分类文本属于各个类别的置信度,具体包括:针对每个类别,分别进行以下操作:确定每个待分类文本的文本特征在类别的语料中出现的次数;根据每个待分类文本的文本特征与类别的语料的相关度和每个待分类文本的文本特征在类别的语料中出现的次数,确定待分类文本相对于类别的类条件概率;根据待分类文本相对于类别的类条件概率,确定待分类文本属于类别的置信度。
另外,根据待分类文本相对于类别的类条件概率,确定待分类文本属于类别的置信度,具体包括:确定类别出现的概率;根据待分类文本相对于类别的类条件概率和类别出现的概率,确定待分类文本与类别的联合概率;将待分类文本与类别的联合概率,作为待分类文本属于类别的置信度。
另外,根据每个待分类文本的文本特征与类别的语料的相关度和每个待分类文本的文本特征在类别的语料中出现的次数,确定待分类文本相对于类别的类条件概率,具体包括:按照公式c:Px|j=exp(∑iln(Ni×(BM25i,j)+ε)/∑iNi),计算待分类文本相对于类别的类条件概率;公式c中,Px|j表示待分类文本相对于类别j的类条件概率,Ni表示待分类文本x中文本特征i的出现的次数,BM25i,j表示待分类文本的文本特征i与类别j的语料的相关度,ε为第三参数;确定类别出现的概率,具体包括:按照公式d:Pj=(|{x:x∈dj}|+S)/(|x|+S×d,计算类别出现的概率;公式d中,Pj表示类别j出现的概率,x表示待分类文本,dj表示类别j,|{x:x∈dj}|表示包含待分类文本的类别数,S表示第二平滑因子,|x|表示待分类文本的文本特征的总数目,|d|表示类别的总数目。
另外,在提取待分类文本的文本特征之前,文本分类方法还包括:对指示数据、第一平滑因子、第一参数、第二参数、第三参数和第二平滑因子进行优化。
另外,优化指示数据、第一平滑因子、第一参数、第二参数、第三参数和第二平滑因子的过程为:S1:获取测试文本集;S2:优化指示数据、第一平滑因子、第一参数和第二参数;S3:根据优化后的指示数据,提取测试文本集中的每个测试文本的文本特征和各个类别的语料的文本特征,并根据优化后的第一平滑因子、优化后的第一参数和优化后的第二参数,确定测试文本集中的每个测试文本的文本特征与各个类别的语料的相关度;S4:对第三参数和第二平滑因子进行优化;S5:根据优化后的第三参数、优化后的第二平滑因子,以及每个测试文本的文本特征与各个类别的语料的相关度,确定测试文本集中每个测试文本属于各个类别的置信度;S6:根据测试文本集中每个测试文本属于各个类别的置信度,对测试文本集中的测试文本进行分类;S7:根据对测试文本集中的测试文本的分类结果,确定分类的准确度;S8:若确定分类的准确度的变化率小于第一预设值,和/或,第三参数和第二平滑因子的优化次数大于第二预设值,执行步骤S9,否则,执行步骤S4;S9:若确定分类的准确度的变化率小于第三预设值,和/或,指示数据、第一平滑因子、第一参数和第二参数的优化次数大于第四预设值,结束优化过程,否则,执行步骤S2。该实现中,对上述六个超参数分层级优化,减少了提取文本特征的次数,提高了优化效率。
另外,优化指示数据、第一平滑因子、第一参数、第二参数、第三参数和第二平滑因子的方法为:使用网格搜索算法、随机梯度下降算法、模拟退火算法、遗传算法和蚁群算法中的任意一种优化算法,优化指示数据、第一平滑因子、第一参数、第二参数、第三参数和第二平滑因子。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的实施方式提及的文本分类方法可以应用于自然语言处理领域,文本分类领域和意图识别领域等多个领域。
本发明的第一实施方式涉及一种文本分类方法,应用于文本分类装置,如图1所示,包括以下步骤:
步骤101:提取待分类文本的文本特征。
具体地说,文本分类装置根据待分类文本中的句号、问号、感叹号和分号等标点符号,将该待分类文本分割为若干句子,提取每个句子中的文本特征,作为待分类文本的文本特征。待分类文本的文本特征可以由待分类文本中相邻的M个字符组成,也可以由待分类文本中任意M个字符组成。其中,M为大于1的正整数。
具体实现中,文本分类装置在对待分类文本进行分类之前,先对各个类别的语料进行处理。具体的,文本分类装置针对各个类别的每个语料,分别进行以下操作:根据该语料中的句号、问号、感叹号和分号等标点符号,将该语料分割为若干句子,提取每个句子中的文本特征,得到该语料的文本特征。该语料的文本特征可以由句子中相邻的M个字符组成,也可以由句子中任意M个字符组成,即不要求组成该语料的文本特征的M个字符相邻。文本分类装置根据类别的每个语料的文本特征,建立该类别的文本特征库。
以下对文本分类装置提取待分类文本的文本特征的方法进行举例说明。
具体实现中,文本分类装置确定指示数据,其中,指示数据用于指示是否考虑提取的字符各自在待分类文本中的先后顺序。文本分类装置判断指示数据是否指示考虑提取的字符各自在待分类文本中的先后顺序,若确定是,在一次文本特征的提取过程中,文本分类装置从待分类文本中提取M个字符,其中,M个字符未被同时提取过;按M个字符在待分类文本中的先后顺序,确定M个字符的先后顺序;按照M个字符的先后顺序,组合M个字符,得到本次提取过程中的待分类文本的文本特征,记录本次提取得到的待分类文本的文本特征;判断待分类文本中是否存在T个字符未被同时提取过,若确定是,进行下一次文本特征的提取过程,直至待分类文本中任意T个字符均被同时提取过;否则,在一次文本特征的提取过程中,文本分类装置从待分类文本中提取M个字符,其中,M个字符未被同时提取过;按M个字符的字符特征,确定M个字符的先后顺序;按照M个字符的先后顺序,组合M个字符,得到本次提取过程中的待分类文本的文本特征,记录本次提取得到的待分类文本的文本特征;判断待分类文本中是否存在T个字符未被同时提取过;若确定是,进行下一次文本特征的提取过程,直至待分类文本中任意T个字符均被同时提取过;其中,T等于M,为正整数。
另一具体实现中,文本分类装置提取待分类文本的候选文本特征,候选文本特征由待分类文本中的任意M个字符组成,且候选文本特征中的M个字符的先后顺序与这M个字符在待分类文本中的先后顺序相同;确定指示数据;判断指示数据是否指示考虑提取的字符各自在待分类文本中的先后顺序,若确定是,将候选文本特征作为待分类文本的文本特征;否则,针对每个候选文本特征,按照M个字符的字符特征,调整候选文本特征,得到待分类文本的文本特征。
需要说明的是,本领域技术人员可以理解,字符的字符特征可以是字符的美国信息交换标准代码(ASCII),也可以是其他能够唯一标识每个字符的特征,本实施方式不限制字符的字符特征的具体含义。
以下结合实际场景,举例说明文本分类装置提取待分类文本的文本特征的方法。
假设M等于2,待分类文本为“唱首歌吧!”,文本分类装置从该待分类文本中到10个候选文本特征,分别为“唱首”、“唱歌”、“唱吧”、“唱!”、“首歌”、“首吧”、“首!”、“歌吧”、“歌!”和“吧!”。若指示数据指示不考虑提取的字符各自在待分类文本中的先后顺序,文本分类装置对各个候选文本特征进行调整,清除各个候选文本特征中的字符顺序特征,得到该待分类文本的文本特征,即待分类文本的文本特征为:“唱首”、“唱歌”、“吧唱”、“唱!”、“歌首”、“吧首”、“首!”、“歌吧”、“歌!”和“吧!”。若指示数据指示考虑提取的字符各自在待分类文本中的先后顺序,则将候选文本特征作为该待分类文本的文本特征,即待分类文本的文本特征为:“唱首”、“唱歌”、“唱吧”、“唱!”、“首歌”、“首吧”、“首!”、“歌吧”、“歌!”和“吧!”。由上述内容可知,在不考虑提取的字符各自在待分类文本中的先后顺序时,只要“唱”和“歌”出现在同一句话中,无论“唱”字出现在“歌”字前面,还是“歌”字出现在“唱”字前面,得到的文本特征均为“唱歌”。即无论是句子“来唱一首歌”,还是“把这首歌唱一下”,由“唱”字和“歌”字得到的文本特征均为“唱歌”,这将提高文本分类装置的分类能力,降低对语料规模的要求。在指示数据指示考虑提取的字符各自在待分类文本中的先后顺序时,“歌唱”和“唱歌”是两个不同的文本特征,这使得提取的文本特征中包含待分类文本的字符顺序特征,能够提高文本分类装置的识别能力。
值得一提的是,在不考虑M个字符的先后顺序时,对文本特征进行无序化处理,降低了对语料的规模的要求;在考虑M个字符的先后顺序时,充分考虑了M个字符在待分类文本中的组合顺序,提高了分类结果的准确度。
需要说明的是,本领域技术人员可以理解,指示数据可以由用户根据当前的具体的类别和各个类别的语料规模设置,也可以作为一个超参数,如需要考虑提取的字符各自在待分类文本中的先后顺序则为1,不需要考虑提取的字符各自在待分类文本中的先后顺序则为0,通过优化过程得到具体数值,本实施方式不限制确定指示数据的方法。
步骤102:通过BM25算法,确定每个待分类文本的文本特征与各个类别的语料的相关度。
具体地说,文本分类装置针对每个待分类文本的文本特征,分别进行以下操作:确定待分类文本的文本特征的逆向文档概率;根据待分类文本的文本特征的逆向文档概率,确定待分类文本的文本特征与各个类别的语料的相关度。
具体实现中,文本分类装置按照公式a:
计算待分类文本的文本特征的逆向文档概率。公式a中,IDF
i表示待分类文本的文本特征i的逆向文档概率,|d|表示类别的总数目,t
i表示待分类文本的文本特征i,d
j表示类别j,|{j:t
i∈d
j}|表示包含待分类文本的文本特征i的类别数,k
1表示第一平滑因子。由于k
1的存在,使得在所有类别均包含某一文本特征时,公式a中的分子不为0。在建立计算待分类文本的文本特征的逆向文档概率的模型时,可以将k
1作为一个超参数,通过优化得到其具体数值,也可以将k
1作为一个常数,即预先给定的k
1值,本实施方式不限制具体k
1的取值方式。文本分类装置按照公式b:
计算待分类文本的文本特征与各个类别的语料的相关度;公式b中,BM25
i,j表示待分类文本的文本特征i与类别j的语料的相关度,n
i,j表示待分类文本的文本特征i在类别j中的出现次数,k
2为第一参数,k
3为第二参数,|d
j|表示类别j的语料的文本特征的数量,avgdl表示各个类别的文本特征的数目的平均值,avgdl=∑
j|d
j|/|d|,|d|表示类别的总数目,IDF
i表示待分类文本的文本特征i的逆向文档概率。其中,第一参数代表对各个类别的文本特征的数量的归一化程度,其范围为[0,1],取值越大,则越注重类别的文本特征的数量对相关度的影响程度;第二参数大于0,其能够控制待分类文本的文本特征i在类别j中的出现次数的饱和度的上升速度,其值越大,则饱和度变化越缓慢,待分类文本的文本特征i在类别j中的出现次数对相关度的影响越显著。在建立计算待分类文本的文本特征与类别的语料的相关度时,可以将k
2和k
3作为超参数,也可以将k
2和k
3作为常数,即预先给定k
2和k
3的取值。
需要说明的是,本实施方式中提及的公式a至公式g仅为举例说明,本领域技术人员可以理解,实际应用中,也可以根据其他约束关系进行相关计算。
由上述内容可知,在使用BM25算法计算待分类文本的文本特征与类别的语料的相关度时,将类别的语料的文本特征的数量与各个类别的文本特征的数目的平均值的比值作为计算相关度的公式中的分母的一部分。在其他参数相同的情况下,该类别的语料的文本特征的数量越大,类别的语料的文本特征的数量与各个类别的文本特征的数目的平均值的比值越大,BM25i,j越小,避免了由于类别的语料的文本特征较多导致的待分类文本的文本特征与类别的语料的相关度虚高的情况。
步骤103:根据每个待分类文本的文本特征与各个类别的语料的相关度,确定待分类文本属于各个类别的置信度。
具体地说,文本分类装置针对每个类别,分别进行以下操作:确定每个待分类文本的文本特征在该类别的语料中出现的次数;根据每个待分类文本的文本特征与该类别的语料的相关度和每个待分类文本的文本特征在该类别的语料中出现的次数,确定待分类文本相对于该类别的类条件概率;根据待分类文本相对于该类别的类条件概率,确定待分类文本属于该类别的置信度。
具体实现中,文本分类装置确定待分类文本属于该类别的置信度的方法为:确定类别出现的概率;根据待分类文本相对于该类别的类条件概率和该类别出现的概率,确定待分类文本与类别的联合概率,将待分类文本与类别的联合概率,作为待分类文本属于类别的置信度。
具体实现中,文本分类装置按照公式e:Pj,x=Pj×Px|j,计算待分类文本与类别的联合概率。其中,Pj,x表示待分类文本x与类别j的联合概率,Pj表示类别j出现的概率,Px|j表示待分类文本相对于类别j的类条件概率。
具体实现中,文本分类装置按照公式c:Px|j=exp(∑iln(Ni×(BM25i,j)+ε)/∑iNi),计算待分类文本相对于该类别的类条件概率;公式c中,Px|j表示待分类文本相对于类别j的类条件概率,Ni表示待分类文本x中文本特征i的出现的次数,BM25i,j表示待分类文本的文本特征i与类别j的语料的相关度,ε为第三参数,是一个起到光滑作用的小量,与语料的规模和类别的数目有较大关联,可以作为一个需要优化的超参数。
具体实现中,文本分类装置可以按照公式g:Pj={x:x∈dj}|/|x|,计算类别出现的概率。公式9中,Pj表示类别j出现的概率,x表示待分类文本,dj表示类别j,|{x:x∈dj}|表示包含待分类文本的类别数,|x|表示待分类文本的文本特征的总数目。
另一具体实现中,考虑到实际应用中可能存在2个问题:一方面,难以准确地统计各类别在实际应用中的出现次数,另一方面,某个类别在实际应用中尚未出现过,Pj=0,不满足应用需求,文本分类装置按照公式d:Pj=(|{x:x∈dj}|+S)/(|x|+S×|d|,计算类别出现的概率;公式d中,Pj表示类别j出现的概率,x表示待分类文本,dj表示类别j,|{x:x∈dj}|表示包含待分类文本的类别数,S表示第二平滑因子,|x|表示待分类文本的文本特征的总数目,|d|表示类别的总数目。公式d仍然满足∑jPj=1,若出现无法得到类别在实际应用中出现的次数的情况,则Pj=1/|d|。公式d中,S>0,可以由用户设置特定值,也可以是需要优化的超参数。
需要说明的是,当本实施方式提及的文本分类方法中涉及的指示数据、第一平滑因子、第一参数、第二参数、第三参数和第二平滑因子均为超参数时,可以在用户设置上述六个超参数各自的初始值后,通过相关的优化方法对上述六个超参数进行优化,将优化得到的各个超参数各自的数值作为上述公式计算过程中使用的数值。
以下对优化指示数据、第一平滑因子、第一参数、第二参数、第三参数和第二平滑因子的优化方法进行举例说明。
由于第一平滑因子等超参数的优化值与提取的文本特征的稀疏程度有较大关联,因此指示数据、第一平滑因子、第一参数、第二参数、第三参数和第二平滑因子是耦合的,不能分成两个独立的优化过程。但是,如果同时优化所有参数,每次实验都需要通过先提取测试文本的所有的文本特征,然后预测测试文本的类别,并评估分类结果,这大大降低了优化效率。因此,本实施方式中,采用分层级的优化方法,将指示数据、第一平滑因子、第一参数和第二参数作为一个层级,将第三参数和第二平滑因子作为一个层级,分别优化两个层级的超参数。
具体地说,优化过程如图2所示,包括以下步骤:
步骤201:获取测试文本集。
具体地说,在使用文本分类装置对待分类文本进行分类之前,使用测试文本集测试该文本分类装置的分类的准确度,并优化指示数据、第一平滑因子、第一参数、第二参数、第三参数和第二平滑因子。其中,测试文本集中的每个测试文本的实际类别已知。
步骤202:优化指示数据、第一平滑因子、第一参数和第二参数。
具体实现中,可以使用网格搜索算法、随机梯度下降算法、模拟退火算法、遗传算法和蚁群算法中的任意一种优化算法,优化指示数据、第一平滑因子、第一参数和第二参数。
需要说明的是,上述优化算法仅为举例说明,实际应用中,还可以通过其他优化算法优化指示数据、第一平滑因子、第一参数和第二参数。
步骤203:根据优化后的指示数据,提取测试文本集中的每个测试文本的文本特征和各个类别的语料的文本特征,并根据优化后的第一平滑因子、优化后的第一参数和优化后的第二参数,确定测试文本集中的每个测试文本的文本特征与各个类别的语料的相关度。
具体地说,由于指示数据发生了改变,测试文本和各个类别的语料中提取得到的文本特征可能有所不同,因此,需要重新提取测试文本和各个类别的语料的文本特征。由于第一平滑因子、第一参数和第二参数有所改动,故需要重新确定每个测试文本的文本特征与各个类别的语料的相关度。其中,确定每个测试文本的文本特征与各个类别的语料的相关度的方法与确定待分类文本的文本特征与各个类别的语料的相关度的方法大致相同,此处不再赘述,本领域技术人员可参考步骤102中的相关描述执行步骤203。
步骤204:对第三参数和第二平滑因子进行优化。
具体实现中,可以使用网格搜索算法、随机梯度下降算法、模拟退火算法、遗传算法和蚁群算法中的任意一种算法,优化第三参数和第二平滑因子。
需要说明的是,上述优化算法仅为举例说明,实际应用中,还可以通过其他优化算法优化第三参数和第二平滑因子。
步骤205:根据优化后的第三参数、优化后的第二平滑因子,以及每个测试文本的文本特征与各个类别的语料的相关度,确定测试文本集中每个测试文本属于各个类别的置信度。
具体地说,确定测试文本属于各个类别的置信度的方法与本实施方式中的确定待分类文本属于各个类别的置信度的方法大致相同,此处不再赘述,本领域技术人员可以参考步骤103中的相关描述执行步骤205。
步骤206:根据测试文本集中每个测试文本属于各个类别的置信度,对测试文本集中的测试文本进行分类。
步骤207:根据对测试文本集中的测试文本的分类结果,确定分类的准确度。
具体地说,由于已知测试文本集中每个测试文本的实际类别,针对每个测试文本,文本分类装置将通过执行上述步骤推测得到的该测试文本的分类结果,与该测试文本的实际类别对比,即可确定该测试文本的分类结果是否正确。文本分类装置根据每个测试文本的分类结果的正确性,即可确定分类的准确度。
步骤208:判断分类的准确度的变化率是否小于第一预设值,和/或,第三参数和第二平滑因子的优化次数是否大于第二预设值。
具体地说,文本分类装置根据本次得到的分类的准确度和上一次得到的分类的准确度,确定分类的准确度的变化率,若确定分类的准确度的变化率小于第一预设值,和/或,第三参数和第二平滑因子的优化次数大于第二预设值,执行步骤209,否则,执行步骤204。
具体实现中,若确定分类的准确度的变化率小于第一预设值,文本分类装置执行步骤209,否则,执行步骤204。
另一具体实现中,若确定第三参数和第二平滑因子的优化次数大于第二预设值,文本分类装置执行步骤209,否则,执行步骤204。
又一具体实现中,若确定分类的准确度的变化率小于第一预设值,且,第三参数和第二平滑因子的优化次数大于第二预设值,文本分类装置执行步骤209,否则,执行步骤204。
需要说明的是,本领域技术人员可以理解,第一预设值和第二预设值可以根据需要设置,例如,第一预设值为1%,第二预设值为500,本实施方式不限制第一预设值和第二预设值的具体取值。
步骤209:判断分类的准确度的变化率是否小于第三预设值,和/或,指示数据、第一平滑因子、第一参数和第二参数的优化次数是否大于第四预设值。
具体地说,若确定分类的准确度的变化率小于第三预设值,和/或,指示数据、第一平滑因子、第一参数和第二参数的优化次数大于第四预设值,结束优化过程,否则,执行步骤202。
具体实现中,若确定分类的准确度的变化率小于第三预设值,文本分类装置结束优化过程,否则,文本分类装置执行步骤202。
另一具体实现中,若确定指示数据、第一平滑因子、第一参数和第二参数的优化次数大于第四预设值,文本分类装置结束优化过程,否则,文本分类装置执行步骤202。
又一具体实现中,若确定分类的准确度的变化率小于第三预设值,且,指示数据、第一平滑因子、第一参数和第二参数的优化次数大于第四预设值,文本分类装置结束优化过程,否则,文本分类装置执行步骤202。
需要说明的是,本领域技术人员可以理解,第三预设值和第四预设值可以根据需要设置,例如,第三预设值为1%,第四预设值为500,本实施方式不限制第三预设值和第四预设值的具体取值。
需要说明的是,本领域技术人员可以理解,第一预设值和第三预设值可以相同,也可以不同,例如,第一预设值为1%,第三预设值为0.9%,第二预设值和第四预设值可以相同,也可以不同,例如,第二预设值为400,第四预设值为500。
值得一提的是,对上述六个超参数分层级优化,在对第三参数和第二平滑因子进行优化时,无需反复提取测试文本的文本特征,减少了提取文本特征的次数,提高了优化效率。
需要说明的是,本领域技术人员可以理解,步骤208和步骤209是为了减少文本分类装置在优化过程中设置的优化停止条件,该优化停止条件仅为举例说明,实际应用中,也可以设置其他优化停止条件,本实施方式不限制优化停止条件的具体内容。
步骤104:根据待分类文本属于各个类别的置信度,确定待分类文本所属的类别。
具体地说,文本分类装置将待分类文本属于各个类别的置信度中,置信度最大的类别作为待分类文本的类别。
需要说明的是,实际应用中,可以通过朴素贝叶斯分类器或其他类型的分类器,基于通过BM25算法得到的每个待分类文本的文本特征与各个类别的语料的相关度,确定待分类文本属于各个类别的置信度,并确定待分类文本所属的类别。
需要说明的是,以上仅为举例说明,并不对本发明的技术方案构成限定。
与现有技术相比,本实施方式中提供的文本分类方法,相对于基于一元字或多元字的TF-IDF模型,BM25算法在计算每个待分类文本的文本特征与各个类别的语料的相关度时,充分考虑了各个类别的语料的数量对待分类文本的文本特征与各个类别的语料的相关度的影响,使得待分类文本的文本特征与该类别的语料的相关度更为准确,进而提高了分类的准确度。
本发明的第二实施方式涉及一种文本分类方法,本实施方式在第一实施方式的基础上做了进一步改进,具体改进之处为:在步骤102之前,增加了确定在总文本特征库中存在待分类文本的文本特征的步骤。
具体的说,如图3所示,在本实施方式中,包含步骤301至步骤305,其中,步骤301、步骤303、步骤304和步骤305分别与第一实施方式中的步骤101至步骤104大致相同,此处不再赘述。下面主要介绍不同之处:
执行步骤301。
步骤302:确定在总文本特征库中存在待分类文本的文本特征。
具体地说,总文本特征库中包括所有类别的语料中的文本特征。
值得一提的是,在确定总文本特征库中存在调整后的文本特征后,再确定该调整后的文本特征的词频-逆文档频率,提高了文本分类的效率。例如,对于文本特征“请谢”,由于总文本特征库中包括所有类别的语料中的文本特征,若总文本特征库中不包括“请谢”,说明所有类别的语料中均无法提取到文本特征“请谢”,即可直接确定“请谢”在所有类别中的词频-逆文档频率均为0,在确定文本特征中不存在“请谢”后,不再对每个类别中查询“请谢”的词频-逆文档频率,可以减少文本分类装置的查询次数,进而提高了文本分类的效率。
执行步骤303至步骤305。
需要说明的是,以上仅为举例说明,并不对本发明的技术方案构成限定。
与现有技术相比,本实施方式中提供的文本分类方法,相对于基于一元字或多元字的TF-IDF模型,BM25算法在计算每个待分类文本的文本特征与各个类别的语料的相关度时,充分考虑了各个类别的语料的数量对待分类文本的文本特征与各个类别的语料的相关度的影响,使得待分类文本的文本特征与该类别的语料的相关度更为准确,进而提高了分类的准确度。除此之外,在确定总文本特征库中存在调整后的文本特征后,再确定该调整后的文本特征的词频-逆文档频率,提高了文本分类的效率。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明的第三实施方式涉及一种文本分类装置,如图4所示,包括:提取模块401、第一确定模块402、第二确定模块403和分类模块404。提取模块401用于提取待分类文本的文本特征。第一确定模块402用于通过最佳匹配模型BM25算法,确定每个待分类文本的文本特征与各个类别的语料的相关度。第二确定模块403用于根据每个待分类文本的文本特征与各个类别的语料的相关度,确定待分类文本属于各个类别的置信度。分类模块404用于根据待分类文本属于各个类别的置信度,确定待分类文本所属的类别。
不难发现,本实施方式为与第一实施方式和第二实施方式相对应的系统实施例,本实施方式可与第一实施方式和第二实施方式互相配合实施。第一实施方式和第二实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式和第二实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明的第四实施方式涉及一种终端,如图5所示,包括:至少一个处理器501;以及,与至少一个处理器501通信连接的存储器502;其中,存储器502存储有可被至少一个处理器501执行的指令,指令被至少一个处理器501执行,以使至少一个处理器501能够执行如上述实施方式提及的文本分类方法。
该终端包括:一个或多个处理器501以及存储器502,图5中以一个处理器501为例。处理器501、存储器502可以通过总线或者其他方式连接,图5中以通过总线连接为例。存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施方式中BM25算法就存储于存储器502中。处理器501通过运行存储在存储器502中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述文本分类方法。
存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施方式中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在存储器502中,当被一个或者多个处理器501执行时,执行上述任意方法实施方式中的文本分类方法。
上述产品可执行本申请实施方式所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施方式中详尽描述的技术细节,可参见本申请实施方式所提供的方法。
本发明的第五实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。