一种文本聚类方法、装置、计算机设备及存储介质
文献发布时间:2023-06-19 11:29:13
技术领域
本发明涉及文本数据处理领域,尤其涉及一种文本聚类方法、装置、计算机设备及存储介质。
背景技术
目前,在机器学习实践中人们面对的往往是缺少标注的海量数据,使得有监督学习方法的应用受到了很大限制;而聚类方法可以让计算机自主根据样本特征学习,对于解决这类问题起到了很大帮助作用;在众多聚类方法中,K-Means(硬聚类算法)方法是最经典的一种,上手简单且效果好;但该方法在数据量很大时,需要消耗大量计算资源。
总体而言,K-Means方法易受到离群点或其他极端值影响;而现有技术针对该问题,大多基于文本的离散特征(TF-IDF)来作为聚类算法的输入,虽然简单易行,但未考虑单词上下文关联带来的隐含语义,实践中效果受到很大限制,从而导致聚类结果的准确性不高。
发明内容
本发明的目的是提供一种文本聚类方法、装置、计算机设备及存储介质,旨在解决现有聚类算法的聚类结果的准确性还有待提高的问题。
第一方面,本发明实施例提供了一种文本聚类方法,其包括:
对待分类的文本序列进行预处理并得到对应的表征向量,根据所述表征向量将所述文本序列划分至不同的簇,其中每一文本序列对应簇内的一个节点;
确认每一簇的当前质心,根据每一簇内的所有节点到自身簇的当前质心的距离,对所有节点进行排列并形成节点队列,并从所述节点队列中选出当前边缘节点队列;
针对每一簇,执行判断是否扩充所述当前边缘节点队列和更换新质心的流程,直至确认最终的边缘节点队和最终质心。
第二方面,本发明实施例提供了一种文本聚类机制的方法装置,其包括:
队列单元,用于确认每一簇的当前质心,根据每一簇内的所有节点到自身簇的当前质心的距离,对所有节点进行排列并形成节点队列,并从所述节点队列中选出当前边缘节点队列;
判断单元,用于针对每一簇,执行判断是否扩充所述当前边缘节点队列和更换新质心的流程,直至确认最终的边缘节点队和最终质心。
第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的文本聚类方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的文本聚类方法。
本发明实施例公开了公开了一种文本聚类方法、装置、计算机设备及存储介质。该方法通过对待分类的文本序列进行预处理并得到对应的表征向量,根据表征向量将文本序列划分至不同的簇,其中每一文本序列对应簇内的一个节点;确认每一簇的当前质心,根据每一簇内的所有节点到自身簇的当前质心的距离,对所有节点进行排列并形成节点队列,并从节点队列中选出当前边缘节点队列;针对每一簇,执行判断是否扩充所述当前边缘节点队列和更换新质心的流程,直至确认最终的边缘节点队和最终质心。本发明实施例通过深层次提取文本序列的特征后进行聚类操作,并通过不断的迭代更新,使得聚类结果具有更准确,收敛更快的优点。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的文本聚类方法的流程示意图;
图2为本发明实施例提供的文本聚类方法的步骤S101的子流程示意图;
图3为本发明实施例提供的文本聚类方法的步骤S102的子流程示意图;
图4为本发明实施例提供的文本聚类方法的步骤S103的子流程示意图;
图5为本发明实施例提供的文本聚类方法的步骤S401的子流程示意图;
图6为本发明实施例提供的文本聚类方法的步骤S402的子流程示意图;
图7为本发明实施例提供的初始簇的结构示意图;
图8为本发明实施例提供的边缘节点队列及扩充示意图;
图9为本发明实施例提供的文本聚类装置的示意性框图;
图10为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1为本发明实施例提供的文本聚类方法的流程图;
如图1所示,该方法包括步骤S101~S103。
S101、对待分类的文本序列进行预处理并得到对应的表征向量,根据所述表征向量将所述文本序列划分至不同的簇,其中每一文本序列对应簇内的一个节点。
本实施例中,对待分类的文本序列进行特征提取并得到对应的表征向量,基于每一所述文本序列的表征向量的相似度进行初次分类,可实现不同类型的划分,从而形成不同的簇;针对每一簇,为簇内的每一文本序列设置一个虚拟的节点,形成所述文本序列与节点的映射对。
在一实施例中,如图2所示,步骤S101包括:
S201、将所述文本序列输入预训练模型,输出对应的表征向量;
S202、采用聚类算法对所述表征向量进行分类,并随机指定初始质心,使所述文本序列形成不同的初始簇,其中每一文本序列对应簇内的一个节点。
本实施例中,将所述文本序列输入预训练模型,通过预训练模型对所述文本序列进行深层次特征提取,并输出对应每一所述文本序列的表征向量;并采用聚类算法对所述表征向量进行分类,从而将所述文本序列划分至不同的初始簇;具体的,先随机指定多个初始质心,将各个初始质心和所有节点进行划分并形成不同的初始簇,其中每一初始簇内包括一个初始质心和多个节点(结合图7所示)。
S102、确认每一簇的当前质心,根据每一簇内的所有节点到自身簇的当前质心的距离,对所有节点进行排列并形成节点队列,并从所述节点队列中选出当前边缘节点队列。
具体的,如图3所示,步骤S102包括:
S301、根据每一簇中的所有节点到自身簇的初始质心的欧氏距离,重新确认每一簇的当前质心;
S302、根据每一簇内的所有节点到自身簇的当前质心的距离,根据越远越靠前的方式对自身簇内的所有节点进行排列并形成节点队列,并按排列顺序从所述节点队列中选出预设比例的节点作为当前边缘节点队列。
本实施例中,基于自身簇的初始质心,计算自身簇内的所有节点到初始质心的欧氏距离,欧氏距离为自身簇中的每一节点和初始质心之间的空间直线距离,根据得到的距离,重新确认并得到自身簇的当前质心。
结合图8所示,基于自身簇的当前质心,计算自身簇内的所有节点到当前质心的欧氏距离,这样即可根据当前的欧氏距离对自身簇中的所有节点进行排列并形成节点队列,具体的排列方式可以是距离越远排列越靠前或者是其他排列方式,基于距离越远排列越靠前的排列方式,按排列顺序从所述节点队列中选出预设比例的节点作为当前边缘节点队列,这里的预设比例的取值可以是5%或10%或其他比例。
S103、针对每一簇,执行判断是否扩充所述当前边缘节点队列和更换新质心的流程,直至确认最终的边缘节点队和最终质心。
具体的,如图4所示,所述步骤S103包括:
S401、对比所述当前边缘节点队列中的节点到自身簇的当前质心的最小距离以及所述当前边缘节点队列中的节点到其他簇的质心的最大距离,并得到第一对比结果,并根据所述第一对比结果判断是否扩充所述当前边缘节点队列,若是则扩充所述当前边缘节点队列得到下一边缘节点队列,并根据所述下一边缘节点队列重新确认自身簇的下一质心,并继续对比直至满足停止扩充的条件;
S402、若否则对比所述当前边缘节点队列中的节点到自身簇的当前质心的最大距离以及所述当前边缘节点队列中的节点到其他簇的当前质心的最小距离,并得到第二对比结果,根据所述第二对比结果判断是否更换自身簇的当前质心,若是则更换并得到自身簇的新质心,并重新执行判断是否扩充当前边缘节点队列和更换新质心的流程,直至满足迭代终止条件。
本实施例中,针对每一簇,为了实现更准确的聚类结果,设置了迭代终止条件,基于停止扩充的条件,对每一簇的当前边缘节点队列不断的进行迭代优化,以及对每一簇的当前质心不断的进行迭代优化,直至当前边缘节点队列和当前质心满足迭代终止条件,即可得到聚类结果更为准确的簇。
在一实施例中,如图5所示,所述步骤S401包括:
S501、针对每一簇,对比所述当前边缘节点队列中的节点到自身簇的当前质心的最小距离以及所述当前边缘节点队列中的节点到其他簇的当前质心的最大距离,若所述当前边缘节点队列中的节点到自身簇的当前质心的最小距离大于所述当前边缘节点队列中的节点到其他簇的当前质心的最大距离,则将所述当前边缘节点队列中的节点划分至其他簇,并按排列顺序从所述节点队列的剩余节点中选出预设比例的节点作为下一边缘节点队列;
S502、根据所述下一边缘节点队列中的节点到自身簇的当前质心的欧氏距离,重新确认自身簇的下一质心;
S503、继续对比所述下一边缘节点队列中的节点到自身簇的下一质心的最小距离以及所述下一边缘节点队列中的节点到其他簇的下一质心的最大距离,直至满足所述下一边缘节点队列中的节点到自身簇的下一质心的最大距离小于所述下一边缘节点队列中的节点到其他簇的下一质心的最小距离,则停止扩充边缘节点队列。
本实施例中,以簇C
对于簇C
基于下一边缘节点队列,根据所述下一边缘节点队列中的节点到自身簇的当前质心的欧氏距离,重新确认自身簇的下一质心,通过重新确认自身簇的质心的位置,以逐步优化聚类结果。
基于自身簇的下一质心,继续以簇C
在一实施例中,如图6所示,所述步骤S402包括:
S601、对比所述当前边缘节点队列中的节点到自身簇的质心的最大距离以及所述当前边缘节点队列中的节点到其他簇的质心的最小距离,若所述当前边缘节点队列中的节点到自身簇的质心的最大距离小于到其他簇的质心的最小距离,则更换自身簇的当前质心并得到新质心;
S602、重新执行判断是否扩充所述当前边缘节点队列和更换新质心的流程,直至达到预设的迭代轮数或确定每个簇的最终质心。
本实施例中,继续以簇C
在一实施例中,所述文本聚类方法还包括:
若所述当前边缘节点队列未能满足扩充边缘节点队列的条件以及重新更换当前质心的条件,则计算所述当前边缘节点队列中的所有节点到每个簇的当前质心的距离,并根据距离将每一节点划分到最近的簇。
本实施例中,所述扩充边缘节点队列的条件为:所述当前边缘节点队列中的节点到自身簇的当前质心的最小距离大于所述当前边缘节点队列中的节点到其他簇的当前质心的最大距离;以及所述重新更换当前质心的条件为:若所述当前边缘节点队列中的节点到自身簇的质心的最大距离小于到其他簇的质心的最小距离;若所述当前边缘节点队列未能满足上述两个条件,则计算所述当前边缘节点队列中的所有节点到每个簇的当前质心的距离,并根据距离将每一节点划分到最近的簇。
本发明实施例还提供一种文本聚类装置,该文本聚类装置用于执行前述文本聚类方法的任一实施例。具体地,请参阅图9,图9是本发明实施例提供的文本聚类装置的示意性框图。
如图9所示,文本聚类装置900,包括:预处理单元901、队列单元902以及判断单元903。
预处理单元901,用于对待分类的文本序列进行预处理并得到对应的表征向量,根据所述表征向量将所述文本序列划分至不同的簇,其中每一文本序列对应簇内的一个节点;
队列单元902,用于确认每一簇的当前质心,根据每一簇内的所有节点到自身簇的当前质心的距离,对所有节点进行排列并形成节点队列,并从所述节点队列中选出当前边缘节点队列;
判断单元903,用于针对每一簇,执行判断是否扩充所述当前边缘节点队列和更换新质心的流程,直至确认最终的边缘节点队和最终质心。
该装置通过深层次提取文本序列的特征后进行聚类操作,并通过不断的迭代更新,使得聚类结果具有更准确,收敛更快的优点。
在一实施例中,所述预处理单元901包括:
训练单元,用于将所述文本序列输入预训练模型,输出对应的表征向量;
分类单元,用于采用聚类算法对所述表征向量进行分类,并随机指定初始质心,使所述文本序列形成不同的初始簇,其中每一文本序列对应簇内的一个节点。
在一实施例中,所述队列单元902包括:
第一确认单元,用于根据每一簇中的所有节点到自身簇的初始质心的欧氏距离,重新确认每一簇的当前质心;
排列单元,用于根据每一簇内的所有节点到自身簇的当前质心的距离,根据越远越靠前的方式对自身簇内的所有节点进行排列并形成节点队列,并按排列顺序从所述节点队列中选出预设比例的节点作为当前边缘节点队列。
在一实施例中,所述判断单元903包括:
第一对比单元,用于对比所述当前边缘节点队列中的节点到自身簇的当前质心的最小距离以及所述当前边缘节点队列中的节点到其他簇的质心的最大距离,并得到第一对比结果,并根据所述第一对比结果判断是否扩充所述当前边缘节点队列,若是则扩充所述当前边缘节点队列得到下一边缘节点队列,并根据所述下一边缘节点队列重新确认自身簇的下一质心,并继续对比直至满足停止扩充的条件;
第二对比单元,用于若否则对比所述当前边缘节点队列中的节点到自身簇的当前质心的最大距离以及所述当前边缘节点队列中的节点到其他簇的当前质心的最小距离,并得到第二对比结果,根据所述第二对比结果判断是否更换自身簇的当前质心,若是则更换并得到自身簇的新质心,并重新执行判断是否扩充当前边缘节点队列和更换新质心的流程,直至满足迭代终止条件。
在一实施例中,所述第一对比单元包括:
第一结果获取单元,用于针对每一簇,对比所述当前边缘节点队列中的节点到自身簇的当前质心的最小距离以及所述当前边缘节点队列中的节点到其他簇的当前质心的最大距离,若所述当前边缘节点队列中的节点到自身簇的当前质心的最小距离大于所述当前边缘节点队列中的节点到其他簇的当前质心的最大距离,则按排列顺序从所述节点队列的剩余节点中选出预设比例的节点作为下一边缘节点队列;
第二确认单元,用于根据所述下一边缘节点队列中的节点到自身簇的当前质心的欧氏距离,重新确认自身簇的下一质心;
继续对比单元,用于继续对比所述下一边缘节点队列中的节点到自身簇的下一质心的最小距离以及所述下一边缘节点队列中的节点到其他簇的下一质心的最大距离,直至满足所述下一边缘节点队列中的节点到自身簇的下一质心的最大距离小于所述下一边缘节点队列中的节点到其他簇的下一质心的最小距离,则停止扩充边缘节点队列。
在一实施例中,所述第二对比单元包括:
第二结果获取单元,用于对比所述当前边缘节点队列中的节点到自身簇的质心的最大距离以及所述当前边缘节点队列中的节点到其他簇的质心的最小距离,若所述当前边缘节点队列中的节点到自身簇的质心的最大距离小于到其他簇的质心的最小距离,则更换自身簇的当前质心并得到新质心;
重新执行单元,用于重新执行判断是否扩充所述当前边缘节点队列和更换新质心的流程,直至达到预设的迭代轮数或确定每个簇的最终质心。
在一实施例中,文本聚类装置900还包括:
计算单元,用户若所述当前边缘节点队列未能满足扩充边缘节点队列的条件以及重新更换当前质心的条件,则计算所述当前边缘节点队列中的所有节点到每个簇的当前质心的距离,并根据距离将每一节点划分到最近的簇。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
上述文本聚类装置可以实现为计算机程序的形式,该计算机程序可以在如图10所示的计算机设备上运行。
请参阅图10,图10是本发明实施例提供的计算机设备的示意性框图。该计算机设备1000是服务器,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图10,该计算机设备1000包括通过系统总线1001连接的处理器1002、存储器和网络接口1005,其中,存储器可以包括非易失性存储介质1003和内存储器1004。
该非易失性存储介质1003可存储操作系统10031和计算机程序10032。该计算机程序10032被执行时,可使得处理器1002执行文本聚类方法。
该处理器1002用于提供计算和控制能力,支撑整个计算机设备1000的运行。
该内存储器1004为非易失性存储介质1003中的计算机程序10032的运行提供环境,该计算机程序10032被处理器1002执行时,可使得处理器1002执行文本聚类方法。
该网络接口1005用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图10中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备1000的限定,具体的计算机设备1000可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域技术人员可以理解,图10中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图10所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器1002可以是中央处理单元(CentralProcessing Unit,CPU),该处理器1002还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例的文本聚类方法。
所述存储介质为实体的、非瞬时性的存储介质,例如可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的实体存储介质。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
- 一种文本聚类方法、装置、计算机设备及存储介质
- 文本聚类方法、装置、电子设备及计算机可读存储介质