本发明实施例涉及文本分类领域,尤其涉及一种分类器修正和分类语料库构建的方法、装置、设备及介质。
背景技术:
随着电子科技的发展和互联网的普及,人们的阅读方式也悄然发生了转变,传统的以阅读纸质媒体为主的阅读方式逐步转向了数字化阅读。因此,电子新闻逐渐在新闻领域占据越来越重要的地位。
电子新闻的自动文本分类,即将电子新闻按照新闻主题划分为时政、经济、军事、娱乐以及体育等类别,可以帮助我们筛选感兴趣的新闻。同时,电子新闻的自动文本分类对于新闻选题系统和舆情监控,都有着重要的现实意义。
目前,分类算法有多种选择,当对于文本分类来说,其通常选用的中心向量法中各个文本对于各个文本类别的中心向量的影响是相同的,即正确样本和错误样本对于中心向量的影响是相同的,因此,有可能会出现正确样本未被充分利用,错误样本却被过分利用的问题,进而升高了文本分类的错误率。
技术实现要素:
本发明实施例提供了一种分类器修正和分类语料库构建的方法、装置、设备及介质,以优化现有技术中的分类器算法以及文本分类语料库的构建方法,降低文本分类的错误率。
第一方面,本发明实施例提供了一种文本分类器的修正方法,包括:
获取与分类器的至少两个文本类别分别对应的类别中心向量,所述类别中心向量是根据与文本类别对应的至少两个类别文本计算得到的;
获取一个设定文本类别的修正文本,以及所述修正文本的文本特征向量;
根据所述文本特征向量与所述分类器当前各所述文本类别的类别中心向量之间的相似度,以及所述修正文本的文本类别,修正所述分类器中与各所述文本类别分别对应的类别中心向量;
返回执行获取一个设定文本类别的修正文本,以及所述修正文本的文本特征向量的操作,直至满足结束修正条件,得到修正后的分类器。
第二方面,本发明实施例还提供了一种分类语料库的构建方法,包括:
根据预先指定的设定领域的至少两个文本类别对应的种子词汇对至少两个文本进行预分类,构建初始分类语料库;
根据所述设定领域的至少两个文本类别对应的种子词汇,训练得到初始的分类器作为待修正分类器;
使用所述初始分类语料库中当前存储的文本作为修正文本,采用本发明任意实施例所述的文本分类器的修正方法,对当前的所述待修正分类器进行修正,得到文本分类器;
利用所述文本分类器对所述初始新闻分类语料库中的文本进行分类,并在所述初始分类语料库中删除文本分类器分类结果与预分类结果不一致的文本;
将所述文本分类器作为新的待修正分类器后,返回执行使用所述初始分类语料库中的文本作为修正文本,采用本发明任意实施例所述的文本分类器的修正方法,对当前的修正分类器进行修正,得到文本分类器的操作,直至满足预设的文本去噪条件,并将当前的所述初始分类语料库作为所述设定领域的分类语料库。
第三方面,本发明实施例还提供了一种文本分类器的修正装置,包括:
类别中心向量获取模块,用于获取与分类器的至少两个文本类别分别对应的类别中心向量,所述类别中心向量是根据与文本类别对应的至少两个类别文本计算得到的;
修正文本获取模块,用于获取一个设定文本类别的修正文本,以及所述修正文本的文本特征向量;
分类器修正模块,用于根据所述文本特征向量与所述分类器当前各所述文本类别的类别中心向量之间的相似度,以及所述修正文本的文本类别,修正所述分类器中与各所述文本类别分别对应的类别中心向量;
循环操作模块,用于返回执行获取一个设定文本类别的修正文本,以及所述修正文本的文本特征向量的操作,直至满足结束修正条件,得到修正后的分类器。
第四方面,本发明实施例还提供了一种分类语料库的构建装置,包括:
初始分类语料库构建模块,用于根据预先指定的设定领域的至少两个文本类别对应的种子词汇对至少两个文本进行预分类,构建初始分类语料库;
待修正分类器训练模块,用于根据所述设定领域的至少两个文本类别对应的种子词汇,训练得到初始的分类器作为待修正分类器;
文本分类器生成模块,用于使用所述初始分类语料库中当前存储的文本作为修正文本,采用本发明任意实施例所述的文本分类器的修正方法,对当前的所述待修正分类器进行修正,得到文本分类器;
初始分类语料库更新模块,用于利用所述文本分类器对所述初始分类语料库中的文本进行分类,并在所述初始分类语料库中删除文本分类器分类结果与预分类结果不一致的文本;
循环操作模块,用于将所述文本分类器作为新的待修正分类器后,返回执行使用所述初始分类语料库中的文本作为修正文本,采用本发明任意实施例所述的文本分类器的修正方法,对当前的修正分类器进行修正,得到文本分类器的操作,直至满足预设的文本去噪条件,并将当前的所述初始分类语料库作为所述设定领域的分类语料库。
第五方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明任意实施例所述的文本分类器的修正方法。
第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的文本分类器的修正方法。
第七方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明任意实施例所述的分类语料库的构建方法。
第八方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的分类语料库的构建方法。
本发明实施例提供了一种分类器修正和分类语料库构建的方法、装置、设备及介质,该分类器的修正方法通过根据修正文本的文本特征向量与待修正的类别中心向量之间的相似度以及所述修正文本的文本类别来修正各个类别中心向量的技术手段,使得各个类别中的每个文本对于类别中心向量的影响不同,具体的是,使得分类错误的文本对类别中心向量的影响更大,进而降低了文本分类的错误率。
附图说明
图1是本发明实施例一中的一种文本分类器的修正方法的流程图;
图2是本发明实施例二中的一种分类语料库的构建方法的流程图;
图3是本发明实施例三中的一种文本分类器的修正装置的结构示意图;
图4是本发明实施例四中的一种分类语料库的构建装置的结构示意图;
图5是为本发明实施例五中的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
本实施例提供了一种文本分类器的修正方法,可适用于对文本分类器的类别中心向量进行修正进而提高文本分类器的分类正确率的情况,该方法可以由本发明实施例提供的文本分类器的修正装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成在处理器中。
如图1所示,本实施例的方法具体包括:
S110、获取与分类器的至少两个文本类别分别对应的类别中心向量,所述类别中心向量是根据与文本类别对应的至少两个类别文本计算得到的。
对于文本分类器来说,其包括若干个文本类别,每个文本类别分别对应一个类别中心向量,利用文本分类器对文本进行分类时即为判断每个文本与各个类别中心向量的距离,将与文本距离最小的那个类别中心向量所对应的文本类别作为这个文本的文本类别。其中,类别中心向量越准确,相应的文本分类器的精确度也就越高。本实施例具体为利用文本训练集对文本分类器的类别中心向量的修正操作,以进一步提高分类器的分类精确度。因此,首先要获取与分类器对应的各个文本类别的原类别中心向量(即获取文本训练集中各个文本类别的原类别中心向量)。
作为本实施例一种可选的实施方式,可以将类别中心向量是根据与文本类别对应的至少两个类别文本计算得到的,具体为:类别中心向量是通过将与文本类别对应的至少两个类别文本的文本特征向量进行求和以及归一化得到的。
对于每一个文本类别,获取与该文本类别对应的预先已分类好的各个类别文本的特征向量,先将这些类别文本的特征向量进行求和操作得到该文本类别的和特征向量,再对该和特征向量进行归一化处理,以得出该文本类别的类别中心向量,即为待修正的初始类别中心向量。
S120、获取一个设定文本类别的修正文本,以及所述修正文本的文本特征向量。
与待修正的分类器对应的每个文本(即分类器的训练文本集中的各个文本)都会对各个文本类别的类别中心向量产生影响,因此需判断各个文本对对各个文本类别的类别中心向量的影响程度,进而进行对各个类别中心向量的修正操作。
与待修正的分类器对应的每个文本即为各个修正文本,依次获取各个文本类别的各个修正文本及其文本特征向量后,对各个类别中心向量进行修正。
作为本实施例一种具体的实施方式,可以将获取所述修正文本的文本特征向量,具体为:对修正文本进行特征抽取、特征选择和特征加权后,生成所述修正文本的文本特征向量,即通过特征抽取、特征选择和特征加权这三个步骤即可获取各个修正文本的文本特征向量,下述以新闻类文本进行解释说明。
(1)特征抽取
分类器会包括几种特征:词语特征、url(统一资源定位符)特征、新闻栏目特征。
其中,词语特征通过分词算法生成,一般可通过自然语言处理(NLP,Natural Language Processing)工具中的分词算法进行生产。
url特征通常由工程人员外部录入,这些特征也用于文本分类器的初始训练集的构建。其中,url特征通常是url前缀的形式,即具有某种url前缀的新闻都被视为某一类别的新闻。例如,具有http://sports.qq.com/这种前缀的新闻都被视为体育类别的新闻,具有http://art.people.com.cn/这种前缀的新闻都被视为艺术类别的新闻,具有http://invest.people.com.cn/这种前缀的新闻都被视为时政财经类别的新闻,具有http://japan.people.com.cn/这种前缀的新闻都被视为日本类别的新闻。
新闻栏目特征是如下形式:首页>XX>XX>正文。例如,新闻栏目特征“首页>娱乐>娱乐滚动新闻>正文”对应的新闻为娱乐类别的新闻,新闻栏目特征“首页>体育>其它>正文”对应的新闻为体育类别的新闻。
(2)特征生成
在确定使用哪些特征后,接下来需要确定如何使用这些特征,即为特征选择。一方面,特征选择是为了降低文本特征向量的维度,降低计算的时空开销,另一方面,在某种情况下去掉一些区分能力不强的特征,可以提高泛化能力。
本文的特征选择包括两个步骤:第一个步骤是停用词排除,即排除例如“的”等之类的助词;第二个步骤是基于特征的统计值从高到低对特征进行排序,然后去掉排在后面的特征。统计值可以采取信息增益值、互信息、差方检验值等,通过实验比较,信息增益值是一种总体性能最佳的方法。其中,信息增益值计算的基本原理和方法如下所述:
首先需要引入解熵的概念,熵是对不确定性的度量。对于文本分类问题,熵度量的是文本的类别不确定性,这种不确定性可以根据文本被归类到各个类别的概率值来度量。
对于整个文本训练集,假设n个文本类别的分布(即每个文本类别所占的比重)是:p1,p2,…,pn,则文本训练集的熵值为
假设所有文本包括有两类文本:体育类和非体育类,其中体育类60篇文本非体育类60篇文本,则整个文本集的熵值是:-0.5*log2(0.5)-0.5*log2(0.5)=1。
计算某个特征的信息增益,即为在文本分类中实际上计算某个特征的信息增益。首先将文本训练集按是否出现了该词语分成两部分,然后在每部分上分别计算熵值,将两部分熵值按各自的文本数量加权求和,这个和値总会比原来不分割训练集计算所得的熵值要小,这个差值就是信息增益。
对于上面的例子,假如词语特征“姚明”在60篇体育类中40篇中出现了,在非体育类中没有出现,则按“姚明”是否出现可以将训练集分割成两部分:
第一部分,40篇出现“姚明”的文本,全是体育类,其熵值是:
-1.0*log2(1.0)-0*log2(0)=0
注意:根据熵的定义0*log2(0)=0。
第二部分,80篇没有出现“姚明”的文本,20篇是体育类,60篇不是体育类,其熵值是:
-0.25*log2(0.25)-0.75*log2(0.75)==0.8112781244591328
两部分的熵值的加权和是:
1/3*0+2/3*0.8112781244591328=0.5408520829727552
由此,计算出“姚明”一词的信息增益为:
1-0.5408520829727552=0.4591479170272448
可见,当某些词主要在某些文本类别中出现,而不怎么在别的文本类别中出现时,该词语的信息增益值会越大。信息增益值越大的词语,通常对分类的意义更重要,因此在特征选择时应选取信息增益值排在前面的特征。
(3)特征加权
一个特征的权重越大,它对分类器的影响就越大。常用的用于加权向量的方法是tf-idf值,其中,tf-idf值具有多种,在本实施例中采取如下形式:
tfidfij=log(tfij+1.0)*log(N/(dfi+1.0))
其中,tfij为某特征termi在文本dj中出现的次数,n为文本训练集中文本的总数量,dfi为特征termi出现的文本频率,即表示该特征在多少篇文本中出现过,因此,tfidfij即可表示特征termi在文本dj所对应的文本特征向量中第i维的权值。
S130、根据文本特征向量与分类器当前各所述文本类别的类别中心向量之间的相似度,以及修正文本的文本类别,修正所述分类器中与各文本类别分别对应的类别中心向量。
根据文本特征向量与各个类别中心向量之间的相似度,以及修正文本的文本类别对各个类别中心向量进行修正,即每个文本对类别中心向量的影响(权重)可能是不相同的,有的文本的权重会大一些,有些文本的权重会小一些,具体的是使文本训练集中分类错误的样本对中心向量的权重影响大一些,进而降低文本分类错误率。
作为本实施例一种可选的实施方式,可以将根据所述文本特征向量与所述分类器当前各所述文本类别的类别中心向量之间的相似度,以及所述修正文本的文本类别,修正所述分类器中与各所述文本类别分别对应的类别中心向量,具体为:
分别计算文本特征向量与当前各所述文本类别的类别中心向量的余弦相似度;获取所述文本特征向量与所述修正文本所属文本类别的类别中心向量的第一余弦相似度,以及所述文本特征向量与第二文本类别的类别中心向量的第二余弦相似度,其中,所述第二余弦相似度为所述文本特征向量与其余文本类别的类别中心向量的各余弦相似度中的最大值;如果所述第一余弦相似度与所述第二余弦相似度的比值满足设定条件,则利用所述比值对所述修正文本所属文本类别的类别中心向量和所述第二文本类别的类别中心向量进行修正。
具体的,第一余弦相似度与第二余弦相似度的比值满足设定条件,为:所述比值小于第一外部参数。
具体的,利用所述比值对所述修正文本所属文本类别的类别中心向量和所述第二文本类别的类别中心向量进行修正,为:
O1=O1+η*(β-S1/S2)*D,O2=O2-η*(β-S1/S2)*D;
其中,O1为所述修正文本所属文本类别的类别中心向量,O2为所述第二文本类别的类别中心向量,β为第一外部参数,η为第二外部参数,S1为所述第一余弦相似度,S2为所述第二余弦相似度,D所述修正文本的文本特征向量。
即,具体的各个类别中心向量的修正过程如下:
对于每个文本类别,计算这个修正文本的文本特征向量D与各个类别中心向量的余弦相似度,其中,余弦相似度又称为余弦相似性,是通过计算两个向量的夹角余弦值来评估他们的相似度。
如果这个修正文本在文本训练集中实属的文本类别为第一文本类别,则将文本特征向量D与第一个文本类别的类别中心向量O1的余弦相似度称为第一余弦相似度S1。将文本特征向量D与其他文本类别的类别中心向量的各个余弦相似度中最大余弦相似度值称为第二余弦相似度S2,对应的类别中心向量为O2。如果文本训练集只包括两个文本类别,则将文本特征向量D与另外一个文本类别的类别中心向量的余弦相似度称为第二余弦相似度。
如果第一余弦相似度S1与第二余弦相似度S2的比值满足设定条件,具体为比值S1/S2比值小于第一外部参数β,则利用下述修正公式对两个文本类别的类别中心向量进行修正更新,
O1=O1+η*(β-S1/S2)*D,O2=O2-η*(β-S1/S2)*D。
其中,可以将第一外部参数β具体为1.2,1.2为优选的实验值。这样可以使得分类错误的文本对类别中心向量的权重影响更大一些,有助于降低分类错误率。另外,有些文本即使分类正确(即S1/S2>1.0),但是如果文本与其所属文本类别的类别中心向量的相似度不是足够大(S1/S2<1.2)时,依然可以影响类别中心向量的权重,即将第一外部参数β优选为1.2这个特性可以有助于充分利用正确文本的信息,同时又可以避免错误文本过分影响权重,从而避免过度拟合。
第二外部参数η也为预先依据经验设置的,可以设定其为斜系速率0.01。
在上述技术方案的基础上,上述方法还包括:如果确定所述比值大于等于第一外部参数,则不对所述修正文本所属文本类别的类别中心向量和所述第二文本类别的类别中心向量进行修正;返回执行获取一个设定文本类别的修正文本,以及所述修正文本的文本特征向量的操作。
即,一个修正文本的第一余弦相似度S1与第二余弦相似度S2的比值大于等于第一外部参数β,例如S1/S2≥1.2,则表明该修正文本的分类正确,且该修正文本与其所属文本类别的类别中心向量的相似度足够大,不需要利用该修正文本对对应的类别中心向量进行修正。
S140、返回执行获取一个设定文本类别的修正文本,以及所述修正文本的文本特征向量的操作,直至满足结束修正条件,得到修正后的分类器。
重复执行上述步骤S120和S130,利用文本训练库中每一个文本依次对各个文本类别的类别中心向量进行修正,直至各个类别中心向量收敛,将修正后的各个文本类别的类别中心向量作为修正后的分类器的各个文本类别的类别中心向量对待分类文本进行分类预测。
其中,利用修正后的分类器对待分类文本进行分类时,首先对待分类文本进行特征抽取、特征选择和特征加权后,获取该待分类文本的文本特征向量,分别计算该文本特征向量与修正后的各个文本类别的类别中心向量的余弦相似度,选择余弦相似度值最大的类别中心向量所在的文本类别作为该待分类文本的预测类别。
本实施例提供的一种文本分类器的修正方法,利用文本训练库中各个文本对各个文本类别的类别中心向量进行修正,其中,文本训练库中各个文本对各个文本类别的类别中心向量的影响不尽相同,分类错误的文本对类别中心向量的权重影响更大,降低了文本分类的错误率。而且,对于有些样本,即使文本训练集中分类正确,但是如果该文本与其所属文本类别的类别中心向量的相似度不是足够大时,依然可以利用该文本影响类别中心向量的权重,有助于充分利用正确文本的信息,同时避免错误文本过分影响权重,从而避免过度拟合。
实施例二
本实施例提供了一种分类语料库的构建方法,可适用于基于少量文本分类中西词汇自动构建分类语料库并提纯的情况,该方法可以由本发明实施例提供的分类语料库的构建装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成在处理器中。如图2所示,本实施例的方法具体包括:
S210、根据预先指定的设定领域的至少两个文本类别对应的种子词汇对至少两个文本进行预分类,构建初始分类语料库。
对于设定领域的每个文本类别,人为指定若干种子词汇,利用这些种子词汇对设定领域的文本进行预分类,由此构建初始分类语料库。
具体的,设定领域可以为新闻领域,对应的,分类语料库可以为新闻分类语料库。
对于新闻领域的文本分类,我们只为每个文本类别指定若干种子词汇,并用这些词汇对新闻文本的url、标题或者新闻栏目进行匹配,由此可以获得一个初始的训练集,即初始新闻分类语料库。
例如,将“finance”、“货币”以及“通货膨胀”等放入经济类别。那么,“http://finance.sina.com.cn/stock/s/2017-12-15/doc-ifypsvkp3244887.shtml”这个url所指向的新闻文本就会被放入经济类别,因为其url中包含“finance”。
同样,标题为“央行小幅上调货币工具利率释放继续去杠杆信号”的文章也会被放入经济类别。
当新闻的栏目名称命中关键词时,我们也会将该栏目下的新闻放入对应的分类中。例如,将“首页>娱乐>娱乐滚动新闻>正文”放入娱乐类别,将“首页>体育>其它>正文”放入体育类别。
S220、根据所述设定领域的至少两个文本类别对应的种子词汇,训练得到初始的分类器作为待修正分类器。
初始分类语料库中的噪音较多,可能存在文本分类不正确的情况存在。利用根据设定领域的至少两个文本类别对应的种子词汇构建的初始分类语料库训练得到初始的分类器,并将该初始的分类器作为待修正分类器,进而利用初始分类语料库中的文本对其进行修正训练。
S230、使用初始分类语料库中当前存储的文本作为修正文本,采用本发明任意实施例所述的文本分类器的修正方法,对当前的所述待修正分类器进行修正,得到文本分类器。
将初始分类预料库中的各个文本作为修正文本,采用上述实施例中的文本分类器的修正方法,对当前的待修正分类器各个文本类别的类别中心向量进行修正后得到文本分类器,详细的修正方法详见前述,不再赘述。
S240、利用文本分类器对初始新闻分类语料库中的文本进行分类,并在初始分类语料库中删除文本分类器分类结果与预分类结果不一致的文本。
利用修正后的文本分类器对初始新闻分类语料库中的文本进行分类,通过删除初始分类语料库中文本分类器分类结果与预分类结果不一致的文本,以对初始分类预料库进行去噪处理。
具体的,利用文本分类器对所述初始新闻分类语料库中的文本进行分类,包括:
获取初始分类语料库中目标文本的文本特征向量;
分别计算目标文本的文本特征向量与文本分类器对应的各个文本类别的类别中心向量的余弦相似度;
将与余弦相似度最大值匹配的类别中心向量所在的文本类别作为所述目标文本的分类结果。
S250、将所述文本分类器作为新的待修正分类器后,返回执行使用所述初始分类语料库中的文本作为修正文本,采用本发明任意实施例所述的文本分类器的修正方法,对当前的修正分类器进行修正,得到文本分类器的操作,直至满足预设的文本去噪条件,并将当前的所述初始分类语料库作为所述设定领域的分类语料库。
重复上述步骤S230和S240,对更新后的待修正分类器进行修正,直至满足预设的文本去噪条件,并将当前去噪后的初始分类语料库作为设定领域的分类语料库。
其中,所述文本去噪条件可以是利用修正后的文本分类器对更新后的初始分类预料库中的文本分类的结果和预分类结果完全一致,不再有噪音需要删除,也可以是利用修正后的文本分类器对更新后的初始分类预料库中的文本分类的结果和预分类结果的误差小于设定误差,例如是小于1%或是0.5%等等。
本实施例提供的一种分类语料库的构建方法,基于少量种子词汇即可自动构建分类语料库,同时通过对分类预料库的去噪处理以提纯该分类语料库。上述构建方法,只需指定少量种子词汇,减轻了人工标注语料的工作量,同时,克服了静态语料库容易过时,不能很好对一些新的内容进行文本分类的缺陷。
实施例三
本实施例提供了一种文本分类器的修正装置,可适用于对文本分类器的类别中心向量进行修正进而提高文本分类器的分类正确率的情况,该装置可采用软件和/或硬件的方式实现,并一般可集成在处理器中。如图3所示,所述装置包括:类别中心向量获取模块310、修正文本获取模块320、分类器修正模块330和循环操作模块340,其中:
类别中心向量获取模块310,用于获取与分类器的至少两个文本类别分别对应的类别中心向量,所述类别中心向量是根据与文本类别对应的至少两个类别文本计算得到的;
修正文本获取模块320,用于获取一个设定文本类别的修正文本,以及所述修正文本的文本特征向量;
分类器修正模块330,用于根据所述文本特征向量与所述分类器当前各所述文本类别的类别中心向量之间的相似度,以及所述修正文本的文本类别,修正所述分类器中与各所述文本类别分别对应的类别中心向量;
循环操作模块340,用于返回执行获取一个设定文本类别的修正文本,以及所述修正文本的文本特征向量的操作,直至满足结束修正条件,得到修正后的分类器。
本实施例提供的一种文本分类器的修正装置,通过根据修正文本的文本特征向量与待修正的类别中心向量之间的相似度以及所述修正文本的文本类别来修正各个类别中心向量的技术手段,使得各个类别中的每个文本对于类别中心向量的影响不同,具体的是,使得分类错误的文本对类别中心向量的影响更大,进而降低了文本分类的错误率。
具体的,分类器修正模块330包括:余弦相似度计算单元、第一第二余弦相似度获取单元和修正单元,其中,
余弦相似度计算单元,用于分别计算所述文本特征向量与当前各所述文本类别的类别中心向量的余弦相似度;
第一第二余弦相似度获取单元,用于获取所述文本特征向量与所述修正文本所属文本类别的类别中心向量的第一余弦相似度,以及所述文本特征向量与第二文本类别的类别中心向量的第二余弦相似度,其中,所述第二余弦相似度为所述文本特征向量与其余文本类别的类别中心向量的各余弦相似度中的最大值;
修正单元,用于如果所述第一余弦相似度与所述第二余弦相似度的比值满足设定条件,则利用所述比值对所述修正文本所属文本类别的类别中心向量和所述第二文本类别的类别中心向量进行修正。
其中,修正单元具体用于如果所述第一余弦相似度与所述第二余弦相似度的比值小于第一外部参数,则利用下述公式对对所述修正文本所属文本类别的类别中心向量和所述第二文本类别的类别中心向量进行修正:
O1=O1+η*(β-S1/S2)*D,O2=O2-η*(β-S1/S2)*D;
其中,O1为所述修正文本所属文本类别的类别中心向量,O2为所述第二文本类别的类别中心向量,β为第一外部参数,η为第二外部参数,S1为所述第一余弦相似度,S2为所述第二余弦相似度,D所述修正文本的文本特征向量。
在上述技术方案的基础上,分类器修正模块330还包括:修正忽略单元和循环单元,其中,
修正忽略单元,用于如果确定所述比值大于等于第一外部参数,则不对所述修正文本所属文本类别的类别中心向量和所述第二文本类别的类别中心向量进行修正;
循环单元,用于返回执行获取一个设定文本类别的修正文本,以及所述修正文本的文本特征向量的操作。
在上述技术方案的基础上,类别中心向量获取模块310具体用于获取与分类器的至少两个文本类别分别对应的类别中心向量,所述类别中心向量是通过将与文本类别对应的至少两个类别文本的文本特征向量进行求和以及归一化得到的。
修正文本获取模块320,具体用于获取一个设定文本类别的修正文本,并对所述修正文本进行特征抽取、特征选择和特征加权后,生成所述修正文本的文本特征向量。
上述文本分类器的修正装置可执行本发明任意实施例所提供的文本分类器的修正方法,具备执行的文本分类器的修正方法相应的功能模块和有益效果。
实施例四
本实施例提供了一种分类语料库的构建装置,可适用于基于少量文本分类中西词汇自动构建分类语料库并提纯的情况,该装置可采用软件和/或硬件的方式实现,并一般可集成在处理器中。如图4所示,所述装置包括:初始分类语料库构建模块410、待修正分类器训练模块420、文本分类器生成模块430、初始分类语料库更新模块440和循环操作模块450,其中,
初始分类语料库构建模块410,用于根据预先指定的设定领域的至少两个文本类别对应的种子词汇对至少两个文本进行预分类,构建初始分类语料库;
待修正分类器训练模块420,用于根据所述设定领域的至少两个文本类别对应的种子词汇,训练得到初始的分类器作为待修正分类器;
文本分类器生成模块430,用于使用所述初始分类语料库中当前存储的文本作为修正文本,采用本发明任意实施例所述的文本分类器的修正方法,对当前的所述待修正分类器进行修正,得到文本分类器;
初始分类语料库更新模块440,用于利用所述文本分类器对所述初始分类语料库中的文本进行分类,并在所述初始分类语料库中删除文本分类器分类结果与预分类结果不一致的文本;
循环操作模块450,用于将所述文本分类器作为新的待修正分类器后,返回执行使用所述初始分类语料库中的文本作为修正文本,采用本发明任意实施例所述的文本分类器的修正方法,对当前的修正分类器进行修正,得到文本分类器的操作,直至满足预设的文本去噪条件,并将当前的所述初始分类语料库作为所述设定领域的分类语料库。
本实施例提供的一种分类语料库的构建装置,基于少量种子词汇即可自动构建分类语料库,同时通过对分类预料库的去噪处理以提纯该分类语料库。上述构建方法,只需指定少量种子词汇,减轻了人工标注语料的工作量,同时,克服了静态语料库容易过时,不能很好对一些新的内容进行文本分类的缺陷。
具体的,初始分类语料库更新模块440包括:文本特征向量获取单元、余弦相似度计算单元和分类单元,其中,
文本特征向量获取单元,用于获取所述初始分类语料库中目标文本的文本特征向量;
余弦相似度计算单元,用于分别计算所述目标文本的文本特征向量与所述文本分类器对应的各个文本类别的类别中心向量的余弦相似度;
分类单元,用于将与余弦相似度最大值匹配的类别中心向量所在的文本类别作为所述目标文本的分类结果。
具体的,所述分类语料库为新闻分类语料库。
上述分类语料库的构建装置可执行本发明任意实施例所提供的分类语料库的构建方法,具备执行的分类语料库的构建方法相应的功能模块和有益效果。
实施例五
图5为本发明实施例五提供的一种计算机设备的结构示意图,如图5所示,该计算机设备包括处理器510、存储器520、输入装置530和输出装置540;计算机设备中处理器510的数量可以是一个或多个,图5中以一个处理器510为例;计算机设备中的处理器510、存储器520、输入装置530和输出装置540可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储器520作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明任意实施例中文本分类器的修正方法对应的程序指令/模块(例如,文本分类器的修正装置中的类别中心向量获取模块310、修正文本获取模块320、分类器修正模块330和循环操作模块340),又如本发明任意实施例中分类语料库的构建方法对应的程序指令/模块(例如,分类语料库的构建装置中的初始分类语料库构建模块410、待修正分类器训练模块420、文本分类器生成模块430、初始分类语料库更新模块440和循环操作模块450)。处理器510通过运行存储在存储器520中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的用于计算机设备的操作。
存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器520可进一步包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置530可用于接收输入的触摸信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏等显示设备。
实施例六
本发明实施例六还提供一种包含计算机可执行指令的存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例提供的文本分类器的修正方法,该方法包括:
获取与分类器的至少两个文本类别分别对应的类别中心向量,所述类别中心向量是根据与文本类别对应的至少两个类别文本计算得到的;
获取一个设定文本类别的修正文本,以及所述修正文本的文本特征向量;
根据所述文本特征向量与所述分类器当前各所述文本类别的类别中心向量之间的相似度,以及所述修正文本的文本类别,修正所述分类器中与各所述文本类别分别对应的类别中心向量;
返回执行获取一个设定文本类别的修正文本,以及所述修正文本的文本特征向量的操作,直至满足结束修正条件,得到修正后的分类器。
或者,该程序被处理器执行时实现本发明任意实施例提供的分类语料库的构建方法,该方法包括:
根据预先指定的设定领域的至少两个文本类别对应的种子词汇对至少两个文本进行预分类,构建初始分类语料库;
根据所述设定领域的至少两个文本类别对应的种子词汇,训练得到初始的分类器作为待修正分类器;
使用所述初始分类语料库中当前存储的文本作为修正文本,采用本发明任意实施例所述的文本分类器的修正方法,对当前的所述待修正分类器进行修正,得到文本分类器;
利用所述文本分类器对所述初始新闻分类语料库中的文本进行分类,并在所述初始分类语料库中删除文本分类器分类结果与预分类结果不一致的文本;
将所述文本分类器作为新的待修正分类器后,返回执行使用所述初始分类语料库中的文本作为修正文本,采用本发明任意实施例所述的文本分类器的修正方法,对当前的修正分类器进行修正,得到文本分类器的操作,直至满足预设的文本去噪条件,并将当前的所述初始分类语料库作为所述设定领域的分类语料库。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备执行本发明各个实施例所述的方法。
值得注意的是,上述文本分类器的修正装置以及分类语料库的构建装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。