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

一种文本聚类类簇中心点选取方法及装置

文献发布时间:2023-06-19 11:52:33


一种文本聚类类簇中心点选取方法及装置

技术领域

本发明涉及文本处理技术领域,尤其涉及一种文本聚类类簇中心点选取方法及装置。

背景技术

文本聚类主要是依据著名的聚类假设(同类的文档相似度较大,而不同类的文档相似度较小),作为一种无监督的机器学习方法。聚类由于不需要训练过程,以及不需要预先对文档手工标注类别,因此具有一定的灵活性和较高的自动化处理能力,已经成为对文本信息进行有效地组织、摘要和导航的重要手段,为越来越多的研究人员所关注。

现在通常是,文本聚类算法是根据数据间欧氏距离或者余弦相似度进行划分,如K均值聚类算法(K-means clustering algorithm,KMeans)、simhash算法、cos和jacard算法,同时在选取中心点时也采用平均值。

例如,最常用的KMeans聚类算法,主要思想是:在给定K值和K个初始类簇中心点的情况下,把每个点(即:数据记录)分到离其最近的类簇中心点所代表的类簇中,所有点分配完毕之后,根据一个类簇内的所有点重新计算该类簇的中心点(取平均值),然后再迭代地执行分配点和更新类簇中心点的步骤,直至类簇中心点的变化很小,或者达到指定的迭代频次。

然而,现有文本聚类算法,在聚类后仅使用平均值的方式选取中心点作为整个类簇的“代表”而已,并未考虑其他因素对文本聚类中心点选取的影响,比如:分词词性、分词出现词频等等,从而导致选取的文本聚类中心点不够准确,无法让中心点(某一个文本)准确体现所属类簇的真实涵义。

发明内容

有鉴于此,本发明提供一种文本聚类类簇中心点选取方法及装置,主要目的在于融合词性、词频因素优化从类簇中选取中心点过程,进而让选取的中心点文本更加准确地体现所属类簇的真实涵义。

为了达到上述目的,本发明主要提供如下技术方案:

一方面,本发明提供了一种文本聚类类簇中心点选取方法,该方法包括:

在获取一个文本库之后,通过对所述文本库进行文本聚类得到多个类簇以及每个类簇对应的词频向量;

利用预设词性清洗规则对每个类簇提取实词,得到实词集合;

从每个类簇对应的词频向量中提取所述实词集合中每个实词对应的词频;

根据所述实词集合中每个实词的词频,利用预设词频清洗规则从所述实词集合中提取核心词,得到核心词集合;

根据所述核心词集合,确定所述类簇对应的中心点。

可选的,所述利用预设词性清洗规则对每个类簇提取实词,得到实词集合,包括:

获取每个类簇对应的词频向量;

通过解析所述词频向量,得到所述词频向量包含的多个分词以及每个分词的序号标识;

对每个分词标注词性;

根据每个分词的词性,查找预先设定的词性和实词之间的映射关系,判断所述分词是否为实词;

若是,则获取所述分词的序号标识;

根据所述序号标识,在所述词频向量中标记出实词;

收集所述序号标识,得到对应的实词集合。

可选的,所述根据所述实词集合中每个实词的词频,利用预设词频清洗规则从所述实词集合中提取核心词,得到核心词集合,包括:

获取实词集合中每个实词的词频;

按照词频由高到低的顺序,对所述实词集合中包含的实词进行排序,得到对应的词语队列;

按照从所述词语队列首位至末位的顺序,从所述词语队列中选取预设数目的词语作为核心词;

将所述预设数目的核心词组成所述类簇对应的核心词集合。

可选的,所述从所述词语队列中选取预设数目的词语作为核心词,包括:

通过解析类簇对应的词频向量,得到所述词频向量包含的多个分词;

通过对所述多个分词进行文本去重处理,得到所述类簇对应的总字节数;

获取经对所述文本库进行文本聚类得到的类簇数目;

计算所述类簇数目与N的乘积,得到第一数值,所述N为正整数且在预设数值区间内;

计算所述总字节数与所述第一数值之商并做取整运算,得到第二数值;

将所述第二数值,确定为待选取核心词的数目;

按照从所述词语队列首位至末位的顺序,选取所述第二数值对应数目的词语作为核心词。

可选的,若存在多个待选中心点,则根据所述核心词集合从所述多个待选中心点中筛选出目标中心点,包括:

通过分别查找所述多个待选中心点,判断是否存在包含所述核心词集合中所有词语的中心点;

若存在且为一个时,则将包含所述核心词集合中所有词语的待选中心点确定为目标中心点;

若存在且为多个时,抽取包含所述核心词集合中所有词语的多个待选中心点,作为待校验中心点;

获取每个待校验中心点对应的词频向量;

通过横向比较每个待校验中心点对应的词频向量,获取每个核心词在不同待校验中心点出现频次最高值;

根据每个核心词在不同待校验中心点出现频次最高值,抽取包含最多个所述频次最高值对应的待校验中心点,作为目标中心点。

另一方面,本发明还提供了一种文本聚类类簇中心点选取装置,该装置包括:

聚类处理单元,用于在获取一个文本库之后,通过对所述文本库进行文本聚类得到多个类簇以及每个类簇对应的词频向量;

词性清洗单元,用于利用预设词性清洗规则对每个类簇提取实词,得到实词集合;

提取单元,用于从每个类簇对应的词频向量中提取所述实词集合中每个实词对应的词频;

词频清洗单元,用于根据所述实词集合中每个实词的词频,利用预设词频清洗规则从所述实词集合中提取核心词,得到核心词集合;

确定单元,用于根据所述核心词集合,确定所述类簇对应的中心点。

可选的,所述词性清洗单元包括:

获取模块,用于获取每个类簇对应的词频向量;

解析模块,用于通过解析所述词频向量,得到所述词频向量包含的多个分词以及每个分词的序号标识;

标注模块,用于对每个分词标注词性;

判断模块,用于根据每个分词的词性,查找预先设定的词性和实词之间的映射关系,判断所述分词是否为实词;

所述获取模块,还用于当所述判断模块判断所述分词是为实词时,获取所述分词的序号标识;

标记模块,用于根据所述序号标识,在所述词频向量中标记出实词;

收集模块,用于收集所述序号标识,得到对应的实词集合。

可选的,所述词频清洗单元包括:

获取模块,用于获取实词集合中每个实词的词频;

排序模块,用于按照词频由高到低的顺序,对所述实词集合中包含的实词进行排序,得到对应的词语队列;

选取模块,用于按照从所述词语队列首位至末位的顺序,从所述词语队列中选取预设数目的词语作为核心词;

组成模块,用于将所述预设数目的核心词组成所述类簇对应的核心词集合。

可选的,所述选取模块包括:

解析子模块,用于通过解析类簇对应的词频向量,得到所述词频向量包含的多个分词;

去重子模块,用于通过对所述多个分词进行文本去重处理,得到所述类簇对应的总字节数;

获取子模块,用于获取经对所述文本库进行文本聚类得到的类簇数目;

计算子模块,用于计算所述类簇数目与N的乘积,得到第一数值,所述N为正整数且在预设数值区间内;

所述计算子模块,还用于计算所述总字节数与所述第一数值之商并做取整运算,得到第二数值;

确定子模块,用于将所述第二数值,确定为待选取核心词的数目;

选取子模块,用于按照从所述词语队列首位至末位的顺序,选取所述第二数值对应数目的词语作为核心词。

可选的,所述装置还包括筛选单元,所述筛选单元包括:

判断模块,用于通过分别查找所述多个待选中心点,判断是否存在包含所述核心词集合中所有词语的中心点;

确定模块,用于若存在且为一个时,则将包含所述核心词集合中所有词语的待选中心点确定为目标中心点;

所述确定模块,还用于若存在且为多个时,抽取包含所述核心词集合中所有词语的多个待选中心点,作为待校验中心点;

获取模块,用于获取每个待校验中心点对应的词频向量;

所述获取模块,还用于通过横向比较每个待校验中心点对应的词频向量,获取每个核心词在不同待校验中心点出现频次最高值;

抽取模块,用于根据每个核心词在不同待校验中心点出现频次最高值,抽取包含最多个所述频次最高值对应的待校验中心点,作为目标中心点。

再一方面,本发明还提供一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如上述的文本聚类类簇中心点选取方法。

又一方面,本发明还提供一种电子设备,所述设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;

其中,所述处理器、所述存储器通过所述总线完成相互间的通信;

所述处理器用于调用所述存储器中的程序指令,以执行如上述的文本聚类类簇中心点选取方法。

借由上述技术方案,本发明提供的技术方案至少具有下列优点:

本发明提供一种文本聚类类簇中心点选取方法及装置,本发明是在对文本库进行文本聚类之后得到多个类簇以及每个类簇对应的词频向量,利用预设词性清洗规则对每个类簇提取实词以得到实词集合,再根据类簇对应的词频向量得到每个实词对应的词频,以便于根据每个实词对应的词频再进一步地利用预设词频清洗规则从实词集合中提取核心词,得到核心词集合,最终根据这些核心词确定类簇对应的中心点,作为整个类簇的“代表”。相较于现有技术在聚类后仅使用平均值的方式选取中心点作为整个类簇的“代表”而已导致中心点文本不足以代表整个类簇的真实涵义,本发明是通过融合词性、词频因素来优化从类簇中选取中心点过程,进而让中心点文本更加准确地体现所属类簇的真实涵义。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为本发明实施例提供的一种文本聚类类簇中心点选取方法流程图;

图2为本发明实施例提供的另一种文本聚类类簇中心点选取方法流程图;

图3为本发明实施例提供的一种文本聚类类簇中心点选取装置的组成框图;

图4为本发明实施例提供的另一种文本聚类类簇中心点选取装置的组成框图;

图5为本发明实施例提供的文本聚类类簇中心点选取的电子设备。

具体实施方式

下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。

本发明实施例提供了一种文本聚类类簇中心点选取方法方法,如图1所示,该方法是融合词性、词频因素优化从类簇中选取中心点过程,对此本发明实施例提供以下具体步骤:

101、在获取一个文本库之后,通过对文本库进行文本聚类得到多个类簇以及每个类簇对应的词频向量。

其中,文本聚类所应用的文本聚类算法可以是如K均值聚类算法(K-meansclustering algorithm,KMeans)、simhash算法、cos和jacard算法,对于本发明实施例,不做具体限定。在本发明实施例中,经文本聚类处理之后,是直接获取经文本聚类处理得到的多个类簇,作为数据准备,以便于后续执行优化选取类簇的中心点。

在本发明实施例中,文本库包含了预先收集的大量短文本,在经文本聚类算法处理之后,得到多个类簇以及每个类簇对应的词频向量。

下面,对于类簇对应的词频向量进行例举说明,具体的,每个类簇内包含多个文本,在进行文本聚类时,需要得到每个文本的词频向量,在聚类完成后,可以对每个文本对应的词频向量进行合并处理(例如,可以理解为是取并集操作),得到包含多个文本的类簇对应的词频向量,其中,对文本对应的词频向量例举如下:

例如:例举一个短文本句子A“我喜欢看电视,不喜欢看电影”

经分词得到:“我/喜欢/看/电视,不/喜欢/看/电影”;

列出维度:“我,喜欢,看,电视,电影,不,也”;

统计词频:句子A:“我1,喜欢2,看2,电视1,电影1,不1,也0”;

转换为向量:句子A:[1,2,2,1,1,1,0]。

需要说明的是,在词频向量中,每个分词、分词排序和分词出现频次之间是存在映射关系的。

102、利用预设词性清洗规则对每个类簇提取实词,得到实词集合。

其中,预设词性清洗规则是用于从类簇中挑选出指定词性的分词,比如:从类簇中挑选出词性为名词、动词、形容词、数词、量词的分词。

在本发明实施例中,根据词语词性,从类簇中挑选出实词(名词、动词、形容词、数词、量词),从而相当于是从类簇中去除虚词(副词、介词、连词、助词、叹词、拟声词)和代词等对类簇语义影响较小的分词。

具体的,在类簇对应的词频向量中标出实词的具体实施方法可以是:在得到每个类簇对应的词频向量之后,由于该词频向量相当于是记录有每个分词、分词排序和分词出现频次之间的映射关系,所以当判断一个分词是实词时就记录该分词在词频向量中的分词排序,从而通过收集这些被记录的分词排序就可以间接地收集了类簇中包含的实词,经进一步地提取操作得到类簇对应的实词集合。

103、从每个类簇对应的词频向量中提取实词集合中每个实词对应的词频。

在本发明实施例中,在确定类簇对应的词频向量和类簇包含的实词之后,根据词频向量,可以直接地查找到实词对应的词频。

例如:假设类簇B对应的词频向量(1,5,9,8),所以在B中第一分词对应词频是1;第二分词对应词频是5,第三分词对应词频是9;第四分词对应词频是8。当确定四个分词中包含的实词之后,就直接地获取到实词对应的词频了。

104、根据实词集合中每个实词的词频,利用预设词频清洗规则从实词集合中提取核心词,得到核心词集合。

其中,预设词频清洗是用于从既定范围实词中挑选在类簇中出现较高频次的实词,这些较高频次的实词会对类簇涵义存在影响,并且随着频次越高,对类簇涵义影响也会越大。

在本发明实施例中,在每个类簇中汇总得到该类簇对应的实词集合之后,以在这个范围内利用预设词频清洗规则执行词频清洗操作,也就是从类簇对应实词集合中挑选出现较高频次的实词作为核心词,被挑选的核心词可以为多个,所以得到类簇对应的核心词集合。比如:从实词集合中挑选出词频数目排位在前的几个实词,从而收集到类簇对应的核心词集合。

105、根据核心词集合,确定类簇对应的中心点。

在本发明实施例中,在确定类簇对应的核心词集合之后,可以将至少包含这些核心词的文本选定为中心点,或者也可以简单地将包含核心词集合的核心词组成内容信息作为类簇对应的中心点。由于在类簇内这些核心词出现频次是排位在先的且是实词(即:相较于虚词而言,是包含更多实际涵义的),所以包含这些核心词得到的内容信息可以作为类簇代表,从而表达类簇的真实涵义。

因此,对于本发明实施例,在选择中心点过程中充分考虑到了核心词,而这个核心词也是经词性清洗和词频清洗操作而得到的,从而本发明实施例充分考虑到词性、词频因素对文本聚类中心点选取会造成的影响。

本发明实施例提供一种文本聚类类簇中心点选取方法,本发明实施例是在对文本库进行文本聚类之后得到多个类簇以及每个类簇对应的词频向量,利用预设词性清洗规则对每个类簇提取实词以得到实词集合,再根据类簇对应的词频向量得到每个实词对应的词频,以便于根据每个实词对应的词频再进一步地利用预设词频清洗规则从实词集合中提取核心词,得到核心词集合,最终根据这些核心词确定类簇对应的中心点,作为整个类簇的“代表”。相较于现有技术在聚类后仅使用平均值的方式选取中心点作为整个类簇的“代表”而已导致中心点文本不足以代表整个类簇的真实涵义,本发明实施例是通过融合词性、词频因素来优化从类簇中选取中心点过程,进而让中心点文本更加准确地体现所属类簇的真实涵义。

为了对上述实施例做出更加详细的说明,本发明实施例还提供了另一种文本聚类类簇中心点选取方法,如图2所示,该方法细化陈述了词性清洗和词频清洗的具体操作步骤,以及若已经存在待选中心点如何根据核心词集合从中筛选目标中心点,对此本发明实施例提供以下具体步骤:

201、在获取一个文本库之后,通过对文本库进行文本聚类得到多个类簇以及每个类簇对应的词频向量。

在本发明实施例中,对于本步骤陈述,请参见步骤101,此处不再赘述。

202、利用预设词性清洗规则对每个类簇提取实词,得到实词集合。

在本发明实施例中,对于本步骤具体陈述如下:

首先,获取每个类簇对应的词频向量,通过解析词频向量,得到词频向量包含的多个分词以及每个分词的序号标识。对每个分词标注词性。

例如,假设类簇C对应词频向量是(3,4,5,6,8,2,1),由于每个词频向量包含分词、词频和序号标识三者之间的映射关系的,比如:在类簇C对应的词频向量中第一分词的词频是3,第一分词的序号标识是1。所以在本发明实施例中通过解析词频向量,可以得到类簇包含的分词、分词词频和分词排序。

进一步的,在得到类簇包含的分词之后,对应每个分词标注词性,就得到了分词、词性、词频和分词排序之间的四者之间的映射关系了。

其次,根据每个分词的词性,查找预先设定的词性和实词之间的映射关系,判断分词是否为实词,若是,则获取分词的序号标识。

其中,实词包含了名词、动词、形容词、数词、量词,这些对类簇整体涵义影响大的词语的词性。

在本发明实施例中,为了实现自动识别文本中分词是否为实词,可以预先设定词性与实词之间的映射关系,进而利用这个预设映射关系,自动判断类簇中每个分词是否是与实词匹配的目标分词,若是,则获取目标分词对应的序号标识。

再者,根据序号标识,在词频向量中标记出实词,收集序号标识,得到对应的实词集合。

203、从每个类簇对应的词频向量中提取实词集合中每个实词对应的词频。

在本发明实施例中,在确定类簇对应的词频向量和类簇包含的实词之后,根据词频向量,可以直接地查找到实词对应的词频。

例如:假设类簇B对应的词频向量(1,5,9,8),所以在B中第一分词对应词频是1;第二分词对应词频是5,第三分词对应词频是9;第四分词对应词频是8。当确定四个分词中包含的实词之后,就直接地获取到实词对应的词频了。

204、根据实词集合中每个实词的词频,利用预设词频清洗规则从实词集合中提取核心词,得到核心词集合。

在本发明实施例中,对本步骤细化陈述如下:

首先,获取实词集合中每个实词的词频,按照词频由高到低的顺序,对实词集合中包含的实词进行排序,得到对应的词语队列。

其次,按照从词语队列首位至末位的顺序,从词语队列中选取预设数目的词语作为核心词,将预设数目的核心词组成类簇对应的核心词集合。

进一步的,在本发明实施例中,虽然该预设数目是用户根据需求预先设定的,但是也可以采用一些衡量方式,避免预设数目不合理(即:数目过少无用,过多又显得冗余)而影响核心词选择数目不合理,导致选取中心点不恰当地代表类簇真实涵义,所以本发明实施例还给出如下衡量设定预设数目的具体实施方法,具体陈述可以如下:

首先,通过解析类簇对应的词频向量,得到词频向量包含的多个分词,通过对多个分词进行文本去重处理,得到类簇对应的总字节数。以及获取经对文本库进行文本聚类得到的类簇数目。

其次,计算类簇数目与N的乘积,得到第一数值,N为正整数且在预设数值区间内(比如:根据选取中心的处理经验,可以预先设定N为20),计算总字节数与第一数值之商并做取整运算,得到第二数值,将第二数值确定为待选取核心词的数目,也就是得到如下计算公式:

第二数值=类簇内总字节数/(类簇数目*N) (公式1)

从而根据这个公式,衡量用户设定的选取预设数目的核心词是否合理。

再者,按照从词语队列首位至末位的顺序,选取第二数值对应数目的词语作为核心词。

205、根据核心词集合,确定类簇对应的中心点。

在本发明实施例中,在确定类簇对应的核心词集合之后,可以将至少包含这些核心词的文本选定为中心点,由于在类簇内这些核心词出现频次是排位在先的且是实词(即:相较于虚词而言,是包含更多实际涵义的),所以包含这些核心词得到的内容信息可以作为类簇代表,从而表达类簇的真实涵义。

下面,进一步的,如果已经存在多个待选中心点了,那么可以根据上述步骤201-205得到的核心词集合,从多个待选中心点中筛选出目标中心点,使得利用该目标中心点尽可能地代表类簇的真实涵义,陈述具体地筛选方法可以如下:

206、若存在多个待选中心点,则根据核心词集合从多个待选中心点中筛选出目标中心点。

首先,通过分别查找多个待选中心点,判断是否存在包含核心词集合中所有词语的中心点。

在本发明实施例中,对于一个类簇,需要最终得到目标中心点是包含所有核心词的,在此需要说明的是,此处的判断是否包含所有核心词操作,也包含了与核心词相似的词语进行比较,比如核心词是“电商”,在语义层面上也会存在语义相同但文字表达不同的情况,比如“淘宝”“当当网”等,这些都是电商平台,所以这些词语是与“电商”匹配的相似词语,应该被合并到核心词“电商”中。

对于本发明实施例中,如果按照文字检索,若未查找到包含所有核心词的待选中心点,则可以进一步地验证核心词对应的相似词语是否存在与待选中心点中,由于核心词集合中包含的核心词数量是经步骤204考量的,所以通常选取核心词数量也是尽可能确保恰到适中的。

其次,若存在且为一个时,则将包含核心词集合中所有词语的待选中心点确定为目标中心点。

但是进一步的,若存在且为多个时,抽取包含核心词集合中所有词语的多个待选中心点,作为待校验中心点。也就是,需要再进一步地校验,以尽量缩减最终得到中心点的数量,较佳的方式是,得到一个更优的中心点就足以代表类簇真实涵义。具体的,再进一步地从待校验中心点中执行筛选的步骤可以如下:

获取每个待校验中心点对应的词频向量,通过横向比较每个待校验中心点对应的词频向量,获取每个核心词在不同待校验中心点出现频次最高值,根据每个核心词在不同待校验中心点出现频次最高值,抽取包含最多个频次最高值对应的待校验中心点,作为目标中心点。

例如:假设类簇的5个的待校验中心点,a/b/c/d/e,预先确定的核心词集合仅包含2个实词,此处需要说明的是,为了清楚的陈述从待校验中心点中执行筛选的步骤,此处例举包含数量都是比较少的,仅为了方便于解释说明。

进一步的,例举每个待校验中心点的词频向量:a(1,1,2,3)、b(5,0,2,4)、c(5,1,2,3)、d(5,1,3,3)和e(3,1,2,3),假设在5个待校验中心点对应词频向量中,首位分词是相同的核心词,末位分词也是相同的核心词,则筛选出在每个待校验中心点中首位分词词频的最高值是5,在每个待校验中心点中末位分词词频的最高值是4。

接续上述例举,在确定首位分词词频的最高值是5和末位分词词频的最高值是4之后,遍历5个待校验中心点对应的词频向量,筛选出匹配的词频向量是b(5,0,2,4),从而选定文本b为类簇对应的目标中心点。

需要说明的是,上述例举是核心词出现最高词频均是在一个待校验中心点,就可以直接选取这个待校验中心点作为类簇对应的目标中心点了。但是如果对于上述5个待校验中心点,如果每个核心词出现最高词频不在一个待校验中心点,需要对这些核心词做出取舍,那么如何取舍。

比如,可以预先对核心词设定优先级,具体的,可以依据核心词的词性、核心词在类簇内出现词频高低,来确定核心词重要性高低的优先级,从而根据这个优先级,逐个确定每个核心词的最高词频是出现在哪个待校验中心点,尽可能查找较多高优先级核心词的最高频次出现在一个待校验中心点内的情形,而舍弃低优先级核心词词频高低的影响了。

再进一步的,在本发明实施例中,对于确定核心词出现最高词频均是是在一个待校验中心点的情形,如果仍然存在多个待校验中心点,则还可以利用实词集合中的非核心词执行进一步地筛选操作,具体陈述如下:

例如,假设类簇中包含5个待校验中心点(即:文本a/b/B/d/e),每个待校验中心点的词频向量:a(1,1,2,3)、b(5,0,2,4)、B(5,1,2,4)、d(5,1,3,3)和e(3,1,2,3),假设每个词频向量中首位分词都是相同的(比如为“喜欢”),每个词频向量中末位分词也都是相同的(比如为“电影”),且首位分词和末位分词都是核心词。

对于这个例举,筛选出待校验中心点b(5,0,2,4)和B(5,1,2,4),首位分词频次都是“5”,末位分词频次都是“4”,那么下一步就再校验这两个待校验中心点的非核心词,即:两个待校验中心点中第二分词和第三分词就是非核心词。

首先,根据已经得到的类簇对应实词集合和核心词集合,从实词集合中减去核心词,得到非核心词集合。在每个类簇中查找非核心词在不同文本出现的词频,并求每个非核心词对应的平均值。

其次,查找待校验中心点中的非核心词的词频是否与这个非核心词对应的平均值是否接近,若是,则选取这样的待校验中心点。

例如:接续上述例举的筛选出待校验中心点b(5,0,2,4)和B(5,1,2,4),预先得到在该类簇内计算第二分词平均值为0.8,第三位分词平均值为2.2,经衡量,选取B(5,1,2,4)为最终的类簇对应的目标中心点,该中心点除了包含核心词集合中的所有核心词,还进一步地包含了非核心词,但是经上述筛选步骤,得到非核心词的个数也是适当的,使得整个目标中心点不包含冗余的词语,且足以代表类簇的真实涵义。

进一步的,作为对上述图1、图2所示方法的实现,本发明实施例提供了一种文本聚类类簇中心点选取装置。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。该装置应用于融合词性、词频因素优化从类簇中选取中心点过程,具体如图3所示,该装置包括:

聚类处理单元31,用于在获取一个文本库之后,通过对所述文本库进行文本聚类得到多个类簇以及每个类簇对应的词频向量;

词性清洗单元32,用于利用预设词性清洗规则对每个类簇提取实词,得到实词集合;

提取单元33,用于从每个类簇对应的词频向量中提取所述实词集合中每个实词对应的词频;

词频清洗单元34,用于根据所述实词集合中每个实词的词频,利用预设词频清洗规则从所述实词集合中提取核心词,得到核心词集合;

确定单元35,用于根据所述核心词集合,确定所述类簇对应的中心点。

进一步的,如图4所示,所述词性清洗单元32包括:

获取模块321,用于获取每个类簇对应的词频向量;

解析模块322,用于通过解析所述词频向量,得到所述词频向量包含的多个分词以及每个分词的序号标识;

标注模块323,用于对每个分词标注词性;

判断模块324,用于根据每个分词的词性,查找预先设定的词性和实词之间的映射关系,判断所述分词是否为实词;

所述获取模块321,还用于当所述判断模块324判断所述分词是为实词时,获取所述分词的序号标识;

标记模块325,用于根据所述序号标识,在所述词频向量中标记出实词;

收集模块326,用于收集所述序号标识,得到对应的实词集合。

进一步的,如图4所示,所述词频清洗单元34包括:

获取模块341,用于获取实词集合中每个实词的词频;

排序模块342,用于按照词频由高到低的顺序,对所述实词集合中包含的实词进行排序,得到对应的词语队列;

选取模块343,用于按照从所述词语队列首位至末位的顺序,从所述词语队列中选取预设数目的词语作为核心词;

组成模块344,用于将所述预设数目的核心词组成所述类簇对应的核心词集合。

进一步的,如图4所示,所述选取模块343包括:

解析子模块3431,用于通过解析类簇对应的词频向量,得到所述词频向量包含的多个分词;

去重子模块3432,用于通过对所述多个分词进行文本去重处理,得到所述类簇对应的总字节数;

获取子模块3433,用于获取经对所述文本库进行文本聚类得到的类簇数目;

计算子模块3434,用于计算所述类簇数目与N的乘积,得到第一数值,所述N为正整数且在预设数值区间内;

所述计算子模块3434,还用于计算所述总字节数与所述第一数值之商并做取整运算,得到第二数值;

确定子模块3435,用于将所述第二数值,确定为待选取核心词的数目;

选取子模块3436,用于按照从所述词语队列首位至末位的顺序,选取所述第二数值对应数目的词语作为核心词。

进一步的,如图4所示,所述装置还包括筛选单元36,所述筛选单元36包括:

判断模块361,用于通过分别查找所述多个待选中心点,判断是否存在包含所述核心词集合中所有词语的中心点;

确定模块362,用于若存在且为一个时,则将包含所述核心词集合中所有词语的待选中心点确定为目标中心点;

所述确定模块362,还用于若存在且为多个时,抽取包含所述核心词集合中所有词语的多个待选中心点,作为待校验中心点;

获取模块363,用于获取每个待校验中心点对应的词频向量;

所述获取模块363,还用于通过横向比较每个待校验中心点对应的词频向量,获取每个核心词在不同待校验中心点出现频次最高值;

抽取模块364,用于根据每个核心词在不同待校验中心点出现频次最高值,抽取包含最多个所述频次最高值对应的待校验中心点,作为目标中心点。

综上所述,本发明实施例提供一种文本聚类类簇中心点选取方法及装置,本发明实施例是在对文本库进行文本聚类之后得到多个类簇以及每个类簇对应的词频向量,利用预设词性清洗规则对每个类簇提取实词以得到实词集合,再根据类簇对应的词频向量得到每个实词对应的词频,以便于根据每个实词对应的词频再进一步地利用预设词频清洗规则从实词集合中提取核心词,得到核心词集合,最终根据这些核心词确定类簇对应的中心点,作为整个类簇的“代表”。相较于现有技术在聚类后仅使用平均值的方式选取中心点作为整个类簇的“代表”而已导致中心点文本不足以代表整个类簇的真实涵义,本发明实施例是通过融合词性、词频因素来优化从类簇中选取中心点过程,进而让中心点文本更加准确地体现所属类簇的真实涵义。

所述文本聚类类簇中心点选取装置包括处理器和存储器,上述聚类处理单元、词性清洗单元、提取单元、词频清洗单元和确定单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来融合词性、词频因素优化从类簇中选取中心点过程,进而让选取的中心点文本更加准确地体现所属类簇的真实涵义。

本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述文本聚类类簇中心点选取方法。

本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述文本聚类类簇中心点选取方法。

本发明实施例提供了一种电子设备40,如图5所示,设备包括至少一个处理器401、以及与处理器401连接的至少一个存储器402、总线403;其中,处理器401、存储器402通过总线403完成相互间的通信;处理器401用于调用存储器402中的程序指令,以执行上述的文本聚类类簇中心点选取方法。

本文中的设备可以是服务器、PC、PAD、手机等。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:

一种文本聚类类簇中心点选取方法,所述方法包括:在获取一个文本库之后,通过对所述文本库进行文本聚类得到多个类簇以及每个类簇对应的词频向量;利用预设词性清洗规则对每个类簇提取实词,得到实词集合;从每个类簇对应的词频向量中提取所述实词集合中每个实词对应的词频;根据所述实词集合中每个实词的词频,利用预设词频清洗规则从所述实词集合中提取核心词,得到核心词集合;根据所述核心词集合,确定所述类簇对应的中心点。

进一步的,所述利用预设词性清洗规则对每个类簇提取实词,得到实词集合,包括:获取每个类簇对应的词频向量;通过解析所述词频向量,得到所述词频向量包含的多个分词以及每个分词的序号标识;对每个分词标注词性;根据每个分词的词性,查找预先设定的词性和实词之间的映射关系,判断所述分词是否为实词;若是,则获取所述分词的序号标识;根据所述序号标识,在所述词频向量中标记出实词;收集所述序号标识,得到对应的实词集合。

进一步的,所述根据所述实词集合中每个实词的词频,利用预设词频清洗规则从所述实词集合中提取核心词,得到核心词集合,包括:获取实词集合中每个实词的词频;按照词频由高到低的顺序,对所述实词集合中包含的实词进行排序,得到对应的词语队列;按照从所述词语队列首位至末位的顺序,从所述词语队列中选取预设数目的词语作为核心词;将所述预设数目的核心词组成所述类簇对应的核心词集合。

进一步的,所述从所述词语队列中选取预设数目的词语作为核心词,包括:通过解析类簇对应的词频向量,得到所述词频向量包含的多个分词;通过对所述多个分词进行文本去重处理,得到所述类簇对应的总字节数;获取经对所述文本库进行文本聚类得到的类簇数目;计算所述类簇数目与N的乘积,得到第一数值,所述N为正整数且在预设数值区间内;计算所述总字节数与所述第一数值之商并做取整运算,得到第二数值;将所述第二数值,确定为待选取核心词的数目;按照从所述词语队列首位至末位的顺序,选取所述第二数值对应数目的词语作为核心词。

进一步的,若存在多个待选中心点,则根据所述核心词集合从所述多个待选中心点中筛选出目标中心点,包括:通过分别查找所述多个待选中心点,判断是否存在包含所述核心词集合中所有词语的中心点;若存在且为一个时,则将包含所述核心词集合中所有词语的待选中心点确定为目标中心点;若存在且为多个时,抽取包含所述核心词集合中所有词语的多个待选中心点,作为待校验中心点;获取每个待校验中心点对应的词频向量;通过横向比较每个待校验中心点对应的词频向量,获取每个核心词在不同待校验中心点出现频次最高值;根据每个核心词在不同待校验中心点出现频次最高值,抽取包含最多个所述频次最高值对应的待校验中心点,作为目标中心点。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

相关技术
  • 一种文本聚类类簇中心点选取方法及装置
  • 一种谱聚类算法中心点的选取方法和装置
技术分类

06120113083865