一种面向海量互联网文本数据的流式聚类及展现的方法与流程

文档序号:13422010阅读:1112来源:国知局

本发明涉及信息技术领域,具体的说是一种面向海量互联网文本数据的流式聚类及展现的方法。



背景技术:

传统聚类方法只能对固定大小的数据集合进行聚类的问题,且传统的聚类在一次聚类结束后回释放内存中储存的数据结构,并在下次聚类时重新从数据库读取数据进行聚类,因为需要频繁从数据库读取数据,这种方法会消耗大量的时间在数据读取上,由于层次聚类本身时间复杂度较高,这种方法不适用于进行实时的文本聚类。

基于此,针对上述现状中存在的问题,本发明提出了一种面向海量互联网文本数据的流式聚类及展现的方法,能够对不同数据集合进行聚类、提高聚类效率和减少内存占用。



技术实现要素:

为了解决上述现有技术的问题,本发明提供一种面向海量互联网文本数据的流式聚类及展现的方法,能够对不同数据集合进行聚类、提高聚类效率和减少内存占用。

本发明解决其技术问题所采用的技术方案是:

一种面向海量互联网文本数据的流式聚类及展现的方法,包括以下步骤:

步骤1、提取互联网中的新闻信息并存入数据库;

步骤2、对数据库中已有的数据进行聚类,通过调节多个数据之间的聚类相似度来建立向量空间模型;

步骤3、储存步骤2中的聚类数据所对应的向量,删除聚类数据对应的文本内容,得到聚类模型;

步骤4、将数据库得到的新的数据和步骤3中的聚类模型进行动态聚类,并更新聚类结果。

进一步地,设定x为一个系统参数,用于调节聚类相似度,所述步骤2中建立向量空间模型的一种方式具体为:

a1、对数据库中已有的数据进行分词;

a2、对分词结果使用停词表过滤;

a3、使用tfidf模型将过滤后的分词结果映射成k维的稀疏向量;

a4、使用层次聚类对已有的数据进行聚类,两条数据之间的相似度用这两条数据对应的两个k维向量夹角的余弦值来表示,当两个向量之间的余弦值小于x时,这两个向量所对应的文本内容为一类,否则,不是一类。

a5、根据步骤a4,调节x来建立向量空间模型。

进一步地,所述步骤3中得到聚类模型之前还包括进行减少每个聚类中包含数据的条数。

更进一步地,减少每个聚类中包含数据的条数为随机删除,随机删除的条数小于定义的变量阈值。

更进一步地,使用knn算法来减少每个聚类中包含数据的条数,具体为:通过类中所包含的向量计算出类的质心,然后将距离质心最近的向量删除,保留质心向量。

进一步地,所述步骤3中得到聚类模型之前还包括进行减少聚类的类数。

更进一步地,使用lru算法来减少聚类的类数,具体为:将添加新数据的时间作为这个类的最后更新时间,设定z为聚类保存的最大聚类数,m为聚类的类数,当m大于z时,删除1个或m-z个聚类,同时删除最久未使用的类。

进一步地,所述步骤4具体为:

将新的数据分入已有的一个聚类中,如果新的数据到任何一个已有聚类的距离都超过了定义的变量阀值,那么新增一个新的聚类里面只包含这条新进数据,分配完新进的数据后按步骤3处理数据,然后处理下一条新的数据。

更进一步地,设定t1为聚类启动时间,t2为聚类运行完初始化阶段的时间,所述步骤4中动态聚类的一种方式具体为:

b1、重新计算新的向量,更新向量空间模型,处理t1到t2之间的新的数据,将每一条新的数据当做一个单独的类;

b2、计算新的数据的向量到每个聚类中的向量的平均距离,得到新进数据到已有的每个聚类的距离,找到距离最小的那个聚类,如果这个距离大于定义的变量阀值,那么新的数据将成为新的一类,否则将分入距离最近的那一类。

与现有技术相比,本发明的有益效果是:

本发明解决了传统聚类算法只能对固定大小的数据集合进行聚类的问题,并设法降低了层次聚类应用于实时增大的数据集时所需的计算资源,能够对不断更新和增长的数据集进行聚合处理以实现更加精确和灵敏的相似内容推荐功能。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明所述的一种面向海量互联网文本数据的流式聚类及展现的方法,包括以下步骤:

一种面向海量互联网文本数据的流式聚类及展现的方法,包括以下步骤:

步骤1、提取互联网中的新闻信息并存入数据库;

步骤2、对数据库中已有的数据进行聚类,通过调节多个数据之间的聚类相似度来建立向量空间模型;

步骤3、储存步骤2中的聚类数据所对应的向量,删除聚类数据对应的文本内容,得到聚类模型;

步骤4、将数据库得到的新的数据和步骤3中的聚类模型进行动态聚类,并更新聚类结果。

上述方案中,步骤3只留下数据所对应的向量来表示这些数据,因为这些文本在之后的聚类中已经不会用到。转为向量将减少这些数据在内存中的使用空间。

具体实施时,设定x为一个系统参数,用于调节聚类相似度,所述步骤2中建立向量空间模型的一种方式具体为:

a1、对数据库中已有的数据进行分词;

a2、对分词结果使用停词表过滤;

a3、使用tfidf模型将过滤后的分词结果映射成k维的稀疏向量,维度k由词袋的大小来决定;

a4、使用层次聚类对已有的数据进行聚类,两条数据之间的相似度用这两条数据对应的两个k维向量夹角的余弦值来表示,当两个向量之间的余弦值小于x时,这两个向量所对应的文本内容为一类,否则,不是一类。

a5、根据步骤a4,调节x来建立向量空间模型。

具体实施时,所述步骤3中得到聚类模型之前还包括进行减少每个聚类中包含数据的条数,传统的聚类在一次聚类结束后回释放内存中储存的数据结构,并在下次聚类时重新从数据库读取数据进行聚类,因为需要频繁从数据库读取数据,这种方法会消耗大量的时间在数据读取上,步骤3将把聚类的结果储存在内存中来提高之后的聚类效率。然而,内存的大小是有限的,所以在聚类时,通过减少每个聚类中包含数据的条数的方法来减少内存占用。

在上述具体实施时,减少每个聚类中包含数据的条数为随机删除,随机删除的条数小于定义的变量阈值,删除类中的数据时,留下的数据能够尽可能的表达类的范围,也就是减少由于删除数据而带来的对于新的数据的聚类误差。

在上述具体实施时,使用knn算法来减少每个聚类中包含数据的条数,具体为:通过类中所包含的向量计算出类的质心,然后将距离质心最近的向量删除,保留质心向量,可以将每个聚类中的数据条数控制在一定的范围之内。

具体实施时,所述步骤3中得到聚类模型之前还包括进行减少聚类的类数,来减少内存占用。

在上述具体实施时,使用lru算法来减少聚类的类数,具体为:将添加新数据的时间作为这个类的最后更新时间,设定z为聚类保存的最大聚类数,m为聚类的类数,当m大于z时,删除1个或m-z个聚类,同时删除最久未使用的类。

具体实施时,所述步骤4具体为:

将新的数据分入已有的一个聚类中,如果新的数据到任何一个已有聚类的距离都超过了定义的变量阀值,那么新增一个新的聚类里面只包含这条新进数据,分配完新进的数据后按步骤3处理数据,然后处理下一条新的数据。

在上述具体实施时,设定t1为聚类启动时间,t2为聚类运行完初始化阶段的时间,所述步骤4中动态聚类的一种方式具体为:

b1、重新计算新的向量,更新向量空间模型,处理t1到t2之间的新的数据,将每一条新的数据当做一个单独的类;

b2、计算新的数据的向量到每个聚类中的向量的平均距离,得到新进数据到已有的每个聚类的距离,找到距离最小的那个聚类,如果这个距离大于定义的变量阀值,那么新的数据将成为新的一类,否则将分入距离最近的那一类。

以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

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