掌桥专利:专业的专利平台
掌桥专利
首页

一种聚类方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 09:58:59


一种聚类方法、装置、电子设备及存储介质

技术领域

本申请涉及人工智能技术领域,具体涉及智能信息处理技术。

背景技术

人工智能(Artificial Intelligence,AI)是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考及规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据等技术。人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据技术、知识图谱技术等几大方向。

在人工智能领域中,智能信息处理也是其中一个重要的领域分支。智能信息处理是模拟人与自然界其他生物处理信息的行为,建立处理复杂系统信息的理论、算法和系统的方法和技术。在智能信息处理领域中,聚类算法是用于对各种类型数据进行智能处理的一种重要手段。聚类算法又称群分析算法,是指将物理或抽象对象的集合分组为由类似的对象组成的多个类的分析过程,是研究分类问题的一种统计分析方法,同时也是数据挖掘的一个重要算法。聚类算法可以对图像或文本等各种类型的数据进行聚类分析,广泛应用于图像处理和数据处理等技术领域。

发明内容

本申请实施例提供了一种聚类方法、装置、电子设备以及存储介质,以在不增加数据处理时间成本的前提下,提高数据的聚类效果。

第一方面,本申请实施例提供了一种聚类方法,包括:

获取待聚类数据的原始特征集合;

根据所述原始特征集合构建设定数量的重构特征集合;

根据所述原始特征集合和所述重构特征集合对所述待聚类数据进行聚类处理。

第二方面,本申请实施例提供了一种聚类装置,包括:

原始特征集合获取模块,用于获取待聚类数据的原始特征集合;

重构特征集合获取模块,用于根据所述原始特征集合构建设定数量的重构特征集合;

聚类处理模块,用于根据所述原始特征集合和所述重构特征集合对所述待聚类数据进行聚类处理。

第三方面,本申请实施例提供了一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面实施例所提供的聚类方法。

第四方面,本申请实施例还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行第一方面实施例所提供的聚类方法。

本申请实施例通过根据待聚类数据的原始特征集合构建设定数量的重构特征集合,以根据原始特征集合和重构特征集合对待聚类数据进行聚类处理,解决现有聚类算法存在的聚类效果不够理想的问题,实现在不增加数据处理时间成本的前提下,提高数据的聚类效果。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本申请的限定。其中:

图1是现有技术中VEGCN算法的流程示意图;

图2是本申请实施例提供的一种聚类方法的流程图;

图3是本申请实施例提供的一种聚类方法的流程图;

图4是本申请实施例提供的一种聚类方法的流程图;

图5是本申请实施例提供的一种聚类方法的流程示意图;

图6是本申请实施例提供的一种聚类装置的结构图;

图7是用来实现本申请实施例的聚类方法的电子设备的结构示意图。

具体实施方式

以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

聚类是指把相似的特征通过算法分成不同的组别或者更多的子集,这样让在同一个子集中的特征间相似度尽可能大,不同子集中的特征间相似度尽可能小。聚类算法可以广泛应用于图像或文本等数据类型的数据处理领域中。以人脸图像为例说明,聚类算法可以对无标注人脸数据进行分类,使得相同的人尽可能在同一类,不同的人在不同类。人脸聚类是智能相册产品中的核心的基础AI能力,通过人脸聚类算法,可以实现将用户相册中,同一个人物的照片聚合在一起自动创建相册。对聚类算法来说,缩短聚类算法的时间复杂度,提高聚类质量是聚类算法优化持续需要解决的问题。

当前用于人脸聚类场景的聚类算法可以分为两大类:(1)无监督的人脸聚类算法,这一类算法以k-means(K均值)、DBSCAN(Density-Based Spatial Clustering ofApplications with Noise,具有噪声的基于密度的聚类方法)为代表。(2)有监督的人脸聚类算法,这一类算法以基于图神经网络(Graph Convolutional Network,GCN)的学习型聚类算法为代表。图1是现有技术中VEGCN算法的流程示意图,如图1所示,VEGCN算法首先使用K最近邻算法,构建邻接图,并让图卷积神经网络模型学习预测一个节点属于类中心的置信度,置信度高的节点周围是同类族的节点比例高,并且与周围节点的特征相似度高。这可以用来区分出哪些节点位于中心,那些位于两个类交界的置信度比较低的节点。最终通过把节点和它周围高置信度和高相似度的节点相连,我们可以把邻接图划分成多个树,每一个树,代表了一个类聚。

在目前的聚类算法中,无监督的人脸聚类算法依赖特定数据分布假设,没有能力处理类似人脸特征这种具有高维、复杂分布特性的特征聚类问题,在这类特征上的聚类效果较差。且无监督的人脸聚类算法需要复杂的人工设计的特征,耗费计算时间过长,如GDL(Graph Degree Linkage,一种基于图间距离的层次聚类算法)。有监督的人脸聚类算法利用图神经网络等模型来学习如何聚类,比人工设计的特征更有效,利用特征间关系对特征进行归类。其中,VEGCN(GCN-V,GCN-E,一种基于图卷积神经网络的聚类算法)算法是当前在人脸聚类上的SOTA(State-Of-The-Art,最优的)算法。VEGCN算法当前的聚类框架在人脸数据分布极度不均匀的场景表现欠佳,如典型的相册场景,部分人物的照片很多,其他人物的照片很少的情况下,VEGCN算法的聚类效果不够理想。

在一个示例中,图2是本申请实施例提供的一种聚类方法的流程图,本实施例可适用于利用待聚类处理数据的原始特征集合和重构特征集合对待聚类处理数据进行聚类处理的情况,该方法可以由聚类装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在电子设备中。该电子设备可以是计算机设备或服务器设备等。相应的,如图2所示,该方法包括如下操作:

S110、获取待聚类数据的原始特征集合。

其中,待聚类数据可以是需要进行聚类处理的数据。示例性的,待聚类数据的数据类型可以是图像数据、文本数据、音频数据、视频数据或其他格式类型的数据等,本申请实施例并不对待聚类数据的具体数据类型进行限定。原始特征集合可以是通过特征提取算法对待聚类数据进行特征提取后得到的特征所构成的集合,同样的,只要能够对待聚类数据进行特征提取即可,本申请实施例并不对特征提取算法的具体算法类型进行限定。

在本申请实施例中,当获取到需要进行聚类处理的待聚类数据后,可以利用与待聚类数据的数据类型所匹配的特征提取算法对其进行特征提取,得到待聚类数据的原始特征,并根据提取到的原始特征构建原始特征集合。示例性的,待聚类数据为图像数据,则可以采用SIFT(Scale-invariant feature transform,尺度不变特征转换)算法对图像进行特征提取。

S120、根据所述原始特征集合构建设定数量的重构特征集合。

其中,设定数量可以根据实际需求设置,如10、20或30等,本申请实施例并不对设定数量的具体数值进行限定。重构特征集合可以是对原始特征集合的原始特征利用采样或分割等方式获取的部分原始特征。也即,重构特征集合中包括的特征也属于原始特征,并未对原始特征进行压缩或放大等处理过程,只不过其包括的特征数据量小于原始特征的数据总量。

相应的,在获取待聚类数据的原始特征集合之后,可以依次从原始特征集合中抽取部分原始特征,并根据抽取的原始特征重新构建新的重构特征集合。每个重构特征集合中包括的特征数据量都小于原始特征的数据总量。通过构建重构特征集合,可以实现提取待聚类数据的多尺度信息,使得重构特征集合可以降低特征分布不均匀对聚类效果的影响。

S130、根据所述原始特征集合和所述重构特征集合对所述待聚类数据进行聚类处理。

相应的,在得到原始特征集合和重构特征集合之后,即可根据原始特征集合和重构特征集合对待聚类数据进行聚类处理。

由此可见,通过利用原始特征集合构建设定数量的重构特征集合,可以实现对待聚类数据重构多尺度的特征信息,以利用多尺度的特征信息对待聚类数据进行聚类处理,可以显著提高聚类处理效果,尤其适用于待聚类数据中的特征分布极度不均匀的聚类场景中。同时,本申请实施例中的重构特征集合利用原始特征集合构建的,并不属于复杂的人工设计的特征,因此不会耗费过长的聚类处理时间。

本申请实施例通过根据待聚类数据的原始特征集合构建设定数量的重构特征集合,以根据原始特征集合和重构特征集合对待聚类数据进行聚类处理,解决现有聚类算法存在的聚类效果不够理想的问题,实现在不增加数据处理时间成本的前提下,提高数据的聚类效果。

在一个示例中,图3是本申请实施例提供的一种聚类方法的流程图,本申请实施例在上述各实施例的技术方案的基础上,进行了优化改进,给出了根据所述原始特征集合构建设定数量的重构特征集合,以及获取邻接矩阵的多种具体可选的实现方式。

如图3所示的一种聚类方法,包括:

S210、获取待聚类数据的原始特征集合。

S220、确定所述重构特征集合的特征采样率。

其中,特征采样率可以是对原始特征集合进行采用的频率。示例性的,假设特征采样率的数值为0.5,表示需要从原始特征集合中获取一半的原始特征重新构建新的重构特征集合。

在本申请实施例中,在构建重构特征集合时,可以首先确定每个重构特征集合对应的特征采样率。可选的,每个重构特征集合可以分别对应不同的特征采样率,以避免构建相同的重构特征集合。

相应的,步骤S220具体可以包括下述操作:

S221、确定所述重构特征集合的集合生成层次。

其中,集合生成层次可以是重构特征集合对应的等级秩序。

在本申请实施例中,可以将原始特征集合作为集合生成层次中的第一层,并将每个重构特征集合分别对应集合生成层次中的其中一个层次。示例性的,第一个重构特征集合对应集合生成层次中的第二个层次,第二个重构特征集合对应集合生成层次中的第三个层次,以此类推。可以理解的是,如果集合生成层次共有L层,则其中共有L-1层为重构特征集合。

S222、根据基准采样率和所述集合生成层次确定所述特征采样率;其中,集合生成层次在后的特征采样率的数值小于集合生成层次在前的特征采样率的数值。

其中,基准采样率可以是预先设定的采样率数值,可以根据实际需求设定,如0.4、0.5、0.7或0.8等,本申请实施例并不对基准采样率的具体数值进行限定。

相应的,在确定重构特征集合的集合生成层次之后,即可根据基准采样率和集合生成层次确定重构特征集合对应的特征采样率。

示例性的,可以通过采样率a

上述确定特征采用率的方式可以实现特征采样率随集合生成层次的递增呈指数级递减的规律,使得集合生成层次越大的重构特征集合包括的原始特征的数据量越小,从而实现各重构特征集合的层次金字塔的分布方式。

S230、根据所述特征采样率对所述原始特征集合进行特征采样,得到采样特征。

其中,采样特征可以是原始特征集合中的部分原始特征。

S240、根据所述采样特征构建所述重构特征集合。

相应的,在确定重构特征集合的特征采样率之后,即可根据确定的特征采样率对原始特征集合进行特征采样,得到采样特征。可以理解的是,由于每个重构特征集合对应的特征采样率不同,因此重构特征集合包括的原始特征也不同,从而保证每个重构特征集合都可以体现唯一一个尺度的特征信息。

需要说明的是,由于各重构特征集合之间彼此不相互影响,且各重构特征集合对应的集合生成层次可以预先设定。因此,各重构特征集合既可以按照集合生成层次依次采用对应的特征采样率对原始特征集合进行特征采样,依次生成各重构特征集合。各重构特征集合也还可以按照集合生成层次同时采用对应的特征采样率对原始特征集合进行特征采样,同时生成各重构特征集合。本申请实施例并不对重构特征集合的生成方式进行限定。

S250、分别获取所述原始特征集合和各所述重构特征集合对应的预设数量的最近邻特征对象。

其中,预设数量可以根据需求设定,假设用参数K代表预设数量,则K可以是一种超参数。最近邻特征对象例如可以是最近邻节点。

可选的,可以采用KNN(k-Nearest Neighbor,K最近邻)或Kd-Tree(k-dimensional)等最近邻的相关算法获取最近邻特征对象,本申请实施例并不对获取最近邻特征对象的算法类型进行限定。

S260、根据所述最近邻特征对象构建所述原始特征集合和各所述重构特征集合分别对应的所述邻接特征集合。

其中,邻接特征集合可以是原始特征集合或重构特征集合对应的邻接特征构成的集合。示例性的,邻接特征例如可以是与特征集合特征相似的最近邻点的特征等。

在本申请实施例中,可以获取原始特征集合对应的预设数量的最近邻特征对象,以及每个重构特征集合分别对应的预设数量的最近邻特征对象,以根据获取的最近邻特征对象分布构建原始特征集合和各重构特征集合分别对应的邻接特征集合。也即,原始特征集合对应一个邻接特征集合,且每个重构特征集合也都对应一个邻接特征集合。

S270、根据所述邻接特征集合构建所述原始特征集合和各所述重构特征集合分别对应的邻接矩阵。

相应的,在获取到预设数量的最近邻特征对象之后,即可根据原始特征集合对应的最近邻特征对象构成的邻居特征集合构建原始特征集合对应的邻接矩阵,并根据各重构特征集合对应的最近邻特征对象构成的邻居特征集合构建各重构特征集合对应的邻接矩阵。可以理解的是,每个邻接矩阵可以包括相同数量的最近邻特征对象。

S280、根据所述原始特征集合、所述重构特征集合和所述邻接矩阵对所述待聚类数据进行聚类处理。

相应的,在得到原始特征集合和各重构特征集合分别对应的邻接矩阵后,即可根据原始特征集合、重构特征集合和上述集合分别对应的邻接矩阵对待聚类数据进行聚类处理。

上述技术方案,通过利用各重构特征集合的特征采样率对原始特征集合进行特征采样,得到采样特征,并根据获取的采样特征构建各重构特征集合,可以实现提取待聚类数据层次金字塔形式的多尺度信息,从而丰富待聚类数据的特征组成类型。

在一个示例中,图4是本申请实施例提供的一种聚类方法的流程图,图5是本申请实施例提供的一种聚类方法的流程示意图,本申请实施例在上述各实施例的技术方案的基础上,进行了优化改进,给出了根据所述原始特征集合和所述重构特征集合对所述待聚类数据进行聚类处理的多种具体可选的实现方式。

如图4和图5所示的一种聚类方法,包括:

S310、获取待聚类数据的原始特征集合。

S320、根据所述原始特征集合构建设定数量的重构特征集合。

S330、获取原始特征集合和各重构特征集合对应的邻接矩阵。

S340、将所述原始特征集合和所述原始特征集合对应的邻接矩阵输入至预设聚类模型中,得到所述原始特征集合对应的特征聚类结果。

S350、将所述重构特征集合和所述重构特征集合对应的邻接矩阵输入至预设聚类模型中,得到所述重构特征集合对应的特征聚类结果。

其中,预设聚类模型可以是任意类型的聚类模型,如基于图卷积神经网络的聚类模型或高斯混合模型等,只要能够对待聚类数据实现聚类处理即可,本申请实施例并不对预设聚类模型的具体模型类型进行限定。

在本申请实施例中,在得到原始特征集合和各重构特征集合分别对应的邻接矩阵之后,可以分别将原始特征集合和原始特征集合对应的邻接矩阵输入至预设聚类模型中,得到原始特征集合对应的特征聚类结果,并将重构特征集合和重构特征集合对应的邻接矩阵输入至预设聚类模型中,得到重构特征集合对应的特征聚类结果。也即,原始特征集合和每个重构特征集合都可以通过预设聚类模型对应生成一个特征聚类结果。示例性的,假设共有L个重构特征集合,则总共可以生成L+1个特征聚类结果。

需要说明的是,图4仅是一种实现方式的示意图,步骤S340和S350之间并没有先后执行顺序。也即可以先执行步骤S340,在执行步骤S350,也还可以先执行步骤S350,在执行步骤S340,或者两者还可以同时执行。

S360、对各所述特征聚类结果进行聚类融合处理。

相应的,得到原始特征集合和每个重构特征集合对应的特征聚类结果之后,即可对各个特征聚类结果进行聚类融合处理。所谓聚类融合处理也即将各个特征聚类结果中的聚类进行融合,最终形成一个准确性较高的特征聚类结果。

由此可见,本申请实施例所提供的聚类方法无需预先利用训练样本数据对聚类模型进行训练,可以直接采用现有成熟的聚类模型进行聚类处理,从而降低聚类处理的训练时间成本,进而提高聚类处理的效率。

上述技术方案,通过对原始特征集合和每个重构特征集合对应的特征聚类结果进行聚类融合处理,实现了考虑待聚类数据不同尺度信息的特征分布情况,从而保证聚类处理效果。

相应的,S360具体可以包括下述操作:

S361、将所述原始特征集合对应的特征聚类结果作为基准特征聚类结果。

其中,基准特征聚类结果也即需要进行聚类融合处理的特征聚类结果。

可以理解的是,由于原始特征集合包括了最全面的原始特征信息,因此其对应的特征聚类结果中包括的聚类的数量也是最多的。但如果待聚类数据属于特征密度分布极度不均匀的数据,则仅依据原始特征集合进行聚类处理得到的特征聚类结果可能包括较多的聚类类型,显然某一特定数据对象某些聚类类型可以合并成对应于该特定数据对象一个聚类。例如,手机相册中目标人物有非常多的图像,而其他人物只有少量的图像。如果仅依据原始特征集合对相册中的图像进行聚类处理,极有可能对目标人物的各个图像划分到不同的聚类中。

因此,在本申请实施例中,对各特征聚类结果进行聚类融合处理时,可以将原始特征集合对应的特征聚类结果作为基准特征聚类结果,以在基准特征聚类结果的基础上,对其包括的各个聚类进行融合处理。

S362、根据各所述重构特征集合的逆向层次顺序确定聚类处理顺序。

其中,逆向层次顺序可以是集合生成层次的逆向顺序。聚类处理顺序也即对重构特征集合与原始特征集合对应的特征聚类结果进行聚类融合的处理顺序。

在本申请实施例中,可以按照重构特征集合对应的集合生成层次由高到低的方式确定聚类处理顺序,并按照聚类处理顺序依次对每个重构特征集合对应的特征聚类结果与原始特征集合对应的特征聚类结果进行聚类融合处理。

示例性的,假设共有3层重构特征集合,其对应的集合生成层次具体为:第一层重构特征集合1、第二层重构特征集合2以及第三层重构特征集合3。相应的,根据各重构特征集合的逆向层次顺序确定的聚类处理顺序则可以是:第三层重构特征集合3-第二层重构特征集合2-第一层重构特征集合1。

S363、根据所述聚类处理顺序确定当前重构特征集合对应的当前特征聚类结果。

S364、根据所述当前特征聚类结果对所述基准特征聚类结果进行聚类融合处理。

其中,当前重构特征集合也即当前正在进行融合处理的重构特征集合。当前特征聚类结果也即当前重构特征集合对应的特征聚类结果,可以作为融合依据对基准特征聚类结果进行聚类融合处理。

具体的,依据重构特征集合的特征聚类结果对基准特征聚类结果进行聚类融合处理时,可以按照各重构特征集合的逆向层次顺序确定的聚类处理顺序依次确定当前重构特征集合对应的当前特征聚类结果,并依据当前特征聚类结果对基准特征聚类结果进行聚类融合处理。在依据当前特征聚类结果完成对基准特征聚类结果的聚类融合处理之后,继续依据聚类处理顺序更新下一个层次的重构特征集合作为当前重构特征集合,并反复执行根据当前特征聚类结果对基准特征聚类结果进行聚类融合处理的过程,直至完成所有重构特征集合的特征聚类结果对基准特征聚类结果的聚类融合处理。

上述技术方案,通过按照逆向层次顺序依次依据各重构特征集合对应的特征聚类结果对基准特征聚类结果进行聚类融合处理,可以实现将基准特征聚类结果中可以进行融合的不同聚类进行融合,从而减少基准特征聚类结果中的不必要分类的聚类数量。

在本申请的一个可选实施例中,所述根据所述当前特征聚类结果对所述基准特征聚类结果进行聚类融合处理,可以包括:确定所述当前特征聚类结果的当前待处理聚类;根据所述当前待处理聚类对所述基准特征聚类结果进行聚类融合处理;更新所述当前待处理聚类,并返回执行根据所述当前待处理聚类对所述基准特征聚类结果进行聚类融合处理的操作,直至完成对所述当前特征聚类结果中全部待处理聚类的聚类融合处理。

其中,当前待处理聚类也即当前特征聚类结果中当前正在处理的聚类。

可以理解的是,每个重构特征集合的特征聚类结果中可以包括至少一个聚类。重构特征集合对应的层次越高,其对应的特征聚类结果中包括的聚类数量可能越少。为了保证聚类融合的准确性,需要对重构特征集合的特征聚类结果中的每个聚类依次进行分析。在根据当前待处理聚类对基准特征聚类结果进行聚类融合处理完成后,可以更新当前待处理聚类,并循环执行根据当前待处理聚类对基准特征聚类结果进行聚类融合处理的操作,直至完成对当前特征聚类结果中全部待处理聚类的聚类融合处理。

其中,更新当前待处理聚类的操作可以按照聚类的大小或其他设定的顺序进行更新,只能够遍历当前特征聚类结果中的所有聚类即可,本申请实施例对此并不进行限制。

在本申请的一个可选实施例中,在所述确定所述当前特征聚类结果的当前待处理聚类之后,还可以包括:在确定所述当前待处理聚类中的聚类对象的数量小于或等于聚类对象阈值的情况下,拒绝对所述当前待处理聚类进行聚类融合处理;根据所述当前特征聚类结果更新所述当前待处理聚类;或,根据所述聚类处理顺序重新确定所述当前特征聚类结果,并确定所述当前特征聚类结果的当前待处理聚类。

其中,聚类对象也即聚类中包括的数据对象等,聚类对象阈值可以根据实际需求设定,如5、8或15等,本申请实施例并不对聚类对象阈值的具体数值进行限定。

为了避免高层重构特征集合对应的特征聚类结果中包括的离群点对聚类融合处理结果产生不利的影响,在确定当前特征聚类结果的当前待处理聚类之后,可以首先计算下当前待处理聚类中的聚类对象的数量。如果当前待处理聚类中的聚类对象的数量小于或等于聚类对象阈值,表明该当前待处理聚类包括很少的聚类对象,对聚类融合处理的参考意义不大。此时,可以拒绝利用当前待处理聚类进行聚类融合处理,并根据当前特征聚类结果更新当前待处理聚类。如果当前特征聚类结果的所有聚类都处理完成,则可以根据所述聚类处理顺序重新确定下一层重构特征集合对应的特征聚类结果更新为当前特征聚类结果,并确定当前特征聚类结果的当前待处理聚类。

在本申请的一个可选实施例中,所述根据所述当前待处理聚类对所述基准特征聚类结果进行聚类融合处理,可以包括:获取所述当前待处理聚类中当前聚类对象组;其中,所述当前聚类对象组为所述当前待处理聚类中的两个聚类对象;在确定所述当前聚类对象组中的各所述聚类对象归属于所述基准特征聚类结果中的不同聚类的情况下,对所述当前聚类对象组在所述基准特征聚类结果中的目标聚类进行合并处理;更新所述当前聚类对象组,并返回执行在确定所述当前聚类对象组中的各所述聚类对象归属于所述基准特征聚类结果中的不同聚类的情况下,对所述当前聚类对象组在所述基准特征聚类结果中的目标聚类进行合并处理的操作,直至完成对所述当前待处理聚类中所有聚类对象组的处理。

其中,当前聚类对象组也即当前正在处理的两个未处理的聚类对象构成的对象组。目标聚类可以是当前聚类对象组中各聚类对象在基准特征聚类结果中所属的聚类。

相应的,根据当前待处理聚类对基准特征聚类结果进行聚类融合处理时,可以依次获取当前待处理聚类中两个未处理过的聚类对象组成当前聚类对象组,并判断当前聚类对象组中的各聚类对象是否归属于基准特征聚类结果中的不同聚类。如果确定当前聚类对象组中的各聚类对象归属于基准特征聚类结果中的不同聚类,则可以对当前聚类对象组在基准特征聚类结果中的目标聚类进行合并处理。合并处理完成后,将当前聚类对象组中的两个聚类对象组标记为已处理,并选择未处理过的聚类对象组更新为当前聚类对象组。如果确定当前聚类对象组中的各聚类对象归属于基准特征聚类结果中的同一个聚类,则可以不进行合并处理,直接将当前聚类对象组标记为已处理,并选择未处理过的聚类对象更新为当前聚类对象组。当前聚类对象组更新后,循环执行如果确定当前聚类对象组中的各聚类对象归属于基准特征聚类结果中的不同聚类,则对当前聚类对象组在基准特征聚类结果中的目标聚类进行合并处理的操作,直至完成对当前待处理聚类中所有聚类对象组的处理。可选的,如果最后未处理过的聚类对象的数量为1,则可以直接忽略该聚类对象,直接更新当前待处理聚类,并循环执行获取当前待处理聚类中当前聚类对象组的操作。

示例性的,如果当前聚类对象组中包括聚类对象1和聚类对象2,其中,聚类对象1在基准特征聚类结果所属的聚类为聚类A,聚类对象2在基准特征聚类结果所属的聚类为聚类B,则可以将聚类A和聚类B合并成一个聚类C。也即,聚类C包括聚类A和聚类B中的所有聚类对象。

可以理解的是,集合生成层次越高,其包括的特征密度越小,相应的重构特征集合对应的特征聚类结果中会将更多相距较远的特征对象聚类到一起。因此,依据各层次的重构特征集合逐步对基准特征聚类结果中的聚类进行聚类融合处理,可以提高基准特征聚类结果中最终聚类结果的召回率,从而提高聚类效果。

在本申请的一个可选实施例中,在所述对所述当前聚类对象组在所述基准特征聚类结果中的目标聚类进行合并处理之前,还可以包括:统计所述目标聚类对应的待合并处理聚类对象组的聚对数量;在确定所述聚对数量大于或等于预设聚对阈值的情况下,对所述当前聚类对象组在所述基准特征聚类结果中的所述目标聚类进行合并处理。

其中,预设聚对阈值可以根据实际需求设置,如2、6或8等,本申请实施例并不对预设聚对阈值的具体数值进行限定。待合并处理聚类对象组也即各聚类对象归属于基准特征聚类结果中的不同聚类的聚类对象组。

为了避免聚类融合误差,进一步保障聚类融合效果。在本申请实施例中,在确定当前聚类对象组中的各聚类对象归属于基准特征聚类结果中的不同聚类时,可以统计目标聚类对应的待合并处理聚类对象组的聚对数量。如果目标聚类之间包括的待合并处理聚类对象组的聚对数量大于或等于预设聚对阈值,则对当前聚类对象组在基准特征聚类结果中的目标聚类进行合并处理;否则,不对当前聚类对象组在基准特征聚类结果中的目标聚类进行合并处理。相应的,当利用所有重构特征集合对应的特征聚类结果对基准特征聚类结果中的各个聚类进行聚类融合处理完成后,最终形成的基准特征聚类结果即为待聚类数据对应的聚类结果。

示例性的,假设预设聚对阈值设置为2,基准特征聚类结果中,聚类A和聚类B两个目标聚类对应的待合并处理聚类对象组为聚类对象组a、聚类对象组b和聚类对象组c。其中,聚类对象组a包括聚类对象1和聚类对象2,聚类对象1在基准特征聚类结果中属于聚类A的聚类对象,聚类对象2在基准特征聚类结果中属于聚类B的聚类对象。聚类对象组b包括聚类对象3和聚类对象4,聚类对象3在基准特征聚类结果中属于聚类A的聚类对象,聚类对象4在基准特征聚类结果中属于聚类B的聚类对象。聚类对象组c包括聚类对象5和聚类对象6,聚类对象5在基准特征聚类结果中属于聚类A的聚类对象,聚类对象6在基准特征聚类结果中属于聚类B的聚类对象。由此可见,目标聚类对应的待合并处理聚类对象组的聚对数量为3,超过预设聚对阈值,可以将聚类A和聚类B合并为一个聚类。

S365、判断是否完成所有重构特征集合的特征聚类结果对基准特征聚类结果的聚类融合处理,若是,则执行S366,否则,返回执行S363。

S366、结束聚类融合处理操作。

表1是本申请实施例提供的一种聚类算法性能评价列表。如表1所示,与现有的两种聚类算法相比,本申请实施例所提供的聚类算法以取得最好的聚类效果,相比VEGCN,在不均衡数据下,本申请实施例所提供的聚类方法可以提升27%(20PP)的侧重重点对象的准确率,并且延时没有明显的增长。与GDL算法相比,本申请实施例所提供的聚类方法的侧重重点对象的准确率比GDL要高3PP,并且计算时间可以缩短70%。

表1聚类算法性能评价列表

采用上述技术方案,通过将原始特征集合对应的特征聚类结果作为基准特征聚类结果,并根据各重构特征集合对应的特征聚类结果对基准特征聚类结果中的各个聚类进行聚类融合处理,可以提高基准特征聚类结果中聚类结果的准确性,进而提高聚类效果。

在一个示例中,图6是本申请实施例提供的一种聚类装置的结构图,本申请实施例可适用于利用待聚类处理数据的原始特征集合和重构特征集合对待聚类处理数据进行聚类处理的情况,该装置通过软件和/或硬件实现,并具体配置于电子设备中。该电子设备可以是计算机设备或服务器设备等。

如图6所示的一种聚类装置400,包括:原始特征集合获取模块410、重构特征集合获取模块420和聚类处理模块430。其中,

原始特征集合获取模块410,用于获取待聚类数据的原始特征集合;

重构特征集合获取模块420,用于根据所述原始特征集合构建设定数量的重构特征集合;

聚类处理模块430,用于根据所述原始特征集合和所述重构特征集合对所述待聚类数据进行聚类处理。

本申请实施例通过根据待聚类数据的原始特征集合构建设定数量的重构特征集合,以根据原始特征集合和重构特征集合对待聚类数据进行聚类处理,解决现有聚类算法存在的聚类效果不够理想的问题,实现在不增加数据处理时间成本的前提下,提高数据的聚类效果。

可选的,重构特征集合获取模块420具体用于:确定所述重构特征集合的特征采样率;根据所述特征采样率对所述原始特征集合进行特征采样,得到采样特征;根据所述采样特征构建所述重构特征集合。

可选的,重构特征集合获取模块420具体用于:确定所述重构特征集合的集合生成层次;根据基准采样率和所述集合生成层次确定所述特征采样率;其中,集合生成层次在后的特征采样率的数值小于集合生成层次在前的特征采样率的数值。

可选的,聚类处理模块430具体用于:分别获取所述原始特征集合和各所述重构特征集合对应的预设数量的最近邻特征对象;根据所述最近邻特征对象构建所述原始特征集合和各所述重构特征集合分别对应的所述邻接特征集合;根据所述邻接特征集合构建所述原始特征集合和各所述重构特征集合分别对应的邻接矩阵;根据所述原始特征集合、所述重构特征集合和所述邻接矩阵对所述待聚类数据进行聚类处理。

可选的,聚类处理模块430具体用于:将所述原始特征集合和所述原始特征集合对应的邻接矩阵输入至预设聚类模型中,得到所述原始特征集合对应的特征聚类结果;将所述重构特征集合和所述重构特征集合对应的邻接矩阵输入至预设聚类模型中,得到所述重构特征集合对应的特征聚类结果;对各所述特征聚类结果进行聚类融合处理。

可选的,聚类处理模块430具体用于:将所述原始特征集合对应的特征聚类结果作为基准特征聚类结果;根据各所述重构特征集合的逆向层次顺序确定聚类处理顺序;根据所述聚类处理顺序确定当前重构特征集合对应的当前特征聚类结果;根据所述当前特征聚类结果对所述基准特征聚类结果进行聚类融合处理;返回执行根据所述聚类处理顺序确定当前重构特征集合对应的当前特征聚类结果的操作,直至完成所有重构特征集合的特征聚类结果对所述基准特征聚类结果的聚类融合处理。

可选的,聚类处理模块430具体用于:确定所述当前特征聚类结果的当前待处理聚类;根据所述当前待处理聚类对所述基准特征聚类结果进行聚类融合处理;更新所述当前待处理聚类,并返回执行根据所述当前待处理聚类对所述基准特征聚类结果进行聚类融合处理的操作,直至完成对所述当前特征聚类结果中全部待处理聚类的聚类融合处理。

可选的,聚类处理模块430具体用于:在确定所述当前待处理聚类中的聚类对象的数量小于或等于聚类对象阈值的情况下,拒绝对所述当前待处理聚类进行聚类融合处理;根据所述当前特征聚类结果更新所述当前待处理聚类;或,根据所述聚类处理顺序重新确定所述当前特征聚类结果,并确定所述当前特征聚类结果的当前待处理聚类。

可选的,聚类处理模块430具体用于:获取所述当前待处理聚类中当前聚类对象组;其中,所述当前聚类对象组为所述当前待处理聚类中的两个聚类对象;在确定所述当前聚类对象组中的各所述聚类对象归属于所述基准特征聚类结果中的不同聚类的情况下,对所述当前聚类对象组在所述基准特征聚类结果中的目标聚类进行合并处理;更新所述当前聚类对象组,并返回执行在确定所述当前聚类对象组中的各所述聚类对象归属于所述基准特征聚类结果中的不同聚类的情况下,对所述当前聚类对象组在所述基准特征聚类结果中的目标聚类进行合并处理的操作,直至完成对所述当前待处理聚类中所有聚类对象组的处理。

可选的,聚类处理模块430具体用于:统计所述目标聚类对应的待合并处理聚类对象组的聚对数量;在确定所述聚对数量大于或等于预设聚对阈值的情况下,对所述当前聚类对象组在所述基准特征聚类结果中的所述目标聚类进行合并处理。

上述聚类装置可执行本申请任意实施例所提供的聚类方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请任意实施例提供的聚类方法。

由于上述所介绍的聚类装置为可以执行本申请实施例中的聚类方法的装置,故而基于本申请实施例中所介绍的聚类方法,本领域所属技术人员能够了解本实施例的聚类装置的具体实施方式以及其各种变化形式,所以在此对于该聚类装置如何实现本申请实施例中的聚类方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中聚类方法所采用的装置,都属于本申请所欲保护的范围。

在一个示例中,本申请还提供了一种电子设备和一种可读存储介质。

图7是用来实现本申请实施例的聚类方法的电子设备的结构示意图。如图7所示,是根据本申请实施例的聚类方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。

如图7所示,该电子设备包括:一个或多个处理器501、存储器502,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图7中以一个处理器501为例。

存储器502即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的聚类方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的聚类方法。

存储器502作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的聚类方法对应的程序指令/模块(例如,附图6所示的原始特征集合获取模块410、重构特征集合获取模块420、邻接特征集合获取模块430和聚类处理模块430)。处理器501通过运行存储在存储器502中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的聚类方法。

存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储实现聚类方法的电子设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至实现聚类方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

实现聚类方法的电子设备还可以包括:输入装置503和输出装置504。处理器501、存储器502、输入装置503和输出装置504可以通过总线或者其他方式连接,图7中以通过总线连接为例。

输入装置503可接收输入的数字或字符信息,以及产生与实现聚类方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置504可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。

此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。

计算机系统可以包括客户端和服务器。客户端可以是智能手机、笔记本电脑、台式计算机、平板电脑、智能音箱等,但并不局限于此。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算、云服务、云数据库、云存储等基础云计算服务的云服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

本申请实施例通过根据待聚类数据的原始特征集合构建设定数量的重构特征集合,以根据原始特征集合和重构特征集合对待聚类数据进行聚类处理,解决现有聚类算法存在的聚类效果不够理想的问题,实现在不增加数据处理时间成本的前提下,提高数据的聚类效果。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

相关技术
  • 一种文本聚类方法、装置、电子设备及存储介质
  • 一种卫星网络聚类方法、装置、电子设备及存储介质
技术分类

06120112377249