发明内容
本发明要解决的技术问题是:提供一种基于度量学习的多维度文本聚类方法,基于文本间的相似性在不同空间维度上应该保持一致的原则,选取词特征和用户行为特征两个空间维度(原始维度和信息维度)相互作为对方的约束对候选集,并利用挑选好的约束对为每个簇学习各自的距离矩阵,在当前聚类结果的基础上更新约束对和度量矩阵,使两个维度相互迭代促进直到达到停止条件以用于下游任务,有效的解决了上述存在的问题。
本发明的技术方案为:一种基于度量学习的多维度文本聚类方法,所述方法包括如下步骤:
步骤一:从数据集中选取两个维度,记作:维度A和维度B,并进行特征向量化表示;
步骤二:使用K-Means聚类方法并结合度量矩阵学习分别对A、B两个维度进行初始化聚类;
步骤三:判断当前的聚类结果是否达到终止条件,若不满足则设置约束对上限常数时执行步骤四,否则结束算法,输出聚类结果辅助下游任务;
步骤四:利用当前A、B维度的聚类结果为A,B维度挑选满足条件的约束对,且不超过步骤三给定的约束对上限,分别构成A维度的约束集合MA,B维度的约束集合MB;
步骤五:将步骤四所生成的约束集合MA加入到A维度的聚类过程中,调节目标函数和度量矩阵的学习,同理也将MB利用到对B维度的聚类过程,得到两个维度的聚类结果;
步骤六:重复迭代步骤三~步骤五。
所述步骤二中利用传统的K-Means聚类方法对A、B维度的特征进行分别聚类,在聚类中融入了度量矩阵的学习,能很好的改善簇间、簇内距离。
所述步骤三中是整个算法迭代终止条件的设置,终止条件可以是迭代次数的限制,也可以是聚类结果的收敛与否,若满足终止条件则结束算法,输出聚类结果,若不满足则设置挑选约束对上限,进入算法迭代部分。
所述步骤四中,利用当前A、B维度的聚类结果为A,B维度挑选约束对,两个样本点(xi,xj)∈M需满足:1)A(B)维度xi,xj没被聚到一个簇,并且距离超过了置信值(较远);2)在B(A)维度xi,xj被聚到了同一簇,分别构成A维度的约束集合MA,B维度的约束集合MB,且约束集合MA和MB的大小不超过步骤三给定的约束对上限。
所述步骤五中,利用步骤四所生成的约束集合M
A加入到A维度的聚类过程中,使用度量矩阵学习距离,并利用生成的约束将目标函数改写成为基于度量矩阵的样本点到簇中心距离总和及约束违程度的惩罚两项之和
同理也将M
B利用到对B维度的聚类过程,得到两个维度的聚类结果。
本发明的有益效果是:与现有技术相比,采用本发明的技术方案,本发明针对多维度文本数据,基于文本间的相似性在不同空间维度上应该保持一致的原则,对数据进行初始化表述,挑选约束对,使用度量矩阵学习和最小化组合目标函数进行聚类。针对数据集不同维度空间的异质性,以及文本数据特征表述的高维稀疏性,本发明在特征表示阶段改善了高维稀疏性,不同于现有的多维度特征拼接方法,本发明采用不同维度之间构成的约束关系,并蕴含在组合目标函数中,参与度量学习的聚类过程和目标函数最小化。本发明对多维度数据进行分析聚类,可以支持很多下游任务。例如:如果我们所选择的数据集是新闻领域,文本数据的词向量特征是用户浏览的新闻正文,文本数据的其他维度选择用户id,经过本算法输出的聚类结果,可以分析哪些人具有相同的兴趣爱好,并进行推荐。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将参照本说明书附图对本发明作进一步的详细描述。
实施例1:如附图1所示,一种基于度量学习的多维度文本聚类方法,所述方法包括如下步骤:
步骤一:从数据集中选取两个维度,记作:维度A和维度B,并进行特征向量化表示;
步骤二:使用K-Means聚类方法并结合度量矩阵学习分别对A、B两个维度进行初始化聚类;
步骤三:判断当前的聚类结果是否达到终止条件,若不满足则设置约束对上限常数时执行步骤四,否则结束算法,输出聚类结果辅助下游任务;
步骤四:利用当前A、B维度的聚类结果为A,B维度挑选满足条件的约束对,且不超过步骤三给定的约束对上限,分别构成A维度的约束集合MA,B维度的约束集合MB;
步骤五:将步骤四所生成的约束集合MA加入到A维度的聚类过程中,调节目标函数和度量矩阵的学习,同理也将MB利用到对B维度的聚类过程,得到两个维度的聚类结果;
步骤六:重复迭代步骤三~步骤五。
步骤一中选取合适的维度和对应维度特征的向量化。通常状况下,在文本相关任务中,可以通过文本特征、语义信息甚至是用户对文本的点赞、转发、评论等行为同时描述文本。所以我们认为,多维度文本聚类不仅可以利用文本原有特征空间的词特征,还可以使用其他维度信息充分辅助聚类。维度的选择上除了词特征作为原始维度,还可以选择用户id等特征。在选取好合适的维度后,需要采用不同的方法进行向量化。词特征维度可以选用:TF(词频)、TF-IDF(词频-逆文本频率指数)或是Word2Vec等方法做映射,考虑到用户id做聚类不具有可解释性,顾利用Word2Vec思想训练一个用户id-用户相关文本的Embedding,用于将用户id向量化。
所述步骤二中,利用传统的K-Means聚类方法对A、B维度的特征进行分别聚类,在聚类中融入了度量矩阵的学习,能很好的改善簇间、簇内距离。
所述步骤三中是整个算法迭代终止条件的设置,终止条件可以是迭代次数的限制,也可以是聚类结果的收敛与否,若满足终止条件则结束算法,输出聚类结果,若不满足则设置挑选约束对上限,进入算法迭代部分。
所述步骤四中,利用当前A、B维度的聚类结果为A,B维度挑选约束对,两个样本点(xi,xj)∈M需满足:1)A(B)维度xi,xj没被聚到一个簇,并且距离超过了置信值(较远);2)在B(A)维度xi,xj被聚到了同一簇,分别构成A维度的约束集合MA,B维度的约束集合MB,且约束集合MA和MB的大小不超过步骤三给定的约束对上限。
所述步骤五中,利用步骤四所生成的约束集合M
A加入到A维度的聚类过程中,使用度量矩阵学习距离,并利用生成的约束将目标函数改写成为基于度量矩阵的样本点到簇中心距离总和及约束违程度的惩罚两项之和
同理也将M
B利用到对B维度的聚类过程,得到两个维度的聚类结果。
步骤六重复迭代步骤三~步骤五。随着两个维度聚类效果的提升,所选出的约束对也越来越可信,在迭代中两个维度的聚类效果是相互促进提升的。
在本实施例中,步骤四中,进行约束对的挑选是两个维度分别进行的,并且每个维度约束对的挑选都用到了两个维度的聚类结果。所以在附图1中,对应约束对MA的挑选除了一条实线直连(标记为1),还有一条虚线的连接(标记为1)。利用当前A、B维度的聚类结果为A,B维度挑选约束对,两个样本点(xi,xj)∈M需满足:1)A(B)维度xi、xj没被聚到一个簇,并且距离超过了置信值(较远);2)在B(A)维度xi、xj被聚到了同一簇。分别构成A维度的约束集合MA,B维度的约束集合MB,且约束集合MA和MB的大小不超过步骤三给定的约束对上限。如果我们假设统一约束成本wij则所有约束违规都被平等对待。然而在约束对集合M(MA或MB)中,违反损失较大的惩罚因子应高于损失较小的惩罚因子,即如果两个必须连接的点根据当前度量相距很远,则该度量非常不足并需要进行严格修改。由于约束违规涉及两个簇,因此相应的惩罚应影响两个簇的度量,表示为:
其中:(xi,xj)∈M,hi为数据点xi所属的簇标号,hi∈{1,2,…,K}。
步骤五中,由于K-Means不能直接处理成对约束,需要将成对约束聚类的目标制定为最小化组合目标函数,定义为点与它们的聚类质心之间的总平方距离的总和,以及违反约束对的程度。文本数据的表现形式可能未指定簇与簇之间充分分离的空间,所以采用在基于约束监督的聚类上添加距离度量矩阵的学习。采用对应每一个簇都学习出一个独立的度量矩阵的方式。利用对称正定矩阵Qh参数化样本点到簇中心距离度量,表示为:
值得注意的是:若矩阵Qh为对角矩阵,则会通过对角线上的权重元素对每个维度中相应的特征进行缩放;否则,则会与原始特征线性组合而产生新特征。基于选出的约束集M及其对应的惩罚函数(1),及度量距离(2),这种广义的K-Means模型需要最小的化目标函数转换为:
其中:log(det(Q
hi))是第h
i个高斯与协方差矩阵
的正态常数;f
M(x
i,x
j)即为上述式子中提到的双约束项,w
ij为每个约束项提供惩罚因子;I(·)为示性函数,I(ture)=1;反之为0;C
i≠C
j表示x
i和x
j分配到的簇h
i和h
j不同。
步骤六:重复迭代步骤三~步骤五。使得本方法是在迭代下进行聚类。
对数据进行初始化后传入模型,进行K-means聚类后判断是否满足停止条件,若不满足则进行约束对的挑选,将挑选出的约束对运用于聚类过程,辅助学习度量矩阵、调整目标函数,直到模型满足收敛条件。此模型为迭代优化模型。基于度量学习的多维度文本聚类算法综合考虑数据在不同特征空间的表现方式,进行多维度辅助聚类,有较好的聚类效果。
为了更好的处理多维度数据聚类问题,本发明提出了基于度量学习的多维度文本聚类算法。本发明结合挑选的约束指导聚类算法,通过度量学习修正特征权重来辅助无监督聚类。依照文本间的相似性在不同的空间维度应该保持一致性的原则,首先选出维度并挑选约束对;然后,利用对应维度的约束来调节相似度,并结合距离矩阵学习改善文本间的距离;最后,通过约束迭代相互优化聚类。
将多维度聚类分为聚类方法本身和多维度数据的处理两个方面。聚类方法有别于数据有无标记。最初的方法利用标记数据作为约束进行聚类,或是将未标记数据进行聚类,用得到的聚类结果结合已标记数据来预测未知样本点的类别。更为通用的方法是使用成对约束的聚类方法,通过调整目标函数,从而得到较好的聚类结果。但是考虑到特征的高维稀疏性,不能改善特征之间的距离度量。从而借鉴半监督聚类度量学习的方法,将度量学习矩阵的方法用于改善聚类过程。现有聚类方法均使用了度量学习,更一步说明了度量学习在聚类问题的适用性。
在多维度应用上传统处理多维度数据的方法不考虑特征空间的异质性,直接进行特征向量的拼接或者赋予特征向量不同的权重。现有的方法都使用与特定领域的属性特征来辅助聚类:利用其他维度数据特征进行约束;选择数据的其他维度进行加权辅助聚类;或是利用多个候选多视图聚类来最大化最坏情况下的性能增益,以实现最佳单视图聚类如RMVC。
本发明,重点在于解决文本数据不同维度空间所带来的异质性和高维稀疏性。基于文本间的相似性在不同空间维度上应该保持一致的原则,选取词特征和用户行为特征两个空间维度(原始维度和信息维度)相互作为对方的约束对候选集,并利用挑选好的约束对为每个簇学习各自的距离矩阵,在当前聚类结果的基础上更新约束对和度量矩阵,使两个维度相互迭代促进直到达到停止条件以用于下游任务。
本发明针对多维度文本特征的异质性和高维稀疏性,面向不同维度的文本数据,研究多维度文本聚类算法。在具体的文本任务中,有效支撑机器学习和自然语言处理的下游任务工作。基于文本间的相似性在不同空间维度上应该保持一致的原则,提出基于度量学习的多维度文本聚类算法。
本发明未详述之处,均为本技术领域技术人员的公知技术。最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。