基于聚类的邮件分类方法和系统的制作方法

文档序号:6509864阅读:272来源:国知局
基于聚类的邮件分类方法和系统的制作方法
【专利摘要】本发明公开了一种基于聚类的邮件分类方法和系统,该邮件分类方法包括:对待分类邮件集合中的每个邮件进行分词,得到每个邮件的词语集合;确定出每个邮件的词语特征向量;将所有邮件的词语特征向量组成词语特征向量集合后,对于每个词语特征向量,创建一个包含该词语特征向量的向量簇,并将该词语特征向量作为代表该向量簇的簇中心;根据词语特征向量之间的相似度,对向量簇进行至少一次聚类合并,对聚类合并后的每个向量簇,将该向量簇中所包含的词语特征向量所对应的邮件划分为同一类邮件。本发明的技术方案中,根据聚类成向量簇的词语特征向量对邮件进行分类,不必事先需要多种种类的样本邮件,就可以实现按照邮件内容进行多种类的邮件分类。
【专利说明】基于聚类的邮件分类方法和系统
【技术领域】
[0001]本发明涉及互联网领域,尤其涉及一种基于聚类的邮件分类方法和系统。
【背景技术】
[0002]随着社会信息化程度的提高,使用邮件的用户越来越多,用户经常会收到大量的邮件,这些邮件通常是各种种类的邮件,比如,商讯、订单、社交、培训、招聘和投资理财等种类的邮件。
[0003]目前的邮件系统进行邮件分类的方法着重于将邮件划分成垃圾邮件或非垃圾邮件,通常采用基于邮件内容的分类方法。具体地,在多样本邮件构成的训练集中,对已分类为垃圾邮件或非垃圾邮件的样本邮件的内容进行处理,根据处理后的样本邮件的内容,利用各种机器学习算法,例如贝叶斯(Bayes)算法、支持向量机(Suppot Vector Machine,SVM)算法等,训练出分类模型,再根据该分类模型将未分类的邮件划分成垃圾邮件或非垃圾邮件。
[0004]然而,本发明的发明人发现,现有技术的邮件分类方法已经无法满足用户对邮件的分类需求:用户为便于对接收到的邮件进行查询,通常希望邮件系统具备多种类的邮件分类的功能,可以将收到的邮件分成商讯、社交、培训、招聘、和投资理财等种类的邮件;因此,有必要提供一种对邮件进行多种类分类的方法。

【发明内容】

[0005]针对上述现有技术存在的缺陷,本发明提供了一种基于聚类的邮件分类方法和系统,可以将邮件按照邮件内容进行多种类的邮件分类。
[0006]根据本发明的一个方面,提供了一种基于聚类的邮件分类方法,包括:
[0007]对待分类邮件集合中的每个邮件,将该邮件的邮件内容进行分词,得到该邮件的词语集合;根据得到的各邮件的词语集合确定出所述待分类邮件集合的词语集合;
[0008]对于所述待分类邮件集合中的每个邮件,根据该邮件的词语集合以及所述待分类邮件集合的词语集合,确定出该邮件的词语特征向量;
[0009]将所述待分类邮件集合中的所有邮件的词语特征向量组成词语特征向量集合后,对于所述词语特征向量集合中的每个词语特征向量,创建一个包含该词语特征向量的向量簇,并将该词语特征向量作为代表该向量簇的簇中心;
[0010]根据所述词语特征向量集合中的词语特征向量之间的相似度,对得到的向量簇进行至少一次聚类合并,得到数目达到设定的簇数目阈值的向量簇后,对于当前的每个向量簇,将该向量簇中所包含的词语特征向量所对应的邮件划分为同一类邮件。
[0011]较佳地,所述根据所述词语特征向量集合中的词语特征向量之间的相似度,对得到的向量簇进行至少一次聚类合并,得到数目达到设定的簇数目阈值的向量簇,具体包括:
[0012]计算所述词语特征向量集合中任意两个词语特征向量之间的相似度;[0013]对于所述词语特征向量集合中的每个词语特征向量,将该词语特征向量与其它词语特征向量之间的相似度进行排序,得到该词语特征向量的相似度排序结果;将所述相似度排序结果中的最大相似度,以及与该最大相似度相关联的两个词语特征向量放入到优先级队列后,将该最大相似度从所述相似度排序结果中删除;
[0014]对得到的向量簇进行至少一次聚类合并,在一次聚类合并过程中,包括如下步骤:
[0015]确定出所述优先级队列中最大的相似度,以及与该相似度相关联的两个词语特征向量;将确定出的两个词语特征向量所分别代表的向量簇合并为同一个向量簇后,确定合并后的向量簇的簇中心;针对所述优先级队列中每个相似度,若判断出与该相似度相关联的两个词语特征向量包含于同一个向量簇中,则从所述优先级队列中删除该相似度以及与其相关联的两个词语特征向量;将确定出的簇中心的当前的相似度排序结果中的最大相似度,以及与该最大相似度相关联的两个词语特征向量放入到所述优先级队列后,将该最大相似度从该簇中心的相似度排序结果中删除;
[0016]在一次聚类合并后,若判断当前的向量簇的数目大于设定的簇数目阈值,则继续进行下一次聚类合并,否则,聚类合并结束,得到数目达到设定的簇数目阈值的向量簇。
[0017]根据本发明的另一个方面,还提供了一种基于聚类的邮件分类方法,包括:
[0018]对待分类邮件集合中的每个邮件,将该邮件的邮件内容进行分词,得到该邮件的词语集合;根据得到的各邮件的词语集合确定出所述待分类邮件集合的词语集合;
[0019]对于所述待分类邮件集合中的每个邮件,根据该邮件的词语集合以及所述待分类邮件集合的词语集合,确定出该邮件的词语特征向量;
[0020]将所述待分类邮件集合中的所有邮件的词语特征向量组成词语特征向量集合后,将所述词语特征向量集合划分为设定数目的子集;
[0021]对于每个划分的子集,针对该子集中的每个词语特征向量,创建一个该子集的包含该词语特征向量的向量簇,并将该词语特征向量作为代表该向量簇的簇中心;并根据该子集中的词语特征向量之间的相似度,对该子集的向量簇进行至少一次聚类合并,使得该子集中的向量簇的数目达到设定的簇数目阈值;
[0022]将各子集的向量簇合并为设定簇数目的向量簇后,得到所述词语特征向量集合的向量簇;对于所述词语特征向量集合的每个向量簇,将该向量簇中所包含的词语特征向量所对应的邮件划分为同一类邮件。
[0023]较佳地,所述根据该子集中的词语特征向量之间的相似度,对该子集的向量簇进行至少一次聚类合并,使得该子集中的向量簇的数目达到设定的簇数目阈值具体包括:
[0024]计算该子集中任意两个词语特征向量之间的相似度;
[0025]对于该子集中的每个词语特征向量,将该词语特征向量与其它词语特征向量之间的相似度进行排序,得到该词语特征向量的相似度排序结果;将所述相似度排序结果中的最大相似度,以及与该最大相似度相关联的两个词语特征向量放入到优先级队列后,将该最大相似度从所述相似度排序结果中删除;
[0026]对该子集的向量簇进行至少一次聚类合并,在一次聚类合并过程中,包括如下步骤:
[0027]确定出所述优先级队列中最大的相似度,以及与该相似度相关联的两个词语特征向量;将确定出的两个词语特征向量所分别代表的向量簇合并为同一个向量簇后,确定合并后的向量簇的簇中心;针对所述优先级队列中每个相似度,若判断出与该相似度相关联的两个词语特征向量包含于同一个向量簇中,则从所述优先级队列中删除该相似度以及与其相关联的两个词语特征向量;将确定出的簇中心的当前的相似度排序结果中的最大相似度,以及与该最大相似度相关联的两个词语特征向量放入到所述优先级队列后,将该最大相似度从该簇中心的相似度排序结果中删除;
[0028]在一次聚类合并后,若判断该子集的当前的向量簇的数目大于设定的簇数目阈值,则继续进行下一次聚类合并,否则,聚类合并结束,得到该子集的数目达到设定的簇数目阈值的向量簇。
[0029]较佳地,所述将各子集的向量簇合并为设定簇数目的向量簇具体包括:
[0030]将所述各子集的向量簇作为所述词语特征向量集合的向量簇后,对于所述词语特征向量集合的任意两个向量簇,计算两个簇中心之间的相似度;
[0031]清空所述优先级队列后,对于所述词语特征向量集合的每个向量簇的簇中心,将该簇中心与其它向量簇的簇中心之间的相似度进行排序,得到该簇中心的相似度排序结果;将该相似度排序结果中的最大相似度,以及与该最大相似度相关联的两个簇中心放入到所述优先级队列后,将该最大相似度从该相似度排序结果中删除;
[0032]针对所述词语特征向量集合中每个向量簇,创建一个包含该向量簇的簇中心的中心簇,并将该向量簇的簇中心作为代表该中心簇的簇中心;
[0033]对得到的中心簇进行至少一次聚类合并,在一次中心簇的聚类合并过程中,包括如下步骤:
[0034]确定出所述优先级队列中最大的相似度,以及与该相似度相关联的两个簇中心;将确定出的两个簇中心所分别代表的中心簇合并为一个中心簇后,确定合并后的中心簇的簇中心;针对所述优先级队列中每个相似度,若判断出与该相似度相关联的两个簇中心包含于同一个中心簇中,则从所述优先级队列中删除该相似度以及与其相关联的两个簇中心;对于确定出的合并后的中心簇的簇中心,将该簇中心的当前的相似度排序结果中的最大相似度,以及与该最大相似度相关联的两个簇中心放入到所述优先级队列后,将该最大相似度从该簇中心的当前的相似度排序结果中删除;
[0035]在一次中心簇的聚类合并后,判断所述词语特征向量集合的当前的中心簇的数目是否大于所述设定簇数目,若是,则继续进行下一次中心簇的聚类合并;否则,中心簇的聚类合并结束,得到数目达到设定簇数目的中心簇后,对于得到的每个中心簇,将该中心簇中所包含的向量簇的簇中心所代表的向量簇合并为同一个向量簇。
[0036]根据本发明的另一个方面,还提供了一种基于聚类的邮件分类系统,包括:
[0037]邮件内容分词模块,用于对待分类邮件集合中的每个邮件,将该邮件的邮件内容进行分词,得到该邮件的词语集合;根据得到的各邮件的词语集合确定出所述待分类邮件集合的词语集合;
[0038]特征向量确定模块,用于对于所述待分类邮件集合中的每个邮件,根据所述邮件内容分词模块确定出的该邮件的词语集合以及所述待分类邮件集合的词语集合,确定出该邮件的词语特征向量;
[0039]向量簇创建模块,用于将所述特征向量确定模块确定出的待分类邮件集合中的所有邮件的词语特征向量组成词语特征向量集合后,对于所述词语特征向量集合中的每个词语特征向量,创建一个包含该词语特征向量的向量簇,并将该词语特征向量作为代表该向量簇的簇中心;
[0040]向量簇聚类模块,用于根据所述词语特征向量集合中的词语特征向量之间的相似度,对所述向量簇创建模块得到的向量簇进行至少一次聚类合并,得到数目达到设定的簇数目阈值的向量簇;
[0041]邮件分类模块,用于对于所述向量簇聚类模块得到的每个向量簇,将该向量簇中所包含的词语特征向量所对应的邮件划分为同一类邮件。
[0042]较佳地,所述向量簇聚类模块包括:
[0043]相似度计算单元,用于计算所述词语特征向量集合中任意两个词语特征向量之间的相似度;
[0044]相似度排序单元,用于对于所述词语特征向量集合中的每个词语特征向量,将所述相似度计算单元计算得到的该词语特征向量与其它词语特征向量之间的相似度进行排序,得到该词语特征向量的相似度排序结果;将所述相似度排序结果中的最大相似度,以及与该最大相似度的相关联的两个词语特征向量放入到优先级队列后,将该最大相似度从所述相似度排序结果中删除;
[0045]聚类单元,用于对所述向量簇创建模块得到的向量簇进行至少一次聚类合并,在一次聚类合并过程中,包括:
[0046]确定出所述优先级队列中最大的相似度,以及与该相似度相关联的两个词语特征向量;将确定出的两个词语特征向量所分别代表的向量簇合并为同一个向量簇后,确定合并后的向量簇的簇中心;针对所述优先级队列中每个相似度,若判断出与该相似度相关联的两个词语特征向量包含于同一个向量簇中,则从所述优先级队列中删除该相似度以及与其相关联的两个词语特征向量;从所述相似度排序单元得到的所述簇中心的当前的相似度排序结果中确定出最大相似度,将确定出的最大相似度以及与其相关联的两个词语特征向量放入到所述优先级队列后,将该最大相似度从该簇中心的相似度排序结果中删除;
[0047]在一次聚类合并后,若判断当前的向量簇的数目大于设定的簇数目阈值,则继续进行下一次聚类合并,否则,聚类合并结束,得到数目达到设定的簇数目阈值的向量簇。
[0048]根据本发明的另一个方面,还提供了一种基于聚类的邮件分类系统,包括:
[0049]邮件内容分词模块,用于对待分类邮件集合中的每个邮件,将该邮件的邮件内容进行分词,得到该邮件的词语集合;根据得到的各邮件的词语集合确定出所述待分类邮件集合的词语集合;
[0050]特征向量确定模块,用于对于所述待分类邮件集合中的每个邮件,根据所述邮件内容分词模块确定出的该邮件的词语集合以及所述待分类邮件集合的词语集合,确定出该邮件的词语特征向量;
[0051]子集划分模块,用于将所述特征向量确定模块确定出的待分类邮件集合中的所有邮件的词语特征向量组成词语特征向量集合后,将所述词语特征向量集合划分为设定数目的子集;
[0052]向量簇创建模块,用于对于所述子集划分模块得到的每个划分的子集,针对该子集中的每个词语特征向量,创建一个该子集的包含该词语特征向量的向量簇,并将该词语特征向量作为代表该向量簇的簇中心;
[0053]第一向量簇聚类模块,用于对于所述子集划分模块得到的每个划分的子集,根据该子集中的词语特征向量之间的相似度,对所述向量簇创建模块得到的该子集的向量簇进行至少一次聚类合并,使得该子集中的向量簇的数目达到设定的簇数目阈值;
[0054]第二向量簇聚类模块,用于将所述第一向量簇聚类模块得到的各子集的向量簇合并为设定簇数目的向量簇后,得到所述词语特征向量集合的向量簇;
[0055]邮件分类模块,用于对于所述第二向量簇聚类模块得到的每个向量簇,将该向量簇中所包含的词语特征向量所对应的邮件划分为同一类邮件。
[0056]较佳地,所述第一向量簇聚类模块包括:
[0057]向量相似度计算单元,用于计算该子集中任意两个词语特征向量之间的相似度;
[0058]向量相似度排序单元,用于对于该子集中的每个词语特征向量,将所述向量相似度计算单元得到的该词语特征向量与其它词语特征向量之间的相似度进行排序,得到该词语特征向量的相似度排序结果;将所述相似度排序结果中的最大相似度,以及与该最大相似度相关联的两个词语特征向量放入到优先级队列后,将该最大相似度从所述相似度排序结果中删除;
[0059]向量簇聚类单元,用于对所述向量簇创建模块得到的该子集的向量簇进行至少一次聚类合并,在一次聚类合并过程中,包括:
[0060]确定出所述优先级队列中最大的相似度,以及与该相似度相关联的两个词语特征向量;将确定出的两个词语特征向量所分别代表的向量簇合并为同一个向量簇后,确定合并后的向量簇的簇中心;针对所述优先级队列中每个相似度,若判断出与该相似度相关联的两个词语特征向量包含于同一个向量簇中,则从所述优先级队列中删除该相似度以及与其相关联的两个词语特征向量;从所述向量相似度排序单元得到的所述簇中心的当前的相似度排序结果中确定出最大相似度,将确定出的最大相似度以及与其相关联的两个词语特征向量放入到所述优先级队列后,将该最大相似度从该簇中心的相似度排序结果中删除;
[0061]在一次聚类合并后,若判断该子集的当前的向量簇的数目大于设定的簇数目阈值,则继续进行下一次聚类合并,否则,聚类合并结束,得到数目达到设定的簇数目阈值的向量簇。
[0062]较佳地,所述第二向量簇聚类模块包括:
[0063]向量簇组成单元,用于将所述第一向量簇聚类模块得到的各子集的向量簇组成词语特征向量集合的向量簇;
[0064]簇中心相似度计算单元,用于根据所述向量簇组成单元得到的词语特征向量集合的向量簇,对于所述词语特征向量集合的任意两个向量簇,计算两个簇中心之间的相似度;
[0065]簇中心相似度排序单元,用于清空所述优先级队列后,对于所述词语特征向量集合的每个向量簇的簇中心,将所述簇中心相似度计算单元得到的该簇中心与其它向量簇的簇中心之间的相似度进行排序,得到该簇中心的相似度排序结果;将该相似度排序结果中的最大相似度,以及与该最大相似度相关联的两个簇中心放入到所述优先级队列后,将该最大相似度从该相似度排序结果中删除;
[0066]中心簇创建单元,用于针对所述向量簇组成单元得到的词语特征向量集合中每个向量簇,创建一个包含该向量簇的簇中心的中心簇,并将该向量簇的簇中心作为代表该中心簇的簇中心;
[0067]中心簇聚类单元,用于对所述中心簇创建单元得到的中心簇进行至少一次聚类合并,在一次中心簇的聚类合并过程中,包括:
[0068]确定出所述优先级队列中最大的相似度,以及与该相似度相关联的两个簇中心;将确定出的两个簇中心所分别代表的中心簇合并为同一个中心簇后,确定合并后的中心簇的簇中心;针对所述优先级队列中每个相似度,若判断出与该相似度相关联的两个簇中心包含于同一个中心簇中,则从所述优先级队列中删除该相似度以及与其相关联的两个簇中心;对于确定出的合并后的中心簇的簇中心,从所述簇中心相似度排序单元得到的该簇中心的当前的相似度排序结果中确定出最大相似度,将确定出的最大相似度以及与其相关联的两个簇中心放入到所述优先级队列后,将该最大相似度从该簇中心的当前的相似度排序结果中删除;
[0069]在一次中心簇的聚类合并后,判断所述词语特征向量集合的当前的中心簇的数目是否大于所述设定簇数目,若是,则继续进行下一次中心簇的聚类合并;否则,中心簇的聚类合并结束,得到数目达到设定簇数目的中心簇后,发送簇合并指令;
[0070]向量簇合并单元,用于在接收到所述中心簇聚类单元发送的簇合并指令后,对于所述中心簇聚类单元得到的每个中心簇,将该中心簇中所包含的向量簇的簇中心所代表的向量簇合并为同一个向量簇。
[0071]本发明的技术方案中,根据邮件的词语特征向量之间的相似度,对词语特征向量进行聚类,根据聚类后的词语特征向量对邮件进行分类;从而不必事先需要多种种类的样本邮件,也可以实现按照邮件内容进行多种类的邮件分类。
[0072]进一步,通过将词语特征向量集合划分成设定数目的子集,并行地对每个子集中的向量簇进行聚类合并,以提高聚类合并的效率,之后再将各子集的向量簇组成词语特征向量集合的向量簇后,对得到的向量簇进行聚类合并,从而整体上提高了对词语特征向量集合的向量簇进行聚类合并的效率,提高了邮件分类的效率。
【专利附图】

【附图说明】
[0073]图1为本发明实施一的基于聚类的邮件分类的方法流程图;
[0074]图2a为本发明实施例一的对词语特征向量集合的向量簇进行聚类合并的流程图;
[0075]图2b为本发明实施例一的基于聚类的邮件分类系统结构框架示意图;
[0076]图2c为本发明实施例一的向量簇聚类模块的内部结构示意图;
[0077]图3为本发明实施例二的基于聚类的邮件分类的方法流程图;
[0078]图4为本发明实施例二的对子集的向量簇进行聚类合并的流程图;
[0079]图5a为本发明实施例二的根据各子集向量簇得到词语特征向量集合的向量簇的流程图;
[0080]图5b为本发明实施例二的基于聚类的邮件分类系统结构框架示意图;
[0081]图5c为本发明实施例二的第一向量簇聚类模块的内部结构示意图;
[0082]图5d为本发明实施例二的第二向量簇聚类模块的内部结构示意图。【具体实施方式】
[0083]为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举出优选实施例,对本发明进一步详细说明。然而,需要说明的是,说明书中列出的许多细节仅仅是为了使读者对本发明的一个或多个方面有一个透彻的理解,即便没有这些特定的细节也可以实现本发明的这些方面。
[0084]本申请使用的“模块”、“系统”等术语旨在包括与计算机相关的实体,例如但不限于硬件、固件、软硬件组合、软件或者执行中的软件。例如,模块可以是,但并不仅限于:处理器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。举例来说,计算设备上运行的应用程序和此计算设备都可以是模块。一个或多个模块可以位于执行中的一个进程和/或线程内,一个模块也可以位于一台计算机上和/或分布于两台或更多台计算机之间。
[0085]本发明的发明人对现有的邮件分类的方法进行分析,发现现有的邮件分类方法需要基于大量的已知种类的样本邮件,该方法应用在仅对邮件进行垃圾,或非垃圾分类时,则只需要两种种类的样本邮件:垃圾样本邮件和非垃圾样本邮件;但是,如果将该方法应用于对邮件进行多种类划分的场景下,则需要多种种类的样本邮件,例如,需要大量的商讯、社交、培训、招聘、和投资理财等种类的样本邮件;这使得现有的邮件分类方法应用于对邮件进行多种类划分的场景中的可行性很低。
[0086]由此,本发明的发明人考虑到采用一种不需要样本邮件来进行邮件种类划分的方法:通过分析邮件的词语特征向量之间的相似度,将相似度大的词语特征向量聚类到一个向量簇;从而聚类后得到的各向量簇,可以作为邮件种类划分的依据。
[0087]下面结合附图详细说明本发明的技术方案。本发明的技术方案提供了两个实施例;其中,实施例一的技术方案中,通过对整个词语特征向量集合中的词语特征向量进行聚类得到多个向量簇后,将每个向量簇中所包含的词语特征向量所对应的邮件划分为同一类邮件;实施例二的技术方案中,通过将词语特征向量集合划分成设定数目的子集,对每个子集中的词语特征向量进行聚类,将各子集的向量簇合并为设定簇数目的向量簇后,将每个向量簇中包含的词语特征向量所对应的邮件划分为同一类邮件。
[0088]实施例一
[0089]本发明的实施例一提供的一种基于聚类的邮件分类的方法,具体流程如图1所示,具体步骤可以包括:
[0090]SlOl:对于待分类邮件集合中的每个邮件,得到该邮件的词语集合,根据得到的各邮件的词语集合确定出待分类邮件集合的词语集合。
[0091]具体地,针对待分类邮件集合中的每个邮件,应用统计模型(例如隐马尔科夫模型)对该邮件的邮件内容进行分词,得到该邮件的分词结果;去除该邮件的分词结果中的停用词和生僻字,得到该邮件的词语集合。将待分类邮件集合中的每个邮件的词语集合合并成同一个词语集合后,去除掉该同一个词语集合中因重复而冗余的词语,得到该待分类邮件集合的词语集合。待分类邮件集合包含了符合设定条件的邮件,例如,可以将设定时间段内用户收到的邮件组成待分类邮件集合;或者在用户收到的邮件达到设定数量时,将这些邮件组成待分类邮件集合。[0092]S102:对于待分类邮件集合中的每个邮件,根据该邮件的词语集合,及待分类邮件集合的词语集合,确定出该邮件的词语特征向量。
[0093]具体地,对于待分类邮件集合中的每个邮件,将待分类邮件集合的词语集合中的词语总数作为该邮件的词语特征向量的维数,并将待分类邮件集合的词语集合中的各词语,分别对应到该邮件的词语特征向量的各向量元素;对于该邮件的词语特征向量中的每个向量元素,该向量元素值的确定方法如下:若该向量元素所对应的待分类邮件集合的词语集合中的词语包含在该邮件的词语集合中,则该向量元素值设置为I ;否则该向量元素值设置为O。
[0094]例如,待分类邮件集合中的一个邮件的词语特征向量具体表征为D=Iid1,…Cli, , dN],其中Cli的取值为I或者0,取I表示待分类邮件集合的词语集合中第i个词语包含在当前邮件的词语集合中,取O表示待分类邮件集合的词语集合中第i个词语不包含在当前邮件的词语集合中;其中,i为I~N的自然数,N为待分类邮件集合的词语集合的词语总数。
[0095]S103:将待分类邮件集合中的所有邮件的词语特征向量组成词语特征向量集合。
[0096]S104:对于词语特征向量集合中的每个词语特征向量,创建一个包含该词语特征向量的簇(本文中称为向量簇),并将该词语特征向量作为代表该向量簇的簇中心。
[0097]具体地,对于词语特征向量集合中的每个词语特征向量,创建一个仅以该词语特征向量为簇元素的向量簇,并将该词语特征向量作为该向量簇的簇中心,即该词语特征向量可以代表该向量簇。
[0098]S105:根据词语特征向量集合中的词语特征向量之间的相似度,对得到的向量簇进行至少一次聚类合并,得到数目达到设定的簇数目阈值的向量簇。
[0099]对词语特征向量集合的向量簇进行聚类合并的具体方法将在后续进行详细介绍。
[0100]S106:对于词语特征向量集合的当前的每个向量簇,将该向量簇中所包含的词语特征向量所对应的邮件划分为同一种类邮件。
[0101]具体地,在上述步骤S105中得到数目达到设定的簇数目阈值的向量簇后,对于每个得到的向量簇,将该向量簇中所包含的词语特征向量划分为同一种类的词语特征向量;将待分类邮件集合中与该同一种类的词语特征向量相对应的邮件划分为同一种类邮件。从而完成对待分类邮件集合的邮件分类,得到划分为各种类的邮件。
[0102]为了进一步提高分类后邮件的各种类之间的区分度,增强邮件分类效果,本发明实施例的技术方案还提供了分类标签,用户可以为分类后邮件的每个种类定义分类标签。分类标签可以包括:电子商讯、非电子商讯、社交、投稿、招聘、投资订阅、旅行、订单和垃圾邮件等。
[0103]下面详细介绍上述步骤S105中,根据词语特征向量集合中的词语特征向量之间的相似度,对得到的向量簇进行至少一次聚类合并,得到数目达到设定的簇数目阈值的向量簇的具体流程,如图2a所示,具体包括如下步骤:
[0104]S201:计算出词语特征向量集合中任意两个词语特征向量之间的相似度。
[0105]具体地,计算出词语特征向量集合中任意两个词语特征向量之间的相似度。其中,计算出任意两个词语特征向量之间的相似度有多种方法。
[0106]例如,根据两个词语特征向量之间夹角,来计算两个词语特征向量之间的相似度,具体根据如下公式I计算两个词语特征向量之间的相似度:
【权利要求】
1.一种基于聚类的邮件分类方法,其特征在于,包括: 对待分类邮件集合中的每个邮件,将该邮件的邮件内容进行分词,得到该邮件的词语集合;根据得到的各邮件的词语集合确定出所述待分类邮件集合的词语集合; 对于所述待分类邮件集合中的每个邮件,根据该邮件的词语集合以及所述待分类邮件集合的词语集合,确定出该邮件的词语特征向量; 将所述待分类邮件集合中的所有邮件的词语特征向量组成词语特征向量集合后,对于所述词语特征向量集合中的每个词语特征向量,创建一个包含该词语特征向量的向量簇,并将该词语特征向量作为代表该向量簇的簇中心; 根据所述词语特征向量集合中的词语特征向量之间的相似度,对得到的向量簇进行至少一次聚类合并,得到数目达到设定的簇数目阈值的向量簇后,对于当前的每个向量簇,将该向量簇中所包含的词语特征向量所对应的邮件划分为同一类邮件。
2.如权利要求1所述的方法,其特征在于,所述根据所述词语特征向量集合中的词语特征向量之间的相似度,对得到的向量簇进行至少一次聚类合并,得到数目达到设定的簇数目阈值的向量簇,具体包括: 计算所述词语特征向量集合中任意两个词语特征向量之间的相似度; 对于所述词语特征向量集合中的每个词语特征向量,将该词语特征向量与其它词语特征向量之间的相似度进行排序,得到该词语特征向量的相似度排序结果;将所述相似度排序结果中的最大相似度,以及与该最大相似度相关联的两个词语特征向量放入到优先级队列后,将该最大相似度从所述相似度排序结果中删除; 对得到的向量簇进行至少一次聚类合并,在一次聚类合并过程中,包括如下步骤:确定出所述优先级队列中最大的相似度,以及与该相似度相关联的两个词语特征向量;将确定出的两个词语特征向量所分别代表的向量簇合并为同一个向量簇后,确定合并后的向量簇的簇中心;针对所述优先级队列中每个相似度,若判断出与该相似度相关联的两个词语特征向量包含于同一个向量簇中,则从所述优先级队列中删除该相似度以及与其相关联的两个词语特征向量;将确定出的簇中心的当前的相似度排序结果中的最大相似度,以及与该最大相似度相关联的两个词语特征向量放入到所述优先级队列后,将该最大相似度从该簇中心的相似度排序结果中删除; 在一次聚类合并后,若判断当前的向量簇的数目大于设定的簇数目阈值,则继续进行下一次聚类合并,否则,聚类合并结束,得到数目达到设定的簇数目阈值的向量簇。
3.一种基于聚类的邮件分类方法,其特征在于,包括: 对待分类邮件集合中的每个邮件,将该邮件的邮件内容进行分词,得到该邮件的词语集合;根据得到的各邮件的词语集合确定出所述待分类邮件集合的词语集合; 对于所述待分类邮件集合中的每个邮件,根据该邮件的词语集合以及所述待分类邮件集合的词语集合,确定出该邮件的词语特征向量; 将所述待分类邮件集合中的所有邮件的词语特征向量组成词语特征向量集合后,将所述词语特征向量集合划分为设定数目的子集; 对于每个划分的子集,针对该子集中的每个词语特征向量,创建一个该子集的包含该词语特征向量的向量簇,并将该词语特征向量作为代表该向量簇的簇中心;并根据该子集中的词语特征向量之间的相似度,对该子集的向量簇进行至少一次聚类合并,使得该子集中的向量簇的数目达到设定的簇数目阈值; 将各子集的向量簇合并为设定簇数目的向量簇后,得到所述词语特征向量集合的向量簇;对于所述词语特征向量集合的每个向量簇,将该向量簇中所包含的词语特征向量所对应的邮件划分为同一类邮件。
4.如权利要求3所述的方法,其特征在于,所述根据该子集中的词语特征向量之间的相似度,对该子集的向量簇进行至少一次聚类合并,使得该子集中的向量簇的数目达到设定的簇数目阈值具体包括: 计算该子集中任意两个词语特征向量之间的相似度; 对于该子集中的每个词语特征向量,将该词语特征向量与其它词语特征向量之间的相似度进行排序,得到该词语特征向量的相似度排序结果;将所述相似度排序结果中的最大相似度,以及与该最大相似度相关联的两个词语特征向量放入到优先级队列后,将该最大相似度从所述相似度排序结果中删除; 对该子集的向量簇进行至少一次聚类合并,在一次聚类合并过程中,包括如下步骤:确定出所述优先级队列中最大的相似度,以及与该相似度相关联的两个词语特征向量;将确定出的两个词语特征向量所分别代表的向量簇合并为同一个向量簇后,确定合并后的向量簇的簇中心;针对所述优先级队列中每个相似度,若判断出与该相似度相关联的两个词语特征向量包含于同一个向量簇中,则从所述优先级队列中删除该相似度以及与其相关联的两个词语特征向量;将确定出的簇中心的当前的相似度排序结果中的最大相似度,以及与该最大相似度相关联的两个词语特征向量放入到所述优先级队列后,将该最大相似度从该簇中心的相似度排序结果中删除; 在一次聚类合并后,若判断该子集的当前的向量簇的数目大于设定的簇数目阈值,则继续进行下一次聚类合并,否则,聚类合并结束,得到该子集的数目达到设定的簇数目阈值的向量簇。
5.如权利要求4所述的方法,其特征在于,所述将各子集的向量簇合并为设定簇数目的向量簇具体包括: 将所述各子集的向量簇作为所述词语特征向量集合的向量簇后,对于所述词语特征向量集合的任意两个向量簇,计算两个簇中心之间的相似度; 清空所述优先级队列后,对于所述词语特征向量集合的每个向量簇的簇中心,将该簇中心与其它向量簇的簇中心之间的相似度进行排序,得到该簇中心的相似度排序结果;将该相似度排序结果中的最大相似度,以及与该最大相似度相关联的两个簇中心放入到所述优先级队列后,将该最大相似度从该相似度排序结果中删除; 针对所述词语特征向量集合中每个向量簇,创建一个包含该向量簇的簇中心的中心簇,并将该向量簇的簇中心作为代表该中心簇的簇中心; 对得到的中心簇进行至少一次聚类合并,在一次中心簇的聚类合并过程中,包括如下步骤: 确定出所述优先级队列中最大的相似度,以及与该相似度相关联的两个簇中心;将确定出的两个簇中心所分别代表的中心簇合并为一个中心簇后,确定合并后的中心簇的簇中心;针对所述优先级队列中每个相似度,若判断出与该相似度相关联的两个簇中心包含于同一个中心簇中,则从所述优先级队列中删除该相似度以及与其相关联的两个簇中心;对于确定出的合并后的中心簇的簇中心,将该簇中心的当前的相似度排序结果中的最大相似度,以及与该最大相似度相关联的两个簇中心放入到所述优先级队列后,将该最大相似度从该簇中心的当前的相似度排序结果中删除; 在一次中心簇的聚类合并后,判断所述词语特征向量集合的当前的中心簇的数目是否大于所述设定簇数目,若是,则继续进行下一次中心簇的聚类合并;否则,中心簇的聚类合并结束,得到数目达到设定簇数目的中心簇后,对于得到的每个中心簇,将该中心簇中所包含的向量簇的簇中心所代表的向量簇合并为同一个向量簇。
6.一种基于聚类的邮件分类系统,其特征在于,包括: 邮件内容分词模块,用于对待分类邮件集合中的每个邮件,将该邮件的邮件内容进行分词,得到该邮件的词语集合;根据得到的各邮件的词语集合确定出所述待分类邮件集合的词语集合; 特征向量确定模块,用于对于所述待分类邮件集合中的每个邮件,根据所述邮件内容分词模块确定出的该邮件的词语集合以及所述待分类邮件集合的词语集合,确定出该邮件的词语特征向量; 向量簇创建模块,用于将所述特征向量确定模块确定出的待分类邮件集合中的所有邮件的词语特征向量组成词语特征向量集合后,对于所述词语特征向量集合中的每个词语特征向量,创建一个包含该词语特征向量的向量簇,并将该词语特征向量作为代表该向量簇的簇中心; 向量簇聚类模块,用于根据所述词语特征向量集合中的词语特征向量之间的相似度,对所述向量簇创建模块得到的向量簇进行至少一次聚类合并,得到数目达到设定的簇数目阈值的向量簇; 邮件分类模块,用于对于所述向量簇聚类模块得到的每个向量簇,将该向量簇中所包含的词语特征向量所对应的邮件划分为同一类邮件。
7.如权利要求6所述的系统,其特征在于,所述向量簇聚类模块包括: 相似度计算单元,用于计算所述词语特征向量集合中任意两个词语特征向量之间的相似度; 相似度排序单元,用于对于所述词语特征向量集合中的每个词语特征向量,将所述相似度计算单元计算得到的该词语特征向量与其它词语特征向量之间的相似度进行排序,得到该词语特征向量的相似度排序结果;将所述相似度排序结果中的最大相似度,以及与该最大相似度的相关联的两个词语特征向量放入到优先级队列后,将该最大相似度从所述相似度排序结果中删除; 聚类单元,用于对所述向量簇创建模块得到的向量簇进行至少一次聚类合并,在一次聚类合并过程中,包括: 确定出所述优先级队列中最大的相似度,以及与该相似度相关联的两个词语特征向量;将确定出的两个词语特征向量所分别代表的向量簇合并为同一个向量簇后,确定合并后的向量簇的簇中心;针对所述优先级队列中每个相似度,若判断出与该相似度相关联的两个词语特征向量包含于同一个向量簇中,则从所述优先级队列中删除该相似度以及与其相关联的两个词语特征向量;从所述相似度排序单元得到的所述簇中心的当前的相似度排序结果中确定出最大相似度,将确定出的最大相似度以及与其相关联的两个词语特征向量放入到所述优先级队列后,将该最大相似度从该簇中心的相似度排序结果中删除; 在一次聚类合并后,若判断当前的向量簇的数目大于设定的簇数目阈值,则继续进行下一次聚类合并,否则,聚类合并结束,得到数目达到设定的簇数目阈值的向量簇。
8.一种基于聚类的邮件分类系统,其特征在于,包括: 邮件内容分词模块,用于对待分类邮件集合中的每个邮件,将该邮件的邮件内容进行分词,得到该邮件的词语集合;根据得到的各邮件的词语集合确定出所述待分类邮件集合的词语集合; 特征向量确定模块,用于对于所述待分类邮件集合中的每个邮件,根据所述邮件内容分词模块确定出的该邮件的词语集合以及所述待分类邮件集合的词语集合,确定出该邮件的词语特征向量; 子集划分模块,用于将所述特征向量确定模块确定出的待分类邮件集合中的所有邮件的词语特征向量组成词语特征向量集合后,将所述词语特征向量集合划分为设定数目的子集; 向量簇创建模块,用于对于所述子集划分模块得到的每个划分的子集,针对该子集中的每个词语特征向量,创建一个该子集的包含该词语特征向量的向量簇,并将该词语特征向量作为代表该向量簇的簇中心; 第一向量簇聚类模块,用于对于所述子集划分模块得到的每个划分的子集,根据该子集中的词语特征向量之间的相似度,对所述向量簇创建模块得到的该子集的向量簇进行至少一次聚类合并,使得该子集中的向量簇的数目达到设定的簇数目阈值; 第二向量簇聚类模块,用于将所述第一向量簇聚类模块得到的各子集的向量簇合并为设定簇数目的向量簇后,得到所述词语特征向量集合的向量簇; 邮件分类模块,用于对于所述第二向量簇聚类模块得到的每个向量簇,将该向量簇中所包含的词语特征向量所对应的邮件划分为同一类邮件。
9.如权利要求8所述的系统,其特征在于,所述第一向量簇聚类模块包括: 向量相似度计算单元,用于计算该子集中任意两个词语特征向量之间的相似度; 向量相似度排序单元,用于对于该子集中的每个词语特征向量,将所述向量相似度计算单元得到的该词语特征向量与其它词语特征向量之间的相似度进行排序,得到该词语特征向量的相似度排序结果;将所述相似度排序结果中的最大相似度,以及与该最大相似度相关联的两个词语特征向量放入到优先级队列后,将该最大相似度从所述相似度排序结果中删除; 向量簇聚类单元,用于对所述向量簇创建模块得到的该子集的向量簇进行至少一次聚类合并,在一次聚类合并过程中,包括: 确定出所述优先级队列中最大的相似度,以及与该相似度相关联的两个词语特征向量;将确定出的两个词语特征向量所分别代表的向量簇合并为同一个向量簇后,确定合并后的向量簇的簇中心;针对所述优先级队列中每个相似度,若判断出与该相似度相关联的两个词语特征向量包含于同一个向量簇中,则从所述优先级队列中删除该相似度以及与其相关联的两个词语特征向量;从所述向量相似度排序单元得到的所述簇中心的当前的相似度排序结果中确定出最大相似度,将确定出的最大相似度以及与其相关联的两个词语特征向量放入到所述优先级队列后,将该最大相似度从该簇中心的相似度排序结果中删除;在一次聚类合并后,若判断该子集的当前的向量簇的数目大于设定的簇数目阈值,则 继续进行下一次聚类合并,否则,聚类合并结束,得到数目达到设定的簇数目阈值的向量簇。
10.如权利要求8所述的系统,其特征在于,所述第二向量簇聚类模块包括: 向量簇组成单元,用于将所述第一向量簇聚类模块得到的各子集的向量簇组成词语特征向量集合的向量簇; 簇中心相似度计算单元,用于根据所述向量簇组成单元得到的词语特征向量集合的向量簇,对于所述词语特征向量集合的任意两个向量簇,计算两个簇中心之间的相似度; 簇中心相似度排序单元,用于清空所述优先级队列后,对于所述词语特征向量集合的每个向量簇的簇中心,将所述簇中心相似度计算单元得到的该簇中心与其它向量簇的簇中心之间的相似度进行排序,得到该簇中心的相似度排序结果;将该相似度排序结果中的最大相似度,以及与该最大相似度相关联的两个簇中心放入到所述优先级队列后,将该最大相似度从该相似度排序结果中删除; 中心簇创建单元,用于针对所述向量簇组成单元得到的词语特征向量集合中每个向量簇,创建一个包含该向量簇的簇中心的中心簇,并将该向量簇的簇中心作为代表该中心簇的簇中心; 中心簇聚类单元,用于对所述中心簇创建单元得到的中心簇进行至少一次聚类合并,在一次中心簇的聚类合并过程中,包括: 确定出所述优先级队列中最大的相似度,以及与该相似度相关联的两个簇中心;将确定出的两个簇中心所分别代表的中心簇合并为同一个中心簇后,确定合并后的中心簇的簇中心;针对所述优先级队列中每个相似度,若判断出与该相似度相关联的两个簇中心包含于同一个中心簇中,则从所述优先级队列中删除该相似度以及与其相关联的两个簇中心;对于确定出的合并后的中心簇的簇中心,从所述簇中心相似度排序单元得到的该簇中心的当前的相似度排序结果中确定出最大相似度,将确定出的最大相似度以及与其相关联的两个簇中心放入到所述优先级队列后,将该最大相似度从该簇中心的当前的相似度排序结果中删除; 在一次中心簇的聚类合并后,判断所述词语特征向量集合的当前的中心簇的数目是否大于所述设定簇数目,若是,则继续进行下一次中心簇的聚类合并;否则,中心簇的聚类合并结束,得到数目达到设定簇数目的中心簇后,发送簇合并指令; 向量簇合并单元,用于在接收到所述中心簇聚类单元发送的簇合并指令后,对于所述中心簇聚类单元得到的每个中心簇,将该中心簇中所包含的向量簇的簇中心所代表的向量簇合并为同一个向量簇。
【文档编号】G06F17/30GK103488689SQ201310392393
【公开日】2014年1月1日 申请日期:2013年9月2日 优先权日:2013年9月2日
【发明者】陈玉焓 申请人:新浪网技术(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1