著录项信息
专利名称 | 一种多模型融合的短文本分类方法 |
申请号 | CN201510808282.2 | 申请日期 | 2015-11-19 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2016-04-06 | 公开/公告号 | CN105468713A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0;;;G;0;6;K;9;/;6;2查看分类表>
|
申请人 | 西安交通大学 | 申请人地址 | 陕西省西安市碑林区咸宁西路28号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 西安交通大学 | 当前权利人 | 西安交通大学 |
发明人 | 鲍军鹏;蒋立华;袁瑞玉;骆玉忠 |
代理机构 | 西安通大专利代理有限责任公司 | 代理人 | 徐文权 |
摘要
本发明公开了一种多模型融合的短文本分类方法,包括学习方法和分类方法两部分;学习方法的步骤包括:对短文本训练数据进行分词、过滤,得到单词集合;计算每个单词的IDF值;计算所有单词的TFIDF值,构建文本向量VSM;基于向量空间模型进行文本学习,构建出本体树模型、关键字重叠模型、朴素贝叶斯模型和支持向量机模型。分类方法的步骤包括:对待分类短文本进行分词、过滤;基于向量空间模型生成文本向量;分别应用本体树模型、关键字重叠模型、朴素贝叶斯模型和支持向量机模型进行分类,得到单一模型分类结果;对单一模型分类结果进行融合,得到最终分类结果。本发明方法融合了多种分类模型,提高了短文本分类准确率。
1.一种多模型融合的短文本分类方法,其特征在于,包括学习方法和分类方法两部分;
1)、学习方法包括以下步骤:
(11)对短文本训练数据进行分词、过滤,得到单词集合;
(12)计算单词集合中每个单词的IDF值;
(13)每一个训练文本求取该文本内所有单词的TFIDF值,然后构建成文本向量,即得到VSM文本向量;
(14)基于VSM文本向量进行文本聚类,并由聚类结果构建出本体树模型,然后在本体树基础上构建出关键字重叠模型;基于VSM文本向量构建出朴素贝叶斯模型;基于VSM文本向量构建出支持向量机模型;
2)、分类方法包括以下步骤:
(21)对待分类文本进行分词、过滤;
(22)每一个待分类文本求取该文本内所有单词的TFIDF值,然后构建成文本向量,即得到VSM文本向量;
(23)应用学习方法所获得的本体树模型进行文本分类得到其分类结果;应用学习方法所获得的关键字重叠模型进行文本分类得到其分类结果;应用学习方法所获得的朴素贝叶斯模型进行文本分类得到其分类结果;应用学习方法所获得的支持向量机模型进行文本分类得到其分类结果;
(24)对上述4种单一模型分类结果进行融合,得到最终分类结果;
构建关键字重叠模型具体包括以下步骤:
(141)对同一类别的文本训练数据用TBC方法进行聚类;
(142)合并聚类结果中的小簇,合并后的簇心向量为被合并训练短文本向量的平均值;
(143)重复(141)和(142),直到所有类别都完成;
(144)由聚类结果生成本体树模型;一个类别的聚类结果,对应着一个子树;在该子树中,父节点是类别名称,下一层是簇标签节点,与聚类得到的簇一一对应,簇标签节点由簇心向量前m个权重最大的词语及其权重组成,叶子节点则对应该簇中原始的训练短文本;m=50;构建本体树的抽象根节点root,所有类别的子树作为root的子节点;得到并保存本体树模型;
(145)由本体树生成关键字重叠模型;统计一个类别中所有簇标签中单词的出现次数,并从大到小进行排序;按照下式计算类别ci中关键词tj的局部权重w(ci,tj):
其中,f(ci,tj)表示关键词tj在类别ci中的排位次序;类别ci中出现最多的关键词排位为0,出现次多的关键词排位为1,依次类推;ni表示类别ci中不同单词的数目,b为用户设置的系统参数,b=0.2;
然后统计关键词tj在所有类别中的次数,根据下式计算关键词tj的全局权重w(tj)其中,f(tj)表示关键词tj在多少个类别中出现过,N表示所有不同单词的数目;记录每个关键词在每个类别中的局部权重,及其全局权重,保存为关键字重叠模型;
构建朴素贝叶斯模型具体包括以下步骤:
(151)对于所有训练文本统计分别每个类别的出现概率P(ci),其中ci表示一个类别;
(152)对单词集中的每一个单词,统计该单词在每个类别出现概率P(tj|ci),其中ci表示一个类别,tj表示一个单词;
(153)将上述类别和单词所对应的概率值保存到文件中,构成朴素贝叶斯模型;
构建支持向量机模型具体包括以下步骤:
(161)把训练数据转换成支持向量机软件包LibLinear所需数据格式;
(162)利用LibLinear训练支持向量机模型;
(163)将训练结果保存为支持向量机模型;
TBC方法具体包括以下步骤:
(1411)取第一条数据单独为一个簇,并作为簇中心;
(1412)依次取后续数据并计算该数据与当前所有簇中心的余弦相似性,获得相似度;
如果该相似度大于给定阈值0.09则将该数据放入与其相似度最大的簇中,并调整该簇中心;如果该相似度小于给定阈值则将该数据单独生成一个簇,并作为簇中心;
(1413)按照上述过程把所有数据处理完之后,再次遍历所有数据,依次取一条数据,计算该数据与当前所有簇中心的余弦相似度,然后将该数据放入与其最相似的簇中;如此处理完一遍所有数据并调整当前所有的簇中心;
(1414)如果簇中心有变化,则重复过程(1413)直至簇中心不再变化为止;当簇中心不再变化时,聚类结束。
2.根据权利要求1所述多模型融合的短文本分类方法,其特征在于,学习方法第(11)步对文本进行分词、过滤具体包括以下步骤:
(111)对文本数据,用中文分词工具进行分词,将每一个句子分割成一系列单词及其词性;
(112)对每个单词按照其词性进行过滤,滤除不需要的单词;
(113)由所有文本数据过滤后的单词生成单词集合。
3.根据权利要求2所述多模型融合的短文本分类方法,其特征在于,步骤(112)中采用以下两种过滤机制中一种:
第一种过滤机制中不需要的单词包括:停用词,长度为1的单词,纯数字以及以数字开头的单词;
第二种过滤机制中不需要的单词包括:代词、量词、介词、连词、助词、叹词、语气词、拟声词、标点符号。
4.根据权利要求1所述多模型融合的短文本分类方法,其特征在于,
应用学习方法所获得的本体树模型进行文本分类得到其分类结果,具体包括以下步骤:
(231)计算待分类文本向量与本体树中簇标签的余弦相似度;
(232)按照相似度从大到小进行排序;
(233)选择相似度最大的前k个簇标签,k=20;这些簇标签父节点所标记类别即为待分类文本类别;
(234)相似度最大者所对应类别强度值记为20,次大者对应类别强度值减小1,后续者依次减1;
应用学习方法所获得的关键字重叠模型进行文本分类得到其分类结果;具体包括以下步骤:
(241)在关键词重叠模型中,按照下式计算待分类文本T属于类别ci的权重v(T,ci):
其中,T=[t1,t2,……,tn],表示待分类文本的VSM向量;w(ci,tj)表示关键词重叠模型中关键词tj对类别ci的局部权重;w(tj)表示关键词重叠模型中关键词tj的全局权重;
(242)重复(241),计算待分类文本对所有类别的权重;
(243)按照权重从大到小进行排序;
(244)选择权重最大的前k个类别,这些类别即为待分类文本类别;
(245)权重最大者所对应类别强度值记为20,次大者对应类别强度值减小1,后续者依次减1;
应用学习方法所获得的朴素贝叶斯模型进行文本分类得到其分类结果;具体包括以下步骤:
(251)按照下式计算待分类文本T属于类别ci的可能性Q(ci|T);
如果类别ci中不包含关键词tj,tj∈T,则P(tj|ci)=ε,ε是
(252)重复(251),计算待分类文本对所有类别的可能性;
(253)按照可能性从大到小进行排序;
(254)选择可能性最大的前k个类别;这些类别即为待分类文本类别;
(255)可能性最大者所对应类别强度值记为20,次大者对应类别强度值减小1,后续者依次减1;
应用学习方法所获得的支持向量机模型进行文本分类得到其分类结果;具体包括以下步骤:
(261)对待分类文本向量分别用支持向量机模型中的所有分类器进行一次分类,得到每个类别的决策值;
(262)按照决策值从大到小进行排序;
(263)选择决策值最大的前k个类别;这些类别即为待分类文本类别;
(264)权重最大者所对应类别强度值记为20,次大者对应类别强度值减小1,后续者依次减1。
5.根据权利要求1所述多模型融合的短文本分类方法,其特征在于,按照以下公式对4种单一模型分类结果进行融合:
其中,R(ci|t)表示待分类文本t属于类别ci的最终类别强度值,α为调节因子,0≤α≤1,SVM(ci|t)表示支持向量机模型判定文本t属于类别ci的类别强度值,Onto1(ci|t)表示本体树模型判定文本t属于类别ci的类别强度值,Onto2(ci|t)表示关键字重叠模型判定文本t属于类别ci的类别强度值,Bayes(ci|t)表示朴素贝叶斯模型判定文本t属于类别ci的类别强度值。
6.根据权利要求1所述多模型融合的短文本分类方法,其特征在于,所述训练数据和待分类数据都是自然语言短文本,并且一个待分类文本会有多个不同强度的类别结果。
一种多模型融合的短文本分类方法\n【技术领域】\n[0001] 本发明属于智能信息处理和计算机技术领域,具体涉及一种短文本分类方法。\n【背景技术】\n[0002] 随着互联网快速发展,各种网络应用深入到社会生活的方方面面。以微博、微信为代表的各种社交应用,以及各种网络评论、反馈机制已经成为现代社会发布和获取信息的重要渠道。在微博上,网民可以表达自己的心情、经历以及感悟,政府可以发布通告和各种信息,人们也可以自由地表达对某些事的观点和见解等等。\n[0003] 微博、微信、网络评论等数据都是字数有限的文本信息。这些数据都是典型的文本短文,即短文本。通过对微博类短文本数据进行挖掘,可以获取社会关注热点、群众呼声和意见反馈、突发事件传播、舆论倾向等等影响社会舆情的重要信息,可以为相关部门及时快速地收集传递公民意见和建议。\n[0004] 短文本挖掘的一个基本应用就是对短文本进行分类,根据文本内容对文本进行分门别类地汇总。自然语言文本包含着复杂的信息。一篇文本往往可以对应多个分类目标。也就是说,短文本分类是一个复杂的多标签分类问题。解决分类问题常用的方法包括朴素贝叶斯分类、决策树分类、支持向量机分类、神经网络分类等等。但是这些单一分类方法的适应性和分类效果在实践应用中还不能完全满足需求。\n【发明内容】\n[0005] 本发明的目的在于提供一种多模型融合的短文本分类方法,能够对短文本进行比较准确的多标签分类。\n[0006] 为了实现上述目的,本发明采用如下技术方案:\n[0007] 一种多模型融合的短文本分类方法,包括学习方法和分类方法两部分;\n[0008] 1)、学习方法包括以下步骤:\n[0009] (11)对短文本训练数据进行分词、过滤,得到单词集合;\n[0010] (12)计算单词集合中每个单词的IDF值;\n[0011] (13)每一个训练文本求取该文本内所有单词的TFIDF值,然后构建成文本向量,即得到VSM文本向量;\n[0012] (14)基于VSM文本向量进行文本聚类,并由聚类结果构建出本体树模型,然后在本体树基础上构建出关键字重叠模型;基于VSM文本向量构建出朴素贝叶斯模型;基于VSM文本向量构建出支持向量机模型;\n[0013] 2)、分类方法包括以下步骤:\n[0014] (21)对待分类文本进行分词、过滤;\n[0015] (22)每一个待分类文本求取其所有单词的TFIDF值,然后构建成文本向量,即得到VSM文本向量;\n[0016] (23)应用学习方法所获得的本体树模型进行文本分类得到其分类结果;应用学习方法所获得的关键字重叠模型进行文本分类得到其分类结果;应用学习方法所获得的朴素贝叶斯模型进行文本分类得到其分类结果;应用学习方法所获得的支持向量机模型进行文本分类得到其分类结果;\n[0017] (24)对上述4种单一模型分类结果进行融合,得到最终分类结果。\n[0018] 进一步的,学习方法第(11)步对文本进行分词、过滤具体包括以下步骤:\n[0019] (111)对文本数据,用中文分词工具进行分词,将每一个句子分割成一系列单词及其词性;\n[0020] (112)对每个单词按照其词性进行过滤,滤除不需要的单词,共有两种过滤机制。\n第一种过滤机制不需要的单词包括:停用词,长度为1的单词,纯数字以及以数字开头的单词。保留的单词包括:名词、机构团体名、其它专名、名词性惯用语、名词性语素、动词、名动词、趋向动词、形式动词、不及物动词(内动词)、动词性惯用语、动词性语素。第二种过滤机制不需要的单词包括:代词、量词、介词、连词、助词、叹词、语气词、拟声词、标点符号;\n[0021] (113)由所有文本数据过滤后的单词生成单词集合。\n[0022] 进一步的,构建关键字重叠模型具体包括以下步骤:\n[0023] (141)对同一类别的文本训练数据用TBC方法进行聚类;\n[0024] (142)合并聚类结果中的小簇,合并后的簇心向量为被合并训练短文本向量的平均值;\n[0025] (143)重复(141)和(142),直到所有类别都完成;\n[0026] (144)由聚类结果生成本体树模型;一个类别的聚类结果,对应着一个子树;在该子树中,父节点是类别名称,下一层是簇标签节点,与聚类得到的簇一一对应,簇标签节点由簇心向量前m(m默认值为50)个权重最大的词语及其权重组成,叶子节点则对应该簇中原始的训练短文本;构建本体树的抽象根节点root,所有类别的子树作为root的子节点;得到并保存本体树模型;\n[0027] (145)由本体树生成关键字重叠模型;统计一个类别中所有簇标签中单词的出现次数,并从大到小进行排序;按照下式计算类别ci中关键词tj的局部权重w(ci,tj):\n[0028]\n[0029] 其中,f(ci,tj)表示关键词tj在类别ci中的排位次序;类别ci中出现最多的关键词排位为0,出现次多的关键词排位为1,依次类推;ni表示类别ci的中不同单词的数目,b(b默认值为0.2)为用户设置的系统参数;\n[0030] 然后统计关键词tj在所有类别中的次数,根据下式计算关键词tj的全局权重w(tj)[0031]\n[0032] 其中,f(tj)表示关键词tj在多少个类别中出现过,N表示所有不同单词的数目;记录每个关键词在每个类别中的局部权重,及其全局权重,保存为关键字重叠模型;\n[0033] 构建朴素贝叶斯模型具体包括以下步骤:\n[0034] (151)对于所有训练文本统计分别每个类别的出现概率P(ci),其中ci表示一个类别;\n[0035] (152)对单词集中的每一个单词,统计该单词在每个类别出现概率P(tj|ci),其中ci表示一个类别,tj表示一个单词;\n[0036] (153)将上述类别和单词所对应的概率值保存到文件中,构成朴素贝叶斯模型;\n[0037] 构建支持向量机模型具体包括以下步骤:\n[0038] (161)把训练数据转换成支持向量机软件包LibLinear所需数据格式;\n[0039] (162)利用LibLinear训练支持向量机模型;\n[0040] (163)将训练结果保存为支持向量机模型。\n[0041] 进一步的,TBC方法具体包括以下步骤:\n[0042] (1411)取第一条数据单独为一个簇,并作为簇中心;\n[0043] (1412)依次取后续数据并计算该数据与当前所有簇中心的余弦相似性;如果该相似度大于给定阈值(默认值为0.09)则将该数据放入与其相似度最大的簇中,并调整该簇中心;如果该相似度小于给定阈值则将该数据单独生成一个簇,并作为簇中心;\n[0044] (1413)按照上述过程把所有数据处理完之后,再次遍历所有数据,依次取一条数据,计算该数据与当前所有簇中心的余弦相似度,然后将该数据放入与其最相似的簇中;如此处理完一遍所有数据并调整当前所有的簇中心;\n[0045] (1414)如果簇中心有变化,则重复过程(1413)直至簇中心不再变化为止;当簇中心不再变化时,聚类结束。\n[0046] 进一步的,应用学习方法所获得的本体树模型进行文本分类得到其分类结果,具体包括以下步骤:\n[0047] (231)计算待分类文本向量与本体树中簇标签的余弦相似度;\n[0048] (232)按照相似度从大到小进行排序;\n[0049] (233)选择相似度最大的前k(k默认值为20)个簇标签;这些簇标签父节点所标记类别即为待分类文本类别;\n[0050] (234)相似度最大者所对应类别强度值记为20,次大者对应类别强度值减小1,后续者依次减1;\n[0051] 应用学习方法所获得的关键字重叠模型进行文本分类得到其分类结果;具体包括以下步骤:\n[0052] (241)在关键词重叠模型中,按照下式计算待分类文本T属于类别ci的权重v(T,ci):\n[0053]\n[0054] 其中,T=[t1,t2,……,tn],表示待分类文本的VSM向量;w(ci,tj)表示关键词重叠模型中关键词tj对类别ci的局部权重;w(tj)表示关键词重叠模型中关键词tj的全局权重;\n[0055] (242)重复(241),计算待分类文本对所有类别的权重;\n[0056] (243)按照权重从大到小进行排序;\n[0057] (244)选择权重最大的前k(k默认值为20)个类别,这些类别即为待分类文本类别;\n[0058] (245)权重最大者所对应类别强度值记为20,次大者对应类别强度值减小1,后续者依次减1;\n[0059] 应用学习方法所获得的朴素贝叶斯模型进行文本分类得到其分类结果;具体包括以下步骤:\n[0060] (251)按照下式计算待分类文本T属于类别ci的可能性Q(ci|T);\n[0061]\n[0062] 如果类别ci中不包含关键词tj(tj∈T),则P(tj|ci)=ε,ε是\n[0063] (252)重复(251),计算待分类文本对所有类别的可能性;\n[0064] (253)按照可能性从大到小进行排序;\n[0065] (254)选择可能性最大的前k(k默认值为20)个类别;这些类别即为待分类文本类别;\n[0066] (255)可能性最大者所对应类别强度值记为20,次大者对应类别强度值减小1,后续者依次减1;\n[0067] 应用学习方法所获得的支持向量机模型进行文本分类得到其分类结果;具体包括以下步骤:\n[0068] (261)对待分类文本向量分别用支持向量机模型中的所有分类器进行一次分类,得到每个类别的决策值;\n[0069] (262)按照决策值从大到小进行排序;\n[0070] (263)选择决策值最大的前k(k默认值为20)个类别;这些类别即为待分类文本类别;\n[0071] (264)权重最大者所对应类别强度值记为20,次大者对应类别强度值减小1,后续者依次减1。\n[0072] 进一步的,按照以下公式对4种单一模型分类结果进行融合:\n[0073]\n[0074] 其中,R(ci|t)表示待分类文本t属于类别ci的最终类别强度值,α为调节因子,0≤α≤1,SVM(ci|t)表示支持向量机模型判定文本t属于类别ci的类别强度值,Onto1(ci|t)表示本体树模型判定文本t属于类别ci的类别强度值,Onto2(ci|t)表示关键字重叠模型判定文本t属于类别ci的类别强度值,Bayes(ci|t)表示朴素贝叶斯模型判定文本t属于类别ci的类别强度值。\n[0075] 进一步的,所述训练数据和待分类数据都是自然语言短文本,并且一个待分类文本会有多个不同强度的类别结果。\n[0076] 相对于现有技术,本发明具有以下有益效果:\n[0077] 自然语言文本包含着复杂的信息。一篇文本往往可以对应多个分类目标。也就是说,短文本分类是一个复杂的多标签分类问题。现有的常用方法包括朴素贝叶斯分类、决策树分类、支持向量机分类、神经网络分类等等都是应用单一模型进行文本分类。但是这些单一模型分类方法的适应性和分类效果在实践应用中还不能完全满足需求。\n[0078] 本发明提供了一种多模型融合的短文本分类方法,能够对短文本进行比较准确的多标签分类。相对于对单一模型分类方法而言,本发明所述方法融合了多种分类模型,提高了短文本分类准确率,增强了方法适应性。\n【附图说明】\n[0079] 图1是本发明训练方法的流程图;\n[0080] 图2是本发明所述构建本体树模型的流程图;\n[0081] 图3是本发明所述构建的本体树示意图;\n[0082] 图4是本发明所述构建朴素贝叶斯模型的流程图;\n[0083] 图5是本发明分类方法的流程图;\n[0084] 图6是本发明所述TBC聚类方法流程图。\n【具体实施方式】\n[0085] 本发明一种多模型融合的短文本分类方法,包括学习方法和分类方法两部分。学习方法和分类方法分别实现不同的功能。\n[0086] (1)、学习方法包括以下步骤:\n[0087] (11)对短文本训练数据进行分词、过滤,得到单词集合;\n[0088] (12)计算单词集合中每个单词的IDF值;\n[0089] (13)求取步骤1)中每一个训练短文本内所有单词的TFIDF值,然后构建成文本向量,即得到VSM文本向量;\n[0090] (14)基于VSM文本向量进行文本聚类,并由聚类结果构建出本体树模型,然后在本体树基础上构建出关键字重叠模型;\n[0091] (15)基于VSM文本向量构建出朴素贝叶斯模型;\n[0092] (16)基于VSM文本向量构建出支持向量机模型。\n[0093] 上述(14)、(15)、(16)步可以并行执行或者以任意顺序执行。\n[0094] (2)、分类方法包括以下步骤:\n[0095] (21)对待分类文本进行分词、过滤;\n[0096] (22)求取每一个待分类文本的所有单词的TFIDF值,然后构建成文本向量,即得到VSM文本向量;\n[0097] (23)应用学习方法所获得的本体树模型进行待分类文本分类得到其分类结果;\n[0098] (24)应用学习方法所获得的关键字重叠模型进行待分类文本分类得到其分类结果;\n[0099] (25)应用学习方法所获得的朴素贝叶斯模型进行待分类文本分类得到其分类结果;\n[0100] (26)应用学习方法所获得的支持向量机模型进行待分类文本分类得到其分类结果;\n[0101] (27)对步骤(23)-(26)应用上述4种单一模型的分类结果进行融合,得到最终分类结果。\n[0102] 上述(23)、(24)、(25)、(26)步可以并行执行或者以任意顺序执行。\n[0103] 学习方法第(11)步具体包括以下步骤:\n[0104] (111)对文本数据(训练数据),用中科院的中文分词工具ICTCLAS2015进行分词,将每一个句子分割成一系列单词及其词性;\n[0105] (112)对每个单词按照其词性进行过滤,滤除不需要的单词,共有两种过滤机制。\n第一种过滤机制不需要的单词包括:停用词,长度为1的单词,纯数字以及以数字开头的单词。保留的单词包括:名词、机构团体名、其它专名、名词性惯用语、名词性语素、动词、名动词、趋向动词、形式动词、不及物动词(内动词)、动词性惯用语、动词性语素。第二种过滤机制不需要的单词包括:代词、量词、介词、连词、助词、叹词、语气词、拟声词、标点符号。单词过滤机制可以缩小数据量,达到降维效果;\n[0106] (113)由所有文本数据过滤后的单词生成单词集合。\n[0107] 学习方法第(14)步具体包括以下步骤:\n[0108] (141)对属于同一类别的文本训练数据用TBC(Threshold Based Clustering)方法进行聚类;\n[0109] (142)合并聚类结果中的小簇,即所含数据数目小于指定阈值(阈值的默认值为3)的簇被合并为一个簇,合并后的簇心向量为被合并训练短文本向量的平均值;\n[0110] (143)重复(141)和(142),直到所有类别都完成;\n[0111] (144)由聚类结果生成本体树模型;一个类别的聚类结果,对应着一个子树。在该子树中,父节点是类别名称,下一层是簇标签节点,与聚类得到的簇一一对应,簇标签节点由簇心向量前m(m默认值为50)个权重最大的词语及其权重组成,叶子节点则对应该簇中原始的训练短文本。构建本体树的抽象根节点root,所有类别的子树作为root的子节点。得到并保存本体树模型;\n[0112] (145)由本体树模型生成关键字重叠模型。一个类别中可能有多个簇标签,统计一个类别中所有簇标签中单词的出现次数,并从大到小进行排序。按照下式计算类别ci中关键词tj的局部权重w(ci,tj)。\n[0113]\n[0114] 其中,f(ci,tj)表示关键词tj在类别ci中的排位次序,即类别ci中出现最多的关键词排位为0,出现次多的关键词排位为1,依次类推。ni表示类别ci的中不同单词的数目,b(b默认值为0.2)为用户设置的系统参数。\n[0115] 然后统计关键词tj在所有类别中的次数,根据下式计算关键词tj的全局权重w(tj)[0116]\n[0117] 其中,f(tj)表示关键词tj在多少个类别中出现过,N表示所有不同单词的数目,b为用户设置的系统参数;记录每个关键词在每个类别中的局部权重,及其全局权重,保存为关键字重叠模型。\n[0118] 学习方法的第(141)步中的TBC方法(Threshold Based Clustering)具体包括以下步骤:\n[0119] (1411)取第一条数据单独为一个簇,并作为簇中心;\n[0120] (1412)依次取后续数据并计算该数据与当前所有簇中心的余弦相似性;如果该相似度大于给定阈值(默认值为0.09)则将该数据放入与其相似度最大的簇中,并调整该簇中心;如果该相似度小于给定阈值则将该数据单独生成一个簇,并作为簇中心;\n[0121] (1413)按照上述过程把所有数据处理完之后,再次遍历所有数据,依次取一条数据,计算该数据与当前所有簇中心的余弦相似度,然后将该数据放入与其最相似的簇中;如此处理完一遍所有数据并调整当前所有的簇中心;\n[0122] (1414)如果簇中心有变化,则重复过程(1413)直至簇中心不再变化为止;当簇中心不再变化时,聚类结束。\n[0123] 学习方法第(15)步具体包括以下步骤:\n[0124] (151)对于所有训练文本统计分别每个类别的出现概率P(ci),其中ci表示一个类别;\n[0125] (152)对单词集中的每一个单词,统计该单词在每个类别出现概率P(wj|ci),其中ci表示一个类别,wj表示一个单词;\n[0126] (153)将上述类别和单词所对应的概率值保存到文件中,构成朴素贝叶斯模型。\n[0127] 学习方法第(16)步具体包括以下步骤:\n[0128] (161)把训练数据转换成支持向量机软件包LibLinear(v1.95)所需数据格式;\n[0129] (162)利用LibLinear训练支持向量机模型;\n[0130] (163)将训练结果保存为支持向量机模型。\n[0131] 分类方法第(23)步具体包括以下步骤:\n[0132] (231)计算待分类文本向量与本体树中簇标签的余弦相似度;\n[0133] (232)按照相似度从大到小进行排序;\n[0134] (233)选择相似度最大的前k(k默认值为20)个簇标签;这些簇标签父节点所标记类别即为待分类文本类别;\n[0135] (234)相似度最大者所对应类别强度值记为20,次大者对应类别强度值减小1(即为19),后续者依次减1。\n[0136] 分类方法第(24)步具体包括以下步骤:\n[0137] (241)在关键词重叠模型中,按照下式计算待分类文本T属于类别ci的权重v(T,ci):\n[0138]\n[0139] 其中,T=[t1,t2,……,tn],表示待分类文本的VSM向量。w(ci,tj)表示关键词重叠模型中关键词tj对类别ci的局部权重。W(tj)表示关键词重叠模型中关键词tj的全局权重。\n[0140] (242)重复(241),计算待分类文本对所有类别的权重;\n[0141] (243)按照权重从大到小进行排序;\n[0142] (244)选择权重最大的前k(k默认值为20)个类别,这些类别即为待分类文本类别;\n[0143] (245)权重最大者所对应类别强度值记为20,次大者对应类别强度值减小1(即为\n19),后续者依次减1。\n[0144] 分类方法第(25)步具体包括以下步骤:\n[0145] (251)按照下式计算待分类文本T属于类别ci的可能性Q(ci|T);\n[0146]\n[0147] 如果类别ci中不包含关键词tj(tj∈T),则P(tj|ci)=ε,ε是\n[0148] (252)重复(251),计算待分类文本对所有类别的可能性;\n[0149] (253)按照可能性从大到小进行排序;\n[0150] (254)选择可能性最大的前k(k默认值为20)个类别;这些类别即为待分类文本类别;\n[0151] (255)可能性最大者所对应类别强度值记为20,次大者对应类别强度值减小1(即为19),后续者依次减1。\n[0152] 分类方法第(26)步具体包括以下步骤:\n[0153] (261)对待分类文本向量分别用支持向量机模型中的所有分类器进行一次分类,得到每个类别的决策值;\n[0154] (262)按照决策值从大到小进行排序;\n[0155] (263)选择决策值最大的前k(k默认值为20)个类别;这些类别即为待分类文本类别;\n[0156] (264)权重最大者所对应类别强度值记为20,次大者对应类别强度值减小1(即为\n19),后续者依次减1。\n[0157] 分类方法第(27)步按照以下公式对4种单一模型分类结果进行融合:\n[0158]\n[0159] 其中,R(ci|t)表示待分类文本t属于类别ci的最终类别强度值,α(0≤α≤1)为调节因子,SVM(ci|t)表示支持向量机模型判定文本t属于类别ci的类别强度值,Onto1(ci|t)表示本体树模型判定文本t属于类别ci的类别强度值,Onto2(ci|t)表示关键字重叠模型判定文本t属于类别ci的类别强度值,Bayes(ci|t)表示朴素贝叶斯模型判定文本t属于类别ci的类别强度值。\n[0160] 本发明中训练数据和待分类数据都是自然语言短文本,并且一个待分类文本会有多个不同强度的类别结果。\n[0161] 以下是发明人给出的较佳示例。\n[0162] 参照图1,图1是本发明训练方法的流程图。\n[0163] 首先进行步骤101,读入训练文本数据,然后步骤102利用分词工具ICTCLAS2015对训练短文本数据进行分词。接着进行步骤103,利用按照不同过滤机制对单词进行过滤,共有两种过滤机制。第一种过滤机制不需要的单词包括:停用词,长度为1的单词,纯数字以及以数字开头的单词。保留的单词包括:名词、机构团体名、其它专名、名词性惯用语、名词性语素、动词、名动词、趋向动词、形式动词、不及物动词(内动词)、动词性惯用语、动词性语素。第二种过滤机制不需要的单词包括:代词、量词、介词、连词、助词、叹词、语气词、拟声词、标点符号。然后进行步骤104,基于过滤得到的单词集合,生成IDF。接着步骤105计算TFIDF向量,构建文本向量VSM。基于步骤105生成的IDF以及VSM向量,步骤106构建本体树模型,步骤110得到并保存本体树模型。基于步骤106构建的本体树模型,步骤109构建关键字重叠模型,步骤111得到并保存关键字重叠模型。基于步骤105生成的IDF以及VSM向量,步骤\n107训练朴素贝叶斯模型,步骤112得到并保存贝叶斯模型。接下来进行步骤108,基于步骤\n105生成的IDF以及VSM向量,训练支持向量机SVM模型。步骤113得到并保存支持向量机模型。得到并保存四个训练模型后,训练过程结束。步骤106,107,108可以并行执行或者以任意顺序执行。\n[0164] 参照图2,图2是本发明构建本体树模型的流程图。\n[0165] 首先进行步骤201,对于已知类别的训练短文本,按照类别进行统计。然后进行步骤202,以类别为单位,获取未聚类的类别C。接着进行步骤203,对属于类别C的所有训练数据按照TBC方法进行聚类。在步骤204中,合并聚类结果中簇中元素数目小于阈值的簇,作为一个新的簇,簇心为该簇中所有数据的向量平均值。步骤205用于判断是否存在未聚类的类别,如果存在,则继续进行步骤202,否则聚类结束。接下来进行步骤206,获取为构建子树的类别C。步骤207用于构建类别C对应的子树,父节点是类别名称,下一层是簇标签节点,与聚类得到的簇一一对应,簇标签节点由簇心向量前m个权重最大的词语及其权重组成,叶子节点则对应该簇中原始的训练短文本。步骤208判断是否存在未构建子树的类别,如果存在,则继续进行步骤206,否则进行步骤209,用于构建完整的本体树,生成本体树的抽象根节点root,所有类别的子树作为root的子节点。最后步骤210得到并保存本体树模型。至此,构建本体树模型的过程结束。\n[0166] 参照图3,图3是本发明构建的本体树示意图。\n[0167] 在构建的本体树的示意图中,301所示部分是本体树的第一层,即抽象根节点。302所示部分是本体树的第二层,表示最高层的概念,即大类别,例如:“行政体制改革”、“能源管理”、“科技”、“保险证券期货”等等。303所示部分是本体树的第三层,即次一级的概念,表示较小类别,例如“行政体制改革”类别下面包括“机构改革”、“政务公开”、“简政放权”、“其他”等小类别。304所示部分是本体树的第四层簇标签,每个小类下包含多个簇,簇标签用于标识其子节点中短文本的主题。而305所示部分是本体树的第五层叶子节点,对应着原始短文本的VSM向量。\n[0168] 参照图4,图4是本发明构建朴素贝叶斯模型的流程图。\n[0169] 首先进行步骤401,统计训练短文本的数目。然后在步骤402中,获取尚未考虑的类别C。接着步骤403统计训练短文本中属于类别C的短文本数目。步骤404计算训练文本中类别C的出现概率P(C)。然后步骤405统计类别C中所有单词的次数之和。步骤406统计类别C中每个单词t出现的次数。步骤407计算每个单词t在类别C中的出现概率P(t|C)。接着进行步骤408,判断是否存在未统计的类别,如果是,则继续执行步骤402,否则执行步骤409,保存朴素贝叶斯模型。\n[0170] 参照图5,图5是本发明分类方法的流程图。\n[0171] 首先进行步骤501,读入待分类文本数据,然后步骤502利用分词工具ICTCLAS2015对训练短文本数据进行分词。接着进行步骤503,利用按照不同过滤机制对单词进行过滤。\n然后步骤504计算TFIDF向量,构建文本向量VSM。接着步骤505基于本体树模型进行分类,得到本体树分类结果,步骤506基于关键字重叠模型进行分类,得到关键字重叠模型分类结果,步骤507基于朴素贝叶斯模型进行分类,得到朴素贝叶斯分类结果,步骤508基于支持向量机SVM模型进行分类,得到支持向量机分类结果。在步骤509中,对上述四种模型的分类结果进行融合,步骤510输出最终的分类结果。步骤505,506,507,508可以并行执行或者以任意顺序执行。\n[0172] 参照图6,图6是本发明TBC聚类方法流程图。\n[0173] 首先进行步骤601,取第一条数据单独为一个簇,并作为簇中心。然后进行步骤\n602,判断数据是否处理完。如果未处理完所有数据,则执行步骤603,取下一条数据。接着执行步骤604,计算该数据与当前所有簇中心的余弦相似度。然后执行步骤605,判断该数据是否与某个簇中心的距离大于指定阈值。如果大于指定阈值,则执行步骤606,将该数据放入与其距离最小的簇中,并调整该簇中心,然后转至步骤602。否则,执行步骤607,将该数据单独生成一个簇,并作为簇中心,然后转至步骤602。如果所有数据已经处理完,则执行步骤\n608,取第一条数据。然后执行步骤609,判断数据是否处理完。如果未处理完所有数据,则执行步骤610,计算该数据与当前所有簇中心的余弦相似度。接着执行步骤611,将该数据放入与其距离最近的簇中。然后执行步骤612,取下一条数据。然后转至步骤609。如果所有数据已经处理完,则执行步骤613,判断聚类结果是否发生变化。如果聚类结果发生了变化,则执行步骤614,调整变化簇的簇中心,然后转至步骤608。如果聚类结果无变化,则TBC聚类过程结束。
法律信息
- 2018-07-17
- 2016-05-04
实质审查的生效
IPC(主分类): G06F 17/30
专利申请号: 201510808282.2
申请日: 2015.11.19
- 2016-04-06
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2015-07-15
|
2015-04-08
| | |
2
| |
2013-03-06
|
2012-11-09
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |