文本特征向量的确定方法及系统、文本分类方法及系统与流程

文档序号:14940978发布日期:2018-07-13 20:46阅读:318来源:国知局

本发明涉及文本挖据领域,特别是涉及一种文本特征向量的确定方法及系统、文本分类方法及系统。



背景技术:

中文文本分类中,用向量空间模型表示经过处理的中文文本时,向量空间的维数一般都比较高。在实际分类过程中,高维的特征空间中并不是每一维特征都对分类结果有贡献,相反,贡献不大的特征不仅会给分类学习算法增加学习负担,而且还会降低分类器的分类精度。

因此,如何在保证分类精度的前提下降低文本特征向量的维数,成为本领域技术人员亟需解决的技术问题。



技术实现要素:

本发明的目的是提供一种文本特征向量的确定方法及系统、文本分类方法及系统,能够在保证分类的精度的前提下降低文本特征向量的维数。

为实现上述目的,本发明提供了如下方案:

一种文本特征向量的确定方法,所述确定方法包括:

获取训练文本集,所述训练文本集包括若干训练文本;

采用卡方检验方法提取每个所述训练文本的文本特征;

根据各个所述训练文本的文本特征生成预选文本特征集,所述预选文本特征集包括若干预选文本特征;

构建包括若干多维水波的水波群,并初始化各所述多维水波的位置、波高和波长,其中,每个所述多维水波的位置对应一个所述预选文本特征集的文本特征向量;

计算所述水波群中每个多维水波的适应度值,并选出适应度值最大的多维水波作为当前最优水波;

判断所述当前最优水波的适应度值是否大于或者等于适应度阈值,获得第一判断结果;

若所述第一判断结果表示所述当前最优水波的适应度值大于或者等于适应度阈值,则根据所述当前最优水波的位置确定所述预选文本特征集的最优文本特征向量;

若所述第一判断结果表示所述当前最优水波的适应度值小于适应度阈值,则对所述水波群中的各所述多维水波进行传播处理,并计算所述传播处理后的多维水波的适应度值;

判断所述传播处理后的多维水波的适应度值是否大于所述传播处理前的多维水波的适应度值,获得第二判断结果;

若所述第二判断结果表示传播处理后的多维水波的适应度值大于传播处理前的多维水波的适应度值,则用传播处理后的多维水波代替所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波;

若所述第二判断结果表示传播处理后的多维水波的适应度值小于或者等于传播处理前的多维水波的适应度值,则保留所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波;

根据各个所述第二判断结果更新所述水波群,并更新所述水波群的迭代次数;

计算更新后的所述水波群中的每个多维水波的适应度值,并将更新后的适应度值最大的多维水波作为当前最优水波;

判断所述迭代次数是否小于迭代阈值,获得第三判断结果;

若所述第三判断结果表示所述迭代次数小于迭代阈值,则返回所述步骤“判断所述当前最优水波的适应度值是否大于或者等于适应度阈值”;

若所述第三判断结果表示所述迭代次数大于或者等于迭代阈值,则根据所述当前最优水波的位置确定所述预选文本特征集的最优文本特征向量。

可选的,所述根据各个所述第二判断结果更新所述水波群,并更新所述水波群的迭代次数,具体包括:

若所述第二判断结果表示传播处理后的多维水波的适应度值小于或者等于传播处理前的多维水波的适应度值,则保留所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波;

若所述第二判断结果表示传播处理后的多维水波的适应度值大于传播处理前的多维水波的适应度值,则判断所述传播处理后的多维水波的适应度值是否大于所述当前最优水波的适应度值,得到第四判断结果;

若所述第四判断结果表示所述传播处理后的多维水波的适应度值小于或者等于所述当前最优水波的适应度值,则用传播处理后的多维水波代替所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波;

若所述第四判断结果表示所述传播处理后的多维水波的适应度值大于所述当前最优水波的适应度值,则对传播处理后的多维水波进行碎浪处理,获得多个子波;

计算每个所述子波的适应度值,选出适应度值最大的子波作为最优子波;

判断所述最优子波的适应度值是否大于所述传播处理后的多维水波的适应度值,获得第五判断结果;

若所述第五判断结果表示所述最优子波的适应度值大于所述传播处理后的多维水波的适应度值,则用所述最优子波代替所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波;

若所述第五判断结果表示所述最优子波的适应度值小于或者等于所述传播处理后的多维水波的适应度值,则用传播处理后的多维水波代替所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波;

根据所述第二判断结果、第四判断结果以及第五判断结果更新所述水波群,并更新所述水波群的迭代次数。

可选的,保留所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波,具体包括:

将所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波的波高减1,得到波高减1后的多维水波;

判断所述波高减1后的多维水波的波高是否大于0,得到第六判断结果;

若所述第六判断结果表示所述波高减1后的多维水波的波高大于0,则保留所述波高减1后的多维水波;

若所述第六判断结果表示所述波高减1后的多维水波的波高等于0,则对所述波高减1后的多维水波进行折射处理,得到折射处理后的多维水波,并用折射处理后的多维水波代替所述波高减1后的多维水波。

可选的,所述计算所述水波群中每个多维水波的适应度值,具体包括:

获取测试文本集,所述测试文本集包括若干分类类型已知的测试文本;

根据所述多维水波的位置确定所述预选文本特征集的特征向量;

根据所述特征向量对所述测试文本集的各个测试文本进行分类;

根据公式:计算多维水波的适应度值,其中,fitness表示适应度值,m′表示分类正确的测试文本的数量,m表示测试文本集包括的测试文本的总数。

一种文本特征向量的确定系统,所述确定系统包括:

训练集获取模块,用于获取训练文本集,所述训练文本集包括若干训练文本;

卡方检验模块,用于采用卡方检验方法提取每个所述训练文本的文本特征;

预选特征集生成模块,用于根据各个所述训练文本的文本特征生成预选文本特征集,所述预选文本特征集包括若干预选文本特征;

水波群初始化模块,用于构建包括若干多维多维水波的水波群,并随机初始化各所述多维水波的位置、波高和波长,其中,每个所述多维水波的位置对应一个所述预选文本特征集的文本特征向量;

适应度计算模块,用于计算所述水波群中每个多维水波的适应度值,并选出适应度值最大的多维水波作为当前最优水波;

第一判断模块,用于判断所述当前最优水波的适应度值是否大于或者等于适应度阈值,获得第一判断结果;

最优特征向量确定模块,用于若所述第一判断结果表示所述当前最优水波的适应度值大于或者等于适应度阈值,则根据所述当前最优水波的位置确定所述预选文本特征集的最优文本特征向量;

传播处理后适应度计算模块,用于若所述第一判断结果表示所述当前最优水波的适应度值小于适应度阈值,则对所述水波群中的各所述多维水波进行传播处理,并计算所述传播处理后的多维水波的适应度值;

第二判断模块,用于判断所述传播处理后的多维水波的适应度值是否大于所述传播处理前的多维水波的适应度值,获得第二判断结果;

第二判断结果处理模块,用于若所述第二判断结果表示传播处理后的多维水波的适应度值大于传播处理前的多维水波的适应度值,则用传播处理后的多维水波代替所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波;

若所述第二判断结果表示传播处理后的多维水波的适应度值小于或者等于传播处理前的多维水波的适应度值,则保留所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波;

更新模块,用于根据各个所述第二判断结果更新所述水波群,并更新所述水波群的迭代次数;

更新后最优多维水波确定模块,用于计算更新后的所述水波群中的每个多维水波的适应度值,并将更新后的适应度值最大的多维水波作为当前最优水波;

第三判断模块,用于判断所述迭代次数是否小于迭代阈值,获得第三判断结果;

最优特征向量确定模块,还用于若所述第三判断结果表示所述迭代次数等于迭代阈值时,则根据所述当前最优水波的位置确定所述预选文本特征集的最优文本特征向量;

第一判断模块,还用于若所述第三判断结果表示所述迭代次数小于迭代阈值时,判断所述当前最优水波的适应度值是否大于或者等于适应度阈值,获得第一判断结果。

可选的,所述更新模块具体包括:

保留单元,用于若所述第二判断结果表示传播处理后的多维水波的适应度值小于或者等于传播处理前的多维水波的适应度值,则保留所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波;

第四判断单元,用于若所述第二判断结果表示传播处理后的多维水波的适应度值大于传播处理前的多维水波的适应度值,则判断所述传播处理后的多维水波的适应度值是否大于所述当前最优水波的适应度值,得到第四判断结果;

第一代替单元,用于若所述第四判断结果表示所述传播处理后的多维水波的适应度值小于或者等于所述当前最优水波的适应度值,则用传播处理后的多维水波代替所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波;

碎浪处理单元,用于若所述第四判断结果表示所述传播处理后的多维水波的适应度值大于所述当前最优水波的适应度值,则对传播处理后的多维水波进行碎浪处理,获得多个子波;

最优子波选择单元,用于计算每个所述子波的适应度值,选出适应度值最大的子波作为最优子波;

第五判断单元,用于判断所述最优子波的适应度值是否大于所述传播处理后的多维水波的适应度值,获得第五判断结果;

第二代替单元,用于若所述第五判断结果表示所述最优子波的适应度值大于所述传播处理后的多维水波的适应度值,则用所述最优子波代替所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波;

第三代替单元,用于若所述第五判断结果表示所述最优子波的适应度值小于或者等于所述传播处理后的多维水波的适应度值,则用传播处理后的多维水波代替所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波;

更新单元,用于根据所述第二判断结果、第四判断结果以及第五判断结果更新所述水波群,并更新所述水波群的迭代次数。

可选的,所述保留单元具体包括:

波高减1子单元,用于将所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波的波高减1,得到波高减1后的多维水波;

第六判断子单元,用于判断所述波高减1后的多维水波的波高是否大于0,得到第六判断结果;

保留子单元,用于若所述第六判断结果表示所述波高减1后的多维水波的波高大于0,则保留所述波高减1后的多维水波;

折射子单元,用于若所述第六判断结果表示所述波高减1后的多维水波的波高等于0,则对所述波高减1后的多维水波进行折射处理,得到折射处理后的多维水波,并用折射处理后的多维水波代替所述波高减1后的多维水波。

可选的,所述适应度计算模块具体包括:

测试集获取单元,用于获取测试文本集,所述测试文本集包括若干分类类型已知的测试文本;

预选文本特征向量确定单元,根据所述多维水波的位置确定所述预选文本特征集的特征向量;

测试文本分类单元,用于根据所述特征向量对所述测试文本集的各个测试文本进行分类;

适应度计算单元,用于根据公式:计算多维水波的适应度值,其中,fitness表示适应度值,m′表示分类正确的测试文本的数量,m表示测试文本集包括的测试文本的总数。

一种文本分类方法,所述文本分类方法包括:

获取训练文本集的最优文本特征向量,所述训练文本集的最优文本特征向量为根据所述的确定方法确定的文本特征向量;

根据所述最优文本特征向量训练分类器,获得训练好的分类器;

获取待分类文本的待测文本特征向量,所述待测文本特征向量为根据所述的确定方法确定的文本特征向量;

将所述待测文本特征向量输入所述训练好的分类器,所述训练好的分类器完成对待分类文本的分类。

一种文本分类系统,所述文本分类系统包括:

最优文本特征向量获取模块,用于获取训练文本集的最优文本特征向量,所述训练文本集的最优文本特征向量为根据所述的确定方法确定的文本特征向量;

训练模块,用于根据所述最优文本特征向量训练分类器,获得训练好的分类器;

待测文本特征向量获取模块,用于获取待分类文本的待测文本特征向量,所述待测文本特征向量为根据所述的确定方法确定的文本特征向量;

分类模块,用于将所述待测文本特征向量输入所述训练好的分类器,所述训练好的分类器对所述待分类文本进行分类。

根据本发明提供的具体实施例,本发明公开了以下技术效果:

本发明首先使用卡方检验方法对文本特征进行预选择,然后使用水波算法对预选择得到的文本特征进行精选。在精选过程中,首先对水波群中的各水波进行传播处理,然后用传播处理后适应度值增大的水波代替水波群中原来的水波,使得水波群中各水波的适应度值随着迭代次数的增加而逐渐增大,最终选出满足适应度阈值的文本特征向量。可见,本发明通过传播处理操作,可从优化搜索的角度出发进行进化,使文本特征向量一代又一代地优化,并逼进最优文本特征向量,从而在保证分类精度的前提下有效降低文本特征向量的维数。采用本发明确定的文本特征向量进行文本分类,能够在保证分类精度的前提下有效降低文本特征向量的维数。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本发明实施例1提供的文本特征向量的确定方法的流程图;

图2为本发明实施例2提供的文本特征向量的确定系统的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的目的是提供一种文本特征向量的确定方法及系统、文本分类方法及系统,能够在保证分类的精度的前提下降低文本特征向量的维数。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

实施例1:

图1为本发明实施例1提供的文本特征向量的确定方法的流程图。如图1所示,一种文本特征向量的确定方法,所述确定方法包括:

步骤101:获取训练文本集,所述训练文本集包括若干训练文本。

步骤102:采用卡方检验方法提取每个所述训练文本的文本特征。

步骤1021:统计所述训练文本集中文档总数n。

步骤1022:统计每个词的正文档出现频率a、负文档出现频率b、正文档不出现频率c、负文档不出现频率d。

步骤1023:根据公式(1)计算每个词的卡方值χ。

步骤1024:将每个词按卡方值从大到小排序,选取前k个词作为文本特征,k表示特征维数。

步骤103:根据各个所述训练文本的文本特征生成预选文本特征集,所述预选文本特征集包括若干预选文本特征。

本实施例中,采用卡方检验方法提取的文本特征的总数为600,即预选文本特征集中包括的预选文本特征的数量n为600。

步骤104:构建包括若干多维水波的水波群,并初始化各所述多维水波的位置、波高和波长,其中,每个所述多维水波的位置对应一个所述预选文本特征集的文本特征向量。

水波特征选择规则编码以一个水波表示一条特征选择候选解,候选解集对应某个水波群,水波的维数对应特征的个数,每一维对应一个特征,对预选择得到的每一个特征都面临着两种选择,选择该特征或剔除该特征,即特征的属性只有两个,即0和1,选择该特征则水波在该维度的值为1,不选择该特征则该维度的值为0。每个水波都有一个波高h和波长λ,在初始化种群时,把h设置成一个常数hmax,即hmax表示设定的最大波高值,λ的初始值一般设置为0.5。

本实施例中预选文本特征集中包括的预选文本特征的数量n为600,将水波600个维度上的值转化为十进制数表示,数值则在[0,2600-1]之间。由于(2600-1)数值太大不便于处理,因此可将8个特征分为一组对应水波的一个维度,则将原来600维降为75维,水波的每维的数值在[0,28-1]之间,这样数据大小适中,能够避免对原始维度上的值(0或1)直接进行操作,同时也避免了水波优化算法对较为复杂的二进制数0和1进行离散判断。本实施例建立的多维水波的位置均是分组降维后的位置,即每一维的取值在[0,28-1]之间。在后续程传播处理、碎浪处理、折射处理的过程中,需要保证每个维度的值在[0,28-1]之间,如果超出这个范围则取对应的边界值。

步骤105:计算所述水波群中每个多维水波的适应度值,并选出适应度值最大的多维水波作为当前最优水波。

本实施例中个体的适应度(fitness)由适应度函数计算得出。在文本特征的选择上,有过滤方法和包装方法。由于本文分类的目标是通过特征选择提高文本分类的评价指标,故本实施例采用水波优化算法作为包装方法应用在特征选择中,将分类准确率作为水波优化算法的适应度函数。

步骤106:判断所述当前最优水波的适应度值是否大于或者等于适应度阈值,获得第一判断结果。

若所述第一判断结果表示所述当前最优水波的适应度值大于或者等于适应度阈值,执行步骤107。

若所述第一判断结果表示所述当前最优水波的适应度值小于适应度阈值,执行步骤108。

步骤107:根据所述当前最优水波的位置确定所述预选文本特征集的最优文本特征向量。

步骤108:对所述水波群中的各所述多维水波进行传播处理,并计算所述传播处理后的多维水波的适应度值。

假设水波群中原来的多维水波为x,对x进行传播处理后获得的多维水波为x',最大值函数f的维度为d,传播处理就是对多维水波x的每一维上进行如公式(2)所示的操作来产生x'的每一维的数值,即通过传播处理改变x的位置,从而获得x'。

x'(d)=x(d)+rand(-1,1)·λl(d)(2)

其中,d∈d,x(d)表示原始水波x的第d维的位置,即原始水波x的第d维的数值;x'(d)表示传播处理后的水波x'的第d维的位置,即传播处理后的水波x'的第d维的数值;,rand(-1,1)表示[-1,1]之间均匀分布的随机数,λ表示原始水波x的波长,l(d)表示搜索空间第d维的长度。如果l(d)的长度超过了设定的搜索空间第d维的长度,则将其按照公式(3)随机设置为有效范围内的一个新位置。

l(d)=lb(d)+rand(0,1)·(ub(d)-lb(d))(3)

其中,lb(d)表示搜索空间的第d维的下界,ub(d)表示搜索空间第d维的上界,rand(0,1)表示[0,1]之间的随机数。

步骤109:判断所述传播处理后的各多维水波的适应度值是否大于所述传播处理前的多维水波的适应度值,获得第二判断结果。

若所述第二判断结果表示传播处理后的多维水波的适应度值大于传播处理前的多维水波的适应度值,执行步骤110。

若所述第二判断结果表示传播处理后的多维水波的适应度值小于或者等于传播处理前的多维水波的适应度值,执行步骤111。

步骤110:用传播处理后的多维水波代替所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波,并将传播处理后的多维水波的波高重置为hmax。

步骤111:保留所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波。

步骤112:根据各个所述第二判断结果更新所述水波群,并更新所述水波群的迭代次数。

步骤113:计算更新后的所述水波群中的每个多维水波的适应度值,并将更新后的适应度值最大的多维水波作为当前最优水波。

步骤114:判断所述迭代次数是否小于迭代阈值,获得第三判断结果。

若所述第三判断结果表示所述迭代次数小于迭代阈值,则返回所述步骤106。

若所述第三判断结果表示所述迭代次数大于或者等于迭代阈值,返回步骤107。

具体地,步骤112:根据各个所述第二判断结果更新所述水波群,并更新所述水波群的迭代次数,具体包括:

步骤1121:若所述第二判断结果表示传播处理后的多维水波的适应度值小于或者等于传播处理前的多维水波的适应度值,则保留所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波。

步骤1122:若所述第二判断结果表示传播处理后的多维水波的适应度值大于传播处理前的多维水波的适应度值,则判断所述传播处理后的多维水波的适应度值是否大于所述当前最优水波的适应度值,得到第四判断结果。

若所述第四判断结果表示所述传播处理后的多维水波的适应度值小于或者等于所述当前最优水波的适应度值,执行步骤1123。

若所述第四判断结果表示所述传播处理后的多维水波的适应度值大于所述当前最优水波的适应度值,执行步骤1124。

步骤1123:用传播处理后的多维水波代替所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波。

步骤1124:对传播处理后的多维水波进行碎浪处理,获得多个子波。

在水波理论中,水波能量的不断增加会使波峰越来越陡峭,当波峰的速度超过水波的传播速度时,这个水波就会碎裂成一系列的孤立波。本实施例在水波优化算法中,对传播处理后的水波进行碎浪操作来生成一系列的孤立波,以此来提高种群的多样性,避免陷入局部最优。

碎浪处理的具体方法为:先随机选择传播处理后的多维水波x′的k维(k表示介于1和一个预定义参数kmax之的一个随机数),在选择的每一维上按公式(4)产生一个孤立的子波x″:

x″(d)=x′(d)+n(0,1)·βl(d)(4)

其中,x″(d)表示碎浪处理后的x″的第d维的位置,即x″(d)表示碎浪处理后的水波x″的第d维的数值,x'(d)表示碎浪处理前的x'的第d维的位置,β是碎浪系数且β∈(0.001,0.01),l(d)表示搜索空间第d维的长度,n(0,1)表示随机函数。

步骤1125:计算每个所述子波的适应度值,选出适应度值最大的子波作为最优子波。

步骤1126:判断所述最优子波的适应度值是否大于所述传播处理后的多维水波的适应度值,获得第五判断结果。

若所述第五判断结果表示所述最优子波的适应度值大于所述传播处理后的多维水波的适应度值,执行步骤1127。

若所述第五判断结果表示所述最优子波的适应度值小于或者等于所述传播处理后的多维水波的适应度值,步骤1128。

步骤1127:用所述最优子波代替所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波。

步骤1128:用传播处理后的多维水波代替所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波。

步骤1129:根据所述第二判断结果、第四判断结果以及第五判断结果更新所述水波群,并更新所述水波群的迭代次数。

其中,步骤1121:保留所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波,具体包括:

步骤11211:将所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波的波高减1,得到波高减1后的多维水波,从而模拟水波在传播过程中的能量耗散;

步骤11212:判断所述波高减1后的多维水波的波高是否大于0,得到第六判断结果;

若所述第六判断结果表示所述波高减1后的多维水波的波高大于0,执行步骤11213;

若所述第六判断结果表示所述波高减1后的多维水波的波高等于0,执行步骤11214;

步骤11213:保留所述波高减1后的多维水波,并按照公式(5)更新所述波高减1后的多维水波的波长。

其中,λ表示更新前的所述波高减1后的多维水波的波长,λ′表示更新后的所述波高减1后的多维水波的波长,α为波长衰减系数,f(x)表示更新前的所述波高减1后的多维水波的适应度值,fmax和fmin分别表示当前种群中最大的适应度值和最小的适应度值,ε表示一极小的正数以避免分母为0,可选地,ε∈(0,10-12)。

根据公式式(4)可知,适应度值越大,波长越短,相应的水波传播的范围也越小,因此,水波算法能够使适应度值较大的水波加强局部搜索从而加快寻优速度。

步骤11214:对所述波高减1后的多维水波进行折射处理,得到折射处理后的多维水波x-1,并用折射处理后的多维水波代替所述波高减1后的多维水波。

水波在传播的过程中流经山底、山谷这些具有深海特征的陡峭地方时就会绕射,也就是所说的折射。在水波优化算法中只对波高为0的水波进行折射操作,以避免搜索停滞。根据公式(6)来更新水波折射后每一维的位置:

其中,x″′表示折射处理后的水波,x*表示当前最优水波,x*(d)表示当前最优水波第d维的位置,即x*(d)表示当前最优水波第d维的数值,x″′(d)表示折射处理后的水波第d维的位置,x-1(d)表示折射处理前的多维水波x-1第d维的位置,n(μ,σ)表示均值为μ、标准差为σ的高斯随机数,即参数μ对应参数σ对应折射操作后,x″′的波高仍重置为hmax,同时按公式(7)对x″′水波的波长进行更新:

其中,表示更新后的水波的波长,λ″′表示更新前的水波的波长,表示更新后的水波的适应度值,f(x″′)表示更新前的水波的适应度值。

根据第二判断结果的不同采用不同的水波算法处理各个水波后,根据所述第二判断结果、第四判断结果、第五判断结果以及第六判断结果更新所述水波群,并更新所述水波群的迭代次数。

本实施例中,步骤105中计算所述水波群中每个多维水波的适应度值,具体包括:

步骤1051:获取测试文本集,所述测试文本集包括若干分类类型已知的测试文本;

步骤1052:根据所述多维水波的位置确定所述预选文本特征集的特征向量;

步骤1053:根据所述特征向量对所述测试文本集的各个测试文本进行分类;

步骤1054:根据公式(8)计算多维水波的适应度值。

其中,fitness表示适应度值,m′表示分类正确的测试文本的数量,m表示测试文本集包括的测试文本的总数。

本实施例首先使用卡方检验方法对文本特征进行预选择,然后使用水波算法对预选择得到的文本特征进行精选。在精选过程中,首先对水波群中的各水波进行传播处理,然后用传播处理后适应度值增大的水波代替水波群中原来的水波,使得水波群中各水波的适应度值随着迭代次数的增加而逐渐增大,最终选出满足适应度阈值的文本特征向量。可见,本发明通过传播处理操作,可从优化搜索的角度出发进行进化,使文本特征向量一代又一代地优化,并逼进最优文本特征向量,从而在保证分类精度的前提下有效降低文本特征向量的维数。采用本发明确定的文本特征向量进行文本分类,能够在保证分类精度的前提下有效降低文本特征向量的维数。

实施例2:

图2为本发明实施例2提供的文本特征向量的确定系统的结构框图。如图2所述,一种文本特征向量的确定系统,所述确定系统包括:

训练集获取模块201,用于获取训练文本集,所述训练文本集包括若干训练文本;

卡方检验模块202,用于采用卡方检验方法提取每个所述训练文本的文本特征;

预选特征集生成模块203,用于根据各个所述训练文本的文本特征生成预选文本特征集,所述预选文本特征集包括若干预选文本特征;

水波群初始化模块204,用于构建包括若干多维多维水波的水波群,并随机初始化各所述多维水波的位置、波高和波长,其中,每个所述多维水波的位置对应一个所述预选文本特征集的文本特征向量;

适应度计算模块205,用于计算所述水波群中每个多维水波的适应度值,并选出适应度值最大的多维水波作为当前最优水波;

第一判断模块206,用于判断所述当前最优水波的适应度值是否大于或者等于适应度阈值,获得第一判断结果;

最优特征向量确定模块207,用于若所述第一判断结果表示所述当前最优水波的适应度值大于或者等于适应度阈值,则根据所述当前最优水波的位置确定所述预选文本特征集的最优文本特征向量;

传播处理后适应度计算模块208,用于若所述第一判断结果表示所述当前最优水波的适应度值小于适应度阈值,则对所述水波群中的各所述多维水波进行传播处理,并计算所述传播处理后的多维水波的适应度值;

第二判断模块209,用于判断所述传播处理后的各多维水波的适应度值是否大于所述传播处理前的多维水波的适应度值,获得第二判断结果;

第二判断结果处理模块210,用于若所述第二判断结果表示传播处理后的多维水波的适应度值大于传播处理前的多维水波的适应度值,则用传播处理后的多维水波代替所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波;

若所述第二判断结果表示传播处理后的多维水波的适应度值小于或者等于传播处理前的多维水波的适应度值,则保留所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波;

更新模块211,用于根据各个所述第二判断结果更新所述水波群,并更新所述水波群的迭代次数;

更新后最优多维水波确定模块212,用于计算更新后的所述水波群中的每个多维水波的适应度值,并将更新后的适应度值最大的多维水波作为当前最优水波;

第三判断模块213,用于判断所述迭代次数是否小于迭代阈值,获得第三判断结果;

最优特征向量确定模块,还用于若所述第三判断结果表示所述迭代次数等于迭代阈值时,则根据所述当前最优水波的位置确定所述预选文本特征集的最优文本特征向量;

第一判断模块,还用于若所述第三判断结果表示所述迭代次数小于迭代阈值时,判断所述当前最优水波的适应度值是否大于或者等于适应度阈值,获得第一判断结果。

具体地,所述更新模块211具体包括:

保留单元2111,用于若所述第二判断结果表示传播处理后的多维水波的适应度值小于或者等于传播处理前的多维水波的适应度值,则保留所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波;

第四判断单元2112,用于若所述第二判断结果表示传播处理后的多维水波的适应度值大于传播处理前的多维水波的适应度值,则判断所述传播处理后的多维水波的适应度值是否大于所述当前最优水波的适应度值,得到第四判断结果;

第一代替单元2113,用于若所述第四判断结果表示所述传播处理后的多维水波的适应度值小于或者等于所述当前最优水波的适应度值,则用传播处理后的多维水波代替所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波;

碎浪处理单元2114,用于若所述第四判断结果表示所述传播处理后的多维水波的适应度值大于所述当前最优水波的适应度值,则对传播处理后的多维水波进行碎浪处理,获得多个子波;

最优子波选择单元2115,用于计算每个所述子波的适应度值,选出适应度值最大的子波作为最优子波;

第五判断单元2116,用于判断所述最优子波的适应度值是否大于所述传播处理后的多维水波的适应度值,获得第五判断结果;

