内置约束规则的k‑means文本聚类方法及装置制造方法及图纸

技术编号:17779901 阅读:55 留言:0更新日期:2018-04-22 08:30
本申请公开一种内置约束规则的k‑means文本聚类方法及装置,该方法包括:利用第二约束规则预处理待聚类文本集,得到与第二约束规则对应的第二预处理集合;获取待聚类文本集中的k个文本作为簇心;如果簇心包含于第二预处理集合的任一个子集合中,则将该第二预处理集合的另一个子集合中的文本添加到与该簇心对应的类簇互斥集合中;如果待聚类文本集中的当前文本包含于x个类簇互斥集合中,则计算除类簇互斥集合所对应的簇心以外其他(k‑x)个簇心与当前文本的距离,将当前文本添加到与其距离最近的簇心所对应的类簇中;重新计算每个类簇的新的簇心,如果新的簇心满足停止条件,则输出全部类簇。采用该方法可以降低文本聚类的计算复杂度,提高聚类精度。

【技术实现步骤摘要】
内置约束规则的k-means文本聚类方法及装置
本专利技术涉及信息处理与文本挖掘
,具体涉及一种内置约束规则的k-means文本聚类方法及装置。
技术介绍
聚类分析是数据挖掘领域重要工具之一,其基础工作就是将数据进行聚类。聚类是将数据分类到不同的类簇的一个过程,同一个类簇中的数据有很大的相似性,而不同类簇间的数据有很大的相异性。常用的聚类算法有层次聚类、网格聚类、划分聚类等,其中划分聚类中的k-means聚类算法相对更为常用且容易实现。典型的k-means聚类算法包括以下步骤:1、从包括N个文本的数据集中随机选择k个文本作为簇心,k<N;2、对除簇心外的每一个文本,测量其到每个簇心的距离,并将该文本归入与其距离最近的簇心的类簇中;3、重新计算每个类簇的新的簇心;4、迭代第2步和第3步,直到新的簇心与原簇心的距离小于预设的阈值,或者迭代次数达到预设次数,然后输出每个类簇。专利技术人经过分析认为,典型的k-means聚类算法每次迭代,数据集中所有的数据都需要参与一次计算,计算除簇心外的其他每一个数据到每一个簇心的距离,尤其当数据集中的数据量较大和/或选取的簇心数量较大时,计算复杂度很高。此外,典型的k-means聚类方法是基于文本内容来提取特征,以计算文本之间的距离,其聚类的效果不够理想,很容易将特征相似但主题不同/不相关的文本,或者将特征不相似但主题相同/相关的文本划分到错误的类簇中。
技术实现思路
为解决上述技术问题,本申请提供一种内置约束规则的k-means文本聚类方法,以降低文本聚类时的计算复杂度及改善聚类效果。第一方面,本申请提供一种内置约束规则的k-means文本聚类方法,包括以下步骤:利用第二约束规则预处理待聚类文本集,得到与所述第二约束规则对应的第二预处理集合,所述第二约束规则包括两个子规则,符合其中一个子规则的文本与符合另一个子规则的文本必须聚类到不同的类簇中,所述第二预处理集合包括两个子集合,每一个所述子集合包括符合一个对应的子规则的文本;获取所述待聚类文本集中的k个文本作为簇心,k<N,N为待聚类文本集中文本的总数量;如果簇心包含于第二预处理集合的任一个子集合中,则将该第二预处理集合的另一个子集合中的文本添加到与该簇心对应的类簇互斥集合中;如果待聚类文本集中的当前文本包含于x个类簇互斥集合中,则计算除类簇互斥集合所对应的簇心以外其他(k-x)个簇心与当前文本的距离,将当前文本添加到与其距离最近的簇心所对应的类簇中,其中,0<x<k;如果待聚类文本集中的当前文本不包含于任何一个类簇互斥集合中,或者当前文本包含于全部类簇互斥集合中,则计算所有簇心与当前文本的距离,将当前文本添加到与其距离最近的簇心所对应的类簇中;重新计算每个类簇的新的簇心,如果新的簇心满足预设的停止条件,则输出全部类簇。结合第一方面,在第一方面第一种可能的实现方式中,在将当前文本添加到与其距离最近的簇心所对应的类簇中的步骤之后,还包括:如果当前文本包含于第二预处理集合的任一个子集合中,则将该第二预处理集合的另一个子集合中的文本添加到与当前文本所属类簇的簇心对应的类簇互斥集合中。结合第一方面及上述可能的实现方式,在第一方面第二种可能的实现方式中,所述第二约束规则的子规则包括至少一个互斥词袋,所述互斥词袋包括至少一个预设的第二关键词,当同一个互斥词袋中的第二关键词的数量≥2个时,所述互斥词袋还包括所述第二关键词之间的逻辑与的关系。结合第一方面及上述可能的实现方式,在第一方面第三种可能的实现方式中,在获取所述待聚类文本集中的k个文本作为簇心之前,还包括:利用第一约束规则预处理待聚类文本集,得到与所述第一约束规则对应的第一预处理集合,符合所述第一约束规则的文本必须聚类到相同的类簇中,所述第一预处理集合包括符合对应的第一约束规则的文本;在如果簇心包含于第二预处理集合的任一个子集合中,则将该第二预处理集合的另一个子集合中的文本添加到与该簇心对应的类簇互斥集合中的步骤之后,还包括:如果簇心包含于第一预处理集合中,则将该第一预处理集合中除该簇心外的其余文本添加到与簇心对应的类簇中,清除所述待聚类文本集中已经添加到类簇中的文本。结合第一方面及上述可能的实现方式,在第一方面第四种可能的实现方式中,在将当前文本添加到与其距离最近的簇心所对应的类簇中的步骤之后,还包括:如果当前文本包含于第一预处理集合中,则将该第一预处理集合中除当前文本外的其余文本添加到当前文本所在的类簇中,清除所述待聚类文本集中已经添加到类簇中的文本。结合第一方面及上述可能的实现方式,在第一方面第五种可能的实现方式中,所述第一约束规则包括至少一个聚合词袋,所述聚合词袋包括至少一个预设的第一关键词,当同一个聚合词袋中的第一关键词的数量≥2个时,所述聚合词袋还包括第一关键词之间的逻辑与的关系。第二方面,本申请提供一种内置约束规则的k-means文本聚类装置,包括:第二预处理单元,用于利用第二约束规则预处理待聚类文本集,得到与所述第二约束规则对应的第二预处理集合,其中,所述第二约束规则包括两个子规则,符合其中一个子规则的文本与符合另一个子规则的文本必须聚类到不同的类簇中,所述第二预处理集合包括两个子集合,每一个所述子集合包括符合一个对应的子规则的文本;聚合单元,用于获取所述待聚类文本集中的k个文本作为簇心;在簇心包含于第二预处理集合的任一个子集合中的情况下将该第二预处理集合的另一个子集合中的文本添加到与该簇心对应的类簇互斥集合中;在待聚类文本集中的当前文本包含于x个类簇互斥集合中的情况下计算除类簇互斥集合所对应的簇心以外其他(k-x)个簇心与当前文本的距离,将当前文本添加到与其距离最近的簇心所对应的类簇中;在待聚类文本集中的当前文本不包含于任何一个类簇互斥集合中,或者当前文本包含于全部类簇互斥集合中的情况下计算所有簇心与当前文本的距离,将当前文本添加到与其距离最近的簇心所对应的类簇中;以及,重新计算每个类簇的新的簇心,如果新的簇心满足预设的停止条件,则输出全部类簇;其中,k<N,N为待聚类文本集中文本的总数量,0<x<k。结合第二方面,在第二方面第一种可能的实现方式中,所述聚合单元还用于在当前文本包含于第二预处理集合的任一个子集合中的情况下将该第二预处理集合的另一个子集合中的文本添加到与当前文本所属类簇的簇心对应的类簇互斥集合中。结合第二方面及上述可能的实现方式,在第二方面第二种可能的实现方式中,该文本聚类装置,还包括:第一预处理单元,用于利用第一约束规则预处理待聚类文本集,得到与所述第一约束规则对应的第一预处理集合,其中,符合所述第一约束规则的文本必须聚类到相同的类簇中,所述第一预处理集合包括符合对应的第一约束规则的文本;所述聚合单元还用于在簇心包含于第一预处理集合中的情况下将该第一预处理集合中除该簇心外的其余文本添加到与簇心对应的类簇中,清除所述待聚类文本集中已经添加到类簇中的文本。结合第二方面及上述可能的实现方式,在第二方面第三种可能的实现方式中,所述聚合单元还用于在当前文本包含于第一预处理集合中的情况下将该第一预处理集合中除当前文本外的其余文本添加到当前文本所在的类簇中,清除所述待聚类文本集中已经添加到类簇中的文本。在本申请的聚类方法中,首先利用内置于k-means本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201711236589.html" title="内置约束规则的k‑means文本聚类方法及装置原文来自X技术">内置约束规则的k‑means文本聚类方法及装置</a>

【技术保护点】
一种内置约束规则的k‑means文本聚类方法,其特征在于,包括以下步骤:利用第二约束规则预处理待聚类文本集,得到与所述第二约束规则对应的第二预处理集合,所述第二约束规则包括两个子规则,符合其中一个子规则的文本与符合另一个子规则的文本必须聚类到不同的类簇中,所述第二预处理集合包括两个子集合,每一个所述子集合包括符合一个对应的子规则的文本;获取所述待聚类文本集中的k个文本作为簇心,k<N,N为待聚类文本集中文本的总数量;如果簇心包含于第二预处理集合的任一个子集合中,则将该第二预处理集合的另一个子集合中的文本添加到与该簇心对应的类簇互斥集合中;如果待聚类文本集中的当前文本包含于x个类簇互斥集合中,则计算除类簇互斥集合所对应的簇心以外其他(k‑x)个簇心与当前文本的距离,将当前文本添加到与其距离最近的簇心所对应的类簇中,其中,0<x<k;如果待聚类文本集中的当前文本不包含于任何一个类簇互斥集合中,或者当前文本包含于全部类簇互斥集合中,则计算所有簇心与当前文本的距离,将当前文本添加到与其距离最近的簇心所对应的类簇中;重新计算每个类簇的新的簇心,如果新的簇心满足预设的停止条件,则输出全部类簇。

【技术特征摘要】
1.一种内置约束规则的k-means文本聚类方法,其特征在于,包括以下步骤:利用第二约束规则预处理待聚类文本集,得到与所述第二约束规则对应的第二预处理集合,所述第二约束规则包括两个子规则,符合其中一个子规则的文本与符合另一个子规则的文本必须聚类到不同的类簇中,所述第二预处理集合包括两个子集合,每一个所述子集合包括符合一个对应的子规则的文本;获取所述待聚类文本集中的k个文本作为簇心,k<N,N为待聚类文本集中文本的总数量;如果簇心包含于第二预处理集合的任一个子集合中,则将该第二预处理集合的另一个子集合中的文本添加到与该簇心对应的类簇互斥集合中;如果待聚类文本集中的当前文本包含于x个类簇互斥集合中,则计算除类簇互斥集合所对应的簇心以外其他(k-x)个簇心与当前文本的距离,将当前文本添加到与其距离最近的簇心所对应的类簇中,其中,0<x<k;如果待聚类文本集中的当前文本不包含于任何一个类簇互斥集合中,或者当前文本包含于全部类簇互斥集合中,则计算所有簇心与当前文本的距离,将当前文本添加到与其距离最近的簇心所对应的类簇中;重新计算每个类簇的新的簇心,如果新的簇心满足预设的停止条件,则输出全部类簇。2.根据权利要求1所述的内置约束规则的k-means文本聚类方法,其特征在于,在将当前文本添加到与其距离最近的簇心所对应的类簇中的步骤之后,还包括:如果当前文本包含于第二预处理集合的任一个子集合中,则将该第二预处理集合的另一个子集合中的文本添加到与当前文本所属类簇的簇心对应的类簇互斥集合中。3.根据权利要求1或2所述的内置约束规则的k-means文本聚类方法,其特征在于,所述第二约束规则的子规则包括至少一个互斥词袋,所述互斥词袋包括至少一个预设的第二关键词,当同一个互斥词袋中的第二关键词的数量≥2个时,所述互斥词袋还包括所述第二关键词之间的逻辑与的关系。4.根据权利要求1所述的内置约束规则的k-means文本聚类方法,其特征在于,在获取所述待聚类文本集中的k个文本作为簇心之前,还包括:利用第一约束规则预处理待聚类文本集,得到与所述第一约束规则对应的第一预处理集合,符合所述第一约束规则的文本必须聚类到相同的类簇中,所述第一预处理集合包括符合对应的第一约束规则的文本;在如果簇心包含于第二预处理集合的任一个子集合中,则将该第二预处理集合的另一个子集合中的文本添加到与该簇心对应的类簇互斥集合中的步骤之后,还包括:如果簇心包含于第一预处理集合中,则将该第一预处理集合中除该簇心外的其余文本添加到与簇心对应的类簇中,清除所述待聚类文本集中已经添加到类簇中的文本。5.根据权利要求4所述的内置约束规则的k-means文本聚类方法,其特征在于,在将当前文本添加到与其距离最近的簇心所对应的类簇中的步骤之后,还包括:如果当前文本包含于第一预处理集合中,则将该第一预...

【专利技术属性】
技术研发人员:李德彦晋耀红席丽娜
申请(专利权)人:北京神州泰岳软件股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1