CN103955489B - 基于信息熵特征权重量化的海量短文本分布式knn分类算法及系统 - Google Patents
基于信息熵特征权重量化的海量短文本分布式knn分类算法及系统 Download PDFInfo
- Publication number
- CN103955489B CN103955489B CN201410150855.2A CN201410150855A CN103955489B CN 103955489 B CN103955489 B CN 103955489B CN 201410150855 A CN201410150855 A CN 201410150855A CN 103955489 B CN103955489 B CN 103955489B
- Authority
- CN
- China
- Prior art keywords
- mrow
- similarity
- category
- feature
- classification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000013139 quantization Methods 0.000 title claims abstract description 24
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 12
- 238000012549 training Methods 0.000 claims abstract description 47
- 238000000034 method Methods 0.000 claims abstract description 24
- 238000012360 testing method Methods 0.000 claims description 25
- 238000004364 calculation method Methods 0.000 claims description 20
- 239000011159 matrix material Substances 0.000 claims description 6
- 238000011002 quantification Methods 0.000 claims description 4
- 230000001419 dependent effect Effects 0.000 claims 1
- 238000007635 classification algorithm Methods 0.000 abstract description 12
- 238000007781 pre-processing Methods 0.000 abstract description 10
- 230000000694 effects Effects 0.000 abstract description 2
- 239000003638 chemical reducing agent Substances 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000000605 extraction Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于信息熵特征权重量化的海量短文本分布式KNN分类算法及系统。算法主要包括对文本的预处理、用信息熵衡量特征的权重,基于信息熵的文档向量表示方法,采用索引及缓存技术的KNN分类算法,整个算法基于MapReduce计算框架的实现。本发明利用特征在训练集中的信息熵,有效地衡量文本中词对于分类的作用大小,并且算法基于MapReduce计算框架能利用大规模集群来高效地对进行海量短文本的分类处理。本发明提供了一个准确率高、运行效率高、扩展性强的海量短文本分类算法。
Description
技术领域
本发明属于文本分类技术领域,涉及一种基于信息熵特征权重量化的海量短文本分布式KNN分类算法及系统。
背景技术
随着互联网的高速发展,用户生成的电子文档及资源数目日益增长。文本分类技术成为处理和组织海量文档数据的关键技术。特别是随着微型博客和各类用户评论等短文本数据在互联网范围内的大量出现,有关短文本的相关研究逐步受到人们的关注。分本分类算法一般包括:文本预处理、文档的表示以及分类器的选择和训练。具体来说,文本预处理主要是将文本进行分词切割,并将其中对于语义表达无用的停词去除。文档表示是为了降低文档的复杂性,使其便于后续步骤的处理,将文档的文本格式转成向量格式。向量中的每个特征将被赋予一个权重用来表示其在分类贡献度,对特征进行恰当的权重量化处理能够有效地提高分类算法的分类精度。最后,采用相应的分类算法对重新表示后的文档进行训练,并对未分类的文档进行类别预测及分类。
目前,对于文本分类处理方法大多是针对长文本分类提出的。所谓长文本是指篇幅较长,包含了较多内容的文本文件。不同于长文本,短文本具有关键词特征稀疏、语境不完整和语义信息模糊的特点,使得传统的文本表示方法在短文本处理时难以较好地量化特征在分类时的有用性。
此外,随着大数据时代的到来,对海量数据处理的实时性、可靠性、可扩展性等有了更高的要求。在这种情况下,Hadoop、Spark等海量数据处理平台应运而生。然而,传统的算法大多数都是在单机环境下进行数据处理,尚未有效地扩展到并行、分布式计算平台,使之能适应大数据处理能力的需求。
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于信息熵特征权重量化的海量短文本分布式KNN分类算法。
本发明的另一目的在在于,提供一种基于信息熵特征权重量化的海量短文本分布式KNN分类系统。
为了达到上述第一目的,本发明采用以下技术方案:
基于信息熵特征权重量化的海量短文本分布式KNN分类算法,包括下述步骤:
S1、通过信息熵指标衡量特征在数据集中的分布确定性,将确定性高的特征赋予高权重,反之赋予低权重,得到反映类分布的权重量化方法;
S2、基于Hadoop分布式计算平台,采用MapReduce计算框架进行设计的,分为两轮MapReduce操作组合;
在第一轮Map操作中,训练集被平均拆分为多个子训练集并分配到进行运算的结点上,每一个待分类的测试数据同时在不同节点上,分别与该节点中的子训练集进行相似度计算。在第一轮Reduce操作中,在各个节点中对Map计算得到的相似度进行排序,获得每个节点上与测试样本数据的局部最相似的k个训练集样本;
在第二轮Map操作中,将每个节点中的局部最相似的k个训练集样本的相似度和类别进行统计,在第二轮Reduce操作中,各个训练集样本以相似度进行投票,选出相似度最大的类别作为测试样本数据的预测类别;其中第二轮MapReduce操作组可以根据集群节点数目酌情变换成多轮MapReduce操作组合。
优选的,步骤S1中,对于面向类分布均匀数据、基于熵的特征权重量化子方法的具体步骤为:
S111、初试化特征-类别分布矩阵,统计每个特征t在各个类ci中出现词频f(t,ci);
S112、计算每个类别ci的词频总数f(ci)=∑tf(t,ci);
S113、计算特征在训练数据集中的熵值:
其中p(t,ci)=f(t,ci)/f(ci),n为类别的总数目;
S114、采用逻辑斯蒂方程计算特征的分类贡献度:
其中,threshold是归一化阈值。
优选的,面向非均匀类分布数据、基于平衡熵的特征权重量化子方法,考虑到类之间文档数量的不平衡性,在一个样本数极少的类中出现一次和在一个样本数较多的类中出现一次应该给予不同的权重,包括以下步骤:
S121、初始化特征-类别分布矩阵,统计每个特征w在各个类ci中出现词频f(t,ci);
S122、计算每个类别ci的词频总数f(ci)=∑tf(t,ci);
S123、计算特征——类别词频与类别总词频的相对比例:
f′(t,ci)=f(t,ci)/f(ci);
S124、计算特征在训练数据集中的熵值:
其中,n为类别的总数目;
S125、采用逻辑斯蒂方程计算特征的分类贡献度:
其中,threshold是归一化阈值。
优选的,步骤S2具体为:
S21、将训练数据集划分成n个子集,其中n为Hadoop平台中负责运算的从属节点个数;
S22、每个从属节点在读入训练数据子集时,建立一个特征与包含该特征的文档之间的索引,如:<ti:qi,…,qk>,其中ti是特征,qi为包含ti的文档,该索引用来快速查找包含某个特征的文档集合,另外,建立一个文档向量模的缓存单元;
S23、对于一个待分类的测试文档数据q,同时分派给每个从属节点,在每个节点中,首先初始化A[1]-A[k]作为q的初始近邻,A[1]-A[k]按q与A[i]的相似度similarity(q,A[i])降序排序,然后通过查找索引找出包含q中特征的所有训练集文档<qi,…,qk>作为候选邻居集合,依次计算q与每个候选邻居qi的余弦相似度,q与qi的相似度的计算公式如:在计算相似度时,查找缓存单元中是否包含带计算文档qi向量的模值||qi||,若存在,将模值取出进行计算;若不存在,首先计算该文档向量的模值,然后加入缓存单元,将得到的similarity(q,qi)与similarity(q,A[i])比较,其中i∈[1,k],找出第一个similarity(q,A[i])<similarity(q,qi)的A[i],若i∈[1,k],则将A[j+1]=A[j],其中j∈[i,k],并令A[i]=qi;否则,继续与下一个候选邻居进行相似性计算,最终,A[1]-A[k]即为每个节点中与q局部最相似的k个邻居;
S24、将每个节点中的局部最相似的k个邻居采用多路归并排序算法进行排序找出全局最相似的k个邻居,将该k个邻居以相似度进行预测类别投票,取出相似度最大的类别作为q的预测类别。
为了达到上述第二目的,本发明采用以下技术方案:
基于信息熵特征权重量化的海量短文本分布式KNN分类系统,文本预处理模块、特征提取模块、基于信息熵的词权重量化模块、文档表示模块以及引入索引缓存机制的KNN分布式分类模块;
所述文本预处理模块,使用分词器将所要分类的文本分成易于处理的单个词项,每一个词项作为此算法中处理的最小单元。然后根据中文停词表,把表中这些对文本分类没有意义的词项去掉;
所述特征提取方法模块,对每个样本中的文本预处理后得到的词项进行词频统计,从而把每个样本表示为(t1:f1,…,ti:fi,…,tn:fn)的形式,其中t1为文本中得到的词项,f1为该词项在当前样本的文本中出现的次数,n为所有样本中不同词项的总数;
所述基于信息熵的词权重量化模块,通过计算特征在训练集类别中的熵值来量化特征类别分布的确定性程度,并以此来衡量各个特征在分类过程中的贡献度。根据训练集的类别分布情况,若各个类别包含的文档数据数目比较一致,即各个类的分布较均匀,则采样对于面向类分布均匀数据、基于熵的特征权重量化子方法进行处理;否则,即各个类别包含的文档数据数目相差较大,各个类的分布不均匀,则采用面向非均匀类分布数据、基于平衡熵的特征权重量化子方法进行特征权重设置;
所述的文档表示模块,对每个样本中表示为如下形式,(t1:w1,…,ti:wi,…,tn:wn),其中t1为文本中得到的词,n为样本中不同特征总的总数量。假设经特征提取后的文档q=(t1:f1,…,ti:fi,…,tn:fn),则wi=fi*weight(ti);
所述的引入索引缓存机制的分布式KNN分类模块,由一种引入索引和缓存机制的KNN分布式分类算法组成;对一个未知分类的测试样本q,首先计算它与所有已知分类样本的相似度,再取出其中最相似的k个,得到一个样本集S。
优选的,引入索引缓存机制的分布式KNN分类模块中,根据S中样本的标记类别以及其与测试样本x的相似度,计算出测试样本与每个类的相似度:
最后,将样本将被判断为相似度最大的一类:result=arg Maxj(simj)。
本发明的原理:通过计算词的频率与类的样本数的比例来平衡大小不同类对于词重要性的衡量标准,然后,采用信息熵来计算词项的类别分布确定性程度,最后把计算的分布确定性用逻辑斯蒂方程来映射到0到1之间来作为词分类时的重要性权重,再利用词的权重计算样本之间的相似度,通过KNN算法得到待分类文本数据分类结果。
本发明与现有技术相比,具有如下优点和有益效果:
1.本发明使用信息熵来衡量词的权重,能够准确地量化词在分类中的重要性。使用了逻辑斯蒂方程来实现熵值与分类贡献度进行映射,使得词的权重量化更加合理,提高分类效果。
2.本发明考虑了当前大多数分类问题中,类别之间样本数量不平衡的问题,提出了利用用词的次数与类样本数量的相对大小进行熵值计算,从而减少了类之间样本数量的不平衡对分类问题带来的困难,提高分类的准确率。
3.本发明利用KNN算法中计算相似度时的独立性,将训练集样本和测试集样本分配到不同的结点上进行计算,提供了一种基于MapReduce实现了一个可扩展的、适用于大规模数据集的分布式KNN算法。
附图说明
图1为系统总框架图;
图2为预处理模块的流程图;
图3为权重计算模块的流程图;
图4为KNN分类的流程图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
如图1所示,本发明基于信息熵特征权重量化的海量短文本分布式KNN分类算法,包括下述步骤:
S1、通过信息熵指标衡量特征在数据集中的分布确定性,将确定性高的特征赋予高权重,反之赋予低权重,得到反映类分布的权重量化方法;
S2、基于Hadoop分布式计算平台,采用MapReduce计算框架进行设计的,分为两轮MapReduce操作组合;
在第一轮Map操作中,训练集被平均拆分为多个子训练集并分配到进行运算的结点上,每一个待分类的测试数据同时在不同节点上,分别与该节点中的子训练集相似度计算。在第一轮Reduce操作中,在各个节点中对Map计算得到的相似度进行排序,获得每个节点上与测试样本数据的局部最相似的k个训练集样本;
在第二轮Map操作中,将每个节点中的局部最相似的k个训练集样本的相似度和类别进行统计,在第二轮Reduce操作中,各个训练集样本以相似度进行投票,选出相似度最大的类别作为测试样本数据的预测类别;其中第二轮MapReduce操作组可以根据集群节点数目酌情变换成多轮MapReduce操作组合。
对于面向类分布均匀数据、基于熵的特征权重量化子方法,信息论中熵是对不确定性的测量。本发明采用熵来量化特征在训练类别中分布的确定性,并作为其在分类过程中有用性的衡量标准。具体来说,若特征的分布越确定,即大多数情况下,该特征只属于某一个类别,该特征将被赋予较高的权重;反之,
若特征的分布越不确定,即该特征出现在多个类别中,则该特征将被赋予较低的权重。该量化方法包括以下步骤:
1、初试化特征-类别分布矩阵,统计每个特征t在各个类ci中出现词频f(t,ci);
2、计算每个类别ci的词频总数f(ci)=∑tf(t,ci);
3、计算特征在训练数据集中的熵值:
其中p(t,ci)=f(t,ci)/f(ci),n为类别的总数目;
4、采用逻辑斯蒂方程计算特征的分类贡献度:
其中,threshold是归一化阈值。
面向非均匀类分布数据、基于平衡熵的特征权重量化子方法,考虑到类之间文档数量的不平衡性,在一个样本数极少的类中出现一次和在一个样本数较多的类中出现一次应该给予不同的权重,如图3所示,包括以下步骤:
1、初始化特征-类别分布矩阵,统计每个特征w在各个类ci中出现词频f(t,ci);
2、计算每个类别ci的词频总数f(ci)=∑tf(t,ci);
3、计算特征-类别词频与类别总词频的相对比例:
f′(t,ci)=f(t,ci)/f(ci);
4、计算特征在训练数据集中的熵值:
其中,n为类别的总数目;
5、采用逻辑斯蒂方程计算特征的分类贡献度:
其中,threshold是归一化阈值。
如图4所示,步骤S2中的具体操作为:
1、将训练数据集划分成n个子集,其中n为Hadoop平台中负责运算的从属节点个数;
2、每个从属节点在读入训练数据子集时,建立一个特征与包含该特征的文档之间的索引,如:<ti:qi,…,qk>,其中ti是特征,qi为包含ti的文档,该索引用来快速查找包含某个特征的文档集合,另外,建立一个文档向量模的缓存单元;
3、对于一个待分类的测试文档数据q,同时分派给每个从属节点,在每个节点中,首先初始化A[1]-A[k]作为q的初始近邻,A[1]-A[k]按q与A[i]的相似度similarity(q,A[i])降序排序,然后通过查找索引找出包含q中特征的所有训练集文档<qi,…,qk>作为候选邻居集合,依次计算q与每个候选邻居qi的余弦相似度,q与qi的相似度的计算公式如:在计算相似度时,查找缓存单元中是否包含带计算文档qi向量的模值||qi||,若存在,将模值取出进行计算;若不存在,首先计算该文档向量的模值,然后加入缓存单元,将得到的similarity(q,qi)与similarity(1,A[i])比较,其中i∈[1,k],找出第一个similarity(1,A[i])<similarity(q,qi)的A[i],若i∈[1,k],则将A[j+1]=A[j],其中j∈[i,k],并令A[i]=qi;否则,继续与下一个候选邻居进行相似性计算,最终,A[1]-A[k]即为每个节点中与q局部最相似的k个邻居;
4、将每个节点中的局部最相似的k个邻居采用多路归并排序算法进行排序找出全局最相似的k个邻居,将该k个邻居以相似度进行预测类别投票,取出相似度最大的类别作为q的预测类别。
本实施例的基于信息熵特征权重量化的海量短文本分布式KNN分类系统,系统框架图如图1所示,包括文本预处理模块、特征提取模块、词权重计算模块、文档表示模块、KNN分布式分类模块。
本发明中的文本预处理模块,这部分通过一次MapReduce操作完成,如图2所示:首先在Mapper中使用文本分词器对文本进行分词,将所要分类的文本分成易于处理的一个个词,传到Reducer中。在Reducer中根据中文停词表,把表中这些对文本分类没有意义的词去掉。最后返回分词、去停词后的结果。
本发明中的词权重计算模块,通过一次MapReduce完成。
所述特征提取方法模块,对每个样本中的文本预处理后得到的词项进行词频统计,从而把每个样本表示为(t1:f1,…,ti:fi,…,tn:fn)的形式,其中t1为文本中得到的词项,f1为该词项在当前样本的文本中出现的次数,n为所有样本中不同词项的总数;
所述基于信息熵的词权重量化模块,通过计算特征在训练集类别中的熵值来量化特征类别分布的确定性程度,并以此来衡量各个特征在分类过程中的贡献度;如图3所示,首先在Mapper中读入预处理后的数据,根据读入的样本的类别和预处理后的文本,对文本中的每一个词生成一个key为词项,value为类别的key-value对。
然后在Reducer中依次同一个key的所有key-value对,统计每个特征w在各个类ci中出现词频f(t,ci);
计算每个类别ci的词频总数f(ci)=∑tf(t,ci);
计算特征——类别词频与类别总词频的相对比例,f′(t,ci)=f(t,ci)/f(ci);
基于信息熵的词项分类权重计算如下:
计算特征在训练数据集中的熵值:
其中,n为类别的总数目;
采用逻辑斯蒂方程计算特征的分类贡献度:
其中,threshold是归一化阈值。
最后Reducer返回词项和词项对应的weighti′。
所述的文档表示模块,对每个样本中表示为如下形式,(t1:w1,…,ti:wi,…,tn:wn),其中t1为文本中得到的词,n为样本中不同特征总的总数量;假设经特征提取后的文档q=(t1:f1,…,ti:fi,…,tn:fn),则wi=fi*weight′(ti);
所述的引入索引缓存机制的分布式KNN分类模块,由一种引入索引和缓存机制的KNN分布式分类算法组成;如图4所示,对一个未知分类的测试样本q,首先计算它与所有已知分类样本的相似度,再取出其中最相似的k个,得到一个样本集S。本发明中的样本文本相似度计算,使用余弦相似度,q与qi的相似度的计算公式如:
对待计算的两个文本样本,通过计算它们的包含的词的交集和并集的权重之和,相除后返回相似度。本发明中的KNN分类模块,通过N次MapReduce完成,N>=2,N的数值大小取决于集群大小与数据量大小。在前面的N-1次MapReduce中,每个Mapper中读入一部分训练集数据保存在内存中,扫描全部训练集,把出现过的词记录成一个词表,并建立哈希表用来记录每一个词在训练集中哪些文档中出现过。然后对每一个要判断类别的样本,对这个样本中文本包含的所有词,根据词的索引表,找出这些词分别在哪些文档中出现过,求出这些文档的并集S,依次对这些文档与要判断类别的文档传入相似度计算模块计算相似度。把计算后的与测试文档的相似度大于阈值的文档的类别以及对应的相似度传入Reducer中。在Reducer中,把对每个测试文档的所有相似文档根据相似度排序,取出前K个,返回这些文档的类别和相似度。第N次MapReduce中,Mapper中读取前N-1次得到的每个测试文档与训练文档的相似度,生成key为测试文档id,value为最相似的k个训练文档的相似度和类别的key-value对。在Reducer中,读取同一个key的所有数据对,每一个数据对包含k个训练文档,提取出来根据相似度排序,对每一个key,即测试文档id,合并局部k最近邻后可得到全局的最相似k个文档的相似度和类别,根据S中样本的类别与相似度,计算出测试样本x与每个类的相似度:
从而把样本判断为相似度最大的一类:result=arg Maxj(simj)。
最后,在Reduce中返回测试文档的id和判断的类别result。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (2)
1.基于信息熵特征权重量化的海量短文本分布式KNN分类方法,其特征在于,包括下述步骤:
S1、通过信息熵指标衡量特征在数据集中的分布确定性,将确定性高的特征赋予高权重,反之赋予低权重,得到反映类分布的权重量化方法;
面向类分布均匀数据、基于熵的特征权重量化子方法的具体步骤为:
S111、初始化特征——类别分布矩阵,统计每个特征t在各个类ci中出现词频f(t,ci);
S112、计算每个类别ci的词频总数f(ci)=∑tf(t,ci);
S113、计算特征在训练数据集中的熵值:
<mrow>
<mi>E</mi>
<mi>n</mi>
<mi>t</mi>
<mi>r</mi>
<mi>o</mi>
<mi>p</mi>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>n</mi>
</munderover>
<mi>p</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>,</mo>
<msub>
<mi>c</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
<mi>l</mi>
<mi>o</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>p</mi>
<mo>(</mo>
<mrow>
<mi>t</mi>
<mo>,</mo>
<msub>
<mi>c</mi>
<mi>i</mi>
</msub>
</mrow>
<mo>)</mo>
<mo>)</mo>
</mrow>
</mrow>
其中p(t,ci)=f(t,ci)/f(ci),n为类别的总数目;
S114、采用逻辑斯蒂方程计算特征的分类贡献度:
<mrow>
<mi>w</mi>
<mi>e</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<mrow>
<mn>1</mn>
<mo>+</mo>
<msup>
<mi>e</mi>
<mrow>
<mi>e</mi>
<mi>n</mi>
<mi>t</mi>
<mi>r</mi>
<mi>o</mi>
<mi>p</mi>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mi>t</mi>
<mi>h</mi>
<mi>r</mi>
<mi>e</mi>
<mi>s</mi>
<mi>h</mi>
<mi>o</mi>
<mi>l</mi>
<mi>d</mi>
</mrow>
</msup>
</mrow>
</mfrac>
</mrow>
其中,threshold是归一化阈值;
面向非均匀类分布数据、基于平衡熵的特征权重量化子方法,考虑到类之间文档数量的不平衡性,在一个样本数极少的类中出现一次和在一个样本数较多的类中出现一次应该给予不同的权重,包括以下步骤:
S121、初始化特征-类别分布矩阵,统计每个特征t在各个类ci中出现词频f(t,ci);
S122、计算每个类别ci的词频总数f(ci)=∑tf(t,ci);
S123、计算特征-类别词频与类别总词频的相对比例:
f′(t,ci)=f(t,ci)/f(ci);
S124、计算特征在训练数据集中的熵值:
<mrow>
<mi>E</mi>
<mi>n</mi>
<mi>t</mi>
<mi>r</mi>
<mi>o</mi>
<mi>p</mi>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>n</mi>
</munderover>
<mi>p</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>,</mo>
<msub>
<mi>c</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
<mi>l</mi>
<mi>o</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>p</mi>
<mo>(</mo>
<mrow>
<mi>t</mi>
<mo>,</mo>
<msub>
<mi>c</mi>
<mi>i</mi>
</msub>
</mrow>
<mo>)</mo>
<mo>)</mo>
</mrow>
</mrow>
其中,n为类别的总数目;
S125、采用逻辑斯蒂方程计算特征的分类贡献度:
<mrow>
<mi>w</mi>
<mi>e</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<mrow>
<mn>1</mn>
<mo>+</mo>
<msup>
<mi>e</mi>
<mrow>
<mi>e</mi>
<mi>n</mi>
<mi>t</mi>
<mi>r</mi>
<mi>o</mi>
<mi>p</mi>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mi>t</mi>
<mi>h</mi>
<mi>r</mi>
<mi>e</mi>
<mi>s</mi>
<mi>h</mi>
<mi>o</mi>
<mi>l</mi>
<mi>d</mi>
</mrow>
</msup>
</mrow>
</mfrac>
</mrow>
其中,threshold是归一化阈值;
S2、基于Hadoop分布式计算平台,采用MapReduce计算框架进行设计的,分为两轮MapReduce操作组合;
在第一轮Map操作中,训练集被平均拆分为多个子训练集并分配到进行运算的节点上,每一个待分类的测试数据同时在不同节点上,分别与该节点中的子训练集进行相似度计算;在第一轮Reduce操作中,在各个节点中对Map计算得到的相似度进行排序,获得每个节点上与测试样本数据的局部最相似的k个训练集样本;
在第二轮Map操作中,将每个节点中的局部最相似的k个训练集样本的相似度和类别进行统计,在第二轮Reduce操作中,各个训练集样本以相似度进行投票,选出相似度最大的类别作为测试样本数据的预测类别;其中第二轮MapReduce操作组可以根据集群节点数目酌情变换成多轮MapReduce操作组合。
2.根据权利要求1所述的基于信息熵特征权重量化的海量短文本分布式KNN分类方法,其特征在于,步骤S2具体为:
S21、将训练数据集划分成n个子集,其中n为Hadoop平台中负责运算的从属节点个数;
S22、每个从属节点在读入训练数据子集时,建立一个特征与包含该特征的文档之间的索引,表示为:<ti:qi,…,qk>,其中ti是特征,qi为包含ti的文档,该索引用来快速查找包含某个特征的文档集合,另外,建立一个文档向量模的缓存单元;
S23、对于一个待分类的测试文档数据q,同时分派给每个从属节点,在每个节点中,首先初始化A[1]-A[k]作为q的初始近邻,A[1]-A[k]按q与A[i]的相似度similarity(q,A[i])降序排序,然后通过查找索引找出包含q中特征的所有训练集文档<qi,…,qk>作为候选邻居集合,依次计算q与每个候选邻居qi的余弦相似度,q与qi的相似度的计算公式为:在计算相似度时,查找缓存单元中是否包含带计算文档qi向量的模值||qi||,若存在,将模值取出进行计算;若不存在,首先计算该文档向量的模值,然后加入缓存单元,将得到的similarity(q,qi)与similarity(q,A[i])比较,其中i∈[1,k],找出第一个similarity(q,A[i])<similarity(q,qi)的A[i],若i∈[1,k],则将A[j+1]=A[j],其中j∈[i,k],并令A[i]=qi;否则,继续与下一个候选邻居进行相似性计算,最终,A[1]-A[k]即为每个节点中与q局部最相似的k个邻居;
S24、将每个节点中的局部最相似的k个邻居采用多路归并排序算法进行排序找出全局最相似的k个邻居,将该k个邻居以相似度进行预测类别投票,取出相似度最大的类别作为q的预测类别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410150855.2A CN103955489B (zh) | 2014-04-15 | 2014-04-15 | 基于信息熵特征权重量化的海量短文本分布式knn分类算法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410150855.2A CN103955489B (zh) | 2014-04-15 | 2014-04-15 | 基于信息熵特征权重量化的海量短文本分布式knn分类算法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103955489A CN103955489A (zh) | 2014-07-30 |
CN103955489B true CN103955489B (zh) | 2017-09-22 |
Family
ID=51332764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410150855.2A Active CN103955489B (zh) | 2014-04-15 | 2014-04-15 | 基于信息熵特征权重量化的海量短文本分布式knn分类算法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103955489B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104199832B (zh) * | 2014-08-01 | 2017-08-22 | 西安理工大学 | 基于信息熵的金融网络异常交易社区发现方法 |
CN105488022A (zh) * | 2014-09-24 | 2016-04-13 | 中国电信股份有限公司 | 一种文本特征提取系统和方法 |
CN104573331B (zh) * | 2014-12-19 | 2018-04-24 | 西安工程大学 | 一种基于MapReduce的K近邻数据预测方法 |
CN104536830A (zh) * | 2015-01-09 | 2015-04-22 | 哈尔滨工程大学 | 一种基于MapReduce的KNN文本分类方法 |
CN104573106B (zh) * | 2015-01-30 | 2017-09-29 | 浙江大学城市学院 | 一种基于案例推理技术的城市建设智能审批方法 |
CN104834686B (zh) * | 2015-04-17 | 2018-12-28 | 中国科学院信息工程研究所 | 一种基于混合语义矩阵的视频推荐方法 |
CN105843795B (zh) * | 2016-03-21 | 2019-05-14 | 华南理工大学 | 基于主题模型的文档关键词抽取方法及其系统 |
CN106777006B (zh) * | 2016-12-07 | 2020-10-23 | 重庆邮电大学 | 一种基于Spark下并行超网络的分类方法 |
CN107273412B (zh) * | 2017-05-04 | 2019-09-27 | 北京拓尔思信息技术股份有限公司 | 一种文本数据的聚类方法、装置和系统 |
CN110019654A (zh) * | 2017-07-20 | 2019-07-16 | 南方电网传媒有限公司 | 一种不平衡网络文本分类优化系统 |
CN107515904B (zh) * | 2017-07-31 | 2020-11-06 | 北京拉勾科技有限公司 | 一种职位搜索方法和计算设备 |
CN107943947A (zh) * | 2017-11-24 | 2018-04-20 | 贵州商学院 | 一种基于Hadoop平台的改进并行KNN网络舆情分类算法 |
CN108170848B (zh) * | 2018-01-18 | 2021-08-13 | 重庆邮电大学 | 一种面向中国移动智能客服的对话场景分类方法 |
CN108829699B (zh) * | 2018-04-19 | 2021-05-25 | 北京奇艺世纪科技有限公司 | 一种热点事件的聚合方法和装置 |
CN110390094B (zh) * | 2018-04-20 | 2023-05-23 | 伊姆西Ip控股有限责任公司 | 对文档进行分类的方法、电子设备和计算机程序产品 |
CN108982106B (zh) * | 2018-07-26 | 2020-09-22 | 安徽大学 | 一种快速检测复杂系统动力学突变的有效方法 |
CN110376519B (zh) * | 2019-08-30 | 2021-11-16 | 国家电网有限公司 | 高压断路器故障诊断方法、装置及终端设备 |
CN111222581A (zh) * | 2020-01-13 | 2020-06-02 | 山东汇贸电子口岸有限公司 | 一种基于改进分类算法的云存储手势识别系统及方法 |
CN111625644B (zh) * | 2020-04-14 | 2023-09-12 | 北京捷通华声科技股份有限公司 | 一种文本分类方法和装置 |
CN112214598B (zh) * | 2020-09-27 | 2023-01-13 | 吾征智能技术(北京)有限公司 | 一种基于头发状况的认知系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930063A (zh) * | 2012-12-05 | 2013-02-13 | 电子科技大学 | 一种基于特征项选择与权重计算的文本分类方法 |
CN103279478A (zh) * | 2013-04-19 | 2013-09-04 | 国家电网公司 | 一种基于分布式互信息文档特征提取方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070061319A1 (en) * | 2005-09-09 | 2007-03-15 | Xerox Corporation | Method for document clustering based on page layout attributes |
-
2014
- 2014-04-15 CN CN201410150855.2A patent/CN103955489B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930063A (zh) * | 2012-12-05 | 2013-02-13 | 电子科技大学 | 一种基于特征项选择与权重计算的文本分类方法 |
CN103279478A (zh) * | 2013-04-19 | 2013-09-04 | 国家电网公司 | 一种基于分布式互信息文档特征提取方法 |
Non-Patent Citations (6)
Title |
---|
唐剑波.Web文本挖掘中的文本分类研究.《中国优秀硕士学位论文全文数据库 信息科技辑》.2007,(第05期), * |
基于Hadoop的SKNN文本分类算法的设计与实现;金鹏;《中国优秀硕士学位论文全文数据库 信息科技辑》;20131215(第S2期);论文正文第5-36页 * |
基于Hadoop的文本分类研究;刘丛山;《中国优秀硕士学位论文全文数据库 信息科技辑》;20120715(第07期);I138-2735 * |
基于MapReduce模型文本分类算法的研究;杨国营;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140115(第01期);I138-2417 * |
基于信息增益和信息熵的特征词权重计算研究;李海瑞;《中国优秀硕士学位论文全文数据库 信息科技辑》;20130315(第03期);论文正文第5-35页 * |
贾玉生.基于Hadoop的分布式文本分类研究.《中国优秀硕士学位论文全文数据库 信息科技辑》.2014,(第03期), * |
Also Published As
Publication number | Publication date |
---|---|
CN103955489A (zh) | 2014-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103955489B (zh) | 基于信息熵特征权重量化的海量短文本分布式knn分类算法及系统 | |
Ding et al. | Research on data stream clustering algorithms | |
Paul et al. | Lesicin: A heterogeneous graph-based approach for automatic legal statute identification from indian legal documents | |
CN109670039B (zh) | 基于三部图和聚类分析的半监督电商评论情感分析方法 | |
CN103279478B (zh) | 一种基于分布式互信息文档特征提取方法 | |
WO2017097231A1 (zh) | 话题处理方法及装置 | |
CN104298776B (zh) | 基于lda模型的搜索引擎结果优化系统 | |
CN104834747A (zh) | 基于卷积神经网络的短文本分类方法 | |
CN104361037B (zh) | 微博分类方法及装置 | |
CN104036010A (zh) | 一种基于半监督cbow的用户搜索词主题分类的方法 | |
CN106528874A (zh) | 基于Spark内存计算大数据平台的CLR多标签数据分类方法 | |
CN108763348A (zh) | 一种扩展短文本词特征向量的分类改进方法 | |
CN103678274A (zh) | 一种基于改进互信息和熵的文本分类特征提取方法 | |
CN107590218A (zh) | 基于Spark的多特征结合中文文本高效聚类方法 | |
CN108197144A (zh) | 一种基于BTM和Single-pass的热点话题发现方法 | |
CN111061939B (zh) | 基于深度学习的科研学术新闻关键字匹配推荐方法 | |
CN107330557A (zh) | 一种基于社区划分和熵的舆情热点跟踪及预测方法与装置 | |
Adamu et al. | A survey on big data indexing strategies | |
CN104881399B (zh) | 基于概率软逻辑psl的事件识别方法和系统 | |
CN103984700B (zh) | 一种用于科技信息垂直搜索的异构数据分析方法 | |
Rao et al. | Result prediction for political parties using Twitter sentiment analysis | |
Kim et al. | Random forest DBSCAN for USPTO inventor name disambiguation | |
Wang et al. | Improving short text classification through better feature space selection | |
Campbell et al. | Content+ context networks for user classification in twitter | |
Yang et al. | Microblog sentiment analysis algorithm research and implementation based on classification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |