CN110362685A - 聚类方法和聚类设备 - Google Patents
聚类方法和聚类设备 Download PDFInfo
- Publication number
- CN110362685A CN110362685A CN201910662715.6A CN201910662715A CN110362685A CN 110362685 A CN110362685 A CN 110362685A CN 201910662715 A CN201910662715 A CN 201910662715A CN 110362685 A CN110362685 A CN 110362685A
- Authority
- CN
- China
- Prior art keywords
- class
- sentence
- frequent episode
- similarity
- crucial phrase
- 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.)
- Pending
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/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
Abstract
公开了聚类方法和聚类设备。所述聚类方法,包括:针对经过预处理的语料数据,提取至少一个频繁项,所述频繁项为在所述语料数据的句子中同时出现的次数大于第一预定阈值的词组集合;以每一个频繁项作为关键词组,建立多个类;以及确定所述语料数据中的每一个句子所对应的一个频繁项,并将所述句子分配到以确定的频繁项作为关键词组的类中。
Description
技术领域
本公开涉及自然语言处理的领域,更具体地说,涉及一种聚类方法和聚类设备。
背景技术
自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。用自然语言与计算机进行通信,这是人们长期以来所追求的。实现人机间自然语言通信意味着要使计算机既能理解自然语言文本的意义,并能基于所理解的意义实现对文本的预定处理。
聚类是自然语言处理中的一个重要分支。简单来说,聚类就是从很多文本中把一些内容相似的文本聚为一类。对于具有相应主题的文本来说,通过聚类,可以高效率地实现海量文本的处理。
以用户反馈为例进行说明。当用户使用某一产品时,会将产品使用期间遇到的问题以文本的形式反馈给产品的后台。后台通过搜集整理来自用户的反馈信息来对产品进行修复和改进。这对产品性能,尤其是新性能、新模块的监督以及问题的然而,用户反馈文本常常是海量的。通过对用户反馈文本进行基于主题的聚类,可以使得产品的后台服务人员根据不同的主题批量地处理用户反馈,从而能够极大地提高处理效率和质量。
不同的用户反馈所表达的问题不同,并会不断有新的问题出现。而且,聚类的准确度和效率要求较高。然而,传统的大数据挖掘和聚类方式难以满足以上用户反馈处理的需求。
发明内容
鉴于以上情形,期望提供能够提高聚类准确度的聚类方法和聚类设备。
根据本公开的一个方面,提供了一种聚类方法,包括:针对经过预处理的语料数据,提取至少一个频繁项,所述频繁项为在所述语料数据的句子中同时出现的次数大于第一预定阈值的词组集合;以每一个频繁项作为关键词组,建立多个类;以及确定所述语料数据中的每一个句子所对应的一个频繁项,并将所述句子分配到以确定的频繁项作为关键词组的类中。
另外,在根据本公开实施例的方法中,所述词组集合中包括的词的最大数量大于2。
另外,在根据本公开实施例的方法中,确定所述语料数据中的每一个句子所对应的一个频繁项包括:当一个句子中出现多个频繁项时,基于频繁项中包含的词语数量以及频繁项在所述语料数据中出现的次数,确定频繁项的分数;以及将分数最高的频繁项确定为该句子所对应的一个频繁项。
另外,根据本公开实施例的方法可以进一步包括:基于层次聚类,对所述多个类进行合并;以及以合并后得到的各个类更新所述多个类。
另外,根据本公开实施例的方法可以进一步包括:针对更新后的所述多个类中的每一个,在所述类包括的至少一个关键词组中选择一个,作为所述类的关键词组。
另外,在根据本公开实施例的方法中,基于层次聚类,对所述多个类进行合并进一步包括:确定各类对应的向量之间的相似度,将相似度大于第二预定阈值的类合并;以及对于合并后得到的各个类,重复地执行确定相似度以及基于相似度合并的处理,直至不再存在相似度大于第二预定阈值的两个类为止。
另外,在根据本公开实施例的方法中,针对更新后的所述多个类中的每一个,在所述类包括的至少一个关键词组中选择一个,作为所述类的关键词组包括:针对每一个类包括的至少一个关键词组,基于关键词组中包含的词数以及关键词组在类中出现的次数,确定关键词组的分数;以及将分数最高的关键词组确定为该类的关键词组。
另外,根据本公开实施例的方法可以进一步包括:确定所述多个类中的每一个类的摘要。
另外,在根据本公开实施例的方法中,确定所述多个类中的每一个类的摘要包括:针对所述多个类中的每一个,执行如下处理:对一个类中的每一个句子进行向量化;基于各个句子所对应的向量之间的相似度进行聚类,以得到每一个均包含多个句子的多个子类;分别从包含句子数量最多的第一预定数量的子类中,选择句子长度最短的第二预定数量的句子;以及基于所选择的句子,确定所述类的摘要。
另外,根据本公开实施例的方法可以进一步包括:基于每一个类的摘要,针对未聚类到任何一个类的语料数据中的每一个句子进行补充聚类。
另外,在根据本公开实施例的方法中,基于每一个类的摘要,针对未聚类到任何一个类的语料数据中的每一个句子进行补充聚类进一步包括:针对每一个类的摘要中的句子进行向量化,并且针对未聚类到任何一个类的语料数据中的每一个句子进行向量化;确定每一个句子的向量与每一个类的摘要的向量之间的相似度;以及如果存在相似度大于第三预定阈值的一个或多个类,则将该句子分配到相似度最高的类中。
另外,在根据本公开实施例的方法中,通过执行以下处理来实现句子的向量化:将一个句子中包括的每一个字输入至一映射网络,并且从所述映射网络输出与每一个字对应的向量,其中当两个字的语义相近时,所述映射网络输出的与这两个字对应的向量之间的距离也相近;以及确定所有字对应的向量的均值,并将所述均值作为与该句子对应的向量。
根据本公开的另一个方面,提供了一种聚类设备,包括:频繁项提取装置,用于针对经过预处理的语料数据,提取至少一个频繁项,所述频繁项为在所述语料数据的句子中同时出现的次数大于第一预定阈值的词组集合;以及第一聚类装置,用于以每一个频繁项作为关键词组,建立多个类,并且确定所述语料数据中的每一个句子所对应的一个频繁项,并将所述句子分配到以确定的频繁项作为关键词组的类中。
另外,在根据本公开实施例的设备中,所述词组集合中包括的词的最大数量大于2。
另外,在根据本公开实施例的设备中,所述聚类装置进一步被配置为:当一个句子中出现多个频繁项时,基于频繁项中包含的词语数量以及频繁项在所述语料数据中出现的次数,确定频繁项的分数;以及将分数最高的频繁项确定为该句子所对应的一个频繁项。
另外,根据本公开实施例的设备可以进一步包括:第二聚类装置,用于基于层次聚类,对所述多个类进行合并,并且以合并后得到的各个类更新所述多个类。
另外,根据本公开实施例的设备可以进一步包括:关键词选择装置,用于针对更新后的所述多个类中的每一个,在所述类包括的至少一个关键词组中选择一个,作为所述类的关键词组。
另外,在根据本公开实施例的设备中,所述第二聚类装置进一步被配置为:确定各类对应的向量之间的相似度,将相似度大于第二预定阈值的类合并;以及对于合并后得到的各个类,重复地执行确定相似度以及基于相似度合并的处理,直至不再存在相似度大于第二预定阈值的两个类为止。
另外,在根据本公开实施例的设备中,所述关键词选择装置进一步被配置为:针对每一个类包括的至少一个关键词组,基于关键词组中包含的词数以及关键词组在类中出现的次数,确定关键词组的分数;以及将分数最高的关键词组确定为该类的关键词组。
另外,根据本公开实施例的设备可以进一步包括:摘要确定装置,用于确定所述多个类中的每一个类的摘要。
另外,在根据本公开实施例的设备中,摘要确定装置进一步被配置为:针对所述多个类中的每一个,执行如下处理:对一个类中的每一个句子进行向量化;基于各个句子所对应的向量之间的相似度进行聚类,以得到每一个均包含多个句子的多个子类;分别从包含句子数量最多的第一预定数量的子类中,选择句子长度最短的第二预定数量的句子;以及基于所选择的句子,确定所述类的摘要。
另外,根据本公开实施例的设备可以进一步包括:补充聚类装置,用于基于每一个类的摘要,针对未聚类到任何一个类的语料数据中的每一个句子进行补充聚类。
另外,在根据本公开实施例的设备中,所述补充聚类装置进一步被配置为:针对每一个类的摘要中的句子进行向量化,并且针对未聚类到任何一个类的语料数据中的每一个句子进行向量化;确定每一个句子的向量与每一个类的摘要的向量之间的相似度;以及如果存在相似度大于第三预定阈值的一个或多个类,则将该句子分配到相似度最高的类中。
另外,在根据本公开实施例的设备中,所述摘要确定装置进一步被配置为通过执行以下处理来实现句子的向量化:将一个句子中包括的每一个字输入至一映射网络,并且从所述映射网络输出与每一个字对应的向量,其中当两个字的语义相近时,所述映射网络输出的与这两个字对应的向量之间的距离也相近;以及确定所有字对应的向量的均值,并将所述均值作为与该句子对应的向量。
根据本公开的再一方面,提供了一种计算机可读记录介质,其上存储有指令,所述指令在被处理器执行时,使得所述处理器执行如上所述的文本方法。
根据本公开的又一方面,提供了一种聚类设备,包括:存储器,在其上存储计算机程序;以及处理器,用于执行所述存储器上存储的计算机程序以实现以下处理:针对经过预处理的语料数据,提取至少一个频繁项,所述频繁项为在所述语料数据的句子中同时出现的次数大于第一预定阈值的词组集合;以每一个频繁项作为关键词组,建立多个类;以及确定所述语料数据中的每一个句子所对应的一个频繁项,并将所述句子分配到以确定的频繁项作为关键词组的类中。
在根据本公开的聚类方法和聚类设备中,通过对输入的语料数据提取频繁项,并在每一个句子与频繁项之间建立一一对应关系,进而将每一个句子分配至对应的类中,与现有技术相比,提高了聚类的准确度。此外,通过在初次聚类的基础上增加二次聚类处理,能够进一步压缩聚类的数量。并且,通过基于整个句子的语义的补充聚类,可以将由于包含近义词、口语化等而未被聚类的有效数据补充分配到相应的聚类中,从而能够有效地增加输入的语料数据的利用率,达到输入的语料数据的最大化利用,且使得聚类的结果更加准确。
附图说明
图1是图示根据本公开的一个实施例的聚类方法的过程的流程图;
图2示出了图1中的补充聚类处理的具体过程;
图3示出了作为聚类结果的一个反馈聚类的示例;
图4是图示根据本公开的另一个实施例的聚类方法的过程的流程图;
图5示出了根据本公开的另一个实施例的聚类方法中的二次聚类处理的示例过程;
图6示出了基于层次聚类的二次聚类处理的示意图;
图7A-7F示出了基于根据本公开实施例的聚类方法获得的聚类结果的产品应用交互界面的示意图;
图8是图示根据本公开的一个实施例的聚类设备的配置的功能性框图;
图9是图示根据本公开的另一个实施例的聚类设备的配置的功能性框图;以及
图10示出了根据本公开实施例的一种示例性的计算设备的架构的示意图。
具体实施方式
下面将参照附图对本发明的各个优选的实施方式进行描述。提供以下参照附图的描述,以帮助对由权利要求及其等价物所限定的本发明的示例实施方式的理解。其包括帮助理解的各种具体细节,但它们只能被看作是示例性的。因此,本领域技术人员将认识到,可对这里描述的实施方式进行各种改变和修改,而不脱离本发明的范围和精神。而且,为了使说明书更加清楚简洁,将省略对本领域熟知功能和构造的详细描述。
首先,将参照图1描述根据本公开的一个实施例的聚类方法的具体过程。在下面的描述中,为了便于理解,以用户反馈文本为例进行说明。当然,本发明并不仅限于此。根据本公开的聚类方法还可以类似地应用于其他类型的文本的聚类,只要待聚类的文本具有对应的主题即可。例如,根据本公开的聚类方法也可以类似地应用于新闻文本的聚类。如图1所示,所述方法包括以下步骤。
在步骤S101,针对经过预处理的语料数据,提取至少一个频繁项,所述频繁项为在所述语料数据的句子中同时出现的次数大于第一预定阈值的词组集合。
这里,语料数据包括来自不同用户的海量反馈文本。针对语料数据的预处理可以包括分词、去除停用词、去除乱码、无用字符等。停用词是指为了提高效率和准确度,在处理自然语言数据之前自动过滤掉的字或词。例如,停用词可以分为两类。一类是人类语言中包含的功能词,这些功能词及其普遍,与其他词相比,功能词没有什么实际含义,如“是”、“的”等。另一类包括特定词汇,如“想要”、“觉得”等,这些词汇应用广泛,但是不能对文本的实质意义做出贡献。
需要指出的是,将来自一个用户的一条反馈文本作为一个句子来对待,而不论该反馈文本的长短如何,也不论该反馈文本中是否包括多个句号。通过对输入的语料数据执行上述预处理,将每一个句子拆分为多个词的组合。这样,可以使得各句子中包含的有用词更加突出。
然后,对经过预处理的语料数据中的每一个句子,提取一个或多个词组集合。例如,假设经过预处理的预料数据中的一个句子被拆分为:程序、打不开、黑屏,那么从该句子中提取的词组集合可以是{程序}、{打不开}、{黑屏}、{程序;打不开}、{程序;黑屏}、{打不开、黑屏}、{程序;打不开;黑屏}。此外,类似地,还对经过预处理的预料数据中的其他句子执行相同的提取词组集合的处理。最后,遍历语料数据中的每一个句子,以便将在所有句子中同时出现的次数大于第一预定阈值的词组集合作为频繁项提取出来。
例如,第一预定阈值Th1可以通过以下公式(1)来确定:
Th1=max(user_number/1000,T) (1)
其中,user_number是指提供反馈文本的所有用户的数量,user_number/1000即为反馈人数的千分之一。T为预设常数。例如,可以将T设置为3。那么根据公式(1)的定义,第一预定阈值Th1取反馈人数的千分之一与常数3之中的更大值。如果反馈人数为2000,则Th1为3。如果反馈人数为5000,则Th1为5。当然,根据具体的设计要求,也可以计算反馈人数的其他比例,如万分之一或百分之一。并且,常数T也可以设置为其他的值。
然而,由于需要对于每一个词组集合都会扫描全部的语料数据,以确定该词组集合的出现次数是否大于第一预定阈值,即:确定该词组集合的出现是否频繁,因此当语料数据量很大时,可能存在速度局限的问题。因此,例如,作为一种可能的实施方式,可以使用FP-growth(Frequent Pattern Tree,频繁模式树)算法来执行提取频繁项的处理。FP-growth算法主要分为两个步骤:FP-tree构建和递归挖掘FP-tree。FP-tree构建通过两次数据扫描,将经过预处理的语料数据中的所有词压缩到一个FP-tree中。然后,在FP-tree中挖掘得到所有的频繁项。
然后,在步骤S102,以每一个频繁项作为关键词组,建立多个类。
其中,确定为频繁项的所述词组集合中包括的词的最大数量大于2。例如,在上文中列举的示例中,假设{程序}、{打不开}、{黑屏}、{程序;打不开}、{程序;黑屏}、{打不开、黑屏}、{程序;打不开;黑屏}均被确定为频繁项,那么可以看出,频繁项中包括的词的数量可以是1,可以是2,也可以是3。当然,频繁项中还可以包括更多的词。尽管每一个频繁项中包括的词数不尽相同,但总而言之,频繁项中包括的词的最大数量可以大于2,或者换言之,频繁项最多可以包括2个以上的词。例如,频繁项中最多可以包括3个词。或者,频繁项中最多也可以包括4个词。频繁项中包括的词数越多,换言之,频繁项的长度越长,其包括的内容也就越多,越能够更好地体现对应的类中的主题,从而当向用户呈现这样的频繁项时,用户能够越容易地掌握类中包括的反馈文本的内容。考虑到频繁项中包括的词数较多时FP-growth算法的递归结构会造成内存占用和处理时间剧增,因此为了达到合理的控制,可以为频繁项中包括的最大词数设置上限值。例如,该上限值可以设置为5。
接下来,在步骤S103,确定所述语料数据中的每一个句子所对应的一个频繁项,并将所述句子分配到以确定的频繁项作为关键词组的类中。
在一个句子中,可能存在不止一个的频繁项。在上文中所述的示例中,一个句子可能包括{程序}、{打不开}、{黑屏}、{程序;打不开}、{程序;黑屏}、{打不开、黑屏}、{程序;打不开;黑屏}这7个频繁项。在这种情况下,如果将该句子分别分配到这7个频繁项对应的7个类中,则将对后续的聚类造成干扰。因此,在根据本公开的聚类方法中,确定所述语料数据中的每一个句子所对应的一个频繁项,即:确定一个句子与一个频繁项的一一对应关系。从而,即使一个句子中可能出现多个不同的频繁项,但最终仅将该句子分配到一个频繁项对应的类中。
当然,由于一个句子中可能出现多个频繁项,且一个句子仅分配到对应的一个频繁项的类中,因此可能存在一些频繁项的类中没有分配到句子。因此,在根据本公开的聚类方法中,在步骤S103,还可以进一步包括删除其中不包含句子的空类的步骤。
当一个句子中出现多个频繁项时,可以通过以下方式来确定与该句子对应的一个频繁项:基于频繁项中包含的词语数量以及频繁项在所述语料数据中出现的次数,确定频繁项的分数。然后,将分数最高的频繁项确定为该句子所对应的一个频繁项。
例如,频繁项的分数FreqScore可以根据以下公式(2)来计算:
FreqScore=len_freq_items+count(freq)/count(all_words) (2)
其中,len_freq_items是频繁项中包含的词数,count(freq)是频繁项出现的次数,且count(all_words)是语料中所有词汇的数量。从公式(2)可以看出,频繁项中包含的词数越多,且频繁项在所述语料数据中出现的次数越多,则频繁项的分数越高。
在根据本公开的实施例的聚类方法中,通过对输入的语料数据提取频繁项,并在每一个句子与频繁项之间建立一一对应关系,进而将每一个句子分配至对应的类中,与现有技术相比,提高了聚类的准确度。
为了更好地反映聚类的主题,根据本公开的实施例的聚类方法还可以进一步包括:在步骤S104,确定所述多个类中的每一个类的摘要。所述摘要可以是比关键词组更长的文本内容。
具体来说,确定所述多个类中的每一个类的摘要包括:针对所述多个类中的每一个,执行如下处理。
首先,对一个类中的每一个句子进行向量化。
作为一种可能的实施方式,句子的向量化可以基于其中包括的词来进行。将词输入至一映射(word embedding)网络,并且从所述映射网络输出与每一个词对应的向量,其中当两个词的语义相近时,所述映射网络输出的与这两个词对应的向量之间的距离也相近。然后,确定所有词对应的向量的均值,并将所述均值作为与该句子对应的向量。
作为另一种可能的实施方式,句子的向量化也可以基于其中包括的字来进行。将字输入至一映射(word embedding)网络,并且从所述映射网络输出与每一个字对应的向量,其中当两个字的语义相近时,所述映射网络输出的与这两个字对应的向量之间的距离也相近。然后,确定所有字对应的向量的均值,并将所述均值作为与该句子对应的向量。与基于词的向量化相比,由于这种方式不涉及分词的合理性问题,从而准确性更高。
然后,基于各个句子所对应的向量之间的相似度进行聚类,以得到每一个均包含多个句子的多个子类。分别从包含句子数量最多的第一预定数量的子类中,选择句子长度最短的第二预定数量的句子。例如,可以取句子数量最多的前5个子类,并在各个子类中取长度最短的3个句子。
最后,基于所选择的句子,确定所述类的摘要。例如,可以将所有选择的句子集合在一起,作为所述类的摘要。例如,在海量用户反馈文本的情况下,基于各类的关键词组和摘要,后台服务人员能够快速地了解和掌握各类的反馈内容,从而能够执行高效的产品维护操作。
由于步骤S101至S103的聚类处理建立在分词和频繁项提取的基础上,因此可能存在部分包含近义词、口语化的有效数据无法被聚类。为了进一步提高数据的利用率,在步骤S104确定每一个类的摘要之后,作为一种可能的实施方式,所述聚类方法还可以进一步包括:在步骤S105,基于每一个类的摘要,针对未聚类到任何一个类的预料数据中的每一个句子进行补充聚类。由于步骤S104和步骤S105是实现了更好的技术效果的可选步骤,因此在图1中以虚线框示出。
图2示出了图1中的补充聚类处理的具体过程。如图2所示,所述补充聚类处理包括以下步骤。
首先,在步骤S201,针对每一个类的摘要中的句子进行向量化。
然后,在步骤S202,针对未聚类到任何一个类的语料数据中的一个句子进行向量化。句子向量化的方式如上文中所述。当每一个类的摘要中包含多个句子时,可以分别对每一个句子执行向量化,然后再求均值。
然后,在步骤S203,确定该句子的向量与每一个类的摘要的向量之间的相似度。
在步骤S204,判断是否存在相似度大于第三预定阈值的一个或多个类。也就是说,补充聚类的前提是相似度要满足大于第三预定阈值的条件。
如果在步骤S204判断为是,即存在相似度大于第三预定阈值的一个或多个类,则处理进行到步骤S205。在步骤S205,将该句子分配到相似度最高的一个类中。如果在步骤S204判断为否,则意味着该句子不能通过补充到任何一个现有的类中。因此,处理进行到步骤S206。
在步骤S206,判断是否还存在待补充聚类的句子。如果在步骤S206判断为是,则处理返回到步骤S202,针对下一个待处理的句子重复后续处理。如果在步骤S206判断为否,即:已经针对所有未聚类的句子完成判断,则补充聚类的处理结束。
由于基于频繁项提取的聚类是基于分词进行的,因此通过上文中所述的基于整个句子的补充聚类,可以避免同义词、近义词、口语化引起的同一问题不同说法的遗漏。图3示出了作为聚类结果的一个反馈文本聚类的示例。在图3中,矩形框所标出的反馈文本为基于频繁项提取而分配到聚类中的文本,而以阴影部分标出的文本“提不到账户”通过补充聚类的方式分配到该聚类中。可见,通过补充聚类,可以有效地增加输入的语料数据的利用率,达到输入的语料数据的最大化利用,且使得聚类的结果更加准确。
接下来,将参照图4描述根据本公开的另一个实施例的聚类方法。如图4所示,所述聚类方法包括以下步骤。
首先,在步骤S401,针对经过预处理的语料数据,提取至少一个频繁项,所述频繁项为在所述语料数据的句子中同时出现的次数大于第一预定阈值的词组集合。
然后,在步骤S402,以每一个频繁项作为关键词组,建立多个类。
接下来,在步骤S403,确定所述语料数据中的每一个句子所对应的一个频繁项,并将所述句子分配到以确定的频繁项作为关键词组的类中。
上述步骤S401至S403与上文中参照图1描述的步骤S101至S103类似,因此细节不再赘述。
不同的是,在该另一个实施例中,在步骤S403之后,所述聚类方法进一步包括以下步骤。
在步骤S404,基于层次聚类,对所述多个类进行合并。
并且,在步骤S405,以合并后得到的各个类来更新在步骤S203得到的所述多个类。
可见,与上文中所述的实施例不同,在该另一个实施例中,对步骤S403得到的聚类结果执行二次聚类。也就是说,在步骤S403得到的多个类之中,将相似度小于第二预定阈值的类进一步执行合并。
图5示出了根据本公开的另一个实施例的聚类方法中的二次聚类处理的示例过程。如图5所示,基于层次聚类,对所述多个类进行合并进一步包括以下步骤。
首先,在步骤S501,确定当前各类对应的向量之间的相似度。初始时,当前各类即为步骤S403的处理后得到的各个类。在进行下文中所述的迭代合并处理之后,当前各类是每一次合并后更新的类。
作为一种可能的实施方式,类的向量化可以通过以下方式进行。首先,将所有类的全部不重复词汇进行统计,以形成全量词列表。例如,一种可能的全量词列表如下表1所示。
表1
然后,计算每一个类的类内词频,并映射到全量词列表中。全量词列表的维度与类对应的向量的维度相同。对于命中的词汇,标记为词频数,而对于未命中的词汇,标记为0。假设一个类的类内词汇及词频数如下表2所示。
表2
类内词汇 | 词频数 |
相册 | 10 |
头像 | 3 |
清晰度 | 5 |
不行 | 1 |
那么,该类对应的向量为[0,10,0,0,0,0,3,5,1,0]。
对于向量化后的各个类,可以基于对应的向量计算各类之间的相似度。例如,作为一种可能的实施方式,可以使用余弦相似度作为两个类之间的相似度。假设两个类对应的向量分别为A和B,那么A和B之间的余弦相似度可以按照以下公式(3)来计算:
其中,θ为向量A和B的夹角,n为向量的维度,在以上的示例中,n=10,Ai和Bi分别为向量A和B内包含的元素。cosθ的值越大(即,越接近1),则夹角越趋近于0,意味着A和B之间的相似度越大。另一方面,cosθ的值越小(即,越接近0),则夹角越趋近于90度,意味着A和B之间的相似度越小。
然后,在步骤S502,判断是否存在相似度大于第二预定阈值的类。如果在步骤S502判断为是,则处理进行到步骤S503。在步骤S503,将相似度大于第二预定阈值的类合并,并以合并后得到的各类更新当前各类。合并后得到的类不仅可以包括通过合并两个或两个以上的类而得到的新类,而且也可以包括未合并的类。
然后,处理返回到步骤S501,并重复后续的计算相似度以及合并处理的步骤。
对于合并后得到的新类,以与上述类似的方式重新确定对应的向量。然后,同样地,按照与上述类似的方式,计算各类之间的相似度,并将相似度大于第二预定阈值的类合并。
另一方面,如果在步骤S502判断为否,则处理进行到步骤S504。在步骤S504,将当前各类作为二次聚类结果输出。
也就是说,在基于层次聚类的二次聚类过程中,首先确定各类对应的向量之间的相似度,将相似度大于第二预定阈值的类合并;然后对于合并后得到的各个类,重复地执行确定相似度以及基于相似度合并的处理,直至不再存在相似度大于第二预定阈值的两个类为止。
可见,在二次聚类的过程中,至少执行一次合并。并且,层次聚类并不需要指定聚类的个数。在当前各类中不再具有相似度大于第二预定阈值的类时,当前包括的类的个数就是二次聚类后的类的个数。
图6示出了基于层次聚类的二次聚类处理的示意图。在图6中,以a-f表示在步骤S403得到的各个类。通过上文中图5所述的处理,逐层地执行合并处理,并以a、bc和def作为最终的二次聚类结果。
在根据本公开的另一个实施例的聚类方法中,通过二次聚类来合并相似的类,能够进一步压缩聚类的数量。
返回参照图4,由于在该另一个实施例中,存在将初次聚类的各类进行二次聚类的处理,因此合并后的类将包括至少一个关键词组。在这种情况下,与上文中仅执行一次聚类的实施例不同,所述聚类方法进一步包括:在步骤S406,针对更新后的所述多个类中的每一个,在所述类包括的至少一个关键词组中选择一个,作为所述类的关键词组。
例如,作为一种可能的实施方式,针对更新后的所述多个类中的每一个,在所述类包括的至少一个关键词组中选择一个,作为所述类的关键词组可以包括以下步骤。
首先,针对每一个类包括的至少一个关键词组,基于关键词组中包含的词数以及关键词组在类中出现的次数,确定关键词组的分数。例如,可以按照以下公式(4)来计算关键词组的分数key_word_score。
key_word_score=len_key_items+1/count(key_word) (4)
其中,len_key_items表示关键词组中包含的词的数量,count(key_word)表示关键词组在类中出现的次数。从公式(4)可以看出,关键词组中包含的词数越多,且关键词组在类中出现的次数越少,则关键词组的分数越高。
然后,将分数最高的关键词组确定为该类的关键词组。
另外,在该另一个实施例中,与上文中所述的一次聚类的实施例类似地,聚类方法还可以进一步包括:在步骤S407,确定所述多个类中的每一个类的摘要。有关确定摘要的具体细节与上文中所述的内容相同,这里不再赘述。当然,步骤S406和步骤S407可以串行地执行,也可以并行地执行,且串行执行时的先后顺序可以颠倒。
此外,在该另一个实施例中,聚类方法也可以类似地包括上文中参照图2描述的补充聚类的处理步骤S408,以最大化输入语料数据的利用率,避免遗漏由于同义词、近义词、口语化而引起的同一问题不同说法。由于步骤S406至步骤S408是实现了更好的技术效果的可选步骤,因此在图4中以虚线框示出。
图7A-7F示出了基于根据本公开实施例的聚类方法获得的文本聚类结果的产品应用交互界面的示意图。
如图7A所示,以聚类河流图的形式,用不同的灰度来标注数量占比前7位的类。其中,类内的反馈文本数越多,该河流的宽度则越大。例如,在8月17日对应的反馈中,河流宽度d1小于河流宽度d2,因此d1对应的类下的反馈数必然大于d2对应的类下的反馈数。
图7B和图7C以图表形式示出了对应于图7A中的河流图的、各类的具体内容。
在图7B中,产品的后台服务人员可以快速地进入某个类,显示类内的全部反馈。并且,后台服务人员还可以删除该类中的反馈文本,变更该类的主题(即,关键词组)。这种修改操作可以看作是对机器自动聚类结果的一种人为修正。此外,后台服务人员还可以对该类下的反馈进行批量编辑、回复、转成需求单或缺陷单(转Tapd)以供产品的维护人员参考。图7D示出了转Tapd的对话框。
在图7C中,产品的后台服务人员也可以将图中的复选框中选定的、反馈同一问题的两个相似类进行合并,并且在合并后转Tapd。注意,这种合并是基于后台服务人员的个人判断而进行的合并,与上文中所述的二次聚类中的基于机器的自动合并是不同的。图7E和图7F分别示出了合并类以及合并转Tapd的对话框。
通常来说,按照类内包含的文本反馈数量的降序排列,向用户呈现各个聚类。此外,用户还可以预先设置感兴趣的词汇列表。如果某个类的关键词组包含所述感兴趣的词汇列表中的词,则优先地向用户呈现该聚类,而无论其中包含的反馈文本数量如何。
接下来,将参照图8描述根据本公开的一个实施例的聚类设备。如图8所示,聚类设备800包括:频繁项提取装置801和第一聚类装置802。
频繁项提取装置801用于针对经过预处理的语料数据,提取至少一个频繁项,所述频繁项为在所述语料数据的句子中同时出现的次数大于第一预定阈值的词组集合。
如上文中所述,语料数据包括来自不同用户的海量反馈文本。针对语料数据的预处理可以包括分词、去除停用词、去除乱码、无用字符等。停用词是指为了提高效率和准确度,在处理自然语言数据之前自动过滤掉的字或词。例如,停用词可以分为两类。一类是人类语言中包含的功能词,这些功能词及其普遍,与其他词相比,功能词没有什么实际含义,如“是”、“的”等。另一类包括特定词汇,如“想要”、“觉得”等,这些词汇应用广泛,但是不能对文本的实质意义做出贡献。
需要指出的是,将来自一个用户的一条反馈文本作为一个句子来对待,而不论该反馈文本的长短如何,也不论该反馈文本中是否包括多个句号。通过对输入的语料数据执行上述预处理,将每一个句子拆分为多个词的组合。这样,可以使得各句子中包含的有用词更加突出。
然后,对经过预处理的语料数据中的每一个句子,频繁项提取装置801提取一个或多个词组集合。例如,假设经过预处理的预料数据中的一个句子被拆分为:程序、打不开、黑屏,那么从该句子中提取的词组集合可以是{程序}、{打不开}、{黑屏}、{程序;打不开}、{程序;黑屏}、{打不开、黑屏}、{程序;打不开;黑屏}。此外,类似地,还对经过预处理的预料数据中的其他句子执行相同的提取词组集合的处理。最后,遍历语料数据中的每一个句子,以便将在所有句子中同时出现的次数大于第一预定阈值的词组集合作为频繁项提取出来。
然而,由于需要对于每一个词组集合都会扫描全部的语料数据,以确定该词组集合的出现次数是否大于第一预定阈值,即:确定该词组集合的出现是否频繁,因此当语料数据量很大时,可能存在速度局限的问题。因此,例如,作为一种可能的实施方式,频繁项提取装置801可以使用FP-growth(Frequent Pattern Tree,频繁模式树)算法来执行提取频繁项的处理。FP-growth算法主要分为两个步骤:FP-tree构建和递归挖掘FP-tree。FP-tree构建通过两次数据扫描,将经过预处理的语料数据中的所有词压缩到一个FP-tree中。然后,在FP-tree中挖掘得到所有的频繁项。
第一聚类装置802用于以每一个频繁项作为关键词组,建立多个类,并且确定所述语料数据中的每一个句子所对应的一个频繁项,并将所述句子分配到以确定的频繁项作为关键词组的类中。
其中,确定为频繁项的所述词组集合中包括的词的最大数量大于2。例如,在上文中列举的示例中,假设{程序}、{打不开}、{黑屏}、{程序;打不开}、{程序;黑屏}、{打不开、黑屏}、{程序;打不开;黑屏}均被确定为频繁项,那么可以看出,频繁项中包括的词的数量可以是1,可以是2,也可以是3。当然,频繁项中还可以包括更多的词。尽管每一个频繁项中包括的词数不尽相同,但总而言之,频繁项中包括的词的最大数量可以大于2,或者换言之,频繁项最多可以包括2个以上的词。例如,频繁项中最多可以包括3个词。或者,频繁项中最多也可以包括4个词。频繁项中包括的词数越多,换言之,频繁项的长度越长,其包括的内容也就越多,越能够更好地体现对应的类中的主题,从而当向用户呈现这样的频繁项时,用户能够越容易地掌握类中包括的反馈文本的内容。考虑到频繁项中包括的词数较多时FP-growth算法的递归结构会造成内存占用和处理时间剧增,因此为了达到合理的控制,可以为频繁项中包括的最大词数设置上限值。例如,该上限值可以设置为5。
在一个句子中,可能存在不止一个的频繁项。在上文中所述的示例中,一个句子可能包括{程序}、{打不开}、{黑屏}、{程序;打不开}、{程序;黑屏}、{打不开、黑屏}、{程序;打不开;黑屏}这7个频繁项。在这种情况下,如果将该句子分别分配到这7个频繁项对应的7个类中,则将对后续的聚类造成干扰。因此,在根据本公开的聚类设备中,第一聚类装置802确定所述语料数据中的每一个句子所对应的一个频繁项,即:确定一个句子与一个频繁项的一一对应关系。从而,即使一个句子中可能出现多个不同的频繁项,但最终仅将该句子分配到一个频繁项对应的类中。
当然,由于一个句子中可能出现多个频繁项,且一个句子仅分配到对应的一个频繁项的类中,因此可能存在一些频繁项的类中没有分配到句子。因此,在根据本公开的聚类设备中,第一聚类装置802还可以进一步配置为删除其中不包含句子的空类。
当一个句子中出现多个频繁项时,第一聚类装置802可以通过以下方式来确定与该句子对应的一个频繁项:基于频繁项中包含的词语数量以及频繁项在所述语料数据中出现的次数,确定频繁项的分数。然后,将分数最高的频繁项确定为该句子所对应的一个频繁项。例如,第一聚类装置802可以按照上文中的公式(2)来确定频繁项的分数。
在根据本公开的实施例的聚类设备中,通过对输入的语料数据提取频繁项,并在每一个句子与频繁项之间建立一一对应关系,进而将每一个句子分配至对应的类中,与现有技术相比,提高了聚类的准确度。
为了更好地反映聚类的主题,根据本公开的实施例的聚类设备800还可以进一步包括:摘要确定装置803,用于确定所述多个类中的每一个类的摘要。所述摘要可以是比关键词组更长的文本内容。
具体来说,摘要确定装置803进一步被配置为:针对所述多个类中的每一个,执行如下处理。
首先,对一个类中的每一个句子进行向量化。
作为一种可能的实施方式,句子的向量化可以基于其中包括的词来进行。将词输入至一映射(word embedding)网络,并且从所述映射网络输出与每一个词对应的向量,其中当两个词的语义相近时,所述映射网络输出的与这两个词对应的向量之间的距离也相近。然后,确定所有词对应的向量的均值,并将所述均值作为与该句子对应的向量。
作为另一种可能的实施方式,句子的向量化也可以基于其中包括的字来进行。将字输入至一映射(word embedding)网络,并且从所述映射网络输出与每一个字对应的向量,其中当两个字的语义相近时,所述映射网络输出的与这两个字对应的向量之间的距离也相近。然后,确定所有字对应的向量的均值,并将所述均值作为与该句子对应的向量。与基于词的向量化相比,由于这种方式不涉及分词的合理性问题,从而准确性更高。
然后,基于各个句子所对应的向量之间的相似度进行聚类,以得到每一个均包含多个句子的多个子类。例如,可以使用canopy小圈方式来进行语义聚类。分别从包含句子数量最多的第一预定数量的子类中,选择句子长度最短的第二预定数量的句子。例如,可以取句子数量最多的前5个子类,并在各个子类中取长度最短的3个句子。
最后,基于所选择的句子,确定所述类的摘要。例如,可以将所有选择的句子集合在一起,作为所述类的摘要。例如,在海量用户反馈文本的情况下,基于各类的关键词组和摘要,后台服务人员能够快速地了解和掌握各类的反馈内容,从而能够执行高效的产品维护操作。
由于第一聚类装置的聚类处理建立在分词和频繁项提取的基础上,因此可能存在部分包含近义词、口语化的有效数据无法被聚类。为了进一步提高数据的利用率,作为一种可能的实施方式,所述聚类设备还可以进一步包括:补充聚类装置804,用于基于每一个类的摘要,针对未聚类到任何一个类的预料数据中的每一个句子进行补充聚类。由于摘要确定装置803和补充聚类装置804是实现了更好的技术效果的可选步骤,因此在图8中以虚线框示出。
具体来说,所述补充聚类装置804可以进一步被配置为:针对每一个类的摘要中的句子进行向量化,并且针对未聚类到任何一个类的语料数据中的每一个句子进行向量化;确定每一个句子的向量与每一个类的摘要的向量之间的相似度;以及如果存在相似度大于第三预定阈值的一个或多个类,则将该句子分配到相似度最高的类中。也就是说,补充聚类的前提是相似度要满足大于第三预定阈值的条件。只有在满足该条件时,才将句子补充到相应的类中,否则不对该句子执行补充聚类的处理。
由于第一聚类装置的基于频繁项提取的聚类是基于分词进行的,因此通过上文中所述的基于整个句子的补充聚类装置,可以避免同义词、近义词、口语化引起的同一问题不同说法的遗漏。通过补充聚类,可以有效地增加输入的语料数据的利用率,达到输入的语料数据的最大化利用,且使得聚类的结果更加准确。
接下来,将参照图9描述根据本公开的另一个实施例的聚类设备。如图9所示,聚类设备900包括:频繁项提取装置901和第一聚类装置902。这与图8中的频繁项提取装置801和第一聚类装置802类似。
不同的是,在该另一个实施例中,聚类设备900进一步包括:第二聚类装置903,用于基于层次聚类,对所述多个类进行合并,并且以合并后得到的各个类更新所述多个类。
可见,与上文中所述的实施例不同,在该另一个实施例中,对第一聚类装置902得到的聚类结果执行二次聚类。也就是说,在第一聚类装置902得到的多个类之中,第二聚类装置903将相似度小于第二预定阈值的类进一步执行合并。
具体来说,所述第二聚类装置903进一步被配置为:确定各类对应的向量之间的相似度,将相似度大于第二预定阈值的类合并;以及对于合并后得到的各个类,重复地执行确定相似度以及基于相似度合并的处理,直至不再存在相似度大于第二预定阈值的两个类为止。
在二次聚类的过程中,至少执行一次合并。并且,层次聚类并不需要指定聚类的个数。在当前各类中不再具有相似度大于第二预定阈值的类时,当前包括的类的个数就是二次聚类后的类的个数。
在根据本公开的另一个实施例的聚类设备中,通过第二聚类装置的二次聚类来合并相似的类,能够进一步压缩聚类的数量。
返回参照图9,由于在该另一个实施例中,存在将第一聚类装置902初次聚类的各类进行二次聚类的处理,因此合并后的类将包括至少一个关键词组。在这种情况下,与上文中仅执行一次聚类的实施例不同,所述聚类设备进一步包括:关键词选择装置904,用于针对更新后的所述多个类中的每一个,在所述类包括的至少一个关键词组中选择一个,作为所述类的关键词组。
例如,作为一种可能的实施方式,所述关键词选择装置904进一步被配置为:针对每一个类包括的至少一个关键词组,基于关键词组中包含的词数以及关键词组在类中出现的次数,确定关键词组的分数;以及将分数最高的关键词组确定为该类的关键词组。例如,可以按照上文中的公式(4)来计算关键词组的分数。
另外,在该另一个实施例中,与上文中所述的一次聚类的实施例类似地,聚类设备还可以进一步包括:摘要确定装置905,确定所述多个类中的每一个类的摘要。有关确定摘要的具体细节与上文中所述的内容相同,这里不再赘述。
此外,在该另一个实施例中,聚类设备也可以类似地包括补充聚类装置906,以最大化输入语料数据的利用率,避免遗漏由于同义词、近义词、口语化而引起的同一问题不同说法。由于关键词选择装置904、摘要确定装置905、补充聚类装置906是实现了更好的技术效果的可选步骤,因此在图9中以虚线框示出。
此外,根据本公开实施例的方法或设备也可以借助于图10所示的计算设备1000的架构来实现。如图10所示,计算设备1000可以包括总线1010、一个或多个CPU1020、只读存储器(ROM)1030、随机存取存储器(RAM)1040、连接到网络的通信端口1050、输入/输出组件1060、硬盘1070等。计算设备1000中的存储设备,例如ROM 1030或硬盘1070可以存储本公开提供的聚类方法的处理和/或通信使用的各种数据或文件以及CPU所执行的程序指令。当然,图10所示的架构只是示例性的,在实现不同的设备时,根据实际需要,可以省略图10示出的计算设备中的一个或多个组件。
本公开的实施例也可以被实现为计算机可读存储介质。根据本公开实施例的计算机可读存储介质上存储有计算机可读指令。当所述计算机可读指令由处理器运行时,可以执行参照以上附图描述的根据本公开实施例的聚类方法。所述计算机可读存储介质包括但不限于例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。
迄今为止,已经参照图1到图10详细描述了根据本公开的聚类方法和聚类设备。在根据本公开的聚类方法和聚类设备中,通过对输入的语料数据提取频繁项,并在每一个句子与频繁项之间建立一一对应关系,进而将每一个句子分配至对应的类中,与现有技术相比,提高了聚类的准确度。此外,通过在初次聚类的基础上增加二次聚类处理,能够进一步压缩聚类的数量。并且,通过基于整个句子的语义的补充聚类,可以将由于包含近义词、口语化等而未被聚类的有效数据补充分配到相应的聚类中,从而能够有效地增加输入的语料数据的利用率,达到输入的语料数据的最大化利用,且使得聚类的结果更加准确。
需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
最后,还需要说明的是,上述一系列处理不仅包括以这里所述的顺序按时间序列执行的处理,而且包括并行或分别地、而不是按时间顺序执行的处理。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过软件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (15)
1.一种聚类方法,包括:
针对经过预处理的语料数据,提取至少一个频繁项,所述频繁项为在所述语料数据的句子中同时出现的次数大于第一预定阈值的词组集合;
以每一个频繁项作为关键词组,建立多个类;以及
确定所述语料数据中的每一个句子所对应的一个频繁项,并将所述句子分配到以确定的频繁项作为关键词组的类中。
2.根据权利要求1所述的方法,其中所述词组集合中包括的词的最大数量大于2。
3.根据权利要求1所述的方法,其中确定所述语料数据中的每一个句子所对应的一个频繁项包括:
当一个句子中出现多个频繁项时,基于频繁项中包含的词语数量以及频繁项在所述语料数据中出现的次数,确定频繁项的分数;以及
将分数最高的频繁项确定为该句子所对应的一个频繁项。
4.根据权利要求1所述的方法,进一步包括:
基于层次聚类,对所述多个类进行合并;以及
以合并后得到的各个类更新所述多个类。
5.根据权利要求4所述的方法,进一步包括:
针对更新后的所述多个类中的每一个,在所述类包括的至少一个关键词组中选择一个,作为所述类的关键词组。
6.根据权利要求4所述的方法,其中基于层次聚类,对所述多个类进行合并进一步包括:
确定各类对应的向量之间的相似度,将相似度大于第二预定阈值的类合并;以及
对于合并后得到的各个类,重复地执行确定相似度以及基于相似度合并的处理,直至不再存在相似度大于第二预定阈值的两个类为止。
7.根据权利要求5所述的方法,其中针对更新后的所述多个类中的每一个,在所述类包括的至少一个关键词组中选择一个,作为所述类的关键词组包括:
针对每一个类包括的至少一个关键词组,基于关键词组中包含的词数以及关键词组在类中出现的次数,确定关键词组的分数;以及
将分数最高的关键词组确定为该类的关键词组。
8.根据权利要求1或4所述的方法,进一步包括:
确定所述多个类中的每一个类的摘要。
9.根据权利要求8所述的方法,其中确定所述多个类中的每一个类的摘要包括:
针对所述多个类中的每一个,执行如下处理:
对一个类中的每一个句子进行向量化;
基于各个句子所对应的向量之间的相似度进行聚类,以得到每一个均包含多个句子的多个子类;
分别从包含句子数量最多的第一预定数量的子类中,选择句子长度最短的第二预定数量的句子;以及
基于所选择的句子,确定所述类的摘要。
10.根据权利要求8所述的方法,进一步包括:
基于每一个类的摘要,针对未聚类到任何一个类的语料数据中的每一个句子进行补充聚类。
11.根据权利要求10所述的方法,其中基于每一个类的摘要,针对未聚类到任何一个类的语料数据中的每一个句子进行补充聚类进一步包括:
针对每一个类的摘要中的句子进行向量化,并且针对未聚类到任何一个类的语料数据中的每一个句子进行向量化;
确定每一个句子的向量与每一个类的摘要的向量之间的相似度;以及
如果存在相似度大于第三预定阈值的一个或多个类,则将该句子分配到相似度最高的类中。
12.根据权利要求9所述的方法,其中通过执行以下处理来实现句子的向量化:
将一个句子中包括的每一个字输入至一映射网络,并且从所述映射网络输出与每一个字对应的向量,其中当两个字的语义相近时,所述映射网络输出的与这两个字对应的向量之间的距离也相近;以及
确定所有字对应的向量的均值,并将所述均值作为与该句子对应的向量。
13.一种聚类设备,包括:
频繁项提取装置,用于针对经过预处理的语料数据,提取至少一个频繁项,所述频繁项为在所述语料数据的句子中同时出现的次数大于第一预定阈值的词组集合;以及
第一聚类装置,用于以每一个频繁项作为关键词组,建立多个类,并且确定所述语料数据中的每一个句子所对应的一个频繁项,并将所述句子分配到以确定的频繁项作为关键词组的类中。
14.一种计算机可读存储介质,其上存储有指令,所述指令在被处理器执行时,使得所述处理器执行如权利要求1-12中任一项所述的方法。
15.一种聚类设备,包括:
存储器,在其上存储计算机程序;以及
处理器,用于执行所述存储器上存储的计算机程序以实现以下处理:
针对经过预处理的语料数据,提取至少一个频繁项,所述频繁项为在所述语料数据的句子中同时出现的次数大于第一预定阈值的词组集合;
以每一个频繁项作为关键词组,建立多个类;以及
确定所述语料数据中的每一个句子所对应的一个频繁项,并将所述句子分配到以确定的频繁项作为关键词组的类中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910662715.6A CN110362685A (zh) | 2019-07-22 | 2019-07-22 | 聚类方法和聚类设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910662715.6A CN110362685A (zh) | 2019-07-22 | 2019-07-22 | 聚类方法和聚类设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110362685A true CN110362685A (zh) | 2019-10-22 |
Family
ID=68220616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910662715.6A Pending CN110362685A (zh) | 2019-07-22 | 2019-07-22 | 聚类方法和聚类设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110362685A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111488490A (zh) * | 2020-03-31 | 2020-08-04 | 北京奇艺世纪科技有限公司 | 视频聚类方法、装置、服务器及存储介质 |
CN111950261A (zh) * | 2020-10-16 | 2020-11-17 | 腾讯科技(深圳)有限公司 | 提取文本关键词的方法、设备和计算机可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6490582B1 (en) * | 2000-02-08 | 2002-12-03 | Microsoft Corporation | Iterative validation and sampling-based clustering using error-tolerant frequent item sets |
CN102043851A (zh) * | 2010-12-22 | 2011-05-04 | 四川大学 | 一种基于频繁项集的多文档自动摘要方法 |
CN105095209A (zh) * | 2014-04-21 | 2015-11-25 | 北京金山网络科技有限公司 | 文档聚类方法及装置、网络设备 |
CN107609102A (zh) * | 2017-09-12 | 2018-01-19 | 电子科技大学 | 一种短文本在线聚类方法 |
CN109101479A (zh) * | 2018-06-07 | 2018-12-28 | 苏宁易购集团股份有限公司 | 一种用于中文语句的聚类方法及装置 |
CN109710728A (zh) * | 2018-11-26 | 2019-05-03 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 新闻话题自动发现方法 |
CN109947934A (zh) * | 2018-07-17 | 2019-06-28 | 中国银联股份有限公司 | 针对短文本的数据挖掘方法及系统 |
-
2019
- 2019-07-22 CN CN201910662715.6A patent/CN110362685A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6490582B1 (en) * | 2000-02-08 | 2002-12-03 | Microsoft Corporation | Iterative validation and sampling-based clustering using error-tolerant frequent item sets |
CN102043851A (zh) * | 2010-12-22 | 2011-05-04 | 四川大学 | 一种基于频繁项集的多文档自动摘要方法 |
CN105095209A (zh) * | 2014-04-21 | 2015-11-25 | 北京金山网络科技有限公司 | 文档聚类方法及装置、网络设备 |
CN107609102A (zh) * | 2017-09-12 | 2018-01-19 | 电子科技大学 | 一种短文本在线聚类方法 |
CN109101479A (zh) * | 2018-06-07 | 2018-12-28 | 苏宁易购集团股份有限公司 | 一种用于中文语句的聚类方法及装置 |
CN109947934A (zh) * | 2018-07-17 | 2019-06-28 | 中国银联股份有限公司 | 针对短文本的数据挖掘方法及系统 |
CN109710728A (zh) * | 2018-11-26 | 2019-05-03 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 新闻话题自动发现方法 |
Non-Patent Citations (2)
Title |
---|
蒲昊雨: "推特中的非特定事件检测方法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
韦斯等: "《预测性文本挖掘基础》", 31 October 2012 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111488490A (zh) * | 2020-03-31 | 2020-08-04 | 北京奇艺世纪科技有限公司 | 视频聚类方法、装置、服务器及存储介质 |
CN111950261A (zh) * | 2020-10-16 | 2020-11-17 | 腾讯科技(深圳)有限公司 | 提取文本关键词的方法、设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108052583B (zh) | 电商本体构建方法 | |
CN111414479B (zh) | 基于短文本聚类技术的标签抽取方法 | |
CN105678324B (zh) | 基于相似度计算的问答知识库的建立方法、装置及系统 | |
CN110147445A (zh) | 基于文本分类的意图识别方法、装置、设备及存储介质 | |
CN105608218A (zh) | 智能问答知识库的建立方法、建立装置及建立系统 | |
CN106997341B (zh) | 一种创新方案匹配方法、装置、服务器及系统 | |
CN107220295A (zh) | 一种人民矛盾调解案例搜索和调解策略推荐方法 | |
CN105677795B (zh) | 抽象语义的推荐方法、推荐装置及推荐系统 | |
CN106776797A (zh) | 一种基于本体推理的知识问答系统及其工作方法 | |
CN110362685A (zh) | 聚类方法和聚类设备 | |
CN110580281A (zh) | 一种基于语义相似度的相似案件匹配方法 | |
CN107943792A (zh) | 一种语句分析方法、装置及终端设备、存储介质 | |
CN103034656B (zh) | 章节内容分层方法和装置、文章内容分层方法和装置 | |
CN109147793A (zh) | 语音数据的处理方法、装置及系统 | |
CN106844482A (zh) | 一种基于搜索引擎的检索信息匹配方法及装置 | |
CN108595165A (zh) | 一种基于代码中间表示的代码补全方法、装置及存储介质 | |
CN104331523A (zh) | 一种基于概念对象模型的问句检索方法 | |
CN110175273A (zh) | 文本处理方法、装置、计算机可读存储介质和计算机设备 | |
CN113254643A (zh) | 文本分类方法、装置、电子设备和 | |
CN111177386B (zh) | 一种提案分类方法及系统 | |
CN112613321A (zh) | 一种抽取文本中实体属性信息的方法及系统 | |
Parida et al. | News text categorization using random forest and naïve bayes | |
CN111429184A (zh) | 一种基于文本信息的用户画像抽取方法 | |
Wu et al. | Automatic chatbot knowledge acquisition from online forum via rough set and ensemble learning | |
CN109446299A (zh) | 基于事件识别的搜索电子邮件内容的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |