发明内容
本发明旨在解决以上现有技术的问题。提出了一种提高准确率的基于标签特定特征和相关性的文本数据多标签分类方法。本发明的技术方案如下:
一种基于标签特定特征和相关性的文本数据多标签分类方法,其包括以下步骤:
101、对文本数据进行预处理,结合实例标签空间和特征空间构造新的实例特征空间;
102、对正负实例特征空间计算聚类个数,并构造标签特定特征;
103、对文本数据集中成对标签计算相关性,构造标签间相关性无向完全图;
104、采用扩展Kruskal算法在标签间相关性无向完全图中计算最大生成树集合;
105、从树集合中依次选择生成树,并从根节点开始使用二分类器在树上进行递归预测,对预测结果进行树上集成得出文本实例标签集。
进一步的,所述步骤101文本数据预处理为:对正负实例数据集将特征空间与标签空间合并,使得多个剩余标签补充特征空间构造正负实例特征空间
和
其中D={(xi,Yi)|1≤i≤n}表示多标签数据集,xi表示第i个实例的原始特征空间,Yi表示第i个实例关联的多标签集合。
进一步的,所述步骤102对正负实例特征空间计算聚类个数,并构造标签特定特征,具体步骤为:
1021.为将正负实例特征转换为标签特定特征,首先根据特征空间计算标签特定特征空间大小,为防止特征空间过大造成标签特定特征维度爆炸,取正负空间大小中较小值,并使用对数对其进行缩放,最终得出聚类个数mk;
1022.采用K-MEANS算法对正负实例空间进行聚类,将原始特征空间向量与聚类中心点结合聚类点个数进行度量,从原始的d维空间
映射到一个d
k维度的标签特定特征空间
其中
表示第i个实例对应的标签特定特征,
为欧式距离,
分别表示正负聚类中心点,C为第i个聚类中心样本集合,|C
i|为第i个聚类中心点个数,利用聚类个数对欧式距离进行放缩,缓解多标签中标签不平衡性问题。
进一步的,所述步骤103对文本数据集中成对标签计算相关性,构造标签间相关性无向完全图的具体步骤为:
1031.定义相关性无向完全图:在图中任意两个标签顶点之间都存在相关性边且不存在自环和重边;
1032.对标签空间采用corr(li,lj)计算得出标签相关性集合E,以数据集中多标签集合V={l1,…,lj,…,lq}为无向完全图G中点集,q为多标签集合大小,成对标签相关性集合E={corr(li,lj)li∈V,lj∈V}为无向完全图G中边集;
其中|li|为标签i出现的次数,lik表示第i个标签向量中第k维数值,li表示第i个标签向量的均值,将成对标签取出现次数较小值,结合标签空间中标签的协方差与标准差,即可得到多标签间相关性。
进一步的,所述步骤104采用扩展Kruskal算法在图中计算最大生成树,选取树中每个顶点为根生成多棵权值相同但树高度不同的最大生成树,并根据树的高度从低到高排序的具体步骤为:
1041.定义最大生成树:一个含有所有标签节点连通图的生成树,包含成对标签间相关性无向完全图中所有标签并且有保持相关性连通图最大权值和的边集;
1042.定义扩展Kruskal算法:采用贪心的思想,将边集合按照权值降序排序,然后对相同权值的边进行递归搜索生成不同树结构,直至生成总权值相同的最大生成树集合;
1043.对于最大生成树集合,枚举树中的任意子节点为根节点进行树重构,一棵最大生成树会产生|V|个不同的树结构,V表示树上节点集合,并对每棵重构树根据树高度从低到高排序。
进一步的,所述扩展Kruskal算法:
1).将带有相关性的边集合按照权值降序排序。
2).对权值边进行递归搜索:如果这条边加入当前树中不会构成回路,则将该边加入到树中,直至所有标签节点都在树中。
3).对于2中得出的最大生成树,枚举每个点为根节点构建多棵最大生成树,根据高度从底到高排序。
进一步的,所述步骤105从树集合中依次选择生成树,并从根节点开始使用二分类器在树上进行递归预测,对预测结果进行树上集成得出文本实例标签集,具体步骤为:
1051.对于步骤105中多棵结构不同的相关性最大生成树,选择前m
k棵树进行分类,对于每棵树从根节点开始递归预测,在预测过程中将祖先节点标签预测结果加入到子节点标签特征空间中构建新的特征空间,此时的标签特征空间可以扩充为
此时
表示标签l
k新的标签特定特征。
其中ancestor(lk)表示标签lk在相关性最大生成树中祖先节点标签;
1053.采用二分类器对该标签节点数据集
进行分类,再递归分类子节点标签,直至对所有生成树中节点分类完毕;
η(Yi,lk)表示标签lk是否在实例相关标签集合Yi中。
1054.由于选择根节点的不同会造成不同的树结构,表达的标签间强相关性也不一样,为了充分利用标签间的强相关性,同时减小选择不同根节点带来的影响,使用多棵树进行多标签分类,对于一个未知实例
树集成个数为t,f
kj为标签l
k在第j棵树上的分类器;将不同树上的同一节点进行集成,最终即可得出标签集Yu;
本发明的优点及有益效果如下:
1、结合实例特征空间与标签空间进行聚类从而构造标签特定特征,传统的聚类方法往往只对实例的特征空间进行聚类,这是因为传统的分类只针对单标签数据集,其中能够利用的大部分信息仅来源于数据集中的特征空间,而在多标签分类中,随着标签集合的扩展,合理利用标签集合信息能够提高聚类效果。因此本专利创新性的将实例的特征空间与标签空间结合构造新的特征空间,再根据实例正负性分别进行聚类,使得聚类结构能够有效利用标签空间的相似性,在构造标签特定特征时,除了包含本标签原始特征空间的信息,同样还包含了剩余标签空间的有效信息,提高了对多标签分类的性能。
2、采用扩展Kruskal算法结合标签间相关性无向完全图挖掘标签间的相关性,传统利用标签相关性的方式可分为三种:一阶策略完全忽略标签间的相关性,二阶策略考虑成对标签相关性,高阶策略考虑标签之间的高阶关系;二阶策略仅考虑成对标签相关性忽略了与标签集合的相关性,高阶策略考虑标签集合的相关性,但是考虑到的标签集合间相关性是唯一的。因此本专利创新性的将采用扩展Kruskal算法结合标签间相关性无向完全图挖掘标签间的相关性,并使用多棵最大生成树结构来体现标签间的相关性,使得在充分体现标签间相关性的同时,也利用了不同树结构表达不同的相关性。
3、采用树集合进行集成预测;将树集合根据树高度升序排列,采用多棵最大生成树从根节点开始递归进行预测,并将祖先节点的标签加入到特征空间中使用二分类器进行分类,并进行集成分类。传统多标签分类中高阶策略考虑标签集合间的关系,例如分类器链算法,但是由于链式预测中往往存在误差传递,如果前面标签预测存在错误,那么会影响后面标签预测的准确性。因此本专利创新性的在树上进行递归预测,由于是按照树集合根据树高从最矮树进行预测,在预测过程中使得祖先标签集合的大小受到限制,能够有效的抑制预测过程中的误差传递问题,并且采用树集合集成预测,能够有效的利用标签集合间不同的相关性,进一步提高多标签分类的性能。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。
本发明解决上述技术问题的技术方案是:
一种基于标签特定特征和标签相关性的文本数据多标签分类方法,其包括以下步骤:
101.对文本数据集进行预处理,结合实例标签空间和特征空间构造新的实例特征空间(公式(1))。
102.对正负实例特征空间采用聚类技术构造多个聚类中心,度量原始特征空间与聚类中心集合中各点距离结合聚类个数构造标签特定特征。具体包括:1.采用公式(2)计算聚类个数,采用ln对数处理防止特征空间维度过大造成聚类中心过多问题,构造有效的标签特定特征;2.采用K-MEANS算法对正负实例空间进行聚类,将原始特征空间向量与聚类中心点结合聚类个数进行度量,从原始的d维空间
映射到一个d
k维度的标签特定特征空间
(公式(3))。
103.对文本数据集中任意两个标签计算标签间的相关性,构造标签间相关性无向完全图;具体包括对标签空间采用相关性corr(li,lj)(公式(4))计算相关性得出标签相关性集合E={corr(li,lj)};以数据集中多标签集合V={l1,…,lj,…,lq}为无向完全图G中点集,成对标签相关性集合E={corr(li,lj)li∈V,lj∈V}为无向完全图G中边集。
104.采用扩展Kruskal算法在图中计算最大生成树集合;具体步骤为:1.采用扩展Kruskal算法在标签间相关性无向完全图上计算最大生成树集合,其中树的权值为标签间的相关性,最大生成树结构表达标签间的强相关性;2.对于多棵最大生成树,枚举树中的任意子节点为根节点进行树重构,一棵最大生成树最多会产生|V|个不同的树结构,并对每棵树根据树的高度从低到高排序。
105.从树集合中依次选择生成树,并从根节点开始使用二分类器在树上进行递归预测,对预测结果进行树上集成最终得出实例标签集;具体步骤为:1.对多棵结构不同的相关性最大生成树,选择前m
k棵树进行分类,对于每棵树从根节点开始递归预测,在预测过程中将祖先节点标签的预测结果加入到子节点标签特征空间中构建新的特征空间,此时的标签特征空间可以扩充(公式(5))为
其中ancestor(l
k)表示标签l
k在相关性最大生成树中祖先节点标签;2.采用二分类器对该标签节点数据集
进行分类,再递归分类子节点标签,直至对所有生成树中的节点分类完毕。3.由于选择根节点的不同会造成不同的树结构,表达的标签间强相关性也不一样,为了充分利用标签间的强相关性,同时减小选择不同根节点带来的影响,使用多棵树进行多标签分类,对于一个未知实例
树集成个数为t;将不同树上的同一节点进行集成,最终即可得出标签集Y
u(公式(6))。
进一步的,所述步骤101对原始数据集进行预处理得出正负实例特征空间,对于原始数据集标签集合中的标签,重复执行以下步骤来构建标签数据集:对正负实例数据集将特征空间与标签空间合并,使得多个剩余标签补充特征空间构造正负实例特征空间
和
进一步的,所述步骤102对正负实例特征空间采用聚类技术构造多个聚类中心,度量原始特征空间与聚类中心集合中各点距离结合聚类个数构造标签特定特征,具体步骤为:
(1)为将正负实例特征转换为标签特定特征,首先根据特征空间计算标签特定特征空间大小,为防止特征空间过大造成标签特定特征维度爆炸,取正负空间大小中较小值,并使用对数对其进行缩放,最终得出聚类个数mk。
(2)采用K-MEANS算法对正负实例空间进行聚类,将原始特征空间向量与聚类中心点结合聚类中心点的个数进行度量,从原始的d维空间
映射到一个d
k维度的标签特定特征空间
进一步的,所述步骤103对文本数据集中任意两个标签计算标签间的相关性,构造标签间相关性无向完全图;具体为:标签空间采用相关性corr(li,lj)计算得出成对标签相关性集合E,以数据集中多标签集合V={l1,…,lj,…,lq}为无向完全图G中点集,成对标签相关性集合E={corr(li,lj)li∈V,lj∈V}为无向完全图G中边集。
进一步的,所述步骤104采用扩展Kruskal算法在图中计算最大生成树,选取树中每个顶点为根生成多棵权值相同但树高度不同的最大生成树,并根据树的高度从低到高排序;具体步骤为:
(1)采用扩展Kruskal算法在标签间相关性无向完全图上计算最大生成树集合,其中树的权值为标签间的相关性,最大生成树结构表达标签间的强相关性。
(2)对于多棵最大生成树,枚举树中的任意子节点为根节点进行树重构,一棵最大生成树最多会产生|V|个不同的树结构,并对每棵树根据高度从低到高排序。
进一步的,所述步骤105从树集合中依次选择生成树,并从根节点开始使用二分类器在树上进行递归预测,对预测结果进行树上集成最终得出实例标签集:具体步骤为:
(1)对多棵结构不同的相关性最大生成树,选择前mk棵树进行分类,对于每棵树从根节点开始递归预测,在预测过程如公式(5)所示中将祖先节点标签的预测结果加入到子节点标签特征空间中构建新的特征空间,其中ancestor(lk)表示标签lk在相关性最大生成树中祖先节点标签。
(2)对于标签其分类数据集可以用
公式(6)表示,其中
表示标签l
k是否在实例的标签集中,采用二分类器对该标签节点数据集
进行分类,再递归预测子节点,直至对所有生成树中的节点分类完毕。
1054.由于选择根节点的不同会造成不同的树结构,表达的标签间强相关性也不一样,为了充分利用标签间的强相关性,同时减小选择不同根节点带来的影响,使用多棵树进行多标签分类。对于一个未知实例
树集成个数为t;将不同树上的同一节点进行集成,最终即可得出标签集Y
u公式(7)。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。