一种文本分类模型的确定方法
技术领域
本发明涉及电子组织归类领域,尤其涉及一种文本分类模型的确定方法。
背景技术
文本分类是指计算机将一篇文本归于预先给定的某一类或某几类的过程。在现有技术中,文本分类通常采用基于统计的自动分类方法,所述的方法包括:S110:获取大规模的样本数据,并对样本数据进行预处理;S120:在预处理后的样本数据中提取特征词;S130:采用分类算法、提取的特征词和样本数据训练分类模型;S140:将待分类文本输入文本分类器中,通过文本分类器调用训练分类模型,判断待分类文本的类别。
现有技术中,分类模型的质量依赖于获取的大规模样本数据。如果样本数据在时间维度上分布不均匀,会导致文本分类的性能下降。例如,如果样本数据仅集中在一个时间段的范围内,会导致训练出的分类模型产生过拟合现象,不能反映真实环境的情况,从而影响文本分类的性能。
发明内容
有鉴于此,本发明实施例提供一种文本分类模型的确定方法,以解决样本数据在时间维度上分布不均匀时导致的文本分类性能下降的问题。
本发明实施例提供了一种文本分类模型的确定方法,包括:
获取包含多个文本的样本数据,并对所述样本数据进行预处理;
对所述样本数据中各个词进行时间密度的分数计算,得到所述样本数据中各个词的时间密度的分数;所述时间密度的分数表征包含对应词的文本在时间维度上的分布与对应词在时间维度上的分布的综合信息;
根据所述样本数据中各个词的时间密度的分数,提取所述样本数据中的特征词;
根据预设的分类算法、提取的特征词及所述样本数据,确定用于判断待分类文本类别的分类模型。
本发明实施例提供的一种文本分类模型的确定方法,通过样本数据中各个词的时间密度分数提取样本数据中的特征词,通过提取的特征词、样本数据以及分类算法确定分类模型,能够解决样本数据在时间维度上分布不均匀导致的文本分类性能下降的问题,提高分类模型的性能。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是本发明实施例一提供的一种文本分类模型的确定方法流程图;
图2是本发明实施例二提供的一种文本分类模型的确定方法流程图;
图3是本发明实施例三提供的一种文本分类模型的确定装置结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
实施例一
图1是本发明实施例一提供的一种文本分类模型的确定方法流程图,本发明实施例的技术方案可由文本分类模型的确定装置来执行,该装置可以采用硬件和/或软件的方式来实现,所述的装置可设于计算机、智能终端等设备的内部。如图1所示,所述的方法包括:
S101:获取包含多个文本的样本数据,并对所述样本数据进行预处理。
在本实施例中,所述样本数据中的文本为已经进行类别划分的文本。获取包含多个文本的样本数据的方式有多种,可以从互联网上采集,也可以从数据库中进行读取。
在本实施例中,在所述样本数据进行预处理包括:对样本数据进行去噪音、编码转换、分词等。
S102:对所述样本数据中各个词进行时间密度的分数计算,得到所述样本数据中各个词的时间密度的分数;所述时间密度的分数表征包含对应词的文本在时间维度上的分布与对应词在时间维度上的分布的综合信息。
在本实施例中,对样本数据中各个词进行时间密度的分数计算优选包括:获取样本数据中的各个文本在时间维度的分布数据;获取样本数据中的各个词在时间维度的分布数据;根据样本数据中的各个文本在时间维度的分布数据和样本数据中的各个词在时间维度的分布数据,获取样本数据中各个词的时间密度分数。
示例性的,所述获取样本数据中文本在时间维度的分布数据优选包括:
将样本数据的生成时间进行等间隔划分,并统计每个时间间隔内文本的数量;采用如下的公式进行分别计算样本数据中的各个文本在时间维度的分布数据:
其中,f为所述样本数据中的文本;DF(f)为文本f在时间维度的分布数据。当计算样本数据中目标文本在时间维度的分布数据时,将目标文本作为f文本代入到计算DF(f)的公式中。f可以为样本数据中的任意文本。样本数据的生成时间为:样本数据中一个最早文本发布时间至另一个最晚文本发布时间之间的时间。例如,样本数据中最早的一个文本发布的时间为9:00,最晚的另一个文本发布的时间为9:59,那么,其他文本的发布时间均在9:00到9:59之间。样本数据的生成时间为9:00-9:59之间的时间。
另外,DF(f)能够评估文本f是否在时间维度上均匀分布的,如,将生成时间9:00-9:59之间的时间每隔10分钟划分为一个时间间隔,共有6个时间间隔,如果样本数据中文本的数量为6000个,若文本f所在的时间间隔内文本的数量均为1000个,DF(f)值为1/6,则表示文本f在时间维度上是均匀分布的。
在本实施例中,所述获取样本数据中的各个词在时间维度的分布数据优选包括:将样本数据的生成时间进行等间隔划分,统计各个词在每个时间间隔内出现的次数;采用如下的公式分别计算样本数据中的各个词在时间维度的分布数据:
其中,w为样本数据中的词,Dw(w)为样本数据中的词w在时间维度的分布数据。同理,DW(w)可以评估词w在时间维度上是否是均匀分布的。
示例性的,根据样本数据中的各个文本在时间维度的分布数据和样本数据中的各个词在时间维度的分布数据,获取样本数据中各个词的时间密度分数包括:
采用样本数据中各个文本在时间维度的分布数据和样本数据中的各个词在时间维度的分布数据,通过如下的公式获取样本数据中各个词的时间密度分数:
d(w)=αΣfDF(f)·δ(w,f)+(1-α)DW(w)
其中,f为样本数据中的文本,DF(f)为样本数据中文本f在时间维度的分布数据;Dw(w)为样本数据中词w在时间维度的分布数据;d(w)为样本数据中词w的时间密度分数;当文本f在包含词w时,δ(w,f)=1,否则δ(w,f)=0;α为权重系数。
S103:根据所述样本数据中各个词的时间密度的分数,提取所述样本数据中的特征词。
在本实施例中,根据所述样本数据中各个词的时间密度的分数,提取所述样本数据中的特征词优选包括:根据所述样本数据中各个词的时间密度分数与各个词的相关参数,提取所述样本数据中的特征词。其中,可以将样本数据中各个词的时间密度的分数以及相关参数按照预设的关系进行组合,根据组合后得到的数据,提取所述样本数据中的特征词。各个词的相关参数为已知的参数或容易获得的参数,例如,各个词的相关参数可以为各个词的权重值,也可以为各个词的其他形式的参数。
S104:根据预设的分类算法、提取的特征词及所述样本数据,确定用于判断待分类文本类别的分类模型。
示例性的,根据预设的分类算法、提取的特征词及所述样本数据,确定用于判断待分类文本类别的分类模型优选包括:根据所述样本数据中的文本是否出现提取的特征词,生成所述样本数据的文本向量;采用分类算法对所述样本数据的文本向量进行训练,获取用于判断待分类文本类别的分类模型。
举例说明,如果提取的特征词为1000个,特征词有[中国,人民,北京,人口,网络,安全,股市…],在样本数据中的一个文本中,如果出现了北京、网络、安全三个特征词,其他特征词没有出现,则该文本生成特征向量的过程中,如果出现的特征词用1表示,未出现的特征词用0表示。所以该文本生成的特征向量为[0,0,1,0,1,1,0…],由特征向量可以看出,该文本中仅仅出现北京、网络和安全三个特征词。由此类推,其他的文本均可以采用相同的方法生成对应的特征向量。如果样本数据中有2000个文本,可以生成2000个特征向量。将样本数据生成的特征向量按照分类算法进行训练,获取用于判断待分类文本类别的分类模型。其中,分类算法可以为支持向量机(SVM)算法、贝叶斯算法等。
在获得上述的分类模型之后,通过上述的分类模型对待分类文本进行分类。
本实施例提供了一种文本分类模型的确定方法,通过样本数据中各个词的时间密度分数提取样本数据中的特征词,通过提取的特征词、样本数据以及分类算法确定分类模型,能够解决样本数据在时间维度上分布不均匀导致的文本分类性能下降的问题,提高分类模型的性能。
实施例二
图2是本发明实施例二提供的一种文本分类模型的确定方法流程图,在上述实施例的基础上,在对所述样本数据中各个词进行密度分数计算之前,还执行如下的操作:
通过特征提取算法获取所述样本数据中各个词的第一权重值。
进一步的,根据所述样本数据中各个词的时间密度的分数,提取所述样本数据中的特征词优选包括:
根据所述样本数据中各个词的时间密度的分数以及获取的所述样本数据中各个词的第一权重值,获取样本数据中各个词的第二权重值;
根据获取的所述样本数据中各个词的第二权重值,提取所述样本数据中的特征词。
由此,通过样本数据中各个词的时间密度的分数以及样本数据中各个词的第一权重值,提取样本数据中的特征词,能够解决样本数据在时间维度上分布不均匀导致的文本分类性能下降的问题。
进一步的,在确定所述分类模型之后,还执行如下的操作:
对待分类文本进行预处理,根据待分类文本中是否出现样本数据中提取的特征词,生成待分类文本向量;
将待分类文本向量输入到文本分类器中,通过文本分类器调用所述的分类模型对待分类文本进行分类,获得分类结果。
基于上述的优化,本实施例提供的技术方案具体如下:
S201:获取包含多个文本的样本数据,并对所述样本数据进行预处理。
S202:通过特征提取算法获取所述样本数据中各个词的第一权重值。
在本实施例中,将预处理后的样本数据输入到特征提取算法中,就可以获取样本数据中各个词的第一权重值,其中各个词的第一权重值表征了各个词在样本数据中出现的次数或重要程度。
S203:对所述样本数据中各个词进行时间密度的分数计算,得到所述样本数据中各个词的时间密度的分数;所述时间密度的分数表征包含对应词的文本在时间维度上的分布与对应词在时间维度上的分布的综合信息。
S204:根据所述样本数据中各个词的时间密度的分数以及获取的所述样本数据中各个词的第一权重值,获取样本数据中各个词的第二权重值。
在本实施例中,根据所述样本数据中各个词的时间密度的分数以及获取的所述样本数据中各个词的第一权重值,获取样本数据中各个词的第二权重值,优选包括:将所述样本数据中各个词的第一权重值和时间密度的分数按照预设的关系分别进行线性组合,获取所述样本数据中各个词的第二权重值。
具体的,采用样本数据中各个词的第一权重值和时间密度的分数获取样本数据中各个词的第二权重值的公式或函数可以采用如下的形式:m=λ1a+λ2b,其中m表示样本数据中各个词的第二权重值,λ1、λ2为分别为常数,a为各个词的第一权重值,b为各个词的时间密度的分数。其中,获取第二权重值的公式或函数也可以是其他的形式。
S205:根据获取的所述样本数据中各个词的第二权重值,提取所述样本数据中的特征词。
在本实施例中,所述根据所述样本数据中各个词的第二权重值,对所述样本数据的特征词进行提取优选包括:在所述样本数据的各个词中,按照第二权重值从大到小的顺序选取预设数量的词,将选取的词作为所述样本数据的特征词。
举例说明,如果样本数据中包含10000个词,通过计算分别可以得到各个词的第二权重值,按照第二权重值从大到小的顺序将样本数据中的10000个词进行排列,可以选取前1000个词作为样本数据的特征词。其中,特征词选取的数量可自行设置。
对于特征词的选取也可以采用如下的形式:如果样本数据的某些词的第二权重值达到了预设值,将第二权重值达到预设值的词作为样本数据的特征词。例如,如果预设值为c,第二权重值达到c的值作为样本数据的特征词。其中,可以通过预设值的大小来限制特征词的数量。
S206:根据预设的分类算法、提取的特征词及所述样本数据,确定用于判断待分类文本类别的分类模型。
S207:对待分类文本进行预处理,根据待分类文本中是否出现样本数据中提取的特征词,生成待分类文本向量。
S208:将待分类文本向量输入到文本分类器中,通过文本分类器调用所述的分类模型对待分类文本进行分类,获得分类结果。
采用上述的分类模型对待分类的文本进行类别判断时,进行举例说明,样本数据中提取的特征词为[中国,人民,北京,人口,网络,安全,股市…],待分类文本中仅仅出现了中国、人口和股市三个特征词,则待分类文本生成的特征向量为[1,0,0,1,0,0,1,…]。将待分类文本的特征向量输入到文本分类器中,通过文本分类器调用分类模型,将待分类文本生成的特征向量进行计算与分析,输出分类结果。
需要说明的是,虽然流程图中将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。如,本实施例示例性的将S203的操作放置在了S202操作之后,但是S203的操作可以在S202操作之前,并不影响分类模型的确定。
本发明实施例提供了一种分类模型的确定方法,通过样本数据中各个词的时间密度分数以及各个词的第一权重值来提取样本数据中的特征词,通过提取的特征词、样本数据以及分类算法确定分类模型,能够解决样本数据在时间维度上分布不均匀导致的文本分类性能下降的问题,提高分类模型的性能。
实施例三
图3是本发明实施例三提供的一种文本分类模型的确定装置,如图3所示,所述的装置包括:预处理模块301、时间密度分数获取模块302、特征词提取模块303和分类模型确定模块304。
预处理模块301,用于获取包含多个文本的样本数据,并对所述样本数据进行预处理;
时间密度分数获取模块302,用于对所述样本数据中各个词进行时间密度的分数计算,得到所述样本数据中各个词的时间密度的分数;所述时间密度的分数表征包含对应词的文本在时间维度上的分布与对应词在时间维度上的分布的综合信息;
特征词提取模块303,用于根据所述样本数据中各个词的时间密度的分数,提取所述样本数据中的特征词;
分类模型确定模块304,用于根据预设的分类算法、提取的特征词及所述样本数据,确定用于判断待分类文本类别的分类模型。
进一步的,所述的装置还包括:词的第一权重值获取模块305,用于通过特征提取算法获取所述样本数据中各个词的第一权重值。
进一步的,特征词提取模块303,包括:
词的第二权重值获取单元3031,用于根据所述样本数据中各个词的时间密度的分数以及获取的所述样本数据中各个词的第一权重值,获取样本数据中各个词的第二权重值;
特征词提取单元3032,用于根据获取的所述样本数据中各个词的第二权重值,提取所述样本数据中的特征词。
进一步的,时间密度分数获取模块302包括:
文本分布获取单元3021,用于获取样本数据中的各个文本在时间维度的分布数据;
词分布获取单元3022,用于获取样本数据中的各个词在时间维度的分布数据;
词时间密度分数获取单元3023,用于根据样本数据中的各个文本在时间维度的分布数据和样本数据中的各个词在时间维度的分布数据,获取样本数据中各个词的时间密度分数。
进一步的,文本分布获取单元3021,具体用于:
将样本数据的生成时间进行等间隔划分,并统计每个时间间隔内文本的数量;
采用如下的公式进行分别计算样本数据中的各个文本在时间维度的分布数据:
其中,f为样本数据中的文本;DF(f)为文本f在时间维度的分布数据;
进一步的,词分布获取单元3022,具体用于:
将样本数据的生成时间进行等间隔划分,统计各个词在每个时间间隔内出现的次数;
采用如下的公式分别计算样本数据中的各个词在时间维度的分布数据:
其中,w为样本数据中的词,Dw(w)为样本数据中的词w在时间维度的分布数据。
进一步的,词时间密度分数获取单元3023,具体用于
采用样本数据中各个文本在时间维度的分布数据和样本数据中的各个词在时间维度的分布数据,通过如下的公式获取样本数据中各个词的时间密度分数:
d(w)=αΣfDF(f)·δ(w,f)+(1-α)DW(w)
其中,f为样本数据中的文本,DF(f)为样本数据中文本f在时间维度的分布数据;Dw(w)为样本数据中词w在时间维度的分布数据;d(w)为样本数据中词w的时间密度分数;当文本f在包含词w时,δ(w,f)=1,否则δ(w,f)=0;α为权重系数。
进一步的,词的第二权重值获取单元3031,具体用于:将所述样本数据中各个词的第一权重值和时间密度的分数按照预设的关系分别进行线性组合,获取所述样本数据中各个词的第二权重值。
进一步的,特征词提取单元3032,具体用于:
在所述样本数据的各个词中,按照第二权重值从大到小的顺序选取预设数量的词,将选取的词作为所述样本数据的特征词。
进一步的,分类模型确定模块304,具体用于:
根据所述样本数据中的文本是否出现提取的特征词,生成所述样本数据的文本向量;
采用分类算法对所述样本数据的文本向量进行训练,获取用于判断待分类文本类别的分类模型。
进一步的,所述的装置还包括:分类结果获得模块306,用于对待分类文本进行预处理,根据待分类文本中是否出现样本数据中提取的特征词,生成待分类文本向量;
将待分类文本向量输入到文本分类器中,通过文本分类器调用所述的分类模型对待分类文本进行分类,获得分类结果。
本发明实施例提供的一种文本分类模型的确定装置,通过样本数据中各个词的时间密度分数以及各个词的第一权重值来提取样本数据中的特征词,通过提取的特征词、样本数据以及分类算法确定分类模型,能够解决样本数据在时间维度上分布不均匀导致的文本分类性能下降的问题,提高分类模型的性能。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。