第二代替单元2117,用于若所述第五判断结果表示所述最优子波的适应度值大于所述传播处理后的多维水波的适应度值,则用所述最优子波代替所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波;

第三代替单元2118,用于若所述第五判断结果表示所述最优子波的适应度值小于或者等于所述传播处理后的多维水波的适应度值,则用传播处理后的多维水波代替所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波;

更新单元2119,用于根据所述第二判断结果、第四判断结果以及第五判断结果更新所述水波群,并更新所述水波群的迭代次数。

本实施例中,所述保留单元2111具体包括:

波高减1子单元21111,用于将所述水波群中与所述传播处理后的多维水波对应的传播处理前的多维水波的波高减1,得到波高减1后的多维水波;

第六判断子单元21112,用于判断所述波高减1后的多维水波的波高是否大于0,得到第六判断结果;

保留子单元21113,用于若所述第六判断结果表示所述波高减1后的多维水波的波高大于0,则保留所述波高减1后的多维水波;

折射子单元21114,用于若所述第六判断结果表示所述波高减1后的多维水波的波高等于0,则对所述波高减1后的多维水波进行折射处理,得到折射处理后的多维水波,并用折射处理后的多维水波代替所述波高减1后的多维水波。

本实施例中所述适应度计算模块205具体包括:

测试集获取单元2051,用于获取测试文本集,所述测试文本集包括若干分类类型已知的测试文本;

预选文本特征向量确定单元2052,根据所述多维水波的位置确定所述预选文本特征集的特征向量;

测试文本分类单元2053,用于根据所述特征向量对所述测试文本集的各个测试文本进行分类;

适应度计算单元2054,用于根据公式:计算多维水波的适应度值,其中,m′表示分类正确的测试文本的数量,m表示测试文本集包括的测试文本的总数。

水波优化算法将种群中每个个体类比为一个“水波”对象,通过模拟水波的传播、碎浪、折射操作在解空间中进行全局搜索。每个水波都有一个波高h和波长λ,在初始化种群时,把h设置成一个常数hmax,λ一般设置为0.5。每个水波的适应度值与其到海床的垂直距离成反比,由此可知水波距离海床越近,适应度越大,其波高越高,波长越短。解决优化问题的过程中是以传播、碎浪和折射这3种操作来进行全局搜索,以此来模拟自然界中的水波在流动过程中的行为,从而对卡方校验模块获得的预选文本特征进行挖掘,最终获得能够对文本进行精确分类的低维文本特征向量。

实施例3:

一种文本分类方法,所述文本分类方法包括:

步骤31:获取训练文本集的最优文本特征向量,所述训练文本集的最优文本特征向量为根据实施例1所述的确定方法确定的文本特征向量;

步骤32:根据所述最优文本特征向量训练分类器,获得训练好的分类器;

步骤33:获取待分类文本的待测文本特征向量,所述待测文本特征向量为根据实施例1所述的确定方法确定的文本特征向量;

步骤34:将所述待测文本特征向量输入所述训练好的分类器,所述训练好的分类器完成对待分类文本的分类。

本实施例采用经过水波优化算法挖掘确定的文本特征向量进行文本分类,能够在保证分类精度的前提下有效降低文本特征向量的维数。

实施例4:

一种文本分类系统,所述文本分类系统包括:

最优文本特征向量获取模块41,用于获取训练文本集的最优文本特征向量,所述训练文本集的最优文本特征向量为根据实施例1所述的确定方法确定的文本特征向量;

训练模块42,用于根据所述最优文本特征向量训练分类器,获得训练好的分类器;

待测文本特征向量获取模块43,用于获取待分类文本的待测文本特征向量,所述待测文本特征向量为根据权利要求1-4任一项所述的确定方法确定的文本特征向量;

分类模块44,用于将所述待测文本特征向量输入所述训练好的分类器,所述训练好的分类器对所述待分类文本进行分类。

本实施例提供的分类系统通过水波优化算法模拟传播、折射、碎浪等水波运动方式在高维解空间中进行高效搜索,分类系统具有寻优能力强、计算复杂度低,计算速度快、计算开销小、算法框架简单、控制参数少且能跳出局部最优等特点。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

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