CN104331510B - 信息管理方法和装置 - Google Patents
信息管理方法和装置 Download PDFInfo
- Publication number
- CN104331510B CN104331510B CN201410682157.7A CN201410682157A CN104331510B CN 104331510 B CN104331510 B CN 104331510B CN 201410682157 A CN201410682157 A CN 201410682157A CN 104331510 B CN104331510 B CN 104331510B
- Authority
- CN
- China
- Prior art keywords
- cluster
- document
- database
- similarity
- clustered
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
信息管理方法和装置。本公开提出一种文本聚类方法,所述方法包括:计算输入的预设数量的搜索文档与数据库中的文档的相似度;将数据库中与所述搜索文档的相似度达到阈值的文档分别进行聚类得到第一集合簇;将所述第一集合簇中同一文档下的集合进行聚类,得到聚类结果。本公开一改传统的聚类思路,不指定初始聚类中心的个数,不进行初始划分,而是通过搜索的方式完成聚类,因此通用性更强;同时本公开在聚类过程中不需要对聚类中心进行不断的调整,因此开销小,可扩展性更好。
Description
技术领域
本公开涉及视频技术领域,尤其用户文本聚类方法和装置。
背景技术
聚类分析,是数据挖掘的主要任务之一。所谓数据挖掘,通常与计算机科学相关,通过统计、在线分析处理、情报检索、机器学习、和模式识别等诸多方法,从大量的数据中通过算法搜索隐藏于其中的信息。
目前,数据挖掘领域常用的聚类算法为K-MEANS算法,K-MEANS算法通过从N个文档随机选取K个文档作为质心,对剩余的每个文档测量其到每个质心的距离,并把它归类到最近的质心,然后再重新计算已经得到的各个类的质心,然后不断重复这一过程,直至新的质心与原质心相等或小于指定阀值时,算法结束。
然而,在K-means算法中,K值用于描述初始聚类中心的个数,为预先指定的值,通常难以估计,因此并不能预先获知给定的数据集应该聚类成多少个类别才最合适。其次,在K-means算法中,需要根据初始聚类中心来确定一个初始划分,然后对初始划分进行优化,因此初始聚类中心的选择对聚类结果有较大的影响,一旦初始值选择的不好,可能无法得到有效的聚类结果。另外,K-MEANS算法需要不断地进行样本分类调整,不断地计算调整后的新的聚类中心,因此当数据量非常大时,算法的时间开销非常大。
发明内容
为克服相关技术中存在的问题,本公开提供一种文本聚类方法和装置。
根据本公开实施例的第一方面,提供一种文本聚类方法,所述方法包括:
计算输入的预设数量的搜索文档与数据库中的文档的相似度;
将数据库中与所述搜索文档的相似度达到阈值的文档分别进行聚类得到第一集合簇;
将所述第一集合簇中同一文档下的集合进行聚类,得到聚类结果。
可选的,所述计算输入的预设数量的搜索文档与数据库中的文档的相似度包括:
对所述搜索文档以及所述数据库中的文档进行文字切分;
根据预设算法分别计算文字切分后的所述搜索文档与所述数据库中的文档的相似度。
可选的,所述对所述搜索文档以及所述数据库中的文档进行文字切分包括:
采用单字切分或者单字切分与词组切分结合的方式对所述搜索文档以及所述数据库中的文档进行文字切分。
可选的,所述将所述第一集合簇中同一文档下的集合进行聚类包括:
将所述第一集合簇中包含同一搜索文档的集合分别进行聚类,得到第二集合簇;
将所述第二集合簇中同一文档下的集合进行聚类。
可选的,所述将所述第二集合簇中同一文档下的集合进行聚类包括:
统计所述第二集合簇中各集合之间的相同元素数;
分别计算所述各集合中所述相同元素数占集合簇中元素总数的比值;
将所述第二集合簇中具有相同元素,并且所述比值达到阈值的集合作为同一文档下的集合进行聚类。
可选的,所述方法还包括:
对所述聚类结果进行去重处理。
可选的,所述方法还包括:
当所述聚类结果中包含所述第一集合簇中的所有集合时,停止针对所述第一集合簇的聚类。
根据本公开实施例的第二方面,提供一种文本聚类装置,所述装置包括:
计算模块,用于计算输入的预设数量的搜索文档与数据库中的文档的相似度;
第一聚类模块,用于将数据库中与所述搜索文档的相似度达到阈值的文档分别进行聚类得到第一集合簇;
第二聚类模块,用于将所述第一集合簇中同一文档下的集合进行聚类,得到聚类结果。
可选的,所述计算模块包括:
切分子模块,用于对所述搜索文档以及所述数据库中的文档进行文字切分;
计算子模块,用于根据预设算法分别计算文字切分后的所述搜索文档与所述数据库中的文档的相似度。
可选的,所述切分子模块包括:
文字切分子模块,用于采用单字切分或者单字切分与词组切分结合的方式对所述搜索文档以及所述数据库中的文档进行文字切分。
可选的,所述第二聚类模块包括:
第一聚类子模块,用于将所述第一集合簇中包含同一搜索文档的集合分别进行聚类,得到第二集合簇;
第二聚类子模块,用于将所述第二集合簇中同一文档下的集合进行聚类。
可选的,所述第二聚类子模块包括:
元素统计子模块,用于统计所述第二集合簇中各集合之间的相同元素数;
比值计算子模块,用于分别计算所述各集合中相同元素数占集合簇中元素总数的比值;
元素聚类子模块,用于将所述第二集合簇中具有相同元素,并且所述比值达到阈值的集合作为同一文档下的集合进行聚类。
可选的,所述装置还包括:
去重模块,用于对所述聚类结果进行去重处理。
可选的,所述装置还包括:
停止模块,用于在所述聚类结果中包含所述第一集合簇中的所有集合时,停止针对所述第一集合簇的聚类。
根据本公开实施例的第三方面,提供一种文本聚类装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
计算输入的搜索文档与数据库中的文档的相似度;
当所述搜索文档为多个时,将数据库中与所述搜索文档的相似度达到阈值的文档分别进行聚类得到第一集合簇;
将所述第一集合簇中同一文档下的集合进行聚类,得到聚类结果
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开的以上实施例中,提出一种新的聚类方法,通过计算输入的预设数量的搜索文档与数据库中的文档的相似度,将数据库中与搜索文档的相似度达到阈值的文档分别进行聚类得到第一集合簇,然后再对第一集合簇中同一文档下的集合进行聚类得到聚类结果。本公开一改传统的聚类思路,不指定初始聚类中心的个数,不进行初始划分,而是通过搜索的方式完成聚类,因此通用性更强;同时本公开在聚类过程中不需要对聚类中心进行不断的调整,因此开销小,可扩展性更好。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种文本聚类方法的流程示意图;
图2是根据一示例性实施例示出的另一种文本聚类方法的流程示意图;
图3是根据一示例性实施例示出的对数据库中的文档进行初步聚类的示意图;
图4是根据一示例性实施例示出的一种文本聚类装置的示意框图;
图5是根据一示例性实施例示出的另一种文本聚类装置的示意框图;
图6是根据一示例性实施例示出的另一种文本聚类装置的示意框图;
图7是根据一示例性实施例示出的另一种文本聚类装置的示意框图;
图8是根据一示例性实施例示出的另一种文本聚类装置的示意框图;
图9是根据一示例性实施例示出的另一种文本聚类装置的示意框图;
图10是根据一示例性实施例示出的另一种文本聚类装置的示意框图;
图11是根据一示例性实施例示出的一种用于文本聚类装置的一结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
如图1所示,图1是根据一示例性实施例示出的一种文本聚类方法,该方法用于服务端中,所述服务端可以是服务器,所述方法包括以下步骤:
在步骤101中,计算输入的预设数量的搜索文档与数据库中的文档的相似度;
在本实施例中,输入的搜索文档的数量取决于服务端实际的性能,例如,在实现时如果输入的搜索文档的数量超过某阈值,会造成服务端在后续的计算相似度的过程中整体性能下降的话,那么在设置输入的搜索文档的数量时,尽可能将搜索文档的数量限制在该阈值以内。
服务端在计算输入的搜索文档与数据库中的文档的相似度之前,通常会对输入的搜索文档以及数据库中的文档进行中文分词。中文分词是自然语言处理的基本过程,通常可以基于一定的规则或者通过统计的方式进行分词。
然而在实际应用中,对于一些短文本,基于规则或者通过统计的方式进行分词,处理意义不大,而且由于在本实施例中分词后的搜索文档后续要进行相似度计算,而基于规则或者统计的方式对输入的短文本进行分词,通常会因为上下文的关系引起切分上的不同,因此基于规则或者统计的方式对搜索文档进行分词,对后续的相似度计算影响很大。因此,在本实施例中,服务器可以采用单字切分或者采用单字切分与词组切分相结合的方式对输入的搜索文档进行文字切分.
在本实施例中,对于文字切分后的文档,可以进行索引存储,以方便后续的快速检索。其中对文字切分后的文档进行索引存储,可以参考现有实现中的介绍,例如,可以采用B+tree的方式对文字切分后的文档进行索引存储,在公开中不再进行详述。
在本实施例中,服务端在计算输入的搜索文档与本地数据库中的文档的相似度时,可以基于特定的相似度算法来进行;例如,在实现时,所述相似度计算所采用的相似度算法可以是基于LCS的相似度算法或BM25算法。
在步骤102中,将数据库中与所述搜索文档的相似度达到阈值的文档分别进行聚类得到第一集合簇;
在本实施例中,在完成了相似度计算后,可以基于相似度的计算结果对数据库中的文档进行初步的聚类。在实现时,可以基于相似度的计算结果进行阈值化处理,在已经索引存储的数据中进行快速检索,将数据库中与输入的搜索文档的相似度达到阈值的文档分别进行聚类最终形成一个第一集合簇。
例如,假设输入的搜索文档分别为query1、query2和query3,文档ID分别为1001、1033和1338,所述阈值为85%,此时可以在已经索引存储的数据中进行快速检索,输出的文档即为数据库中分别与query1、query2和query3的相似度达到85%的文档集合。假设数据库中与query1的相似度达到85%的文档ID的集合为S1=[1001,1031,2098,7896,8876];与query2的相似度达到85%的文档ID的集合为S2=[1033,1868,2768,8896,8976];与query2的相似度达到85%的文档ID的集合为S3=[1338,1878,2798,8196,8076];那么所述第一集合簇则为一个包括集合S1~S3的集合簇,S1~S3中的任意一个集合都是该集合簇中的元素。
在本实施例中,所述第一集合簇中的内容,即为服务端根据输入的搜索文档对数据库中的文档进行聚类后形成的初步聚类结果。
在步骤103中,将所述第一集合簇中同一文档下的集合进行聚类,得到聚类结果。
在本实施例中,对于所述第一集合簇中的内容,可以由服务端进行统计聚类,形成最终的聚类结果。在实现时,服务端可以对所述第一集合簇中包含同一搜索文档的集合再次分别进行聚类,形成一个第二集合簇。
例如,假设第一集合簇包括集合S1、S2…Sn,输入的搜索文档分别为query1、query2,文档ID分别为1033和1338;假设此时:
S1=[1001,1031,2098,7896,8876]
S2=[1033,1868,2768,8896,8976]
S3=[1338,1878,2798,8196,8076]
那么服务端将第一集合簇中分别包含搜索文档1031的集合再次聚类后可以得到集合1031=[S 1,S8,S9...];其中该集合表示文档ID为1031的文档在集合分别在S1、S8、S9等集合中出现过;服务端将第一集合簇中分别包含搜索文档1033的集合再次聚类后得到集合1033=[S2,S10,S21...];其中该集合表示文档ID为1033的文档在集合分别在S2、S10、S21等集合中出现过。此时所述第二集合簇则为一个包括上述集合1031和1033的集合簇,集合1031和1033中的任意一个集合都是该集合簇中的元素。
在本实施例中,对于所述第二集合簇中的内容,还可以由服务端将第二集合簇中隶属于同一文档下的集合进行再次聚类,生成最终的聚合结果。其中,在判断所述第二集合簇中的集合是否隶属于同一文档下,可以基于第二集合簇中各集合之间的相同元素数占元素总数的比值来判断。在实现时,服务端可以逐个统计所述第二集合簇中的集合与该集合簇中的其它集合的相同元素数,然后计算各集合中统计出的相同元素数占当前集合簇中元素总数的比值,在进行聚类时,可以将具有相同元素数,并且上述比值达到阈值的集合作为同一文档下的集合进行聚类。其中,所述元素总数,在实现时也可以为第二集合簇中单个集合的元素总数,在本公开不进行特别限定。
例如,假设所述第二集合簇包含1001、1031两个集合,其中:
1001=[S1,S2,S3,S8]
1031=[S1,S2,S3,S9,S11]
服务端在进行相同元素数计算时,集合1001与集合1031的相同元素数为3,集合簇中元素总数为6(不重复的元素数),此时相同元素数占集合簇中元素总数的比值为0.5;假设此时阈值为0.5,所述相同元素数占集合簇中元素总数的比值达到了阈值,此时可以认为集合1001、1031为同一文档下的集合,因此可以对集合1001、和1031进行聚类,最终形成聚类结果X1=[S1,S2,S3,S8,S9,S11]。
在本实施例中,由于最终的聚类结果中,各集合之间可能会存在相同的文本,因此为了防止聚类结果中的冗余数据对信息造成干扰,还可以对聚类结果进行去重处理,去除聚类结果中冗余的内容。
例如,假设最终形成聚类结果X1=[S 1,S2];假设该聚类结果中S1=[1001,1031,1033,1034,1035];S2=[1001,1031,1036,1037,1038],此时S1和S2具有相同的文本1001和1031,因此对聚类结果X1进行去重处理后X1=[1001,1031,1033,1034,1035,1036,1037,1038]。
通过以上描述可知,本公开提出了一种新的聚类方法,通过计算输入的预设数量的搜索文档与数据库中的文档的相似度,将数据库中与搜索文档的相似度达到阈值的文档分别进行聚类得到第一集合簇,然后再对第一集合簇中同一文档下的集合进行聚类得到聚类结果。本公开一改传统的聚类思路,不指定初始聚类中心的个数,不进行初始划分,而是通过搜索的方式完成聚类,因此通用性更强;同时本公开在聚类过程中不需要对聚类中心进行不断的调整,完全基于搜索文档与数据库中文档的相似度进行初步聚类,并在此初步聚类的基础上,再对同一文档下的数据进行聚类,因此开销小,可扩展性更好。
如图2所示,图2是根据一示例性实施例示出的一种文本聚类方法,该方法用于服务端中,所述服务端可以是服务器,所述方法包括以下步骤:
在步骤201中,计算输入的预设数量的搜索文档与数据库中的文档的相似度;
在本实施例中,输入的搜索文档的数量取决于服务端实际的性能,例如,在实现时如果输入的搜索文档的数量超过某阈值,会造成服务端在后续的计算相似度的过程中整体性能下降的话,那么在设置输入的搜索文档的数量时,尽可能将搜索文档的数量限制在该阈值以内。
在本实施例中,服务端在计算输入的搜索文档与数据库中的文档的相似度之前,通常会对输入的搜索文档以及数据库中的文档进行中文分词。中文分词是自然语言处理的基本过程,通常可以基于一定的规则或者通过统计的方式进行分词。
然而在实际应用中,对于一些短文本,基于规则或者通过统计的方式进行分词,处理意义不大,而且由于在本实施例中分词后的搜索文档后续要进行相似度计算,而基于规则或者统计的方式对输入的短文本进行分词,通常会因为上下文的关系引起切分上的不同,因此基于规则或者统计的方式对搜索文档进行分词,对后续的相似度计算影响很大。
例如,假设输入的搜索文档分别为“北京市海淀区清河镇批发市场”和“北京海淀清河批发市场”,采用基于规则或者通过统计的方式进行分词,搜索文档“北京市海淀区清河镇批发市场”的切分结果是“北京市海淀区清河镇批发市场”;搜索文档“北京海淀清河批发市场”的切分结果是“北京海淀清河批发市场”,对于上述两种切分结果,在计算相似度时,由于分词后类似于“北京市”和“北京”会被认为是不相似的词组,因此以上两种切分结果计算出的相似度仅为0.25,而通过对比后发现以上两种切分结果在语义表达上为完全相同的两个文本。
因此,在本实施例中,服务器可以采用单字切分的方式对输入的搜索文档进行文字切分;例如,仍以输入的搜索文档分别为“北京市海淀区清河镇批发市场”和“北京海淀清河批发市场”为例,采用单字切分后,搜索文档“北京市海淀区清河镇批发市场”的切分结果是“北京市海淀区清河镇批发市场”;搜索文档“北京海淀清河批发市场”的切分结果可能是“北京海淀清河批发市场”,对于上述两种切分结果,在计算相似度时,是通过比较单字的相似度来进行的,因此上述两种切分结果中,“北、京、海、淀、清、河、批、发、市、场”等10个单字均可认为是相似的文本,因此最终计算出的相似度,远高于对采用基于规则或者通过统计的方式进行分词后的切分结果进行相似度计算得出的相似度。可见,采用单字切分的方式对搜索文档进行文字切分,可以最大程度的避免因为上下文的关系引起切分上的不同对最终计算出的相似度的影响。
当然,在实际应用中,如果想要进一步提升文字切分的准确性,还可以采用单字切分与词组切分相结合的方式对所述搜索文档进行文字切分,即在对搜索文档进行文字切分时,对一些词组和非词组的单字均可以进行单独切分。例如,假设搜索文档为“北京市海淀区清河镇批发市场”,采用单字切分与词组切分相结合的方式进行文字切分的结果可以是“北京市海淀区清河镇批发市场”,即在切分时将词组和非词组的单字均进行单独切分。
在本实施例中,对于文字切分后的文档,可以进行索引存储,以方便后续的快速检索。其中对文字切分后的文档进行索引存储,可以参考现有实现中的介绍,例如,可以采用B+tree的方式对文字切分后的文档进行索引存储,在公开中不再进行详述。
在本实施例中,服务端在计算输入的搜索文档与本地数据库中的文档的相似度时,可以基于特定的相似度算法来进行;例如,在实现时,所述相似度计算所采用的相似度算法可以是基于LCS的相似度算法或BM25算法。
其中,所述LCS是指是指最长公共子序列。一个序列,如果是两个或多个已知序列的子序列,且是所有子序列中最长的,则为最长公共子序列。当所述输入的搜索文档为短文本时,LCS可以作为其相似度的一个衡量。
例如,假设需要基于LCS来计算“北京海淀清河批发市场”和文档“北京海淀清河海鲜市场”这两个文档的相似度,如果均采用单字切分,那么这两个文档的最长公共子序列则为“北京海淀清河市场”,一共8个单字,在求相似度时,可以用最长公共子序列的单字数8除以这两个文档的单字总数12,最终求出的相似度为0.67。
所述BM25算法,是搜索引擎用来对搜索文档和匹配文档(即数据库中的文档)进行相关度计算和排序的排序函数。由于在本公开中,后续在做检索的时,需要考虑到排序的问题,因此,BM25是一个很好的相似度算法。
BM25算法的具体计算公式如下,假设给定一个包含q1,q2…qn的搜索文档Q,一个匹配文档D,
以上公式中,f(qi,D)是搜索文档qi在的文档D中的频率,|D|是文档D的长度(含有的词的个数)。avg(d1)是文档集合中的文档的平均长度。k1和b是调整因子,通常取k1∈[1.2,2.0],b=0.75。IDF(qi)是qi的反向文档频率。计算公式如下:
其中,N是文档集合中文档的总数。n(qi)是含有qi的文档个数,b是调节因子,在实现时,如果文本较短可以设置为0.
在步骤202中,将数据库中与所述搜索文档的相似度达到阈值的文档分别进行聚类得到第一集合簇;
在本实施例中,在完成了相似度计算后,可以基于相似度的计算结果对数据库中的文档进行初步的聚类。在实现时,可以基于相似度的计算结果进行阈值化处理,在已经索引存储的数据中进行快速检索,将数据库中与输入的搜索文档的相似度达到阈值的文档分别进行聚类最终形成一个第一集合簇。
例如,请参见图3,假设输入的搜索文档分别为query1、query2和query3,文档ID分别为1001、1033和1338,所述阈值为85%,此时可以在已经索引存储的数据中进行快速检索,输出的文档即为数据库中分别与query1、query2和query3的相似度达到85%的文档集合。假设数据库中与query1的相似度达到85%的文档ID的集合为S1=[1001,1031,2098,7896,8876];与query2的相似度达到85%的文档ID的集合为S2=[1033,1868,2768,8896,8976];与query2的相似度达到85%的文档ID的集合为S3=[1338,1878,2798,8196,8076];那么所述第一集合簇则为一个包括集合S1~S3的集合簇,S1~S3中的任意一个集合都是该集合簇中的元素。
在本实施例中,所述第一集合簇中的内容,即为服务端根据输入的搜索文档对数据库中的文档进行聚类后形成的初步聚类结果。
在步骤203中,将所述第一集合簇中包含同一搜索文档的集合分别进行聚类,得到第二集合簇;
在步骤204中,将所述第二集合簇中同一文档下的集合进行聚类,得到聚类结果。
在本实施例中,对于所述第一集合簇中的内容,可以由服务端进行统计聚类,形成最终的聚类结果。在实现时,服务端可以对所述第一集合簇中包含同一搜索文档的集合再次分别进行聚类,形成一个第二集合簇。
例如,假设第一集合簇包括集合S1、S2…Sn,输入的搜索文档分别为query1、query2,文档ID分别为1033和1338;假设此时:
S1=[1001,1031,2098,7896,8876]
S2=[1033,1868,2768,8896,8976]
S3=[1338,1878,2798,8196,8076]
那么服务端将第一集合簇中分别包含搜索文档1031的集合再次聚类后可以得到集合1031=[S 1,S8,S9...];其中该集合表示文档ID为1031的文档在集合分别在S1、S8、S9等集合中出现过;服务端将第一集合簇中分别包含搜索文档1033的集合再次聚类后得到集合1033=[S2,S10,S21...];其中该集合表示文档ID为1033的文档在集合分别在S2、S10、S21等集合中出现过。此时所述第二集合簇则为一个包括上述集合1031和1033的集合簇,集合1031和1033中的任意一个集合都是该集合簇中的元素。
在本实施例中,对于所述第二集合簇中的内容,还可以由服务端将第二集合簇中隶属于同一文档下的集合进行再次聚类,生成最终的聚合结果。其中,在判断所述第二集合簇中的集合是否隶属于同一文档下,可以基于第二集合簇中各集合之间的相同元素数占元素总数的比值来判断。在实现时,服务端可以逐个统计所述第二集合簇中的集合与该集合簇中的其它集合的相同元素数,然后计算各集合中统计出的相同元素数占当前集合簇中元素总数的比值,在进行聚类时,可以将具有相同元素数,并且上述比值达到阈值的集合作为同一文档下的集合进行聚类。其中,所述元素总数,在实现时也可以为第二集合簇中单个集合的元素总数,在本公开不进行特别限定。
例如,假设所述第二集合簇包含1001、1031两个集合,其中:
1001=[S1,S2,S3,S8]
1031=[S1,S2,S3,S9,S11]
服务端在进行相同元素数计算时,集合1001与集合1031的相同元素数为3,集合簇中元素总数为6(不重复的元素数),此时相同元素数占集合簇中元素总数的比值为0.5;假设此时阈值为0.5,所述相同元素数占集合簇中元素总数的比值达到了阈值,此时可以认为集合1001、1031为同一文档下的集合,因此可以对集合1001、和1031进行聚类,最终形成聚类结果X1=[S1,S2,S3,S8,S9,S11]。
在本实施例中,由于最终的聚类结果中,各集合之间可能会存在相同的文本,因此为了防止聚类结果中的冗余数据对信息造成干扰,还可以对聚类结果进行去重处理,去除聚类结果中冗余的内容。
例如,假设最终形成聚类结果X1=[S 1,S2];假设该聚类结果中S1=[1001,1031,1033,1034,1035];S2=[1001,1031,1036,1037,1038],此时S1和S2具有相同的文本1001和1031,因此对聚类结果X1进行去重处理后X1=[1001,1031,1033,1034,1035,1036,1037,1038]。
通过以上描述可知,本公开提出了一种新的聚类方法,通过计算输入的预设数量的搜索文档与数据库中的文档的相似度,将数据库中与搜索文档的相似度达到阈值的文档分别进行聚类得到第一集合簇,然后再对第一集合簇中同一文档下的集合进行聚类得到聚类结果。本公开一改传统的聚类思路,不指定初始聚类中心的个数,不进行初始划分,而是通过搜索的方式完成聚类,因此通用性更强;同时本公开在聚类过程中不需要对聚类中心进行不断的调整,完全基于搜索文档与数据库中文档的相似度进行初步聚类,并在此初步聚类的基础上,再对同一文档下的数据进行聚类,因此开销小,可扩展性更好。
在另一个可选的实施例中,结合上述图1或图2示出的实施例,在针对所述第一集合簇中同一文档下的集合进行聚类时,还可以预先设定聚类终止的条件。例如,在针对所述第一集合簇进行聚类时,可以将聚类的终止条件设置为当聚类结果中包含所述第一集合簇中的所有集合时,则停止针对所述第一集合簇的聚类。
在以上实施例中,通过在针对所述第一集合簇中同一文档下的集合进行聚类时,预先设定聚类终止的条件,可以避免系统重复的迭代,节省开销提高处理的效率。
与前述文本聚类方法实施例相对应,本公开还提供了文本聚类装置的实施例。
图4是根据一示例性实施例示出的一种文本聚类装置的示意框图。
如图4所示,根据一示例性实施例示出的一种文本聚类装置400,包括:计算模块401、第一聚类模块402以及第二聚类模块403;其中:
所述计算模块401被配置为,计算输入的预设数量的搜索文档与数据库中的文档的相似度;
所述第一聚类模块402被配置为,将数据库中与所述搜索文档的相似度达到阈值的文档分别进行聚类得到第一集合簇;
所述第二聚类模块403被配置为,将所述第一集合簇中同一文档下的集合进行聚类,得到聚类结果。
在本实施例中,通过计算输入的预设数量的搜索文档与数据库中的文档的相似度,将数据库中与搜索文档的相似度达到阈值的文档分别进行聚类得到第一集合簇,然后再对第一集合簇中同一文档下的集合进行聚类得到聚类结果。由于不指定初始聚类中心的个数,不进行初始划分,而是通过搜索的方式完成聚类,因此通用性更强;同时由于在聚类过程中不需要对聚类中心进行不断的调整,完全基于搜索文档与数据库中文档的相似度进行初步聚类,并在此初步聚类的基础上,再对同一文档下的数据进行聚类,因此开销小,可扩展性更好。
请参见图5,图5是本公开根据一示例性实施例示出的另一种文本聚类装置框图,该实施例在前述图4所示实施例的基础上,所述计算模块401还包括切分子模块401A、计算子模块401B;其中:
所述切分子模块401A被配置为,对所述搜索文档以及所述数据库中的文档进行文字切分;
所述计算子模块401B被配置为,根据预设算法分别计算文字切分后的所述搜索文档与所述数据库中的文档的相似度。
请参见图6,图6是本公开根据一示例性实施例示出的另一种文本聚类装置框图,该实施例在前述图5所示实施例的基础上,所述切分子模块401A还包括文字切分子模块401A1;其中:
所述文字切分子模块401A被配置为,采用单字切分或者单字切分与词组切分结合的方式对所述搜索文档以及所述数据库中的文档进行文字切分。
需要说明的是,上述图6所示的装置实施例中示出的文字切分子模块401A的结构也可以包含在前述图4的装置实施例中,对此本公开不进行限制。
请参见图7,图7是本公开根据一示例性实施例示出的另一种文本聚类装置框图,该实施例在前述图4所示实施例的基础上,所述第二聚类模块403还包括第一聚类子模块403A和第二聚类子模块403B;其中:
所述第一聚类子模块403A被配置为,将所述第一集合簇中包含同一搜索文档的集合分别进行聚类,得到第二集合簇;
所述第二聚类子模块403B被配置为,将所述第二集合簇中同一文档下的集合进行聚类。
需要说明的是,上述图7所示的装置实施例中示出的第一聚类子模块403A和第二聚类子模块403B的结构也可以包含在前述图5-6的装置实施例中,对此本公开不进行限制。
请参见图8,图8是本公开根据一示例性实施例示出的另一种文本聚类装置框图,该实施例在前述图7所示实施例的基础上,所述第二聚类子模块403B还包括元素统计子模块403B1、比值计算子模块403B2和元素聚类子模块403B3;其中:
所述元素统计子模块403B1被配置为,统计所述第二集合簇中各集合之间的相同元素数;
所述比值计算子模块403B2被配置为,分别计算所述各集合中相同元素数占集合簇中元素总数的比值;
所述元素聚类子模块403B3被配置为,将所述第二集合簇中具有相同元素,并且所述比值达到阈值的集合作为同一文档下的集合进行聚类。
需要说明的是,上述图8所示的装置实施例中示出的元素统计子模块403B1、比值计算子模块403B2和元素聚类子模块403B3的结构也可以包含在前述图4-6的装置实施例中,对此本公开不进行限制。
请参见图9,图9是本公开根据一示例性实施例示出的另一种文本聚类装置框图,该实施例在前述图4所示实施例的基础上,所述装置400还包括去重模块404;其中:
所述去重模块404被配置为,对所述聚类结果进行去重处理。
需要说明的是,上述图9所示的装置实施例中示出的去重模块404的结构也可以包含在前述图5-8的装置实施例中,对此本公开不进行限制。
请参见图10,图10是本公开根据一示例性实施例示出的另一种文本聚类装置框图,该实施例在前述图4所示实施例的基础上,所述装置400还包括停止模块405;其中:
所述停止模块405被配置为,在所述聚类结果中包含所述第一集合簇中的所有集合时,停止针对所述第一集合簇的聚类。
需要说明的是,上述图10所示的装置实施例中示出的停止模块405的结构也可以包含在前述图5-9的装置实施例中,对此本公开不进行限制。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
相应的,本公开还提供一种文本聚类装置,所述装置包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
计算输入的预设数量的搜索文档与数据库中的文档的相似度;
将数据库中与所述搜索文档的相似度达到阈值的文档分别进行聚类得到第一集合簇;
将所述第一集合簇中同一文档下的集合进行聚类,得到聚类结果。
图11是根据一示例性实施例示出的一种用于用户信息采集装置1100的结构示意框图。例如,装置1100可以被提供为一服务器。参照图11,装置1100包括处理组件1122,其进一步包括一个或多个处理器,以及由存储器1132所代表的存储器资源,用于存储可由处理部件1122的执行的指令,例如应用程序。存储器1132中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1122被配置为执行指令,以执行上述文本聚类方法。
装置1100还可以包括一个电源组件1126被配置为执行装置1100的电源管理,一个有线或无线网络接口1150被配置为将装置1100连接到网络,和一个输入输出(I/O)接口1158。装置1100可以操作基于存储在存储器1132的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (13)
1.一种文本聚类方法,其特征在于,所述方法包括:
计算输入的预设数量的搜索文档与数据库中的文档的相似度;
将数据库中与所述搜索文档的相似度达到阈值的文档分别进行聚类得到第一集合簇;
将所述第一集合簇中同一文档下的集合进行聚类,得到聚类结果;
所述将所述第一集合簇中同一文档下的集合进行聚类包括:
将所述第一集合簇中包含同一搜索文档的集合分别进行聚类,得到第二集合簇;
将所述第二集合簇中同一文档下的集合进行聚类。
2.如权利要求1所述的方法,其特征在于,所述计算输入的预设数量的搜索文档与数据库中的文档的相似度包括:
对所述搜索文档以及所述数据库中的文档进行文字切分;
根据预设算法分别计算文字切分后的所述搜索文档与所述数据库中的文档的相似度。
3.如权利要求2所述的方法,其特征在于,所述对所述搜索文档以及所述数据库中的文档进行文字切分包括:
采用单字切分或者单字切分与词组切分结合的方式对所述搜索文档以及所述数据库中的文档进行文字切分。
4.如权利要求1所述的方法,其特征在于,所述将所述第二集合簇中同一文档下的集合进行聚类包括:
统计所述第二集合簇中各集合之间的相同元素数;
分别计算所述各集合中所述相同元素数占集合簇中元素总数的比值;
将所述第二集合簇中具有相同元素,并且所述比值达到阈值的集合作为同一文档下的集合进行聚类。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
对所述聚类结果进行去重处理。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述聚类结果中包含所述第一集合簇中的所有集合时,停止针对所述第一集合簇的聚类。
7.一种文本聚类装置,其特征在于,所述装置包括:
计算模块,用于计算输入的预设数量的搜索文档与数据库中的文档的相似度;
第一聚类模块,用于将数据库中与所述搜索文档的相似度达到阈值的文档分别进行聚类得到第一集合簇;
第二聚类模块,用于将所述第一集合簇中同一文档下的集合进行聚类,得到聚类结果;
所述第二聚类模块包括:
第一聚类子模块,用于将所述第一集合簇中包含同一搜索文档的集合分别进行聚类,得到第二集合簇;
第二聚类子模块,用于将所述第二集合簇中同一文档下的集合进行聚类。
8.如权利要求7所述的装置,其特征在于,所述计算模块包括:
切分子模块,用于对所述搜索文档以及所述数据库中的文档进行文字切分;
计算子模块,用于根据预设算法分别计算文字切分后的所述搜索文档与所述数据库中的文档的相似度。
9.如权利要求8所述的装置,其特征在于,所述切分子模块包括:
文字切分子模块,用于采用单字切分或者单字切分与词组切分结合的方式对所述搜索文档以及所述数据库中的文档进行文字切分。
10.如权利要求7所述的装置,其特征在于,所述第二聚类子模块包括:
元素统计子模块,用于统计所述第二集合簇中各集合之间的相同元素数;
比值计算子模块,用于分别计算所述各集合中相同元素数占集合簇中元素总数的比值;
元素聚类子模块,用于将所述第二集合簇中具有相同元素,并且所述比值达到阈值的集合作为同一文档下的集合进行聚类。
11.如权利要求7所述的装置,其特征在于,所述装置还包括:
去重模块,用于对所述聚类结果进行去重处理。
12.如权利要求7所述的装置,其特征在于,所述装置还包括:
停止模块,用于在所述聚类结果中包含所述第一集合簇中的所有集合时,停止针对所述第一集合簇的聚类。
13.一种文本聚类装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
计算输入的搜索文档与数据库中的文档的相似度;
当所述搜索文档为多个时,将数据库中与所述搜索文档的相似度达到阈值的文档分别进行聚类得到第一集合簇;
将所述第一集合簇中同一文档下的集合进行聚类,得到聚类结果;
所述将所述第一集合簇中同一文档下的集合进行聚类包括:
将所述第一集合簇中包含同一搜索文档的集合分别进行聚类,得到第二集合簇;
将所述第二集合簇中同一文档下的集合进行聚类。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410682157.7A CN104331510B (zh) | 2014-11-24 | 2014-11-24 | 信息管理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410682157.7A CN104331510B (zh) | 2014-11-24 | 2014-11-24 | 信息管理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104331510A CN104331510A (zh) | 2015-02-04 |
CN104331510B true CN104331510B (zh) | 2018-09-04 |
Family
ID=52406237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410682157.7A Active CN104331510B (zh) | 2014-11-24 | 2014-11-24 | 信息管理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104331510B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105976821B (zh) * | 2016-06-17 | 2020-02-07 | 北京小米移动软件有限公司 | 动物语言识别方法和装置 |
CN106446148B (zh) * | 2016-09-21 | 2019-08-09 | 中国运载火箭技术研究院 | 一种基于聚类的文本查重方法 |
CN109145118B (zh) * | 2018-09-06 | 2021-01-26 | 北京京东尚科信息技术有限公司 | 信息管理方法和装置 |
CN110046279B (zh) * | 2019-04-18 | 2022-02-25 | 网易传媒科技(北京)有限公司 | 视频文件特征的预测方法、介质、装置和计算设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101308496A (zh) * | 2008-07-04 | 2008-11-19 | 沈阳格微软件有限责任公司 | 大规模文本数据的外部聚类方法及系统 |
CN102955857A (zh) * | 2012-11-09 | 2013-03-06 | 北京航空航天大学 | 一种搜索引擎中基于类中心压缩变换的文本聚类方法 |
CN102999538A (zh) * | 2011-09-08 | 2013-03-27 | 富士通株式会社 | 人物搜索方法和设备 |
CN103514183A (zh) * | 2012-06-19 | 2014-01-15 | 北京大学 | 基于交互式文档聚类的信息检索方法及系统 |
CN103886072A (zh) * | 2014-03-24 | 2014-06-25 | 河南理工大学 | 煤矿搜索引擎中检索结果聚类系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8468445B2 (en) * | 2005-03-30 | 2013-06-18 | The Trustees Of Columbia University In The City Of New York | Systems and methods for content extraction |
-
2014
- 2014-11-24 CN CN201410682157.7A patent/CN104331510B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101308496A (zh) * | 2008-07-04 | 2008-11-19 | 沈阳格微软件有限责任公司 | 大规模文本数据的外部聚类方法及系统 |
CN102999538A (zh) * | 2011-09-08 | 2013-03-27 | 富士通株式会社 | 人物搜索方法和设备 |
CN103514183A (zh) * | 2012-06-19 | 2014-01-15 | 北京大学 | 基于交互式文档聚类的信息检索方法及系统 |
CN102955857A (zh) * | 2012-11-09 | 2013-03-06 | 北京航空航天大学 | 一种搜索引擎中基于类中心压缩变换的文本聚类方法 |
CN103886072A (zh) * | 2014-03-24 | 2014-06-25 | 河南理工大学 | 煤矿搜索引擎中检索结果聚类系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104331510A (zh) | 2015-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106815252B (zh) | 一种搜索方法和设备 | |
Bian et al. | Multimedia summarization for social events in microblog stream | |
WO2021068610A1 (zh) | 资源推荐的方法、装置、电子设备及存储介质 | |
US7809718B2 (en) | Method and apparatus for incorporating metadata in data clustering | |
CN104750798B (zh) | 一种应用程序的推荐方法和装置 | |
CN104866496B (zh) | 确定词素重要性分析模型的方法及装置 | |
US20230177360A1 (en) | Surfacing unique facts for entities | |
CN108197144B (zh) | 一种基于BTM和Single-pass的热点话题发现方法 | |
EP2778969A1 (en) | Search result ranking using query clustering | |
CN110162630A (zh) | 一种文本去重的方法、装置及设备 | |
CN104331510B (zh) | 信息管理方法和装置 | |
CN110019669B (zh) | 一种文本检索方法及装置 | |
WO2018176913A1 (zh) | 搜索方法、装置及非临时性计算机可读存储介质 | |
US10748166B2 (en) | Method and system for mining churn factor causing user churn for network application | |
CN111737574A (zh) | 搜索信息获取方法、装置、计算机设备及可读存储介质 | |
Zubiaga et al. | Content-based clustering for tag cloud visualization | |
CN110795613B (zh) | 商品搜索方法、装置、系统及电子设备 | |
Taghva et al. | Effects of similarity metrics on document clustering | |
WO2021000400A1 (zh) | 导诊相似问题对生成方法、系统及计算机设备 | |
CN114490923A (zh) | 相似文本匹配模型的训练方法、装置、设备及存储介质 | |
CN108153818B (zh) | 一种基于大数据的聚类方法 | |
CN114328800A (zh) | 文本处理方法、装置、电子设备和计算机可读存储介质 | |
CN113761104A (zh) | 知识图谱中实体关系的检测方法、装置和电子设备 | |
CN108334573A (zh) | 基于聚类信息的高相关微博检索方法 | |
CN110413985B (zh) | 一种相关文本片段搜索方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |