一种建立数据分类模型的方法和装置与流程

文档序号:12824804阅读:224来源:国知局
一种建立数据分类模型的方法和装置与流程
本发明涉及数据处理
技术领域
,具体涉及一种建立数据分类模型的方法和装置。
背景技术
:文本分类技术,是一种基于统计学思想对文本信息进行分析,对不同类族的区域进行规则划分,最终创建出分类模型,使后续的文本能达到准确归类的一门技术,现在已经形成了比较成熟的计算体系,如文本特征化—分类模型创建—分类预测。现在的分类技术,采用了单一文本特选择算法进行文本特征化,得到特征文件,采用单一分类器读取特征文件进行分类模型创建和分类预测操作。该方案的缺点是:策略单一,针对不同领域和质量的训练数据,准确率和稳定性保障不了。技术实现要素:鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的建立数据分类模型的方法和装置。依据本发明的一个方面,提供了一种建立数据分类模型的方法,该方法包括:获取指定业务类型的源数据及该源数据的类别信息,建立多个分类模型;分别对所述多个分类模型进行测试,将测试分数最高的分类模型作为最优分类模型,根据该最优分类模型对指定业务类型的数据进行分类;其中,建立每个分类模型包括:从源数据中随机抽取部分数据;对所述部分数据进行分词,得到多个词;对于每个类别信息,利用特征选择算法计算各词与该类别信息之间的关联值,将关联值高于第一预设值的词放入该类别信息的特征词集中;将各特征词集及其类别信息一同输入分类器中,利用分类器建立相应的分类模型。可选地,所述多个分类模型中包括:利用相同的特征选择算法和相同的分类器建立的多个分类模型;和/或,利用不同的特征选择算法和/或不同的分类器建立的多个分类模型。可选地,该方法进一步包括:提供用户输入接口,通过该用户输入接口接收用户输入的训练次数和期望值;所述建立多个分类模型包括:对于每个特征选择算法和每个分类器,利用该特征选择算法和该分类器建立符合所述训练次数的数量的分类模型;所述将测试分数最高的分类模型作为最优分类模型包括:将测试分数最高且满足期望值的分类模型作为最终的数据分类模型。可选地,在所述对所述部分数据进行分词操作之前,该方法进一步包括:提供用户输入接口,通过该用户输入接口接收用户输入的过滤规则;根据该过滤规则对所述部分数据进行过滤。可选地,所述分别对所述多个分类模型进行测试包括:获取多个测试数据及各测试数据的类别信息;对于每个分类模型,分别将各测试数据输入到该分类模型中,得到该分类模型对各测试数据的分类结果;将所述多个测试数据中分类结果命中相应的类别信息的概率作为该分类模型的测试分数。可选地,所述利用特征选择算法计算各词与该类别信息之间的关联值包括:对于每个词,利用chi算法或close算法计算该词与该类别信息之间的关联值。可选地,所述将各特征词集与对应的类别信息一同输入分类器中包括:将各特征词集与对应的类别信息一同输入liblinear分类器或libsvm分类器中。依据本发明的另一个方面,提供了一种建立数据分类模型的装置,该装置包括:数据获取单元,适于获取指定业务类型的源数据及该源数据的类别信息,模型建立单元,适于根据所获取的源数据及源数据的类别信息,建立多个分类模型;其中,建立每个分类模型包括:从源数据中随机抽取部分数据;对所述部分数据进行分词,得到多个词;对于每个类别信息,利用特征选择算法计算各词与该类别信息之间的关联值,将关联值高于第一预设值的词放入该类别信息的特征词集中;将各特征词集及其类别信息一同输入分类器中,利用分类器建立相应的分类模型;模型选择单元,适于分别对所述多个分类模型进行测试,将测试分数最高的分类模型作为最优分类模型,根据该最优分类模型对指定业务类型的数据进行分类。可选地,所述多个分类模型中包括:利用相同的特征选择算法和相同的分类器建立的多个分类模型;和/或,利用不同的特征选择算法和/或不同的分类器建立的多个分类模型。可选地,数据获取单元,进一步适于提供用户输入接口,通过该用户输入接口接收用户输入的训练次数和期望值;模型建立单元,适于对于每个特征选择算法和每个分类器,利用该特征选择算法和该分类器建立符合所述训练次数的数量的分类模型;模型选择单元,适于将测试分数最高且满足期望值的分类模型作为最终的数据分类模型。可选地,数据获取单元,进一步适于提供用户输入接口,通过该用户输入接口接收用户输入的过滤规则;模型建立单元,进一步适于在所述对所述部分数据进行分词操作之前,根据该过滤规则对所述部分数据进行过滤。可选地,模型选择单元,适于获取多个测试数据及各测试数据的类别信息;对于每个分类模型,分别将各测试数据输入到该分类模型中,得到该分类模型对各测试数据的分类结果;将所述多个测试数据中分类结果命中相应的类别信息的概率作为该分类模型的测试分数。可选地,模型建立单元,适于对于每个词,利用chi算法或close算 法计算该词与该类别信息之间的关联值。可选地,模型建立单元,适于将各特征词集与对应的类别信息一同输入liblinear分类器或libsvm分类器中。由上述可知,本发明提供的技术方案对于指定业务类型,获取源数据及源数据的类别信息,通过抽取数据、分词、计算各类别信息对应的特征词集、输入分类器进行学习一系列运算过程得到相应的分类模型,多次运算即得到多个分类模型,分别对多个分类模型进行测试以挑选出测试结果最好的分类模型作为最优分类模型,以对指定业务类型的其他数据进行分类。依据本方案,得到的多个分类模型之间的差别在于:从源数据中抽取出的数据的不同、所利用的特征选择算法的不同、和/或所利用的分类器的不同,因此从多个分类模型中选择得到的最优分类模型是综合考虑以上变化参数而得的最优分类策略,具有很高的准确性和稳定性。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本发明一个实施例的一种建立数据分类模型的方法的流程图;图2示出了根据本发明一个实施例的一种建立数据分类模型的装置的示意图。具体实施方式下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不 应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。图1示出了根据本发明一个实施例的一种建立数据分类模型的方法的流程图。如图1所示,该方法包括:步骤s110,获取指定业务类型的源数据及该源数据的类别信息,建立多个分类模型。步骤s120,分别对所述多个分类模型进行测试,将测试分数最高的分类模型作为最优分类模型,根据该最优分类模型对指定业务类型的数据进行分类。其中,步骤s110建立每个分类模型的过程为:步骤s112,从源数据中随机抽取部分数据。步骤s114,对所述部分数据进行分词,得到多个词。步骤s116,对于每个类别信息,利用特征选择算法计算各词与该类别信息之间的关联值,将关联值高于第一预设值的词放入该类别信息的特征词集中。步骤s118,将各特征词集及其类别信息一同输入分类器中,利用分类器建立相应的分类模型。可见,图1所示的方法对于指定业务类型,获取源数据及源数据的类别信息,通过抽取数据、分词、计算各类别信息对应的特征词集、输入分类器进行学习一系列运算过程得到相应的分类模型,多次运算即得到多个分类模型,分别对多个分类模型进行测试以挑选出测试结果最好的分类模型作为最优分类模型,以对指定业务类型的其他数据进行分类。依据本方案,得到的多个分类模型之间的差别在于:从源数据中抽取出的数据的不同、所利用的特征选择算法的不同、和/或所利用的分类器的不同,因此从多个分类模型中选择得到的最优分类模型是综合考虑以上变化参数而得的最优分类策略,具有很高的准确性和稳定性。在本实施例中,每次通过上述步骤s112-步骤s118建立一个分类模型时,步骤s112中随机抽取到的部分数据可能不同,导致步骤s114的分词结果不同,步骤s116所利用的特征选择算法可能不同,导致得到的特征词集不同, 步骤s118所利用的分类器可能不同,导致最后建立的分类模型不同。因此,图1中所建立的多个分类模型中包括:利用相同的特征选择算法和相同的分类器建立的多个分类模型;和/或,利用不同的特征选择算法和/或不同的分类器建立的多个分类模型。例如,从数据源中第一次随机抽取部分数据,对该部分数据进行分词得到多个词,根据特征选择算法a获取数据源的各类别信息的特征词集,再根据分类器b建立相应的第一分类模型,从数据源中第二次随机抽取部分数据,对该部分数据进行分词得到多个词,根据特征选择算法a获取数据源的各类别信息的特征词集,再根据分类器b建立相应的第二分类模型,由于第一次抽取的部分数据与第二次抽取的部分数据不同,导致第一分类模型和第二分类模型不同,同理,同样基于特征选择算法a和分类器b,经过多次运算可以得到多个不同的分类模型。此外,从数据源中第三次随机抽取部分数据,对该部分数据进行分词得到多个词,根据特征选择算法a获取数据源的各类别信息的特征词集,再根据分类器b建立相应的第三分类模型,从数据源中第四次随机抽取部分数据,对该部分数据进行分词得到多个词,根据特征选择算法a获取数据源的各类别信息的特征词集,再根据分类器c建立相应的第四分类模型,由于第三次抽取的部分数据与第四次抽取的部分数据不同且所利用的分类器不同,导致第三分类模型和第四分类模型不同,同理,基于不同的特征选择算法和/或不同的分类器,可以对应运算得到不同的分类模型。进一步地,在上述步骤s140对部分数据进行分词操作之前,图1所示的方法进一步包括:对从源数据中抽取出来的部分数据进行过滤,将无意义的,与指定业务类型无关的数字、英文等字符过滤掉。在一个具体的实施例中,可以对外提供用户输入接口,通过该用户输入接口接收用户输入的自定义过滤规则;根据该过滤规则对所述部分数据进行过滤,以减少后期模型建立过程的数据处理负担。在本发明的一个实施例中,上述步骤s120分别对所述多个分类模型进行测试包括:获取多个测试数据及各测试数据的类别信息;对于每个分类模型,分别将各测试数据输入到该分类模型中,得到该分类模型对各测试数据 的分类结果;将所述多个测试数据中分类结果命中相应的类别信息的概率作为该分类模型的测试分数。以一个具体的例子来说明本方案的实施过程:选取一篇属于物理研究领域的文章作为该数据研究领域的源数据,该文章的类别信息包括:微结构,激光;对于该文章进行多次运算建立相应的分类模型,每次运算过程均为:步骤s1102,获取数据:从该文章中随机抽取部分数据(如某一个或多个段落)。步骤s1104,预处理:将部分数据中的如发表时间信息、标题信息、作者信息等无意义信息过滤掉,对过滤后的部分数据进行分词处理得到多个词,本例中利用ik分词器进行分词处理,得到多个词。步骤s1106,选取策略:在本例中,供选择的特征选择算法包括:chi算法和close算法;以chi算法为例说明其原理,对于一个词t,在计算该词t与类别m之间的关联性时,需要搜索多篇文章,在这多篇文章中进行统计得到:包含t且属于类别m的文章的数量是a,包含t但不属于类别m的文章的数量是b,不包含t却属于类别m的文章的数量是c,既不包含t也不属于类别m的文章的数量是d,则词t与类别m之间的关联性为:(ad-bc)2/(ab+cd),反映了词t对于类别m的代表性,关联值越大表示代表性越大。同理,close算法也是通过计算词与类别的关联性来表征词对相应类别的代表性。在本例中,供选择的分类器包括:liblinear分类器和libsvm分类器;libsvm内核采用非线性计算,而liblinear内核采线性计算如:男和女的划分采用的就是线性的方式。其优劣情景根据数据量和数据的划分复杂程度,比如大量数据分析采用liblinear的内核计算要比libsvm效率高很多。将不同类别的特征词集输入到分类器中,分类器根据相关信息建模得到相应的分类模型。根据目前本例提供的特征选择算法和分类器,实际上总共包括4种特征选择算法和分类器的组合,即chi+libsvm,close+libsvm,chi+liblinear,close+liblinear,为本次运算选取一个组合。步骤s1108,特征化:利用选取的特征选择算法计算各词与类别“微结构”之间的关联值,将关联值高于第一预设阈值的词放入“微结构”对应的特征词集中,以及利用特征选择算法计算各词与类别“激光”之间的关联值, 将关联值高于第一预设阈值的词放入“激光”对应的特征词集中,这时得到的“微结构”对应的特征词集的含义是:该特征词集中的每个词对于判定文本是否为“微结构”类别具有一定程度的影响,“激光”对应的特征词集的含义是:该特征词集中的每个词对于判定文本是否为“激光”类别具有一定程度的影响。步骤s1110,分类模型创建:在上述得到类别“微结构”对应的特征词集和类别“激光”对应的特征词集后,将两个特征词集及各自对应的类别信息输入到所选择的分类器中,得到本次运算对应的分类模型。步骤s1112,测试各分类模型的准确性:提供一组测试数据,每个测试数据对应的类别信息是已知的,对于每个分类模型,测试数据输入到该分类模型中,得到该分类模型对各测试数据的分类结果,将每个测试数据的分类结果与该测试数据已知的类别信息进行匹配,如果相匹配则表示测试通过,以这组测试数据中的测试通过率作为该分类模型的测试分数,代表分类模型的准确程度。上述步骤s1102-步骤s1112即为对分类模型的训练过程,更为具体地,可以对外提供用户输入接口,接收用户输入的训练次数和预期值,所述训练次数是指用户希望基于相同的特征选择算法和该分类器的组合下得到的分类模型的数量,预期值是用户对得到的分类模型的测试分数的最高期望。表1示出了通过默认次数4次训练,预期值80%的分类模型训练结果:表1特征选择算法和分类器第一次第二次第三次第四次chi-liblinear78.6666%82.3333%80.3333%76.6666%chi-libsvm72.6666%74.6666%76.6666%74%close-liblinear79.3333%80.3333%78.6666%72.6666%close-libsvm76.6666%74%72.6666%77.3333%从表1可以看到,最终选择第二次采用chi-liblinear的分类模型,即测试分数为82.3333%的分类模型作为最优分类模型,为以后的物理研究领域的 数据进行分类。当然,这里经过4次训练,如果达不到期望值,会自动将测试分数最高的作为最优分类模型。这种自动择优技术,将选择权交给了系统,用户不用在操心选择哪种方案更合适的问题,只需要提供期望和训练次数,让系统自动去演算。图2示出了根据本发明一个实施例的一种建立数据分类模型的装置的示意图,如图2所示,该建立数据分类模型的装置200包括:数据获取单元210,适于获取指定业务类型的源数据及该源数据的类别信息。模型建立单元220,适于根据所获取的源数据及源数据的类别信息,建立多个分类模型;其中,建立每个分类模型包括:从源数据中随机抽取部分数据;对所述部分数据进行分词,得到多个词;对于每个类别信息,利用特征选择算法计算各词与该类别信息之间的关联值,将关联值高于第一预设值的词放入该类别信息的特征词集中;将各特征词集及其类别信息一同输入分类器中,利用分类器建立相应的分类模型。模型选择单元230,适于分别对所述多个分类模型进行测试,将测试分数最高的分类模型作为最优分类模型,根据该最优分类模型对指定业务类型的数据进行分类。可见,图2所示的装置对于指定业务类型,获取源数据及源数据的类别信息,通过抽取数据、分词、计算各类别信息对应的特征词集、输入分类器进行学习一系列运算过程得到相应的分类模型,多次运算即得到多个分类模型,分别对多个分类模型进行测试以挑选出测试结果最好的分类模型作为最优分类模型,以对指定业务类型的其他数据进行分类。依据本方案,得到的多个分类模型之间的差别在于:从源数据中抽取出的数据的不同、所利用的特征选择算法的不同、和/或所利用的分类器的不同,因此从多个分类模型中选择得到的最优分类模型是综合考虑以上变化参数而得的最优分类策略,具有很高的准确性和稳定性。在本发明的一个实施例中,所述多个分类模型中包括:利用相同的特征选择算法和相同的分类器建立的多个分类模型;和/或,利用不同的特征选择算法和/或不同的分类器建立的多个分类模型。具体地,数据获取单元210,进一步适于提供用户输入接口,通过该用户输入接口接收用户输入的训练次数和期望值;模型建立单元220,适于对于每个特征选择算法和每个分类器,利用该特征选择算法和该分类器建立符合所述训练次数的数量的分类模型;模型选择单元230,适于将测试分数最高且满足期望值的分类模型作为最终的数据分类模型。在本发明的一个实施例中,数据获取单元210,进一步适于提供用户输入接口,通过该用户输入接口接收用户输入的过滤规则;模型建立单元220,进一步适于在所述对所述部分数据进行分词操作之前,根据该过滤规则对所述部分数据进行过滤。在本发明的一个实施例中,模型选择单元230,适于获取多个测试数据及各测试数据的类别信息;对于每个分类模型,分别将各测试数据输入到该分类模型中,得到该分类模型对各测试数据的分类结果;将所述多个测试数据中分类结果命中相应的类别信息的概率作为该分类模型的测试分数。在本发明的一个实施例中,模型建立单元220,适于对于每个词,利用chi算法或close算法计算该词与该类别信息之间的关联值。在本发明的一个实施例中,模型建立单元220,适于将各特征词集与对应的类别信息一同输入liblinear分类器或libsvm分类器中。需要说明的是,图2所示装置的各实施例与图1所示的各实施例对应相同,上文中已有详细说明,在此不再赘述。综上所述,本发明提供的技术方案对于指定业务类型,获取源数据及源数据的类别信息,通过抽取数据、分词、计算各类别信息对应的特征词集、输入分类器进行学习一系列运算过程得到相应的分类模型,多次运算即得到多个分类模型,分别对多个分类模型进行测试以挑选出测试结果最好的分类模型作为最优分类模型,以对指定业务类型的其他数据进行分类。依据本方案,得到的多个分类模型之间的差别在于:从源数据中抽取出的数据的不同、所利用的特征选择算法的不同、和/或所利用的分类器的不同,因此从多个分类模型中选择得到的最优分类模型是综合考虑以上变化参数而得的最优分类策略,具有很高的准确性和稳定性。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范 围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1