CN114266249A - 一种基于birch聚类的海量文本聚类方法 - Google Patents
一种基于birch聚类的海量文本聚类方法 Download PDFInfo
- Publication number
- CN114266249A CN114266249A CN202111586056.6A CN202111586056A CN114266249A CN 114266249 A CN114266249 A CN 114266249A CN 202111586056 A CN202111586056 A CN 202111586056A CN 114266249 A CN114266249 A CN 114266249A
- Authority
- CN
- China
- Prior art keywords
- clustering
- text
- cluster
- value
- tree
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及机器学习技术领域,提出一种基于birch聚类的海量文本聚类方法。针对海量文本的处理,使用改进的birch聚类算法建立哈希聚类特征树CF Tree,当初始CF Tree构建完成后,通过提升阈值T来重建CF树以吸收更多的异常样本值,直到异常值磁盘不再溢出;在对文本进行切词和去停用词的基础上,使用加权技术TF‑IDF计算关键词权重,并选取其中权重值较大的部分作为文本特征通过局部敏感哈希算法进行特征的降维,去除了文本中复杂的冗余信息,提取了能代表文本的关键信息,降低了文本特征的维度,提升了聚类的速度;采用了启发式的阈值提升模式,使得算法更好的适应不同文本的需求,降低人为设置超参数导致的聚类效果较差情况发生的概率。
Description
技术领域
本发明属于机器学习技术领域,具体涉及一种基于birch聚类的海量文本聚类方法。
背景技术
随着互联网技术的不断发展,网络中的数据正呈现***式增长的趋势,大量未经整理与分类的文本为我们快速获取特定方面信息带来了挑战。为了提升获取指定信息的能力,文本的去重与分类是必不可少的。优秀的文本聚类方法一方面可以用于去重,避免计算机存储和访问相同的资源,浪费宝贵的带宽及硬盘资源;另一方面可以用来文本分类,帮助我们快速且准确的定位特定信息。
文本的聚类主要涉及到两个方面:一是获取文本的特征表示;二是选择高效的聚类算法。目前,常用的文本表示方法包括词性表示、独热编码、计数向量表示、词袋模型向量表示等;聚类算法则主要是常见机器学习聚类算法以及相关变体。中国专利“CN103226546A一种基于分词和词性分析的后缀树聚类方法”主要通过对文本进行分词、词性统计、权重计算等手段提取文本中的关键信息,降低待聚类信息的维度,提高聚类结果的精确性。中国专利“CN 106557777A一种基于SimHash改进的K-means文档聚类方法”融合了SimHash数据压缩和相似文档快速查找的特点,对K-means进行了改进,不再对文本内容进行计算,加快了聚类计算时间。
但是,中国专利“CN 103226546A一种基于分词和词性分析的后缀树聚类方法”在文档的预处理阶段采用的是分词和词性分析的方法。词性分析仅考察了名词和动词两种词性的词语,然后将处理后的字符串集合输送给后续的后缀树模块。首先,对于汉语中的某些词汇经常存在一词多义现象,单纯的采用词性来选择目标词汇作为文档主要成分,容易造成文档主要信息的丢失。其次,后缀树本身虽然是一种线性复杂度的文档聚类算法,但是字符串的处理过程本身就是一个复杂的过程,尤其是在处理千、万级别数量的文本数据时,所需时间更是不可被接受的。中国专利“CN 106557777A一种基于SimHash改进的K-means文档聚类方法”所述的方案中K-means算法在对文档进行聚类时,将当前所选聚类文档指纹与其他每一待聚类文档进行计算距离,当文本数据量非常大的时候,会产生极大的时间消耗。其次,该方案并没有对设定阈值T进行规定,但阈值T很大程度上影响了聚类算法的准确率。
发明内容
针对现有技术的不足,本发明提出一种基于birch聚类的海量文本聚类方法,包括:
步骤1:获取文本信息并进行预处理;
步骤2:对预处理得到的字词进行文本特征的降维处理;
步骤3:使用文本SimHash值创建初始聚类特征树CF Tree,生成聚类中心表;
步骤4:利用全局聚类方法对所有簇进行聚类并更新聚类中心表,得到最终的分类结果。
所述步骤1中所述预处理包括分词处理、去除停用词、计算权重。
所述步骤1包括:
步骤1.1:依次读取每一篇文本,对于获取的英文单词按照空格进行分割,对于获取的中文采用Jieba分词工具进行分词;
步骤1.2:去除文本数据中的停用词;
步骤1.3:利用TF-IDF算法计算每个字词在文本中的权重,取每篇文本中权重较大的前M个字词作为该文本的特征。
所述步骤2包括:
步骤2.1:对每一个文本特征采用Hash算法得到N字节的Hash值;
步骤2.2:对得到的Hash值分别乘对应的权重值,得到文本特征的加权值;
步骤2.3:对同一篇文本特征的加权值按位进行求和,得到一个N字节的字符串;
步骤2.4:将N字节的字符串转化为0/1字符串,得到表示该文本的SimHash值。
所述步骤3包括:
步骤3.1:设置阈值T的初始化值,并初始化一棵聚类特征树CF Tree;
步骤3.2:任意选取一个待聚类的文本,将该文本的SimHash值作为一个样本点放入初始化簇中,并将该值作为初始化簇中心;
步骤3.3:通过计算该文本的SimHash值与各簇中心的汉明距离对所有待聚类文本进行聚类;
步骤3.4:判断新加入样本点的簇是否超过该簇所能容纳的最大样本点数B;若超过最大样本点数B,删除当前簇中心,并从簇内所有的样本点中选取汉明距离最大的两个,作为新的簇中心;
步骤3.5:计算当前簇内所有样本点与两个簇中心的汉明距离,对于每个样本点,将其加入汉明距离较小的簇,并更新簇中心值;
步骤3.6:当所有的文本都遍历一遍时,结束初始CF Tree的构建,并根据聚类结果创建聚类中心表。
所述步骤4包括:
步骤4.1:对CF Tree中所有簇进行扫描,删除簇内样本点数远小于平均值的簇,并将其中的样本点作为异常值回收到磁盘空间,若异常值磁盘空间未溢出,执行步骤4.3;若磁盘空间溢出,执行步骤4.2;
步骤4.2:增大阈值T的取值,压缩CF Tree吸收更多的样本点,直到异常值磁盘不再溢出;
步骤4.3:利用全局聚类方法对所有的簇进行聚类更新聚类中心表,得到最终的分类结果。
进一步地,所述步骤3.3具体表述为:依次选取待聚类文本,计算该文本的SimHash值与各簇中心的汉明距离,若文本与聚类中心的汉明距离小于等于阈值T,则将文本的SimHash值作为一个样本点加入聚类中心所对应的簇中,并更新簇中心值;若文本与聚类中心的汉明距离大于阈值T,则将该文本的SimHash作为一个新的簇中心,创建新的簇。
本发明的有益效果是:
本发明提出了一种基于birch聚类的海量文本聚类方法,在对文本进行切词和去停用词的基础上,使用加权技术TF-IDF计算关键词权重,并选取其中权重值较大的部分作为关键词通过局部敏感哈希算法进行文本特征的降维,去除了文本中复杂的冗余信息,提取了能代表文本的关键信息,降低了文本特征的维度,提升了聚类的速度。由于本发明的目标是针对海量文本的处理,因此对于文本聚类的效率要求较高。使用改进的birch聚类算法建立哈希聚类特征树CF Tree,可以在线性扫描的条件下得到较好的聚类效果,并节省I/O以及内存开销。由于聚类算法通常需要设置特定的超参数来确定聚类的终止条件,当设置不合适的超参数的时候会影响聚类效果。为进一步提升聚类效果,本发明还采用了启发式的阈值提升模式,使得算法更好的适应不同文本的需求,降低人为设置超参数导致的聚类效果较差情况发生的概率。
附图说明
图1为本发明中基于birch聚类的海量文本聚类方法流程图;
图2为本发明中聚类过程的主流程图。
具体实施方式
下面结合附图和具体实施实例对发明做进一步说明。
如图2所示是本发明技术方案的主流程图,一种基于birch聚类的海量文本聚类方法,主要包括文本信息预处理、特征降维、特征聚类处理三大部分,最终目的是得到文本数据的聚类中心表。
文本信息预处理包括文章的分词处理、去除停用词以及计算权重三个过程。对文本类型的数据进行分析,无论是英文还是中文,首先需要做的就是进行分词,英文单词可以按照空格直接分割,对中文本发明采用jieba分词工具对文本数据进行分词。
停用词包括本身使用十分广泛,但本身对于搜索没有帮助的词汇,例如中文中的“你”、“我”等人称代词;以及文中出现比例很高,但本身意义不大的词,例如语气助词、副词、介词、连词等。使用这一类词不但会影响聚类的效率,还会影响聚类效果的准确性,在预处理阶段都应该去除掉。
本发明中采用TF-IDF来计算权重,TF-IDF是一种统计学的方法,可以用来评估一个字词对于一个文本的重要程度。字词的重要性随着在文本中出现的次数成正比,但同时会随着在语料库中出现的频率成反比。使用TF-IDF可以很好的衡量字词对于文档的重要程度。
特征降维是指对预处理得到的字词采用局部敏感哈希算法转化为Nbit的0/1字符串,得到文本特征值,实现对文本特征的降维。
birch算法就是通过聚类特征(CF)形成一个聚类特征树,在特征聚类处理部分,本发明在birch算法的基础上进行了改进,采用改进的birch聚类算法对文本进行聚类。通过改进birch算法的CF结构,使得改进后的birch算法可以处理哈希空间的特征数据;通过调节阈值T,使得CF Tree可以自适应的调节簇的大小,提升聚类算法的效果。
为此,本发明提出的一种基于birch聚类的海量文本聚类方法,如图1所示,包括:
步骤1:获取文本信息并进行预处理;所述步骤1中所述预处理包括分词处理、去除停用词、计算权重;具体表述为:
步骤1.1:依次读取每一篇文本,对于获取的英文单词按照空格进行分割,对于获取的中文采用Jieba分词工具进行分词;
步骤1.2:去除文本数据中的停用词,减少计算机处理分词权重的计算量;
步骤1.3:利用TF-IDF算法计算每个字词在文本中的权重,取每篇文本中权重较大的前M个字词作为该文本的特征;本实施例中挑选每篇文本的前20个词作为文本的特征,得到M*20(M代表文本数量)的权重矩阵R;
步骤2:对预处理得到的字词进行文本特征的降维处理;包括:
步骤2.1:对每一个文本特征采用Hash算法得到N字节的Hash值,这里保证每一个特征都是唯一的;
步骤2.2:对得到的Hash值分别乘对应的权重值,得到文本特征的加权值;
步骤2.3:对同一篇文本特征的加权值按位进行求和,得到一个N字节的字符串;
步骤2.4:将N字节的字符串转化为0/1字符串,得到表示该文本的SimHash值。
步骤3:使用文本SimHash值创建初始聚类特征树CF Tree,生成聚类中心表;包括:
步骤3.1:设置阈值T的初始化值,设置T为3,并初始化一棵聚类特征树CF Tree;
步骤3.2:任意选取一个待聚类的文本,将该文本的SimHash值作为一个样本点放入初始化簇中,并将该值作为初始化簇中心;
步骤3.3:通过计算该文本的SimHash值与各簇中心的汉明距离对所有待聚类文本进行聚类;具体表述为:依次选取待聚类文本,计算该文本的SimHash值与各簇中心的汉明距离,若文本与聚类中心的汉明距离小于等于阈值T,则将文本的SimHash值作为一个样本点加入聚类中心所对应的簇中,并更新簇中心值;若文本与聚类中心的汉明距离大于阈值T,则将该文本的SimHash作为一个新的簇中心,创建新的簇;
步骤3.4:判断新加入样本点的簇是否超过该簇所能容纳的最大样本点数B;若超过最大样本点数B,删除当前簇中心,并从簇内所有的样本点中选取汉明距离最大的两个,作为新的簇中心;
步骤3.5:计算当前簇内所有样本点与两个簇中心的汉明距离,对于每个样本点,将其加入汉明距离较小的簇,并更新簇中心值;
步骤3.6:当所有的文本都遍历一遍时,结束初始CF Tree的构建,并根据聚类结果创建聚类中心表;
CF Tree创建结束后,为了吸收更多的叶节点条目,可以通过提升阈值T来压缩CFTree。对于我们选定的初始阈值有可能不符合文本实际的情况,导致很多文本并没有划分到簇。当初始CF Tree构建完成后,通过提升阈值T来重建CF树以吸收更多的叶节点条目,直到所有的异常值都***到树中。
步骤4:为保证聚类效果,利用全局聚类方法对所有簇进行聚类并更新聚类中心表,得到最终的分类结果;包括:
步骤4.1:对CF Tree中所有簇进行扫描,删除簇内样本点数远小于平均值的簇,并将其中的样本点作为异常值回收到磁盘空间,若异常值磁盘空间未溢出,执行步骤4.3;若磁盘空间溢出,执行步骤4.2;
步骤4.2:增大阈值T的取值,压缩CF Tree吸收更多的样本点,直到异常值磁盘不再溢出;
步骤4.3:利用全局聚类方法对所有的簇进行聚类更新聚类中心表,得到最终的分类结果。
为验证本发明方法的有效性,本发明从文本特征提取效果与聚类效果两个方面进行验证。文本特征评价指标主要是提取的特征词数以及特征维度。聚类效果包括算法的执行时间以及轮廓系数。
采用本发明提出的聚类方法,在文本预处理阶段可以在覆盖更多关键信息的基础上,有效降低文本特征的维度并有利于提升聚类的速度,传统文本聚类方法特征与本发明聚类方法特征比较如表1所示:
表1词性后缀树文本聚类方法与birch文本聚类方法比较表
从表1能够看出,相较于传统词性后缀树算法,birch可以稳定从文本中提取20个特征词作为文本特征,且特征维度始终为64bit,字符串类型的特征降低了后续处理的复杂度。
本发明能够快速高效对海量文本进行聚类,在由87054个文本构成的数据集上,本发明提出的聚类方法在聚类质量和聚类速度上的对比如表2所示:
表2 k-means文本聚类方法与bitch文本聚类算法对比结果表
K-means文本聚类 | birch文本聚类 | |
执行时间(s) | 200.9 | 85.2 |
时间复杂度 | O(l*n*k*m) | O(n) |
轮廓系数 | 0.62 | 0.71 |
表2中,O表示算法的时间复杂度,l为迭代次数,n为样本数量,k表示聚类个数,m表示样本点维度。从表2能够看出,改用birch聚类算法的轮廓系数优于K-means聚类算法,执行时间也快了2倍多。总体上看,bitch算法在处理海量文本方面较K-means算法有很大提高。
综上所述,本发明提出了一种基于birch聚类的海量文本聚类方法,该方法针对文本数据特征多样化、处理难度大的问题,采用局部敏感哈希算法提取了文档中的关键信息维度,降低了聚类的复杂度;采用改进的birch算法将欧式空间的模式树算法用于哈希空间,提出哈希空间的CF表示方法,解决了birch算法只能处理数值数据的问题;聚类特征CF以及CF tree的使用减少了磁盘I/O操作和内存开销,线性扫描的机制使得一次遍历即可产生较高质量的聚类效果,克服了传统算法多次迭代,重复计算聚类中心耗时耗力的问题。
Claims (7)
1.一种基于birch聚类的海量文本聚类方法,其特征在于,包括:
步骤1:获取文本信息并进行预处理;
步骤2:对预处理得到的字词进行文本特征的降维处理;
步骤3:使用文本SimHash值创建初始聚类特征树CF Tree,生成聚类中心表;
步骤4:利用全局聚类方法对所有簇进行聚类并更新聚类中心表,得到最终的分类结果。
2.根据权利要求1所述的一种基于birch聚类的海量文本聚类方法,其特征在于,所述步骤1中所述预处理包括分词处理、去除停用词、计算权重。
3.根据权利要求2所述的一种基于birch聚类的海量文本聚类方法,其特征在于,所述步骤1包括:
步骤1.1:依次读取每一篇文本,对于获取的英文单词按照空格进行分割,对于获取的中文采用Jieba分词工具进行分词;
步骤1.2:去除文本数据中的停用词;
步骤1.3:利用TF-IDF算法计算每个字词在文本中的权重,取每篇文本中权重较大的前M个字词作为该文本的特征。
4.根据权利要求1所述的一种基于birch聚类的海量文本聚类方法,其特征在于,所述步骤2包括:
步骤2.1:对每一个文本特征采用Hash算法得到N字节的Hash值;
步骤2.2:对得到的Hash值分别乘对应的权重值,得到文本特征的加权值;
步骤2.3:对同一篇文本特征的加权值按位进行求和,得到一个N字节的字符串;
步骤2.4:将N字节的字符串转化为0/1字符串,得到表示该文本的SimHash值。
5.根据权利要求1所述的一种基于birch聚类的海量文本聚类方法,其特征在于,所述步骤3包括:
步骤3.1:设置阈值T的初始化值,并初始化一棵聚类特征树CF Tree;
步骤3.2:任意选取一个待聚类的文本,将该文本的SimHash值作为一个样本点放入初始化簇中,并将该值作为初始化簇中心;
步骤3.3:通过计算该文本的SimHash值与各簇中心的汉明距离对所有待聚类文本进行聚类;
步骤3.4:判断新加入样本点的簇是否超过该簇所能容纳的最大样本点数B;若超过最大样本点数B,删除当前簇中心,并从簇内所有的样本点中选取汉明距离最大的两个,作为新的簇中心;
步骤3.5:计算当前簇内所有样本点与两个簇中心的汉明距离,对于每个样本点,将其加入汉明距离较小的簇,并更新簇中心值;
步骤3.6:当所有的文本都遍历一遍时,结束初始CF Tree的构建,并根据聚类结果创建聚类中心表。
6.根据权利要求1所述的一种基于birch聚类的海量文本聚类方法,其特征在于,所述步骤4包括:
步骤4.1:对CF Tree中所有簇进行扫描,删除簇内样本点数远小于平均值的簇,并将其中的样本点作为异常值回收到磁盘空间,若异常值磁盘空间未溢出,执行步骤4.3;若磁盘空间溢出,执行步骤4.2;
步骤4.2:增大阈值T的取值,压缩CF Tree吸收更多的样本点,直到异常值磁盘不再溢出;
步骤4.3:利用全局聚类方法对所有的簇进行聚类更新聚类中心表,得到最终的分类结果。
7.根据权利要求5所述的一种基于birch聚类的海量文本聚类方法,其特征在于,所述步骤3.3具体表述为:依次选取待聚类文本,计算该文本的SimHash值与各簇中心的汉明距离,若文本与聚类中心的汉明距离小于等于阈值T,则将文本的SimHash值作为一个样本点加入聚类中心所对应的簇中,并更新簇中心值;若文本与聚类中心的汉明距离大于阈值T,则将该文本的SimHash作为一个新的簇中心,创建新的簇。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111586056.6A CN114266249A (zh) | 2021-12-20 | 2021-12-20 | 一种基于birch聚类的海量文本聚类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111586056.6A CN114266249A (zh) | 2021-12-20 | 2021-12-20 | 一种基于birch聚类的海量文本聚类方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114266249A true CN114266249A (zh) | 2022-04-01 |
Family
ID=80829788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111586056.6A Pending CN114266249A (zh) | 2021-12-20 | 2021-12-20 | 一种基于birch聚类的海量文本聚类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114266249A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117034051A (zh) * | 2023-07-27 | 2023-11-10 | 广东省水利水电科学研究院 | 基于birch算法的水利信息聚合方法、装置及介质 |
-
2021
- 2021-12-20 CN CN202111586056.6A patent/CN114266249A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117034051A (zh) * | 2023-07-27 | 2023-11-10 | 广东省水利水电科学研究院 | 基于birch算法的水利信息聚合方法、装置及介质 |
CN117034051B (zh) * | 2023-07-27 | 2024-05-03 | 广东省水利水电科学研究院 | 基于birch算法的水利信息聚合方法、装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109960724B (zh) | 一种基于tf-idf的文本摘要方法 | |
CN110321925B (zh) | 一种基于语义聚合指纹的文本多粒度相似度比对方法 | |
CN108573045B (zh) | 一种基于多阶指纹的比对矩阵相似度检索方法 | |
CN107895000B (zh) | 一种基于卷积神经网络的跨领域语义信息检索方法 | |
CN106557777B (zh) | 一种基于SimHash改进的Kmeans文档聚类方法 | |
US20140032207A1 (en) | Information Classification Based on Product Recognition | |
CN108027814B (zh) | 停用词识别方法与装置 | |
CN109993216B (zh) | 一种基于k最近邻knn的文本分类方法及其设备 | |
CN113011194B (zh) | 融合关键词特征和多粒度语义特征的文本相似度计算方法 | |
CN111985228A (zh) | 文本关键词提取方法、装置、计算机设备和存储介质 | |
CN110928981A (zh) | 一种文本标签体系搭建及完善迭代的方法、***及存储介质 | |
CN111506726B (zh) | 基于词性编码的短文本聚类方法、装置及计算机设备 | |
CN115759119A (zh) | 一种金融文本情感分析方法、***、介质和设备 | |
CN111325033A (zh) | 实体识别方法、装置、电子设备及计算机可读存储介质 | |
CN114896398A (zh) | 一种基于特征选择的文本分类***及方法 | |
CN114266249A (zh) | 一种基于birch聚类的海量文本聚类方法 | |
CN112579783A (zh) | 基于拉普拉斯图谱的短文本聚类方法 | |
CN116910599A (zh) | 数据聚类方法、***、电子设备及存储介质 | |
CN109902292B (zh) | 中文词向量处理方法及其*** | |
CN116127132A (zh) | 基于跨模态文本相关注意力的时序语言定位方法 | |
CN111125299B (zh) | 一种基于用户行为分析的动态词库更新方法 | |
CN113609247A (zh) | 一种基于改进Simhash算法的大数据文本去重技术 | |
CN110717015B (zh) | 一种基于神经网络的多义词识别方法 | |
CN114444491A (zh) | 新词识别方法和装置 | |
CN113011180A (zh) | 一种基于描述关键词抽取的缺陷报告严重程度预测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |