一种数据的聚类方法和聚类装置与流程

文档序号:12464995阅读:180来源:国知局
一种数据的聚类方法和聚类装置与流程

本发明涉及一种数据处理方法和装置,特别是涉及一种语料数据的处理方法和装置。



背景技术:

在语言处理的自动问答领域中,需要对以语言为载体的问题进行确定,进而建立问题与答案的对应关系,建立相似问题的问题集,即问题集的聚合是确定“问题-答案”业务逻辑的基础技术和重要步骤。

在问题集的聚合处理过程中,现有技术采用自动聚类,对相似问题语句进行聚类形成不同的问题集。在聚类过程中需要确定聚类中心的数量和初始位置,以反映聚类中心的类间相异度。然后进行聚类的迭代过程,直至聚类中心位置确定或达到预设精度或迭代次数。

由于问题集中存在一些特征分布稀疏不均匀的问题语句数据,使得聚类区域的大小和形状不规整,因此使得类间相异度量难于确定,聚类中心数量和初始位置无法优化。这就造成进行大样本的问题集的聚类时,对噪声问题和离群孤立问题语句数据较敏感,使得少量数据对聚类结果产生较大影响,往往不能形成问题集的最优聚类。



技术实现要素:

有鉴于此,本发明实施例提供了一种数据的聚类方法和聚类装置,用于解决现有问题集聚类过程中,受初始条件影响聚类效果差的技术问题。

本发明实施例的数据的聚类方法包括:

获取待处理数据,所述待处理数据包括测试数据和非测试数据;

对测试数据进行第一分类处理,得到第一分类结果;

采用初始预设值对测试数据进行第二分类处理,得到第二分类结果,所述第二分类处理包括:分别获取第M句数据的句向量与已聚类的L个信息组的句向量平均值之间的最大相似度值,当所述最大相似度值大于所述初始预设值时,将第M句数据聚类到所述最大相似度值对应的信息组中;当所述最大相似度值小于所述初始预设值时,将第M句数据作为第L+1个信息组,所述L小于或等于M-1;

比较所述第二分类结果和所述第一分类结果,当以第一分类结果为标准得到第二分类结果的准确率大于或等于阈值时,将所述初始预设值作为目标预设值;当以第一分类结果为标准得到第二分类结果的准确率小于阈值时,不断调整所述初始预设值,直至将所述初始预设值调整为目标预设值时得到新的第二分类结果的准确率大于或等于阈值;

采用目标预设值对非测试数据进行第二分类处理。

本发明实施例的数据的聚类装置包括:

数据获取模块,用于获取待处理数据,将待处理数据划分为测试数据和非测试数据;

第一分类模块,用于对测试数据进行第一分类处理,得到第一分类结果;

第二分类模块,用于采用初始预设值对测试数据进行第二分类处理,得到第二分类结果,用于采用目标预设值对非测试数据进行分类处理;进一步用于分别获取第M句数据的句向量与已聚类的L个信息组的句向量平均值之间的最大相似度值,当所述最大相似度值大于所述初始预设值时,将第M句数据聚类到所述最大相似度值对应的信息组中;当所述最大相似度值小于所述初始预设值时,将第M句数据作为第L+1个信息组,所述L小于或等于M-1;

参数确定模块,用于比较第二分类结果和第一分类结果,当以第一分类结果为标准得到第二分类结果的准确率大于或等于阈值时,将初始预设值作为目标预设值;当以第一分类结果为标准得到第二分类结果的准确率小于阈值时,不断调整初始预设值,直至将初始预设值调整为目标预设值时得到新的第二分类结果的准确率大于或等于阈值。

本发明的聚类方法和聚类装置将向量化的语料数据中的测试数据用于半监督学习的聚类和自动聚类,并根据半监督学习的聚类结果调整自动聚类算法的初始预设值形成目标预设值,使得自动聚类算法的聚类结果与半监督学习的聚类结果满足趋同。这样利用采用目标预设值的自动聚类算法对向量化的语料数据中的非测试数据进行聚类,可以有效提高初始分类数据的准确性,改善聚类模型的聚类中心的初始参数,使得类间相异度获得保证,聚类中心位置也可以很好的确定聚类模型的稳定性。使得实际应用中问题集的聚类效果准确,问题有效分组。

附图说明

图1为本发明的数据的聚类方法一实施例的流程图。

图2为本发明的数据的聚类方法一实施例的第二分类处理的流程图。

图3为本发明的数据的聚类装置一实施例的架构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图纸中的步骤编号仅用于作为该步骤的附图标记,不表示执行顺序。

图1为本发明的数据的聚类方法一实施例的流程图。如图1所示,包括:

步骤100:获取待处理数据,所述待处理数据包括测试数据和非测试数据。

在本发明一实施例的数据的聚类方法中,待处理数据为矢量化数据,如问题集或背景集中的语句语料。

本实施例从待处理数据中任意选取部分作为测试数据,剩余部分作为非测试数据,其中测试数据的数量远小于非测试数据的数量。

步骤200:对测试数据进行第一分类处理,得到第一分类结果。

在本发明一实施例的数据的聚类方法中,第一分类处理采用单纯的人工分类或半监督学习的人工分类。需要说明的是,在本发明的其它实施例中,第一分类处理还可以采用其它非人工的方式完成,只要第一分类处理与第二分类处理的方式不同且第一分类结果的准确率在可以接受的范围内即可,其不限制本发明的保护范围。

步骤300:采用初始预设值对测试数据进行第二分类处理,得到第二分类结果。

在本发明一实施例的数据的聚类方法中,第二分类处理包括:

分别获取第M句数据的句向量与已聚类的L个信息组的句向量平均值之间的最大相似度值,当所述最大相似度值大于所述初始预设值时,将第M句数据聚类到所述最大相似度值对应的信息组中;当所述最大相似度值小于所述初始预设值时,将第M句数据作为第L+1个信息组,L值小于或等于M-1。

本实施例中的第二分类处理,每个句数据的句向量分别与每个信息组的句向量平均值比较相似度,通过对初始预设值调整可以改变处理过程中第M句数据的聚类方向和L个信息组的L值,有利于使得第二分类处理可以根据要求进行高效调整。

步骤400:比较所述第二分类结果和所述第一分类结果,当以第一分类结果为标准得到第二分类结果的准确率大于或等于阈值时,将所述初始预设值作为目标预设值;当以第一分类结果为标准得到第二分类结果的准确率小于阈值时,不断调整所述初始预设值,直至将所述初始预设值调整为目标预设值时得到新的第二分类结果的准确率大于或等于阈值。

步骤500:采用目标预设值对非测试数据进行第二分类处理。

本发明实施例的数据的聚类方法分别利用高可靠性分类方法(第一种分类处理)和高效率分类方法(第二种分类处理)对同一组测试数据进行分类,利用高可靠性的第一种分类处理的结果为标准,通过修改高效率的第二种分类处理的初始预设值,使得第二种分类处理的结果最后与第一种分类处理的结果相同或趋同,形成第二种分类处理方法的目标预设值,并利用获得的高效率分类方法处理大量的非测试数据以获得处理效率。有效结合了准确率和效率,避免了现有聚类方法中初始预设值使用随机或伪随机机制进行确定,提高了聚类效果稳定性。

图2为本发明的数据的聚类方法一实施例的第二分类处理的流程图。如图2所示包括:

步骤310:获取T个句向量QT,其中T≥M,M≥2;

步骤320:初始K值、中心点PK-1、以及聚类问题集{K,[PK-1]},其中,K表示聚类的类别数,K的初始值为1,中心点PK-1的初始值为P0,P0=Q1,Q1表示第1个句向量,聚类问题集的初始值为{1,[Q1]};

步骤330:依次对剩下的T-1个句向量进行聚类,计算当前句向量与每个聚类问题集的中心点的相似度,当相似度大于或等于预设值时执行步骤340,当相似度小于预设值时执行步骤360;

步骤340:如果当前句向量与某个聚类问题集的中心点的相似度大于或等于预设值,则将当前句向量聚类到相应的聚类问题集中,保持K值不变,将相应的中心点更新为聚类问题集中所有句向量的向量平均值,形成相应的聚类问题集为{K,[句向量的向量平均值]},然后执行步骤380;

步骤360:如果当前句向量与所有聚类问题集中的中心点的相似度均小于预设值,则令K=K+1,增加新的中心点,所述新的中心点的值为当前句向量,增加新的聚类问题集{K,[当前句向量]},然后执行步骤380;

步骤380:将下一个句向量作为当前句向量,跳转至步骤330。

以一组具体句数据为例,第二分类处理如下:

假设初始分类数据中包括三个问题语料的句向量Q1、Q2、Q3

首先初始聚类中心数量K为1,第一初始聚类中心P0采用Q1,第一初始聚类中心P0的位置向量为聚类问题集为{1,[Q1]}。

在随后的句向量依次聚类过程中,计算Q2与第一初始聚类中心P0的语义相似度:

若相似度大于或等于0.9(根据需求设定预设值为0.9),则认为Q2和Q1属于同一个类,此时初始聚类中心数量K=1不变,P0更新为和的向量平均值,聚类问题集为{1,[Q1,Q2]}。再计算Q3与第一初始聚类中心P0的语义相似度,若与第一初始聚类中心P0相似度大于或等于0.9,则认为Q3和第一初始聚类中心P0属于同一个类,P0更新为和的向量平均值,聚类问题集为{1,[Q1,Q2,Q3]}。

当计算Q2与第一初始聚类中心P0的语义相似度:

若相似度小于预设值0.9,则Q2和第一初始聚类中心P0属于不同的类,形成新的初始聚类中心P1采用Q2,初始聚类中心数量K=2,第二初始聚类中心P1的位置向量为两个聚类问题集为{1,[Q1]},{2,[Q2]};

再计算Q3与第一初始聚类中心P0和第二初始聚类中心P1的语义相似度:

若与第二初始聚类中心P1相似度大于预设值0.9,则认为Q3和Q2属于同一个类,此时初始聚类中心数量K=2不变,P1更新为和的向量平均值,聚类问题集为{1,[Q1]}、{2,[Q2,Q3]};

若Q3与第一初始聚类中心P0和第二初始聚类中心P1的语义相似度都小于0.9,则Q3属于不同的类,形成新的初始聚类中心P2采用Q3,初始聚类中心数量K=3,第三初始聚类中心P2的位置向量为Q3的向量,聚类问题集为{1,[Q1]},{2,[Q2]},{3,[Q3]}。

在上述实施例的基础上,本发明一实施例的数据的聚类方法中,对测试数据进行第一分类处理得到的第一分类结果中分类数目与对测试数据进行第二分类处理得到的第二分类结果中分类数目相同。

本实施例中将第一分类结果中分类数目作为第二分类处理得到的第二分类结果的约束条件,以保证第二分类处理的类间相异度获得保证。利用第一分类结果确定的分类数目在形成使得第二分类结果具有第一分类中参数选择的优势,在进行后续的非测试数据的聚类时,可以使得非测试数据在第二分类结果的基础上完成聚类,使得聚类结果的分类准确性得到保证。

在上述实施例的基础上,本发明一实施例的数据的聚类方法中,对测试数据进行第一分类处理得到的第一分类结果中各分类的中心点与对测试数据进行第二分类处理得到的第二分类结果中各分类的中心点也可以相同,即第二分类处理中各个信息组的中心点保持不变。

本实施例中将第一分类结果中各信息组的句向量平均值作为第二分类处理得到的第二分类结果的约束条件,以保证第二分类处理的稳定性获得保证。利用第一分类结果确定的分类数目在形成使得第二分类结果具有第一分类中参数选择的优势,在进行后续的非测试数据的聚类时,通过第二分类结果的信息组的分类数目和中心点,可以使得非测试数据在第二分类结果的基础上完成聚类,使得聚类结果的分类准确性得到进一步保证。

在上述实施例的基础上,本发明一实施例的数据的聚类方法中,对测试数据进行所述第二分类处理得到的所述第二分类结果中各分类的中心点动态变化。利用第一分类结果确定的分类数目在形成使得第二分类结果具有第一分类中参数选择的优势,在进行后续的非测试数据的聚类时,结合动态变化的信息组的中心点,避免出现聚类的偶然性。

本实施例中中心点位置随着聚类数据的增加而动态变化,在最终形成确定的第二分类处理的各分类的中心点时,可以克服第二分类处理的中心点初始值的选取精度对聚类算法稳定性的影响,随着聚类数据的增加,中心点会逐步趋近使所在分类最稳定的位置。

本发明一实施例的数据的聚类方法中,第M句数据的句向量通过以下方式获得:

步骤50:对第M句数据进行预处理和分词处理,得到第M句数据的特征词;

步骤60:获取特征词的词向量,并根据词向量获取第M句数据的句向量。

在本发明一实施例的数据的聚类方法中,步骤50中的预处理和分词处理具体包括如下处理:去除问句信息中的无效格式,并将其余问句信息的格式统一为文本格式,过滤敏感词、和/或脏词所对应的问句信息,将过滤后的问句信息按照标点划分为多行,并根据分词词典对问句信息进行分词处理,得到问句信息的原始特征词,过滤原始特征词中的停用词,得到问句信息的特征词。在实际应用中,上述标点可以是问号、叹号、分号或句号,也就是说,可以将过滤后的文本数据按照问号、叹号、分号或句号划分为多行。

在本发明一实施例中,进行了分词处理得到问句信息的特征词,还可以进一步对该特征词进行过滤处理,具体地,过滤处理采用以下任一种或两种方式:

方式一:根据词性对特征词进行过滤,保留名词、动词以及形容词;

方式二:根据频次对特征词进行过滤,保留频次大于频次阈值的特征词,其中,频次是指特征词在语料数据中出现的频率或者次数。

优选地,在步骤50之后,可以通过新词发现方法获取问句信息中的新词,并根据新词重新进行分词处理,此外,还可以通过同义词发现方法从问句信息中获取语义相同的词语,以用于后续的相似度值计算。例如,后续在进行相似度计算时,如果通过同义词发现方法确认两个词为同义词,则会提高最后的语义相似度值的准确率。

具体地,分词处理可以采用字典双向最大匹配法、viterbi方法、HMM方法和CRF方法中的一种或多种进行。新词发现方法具体可以包括:互信息、共现概率、信息熵等方法,利用新词发现方法可以获取新的词语,根据获取的信的词语可以更新分词词典,那么在进行分词处理时,可以根据更新后的分词词典进行分词,增加了分词处理的准确率。同义词发现方法具体可以包括:W2V和编辑距离等方法,利用同义词发现方法可以发现具有相同含义的词语,例如:通过同义词发现方法发现组合词、简化词是同义词,那么后续进行语义相似度值计算时,根据发现的同义词就可以提高语义相似度值计算的准确率。

需要说明的是,在本发明实施例中,进行预处理和分词后得到的特征词尽量保持词的顺序不变,从而保证后续计算词向量和句向量的准确性。

在本发明一实施例的数据的聚类方法中,步骤60中的获取特征词的词向量的方式包括:

将进行过滤处理之前问句信息的特征词输入向量模型,获取向量模型输出的特征词的词向量;从词向量中获取与过滤处理后保留的特征词相对应的词向量。

其中,在实际应用中,上述向量模型可以包括:word2vector模型。

在本发明一实施例的数据的聚类方法中,步骤60中的根据词向量获取第M句数据的句向量采用以下方式中的一种:

方式一:将单个问句信息中的所有特征词的词向量进行矢量叠加并取平均值,获取问句信息的句向量;

方式二:根据特征词的个数和词向量的维度、以及相应问句信息中出现的特征词的词向量,获取该问句信息的句向量,其中,句向量的维度是特征词的个数与词向量的维度的乘积,句向量的维度值为:未在相应问句信息中出现的特征词所对应的维度值为0,在相应问句信息中出现的特征词所对应的维度值为该特征词的词向量;

方式三:根据特征词的个数、以及相应问句信息中出现的特征词的TF-IDF值,获取该问句信息的句向量,其中,句向量的维度是特征词的个数,句向量的维度值为:未在相应问句信息中出现的特征词的维度值为0,在相应问句信息中出现的特征词的维度值为该特征词的TF-IDF值。

在方式三中,特征词的TF-IDF值通过以下方式获取:

1、将语料数据中包括的问句总数目除以包含特征词的问句的数目,将得到的商取对数得到特征词的IDF值;

2、计算特征词在对应问句中出现的频率,确定TF值;

3、将TF值乘以IDF值得到特征词的TF-IDF值。

与本发明实施例的聚类方法相应的,还包括本发明实施例的数据的聚类装置。

图3为本发明实施例的数据的聚类装置的架构示意图。如图3所示包括:

数据获取模块710,用于获取待处理数据,将待处理数据划分为测试数据和非测试数据;

第一分类模块720,用于对测试数据进行第一分类处理,得到第一分类结果;

第二分类模块730,用于采用初始预设值对测试数据进行第二分类处理,得到第二分类结果,用于采用目标预设值对非测试数据进行分类处理;

上述第二分类模块730,进一步用于分别获取第M句数据的句向量与已聚类的L个信息组的句向量平均值之间的最大相似度值,当所述最大相似度值大于所述初始预设值时,将第M句数据聚类到所述最大相似度值对应的信息组中;当所述最大相似度值小于所述初始预设值时,将第M句数据作为第L+1个信息组;L值小于或等于M-1;

参数确定模块740,用于比较第二分类结果和第一分类结果,当以第一分类结果为标准得到第二分类结果的准确率大于或等于阈值时,将初始预设值作为目标预设值;当以第一分类结果为标准得到第二分类结果的准确率小于阈值时,不断调整初始预设值,直至将初始预设值调整为目标预设值时得到新的第二分类结果的准确率大于或等于阈值。

上述第一分类装置720包括人工分类子模块721,用于采用人工分类进行第一分类处理。

上述第二分类模块730的一个实施例中包括:

第一调整子模块737,用于将测试数据进行第一分类处理得到的第一分类结果中的分类数目与对测试数据进行第二分类处理得到的第二分类结果中的分类数目相同。

上述第二分类模块730的一个实施例中包括:

第二调整子模块738,用于将测试数据进行第一分类处理得到的第一分类结果中各分类的中心点与对测试数据进行第二分类处理得到的第二分类结果中各分类的中心点相同。

上述第二分类模块730的一个实施例中包括:

第三调整子模块739,用于将第二分类结果的信息组数目由第一分类结果决定,对测试数据进行第二分类处理得到的第二分类结果中各分类的信息组的中心点根据第一分类结果固定,或者在第二分类处理中动态调整。

本发明一实施例的数据的聚类装置中还包括:

语句处理模块650,用于对第M句数据进行预处理和分词处理,得到第M句数据的特征词;

句向量处理模块660,用于获取特征词的词向量,并根据词向量获取第M句数据的句向量。

本发明一实施例的数据的聚类装置中还包括以下一种或两种:

词性过滤模块670,用于根据词性对所述特征词进行过滤,保留名词、动词以及形容词;

词频过滤模块680,用于根据频次对所述特征词进行过滤,保留频次大于频次阈值的特征词。

上述第二分类模块730包括:

句向量获取子模块731,用于获取T个句向量QT

聚类初始子模块732,用于初始K值、中心点PK-1、以及聚类问题集{K,[PK-1]},其中,K表示聚类的类别数,K的初始值为1,中心点PK-1的初始值为P0,P0=Q1,Q1表示第1个句向量,聚类问题集的初始值为{1,[Q1]};

聚类比较子模块733,用于依次对剩下的QT进行聚类,计算当前句向量与每个聚类问题集的中心点的相似度;

第一判断子模块734,用于当前句向量与某个聚类问题集的中心点的相似度大于或等于预设值,则将当前句向量聚类到相应的聚类问题集中,保持K值不变,将相应的中心点更新为聚类问题集中所有句向量的向量平均值,形成相应的聚类问题集为{K,[句向量的向量平均值]};

第二判断子模块736,用于当前句向量与所有聚类问题集中的中心点的相似度均小于预设值,则令K=K+1,增加新的中心点,所述新的中心点的值为当前句向量,增加新的聚类问题集{K,[当前句向量]}。

本发明实施例中数据的聚类装置的具体实现和有益效果可参见数据的聚类方法,在此不再赘述。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1