目标域分类器训练方法、样本识别方法、终端及存储介质与流程

文档序号:14406147阅读:272来源:国知局
本发明涉及计算机领域,更具体地说,涉及一种目标域分类器训练方法、样本识别方法、终端及存储介质。
背景技术
::语音识别领域当中,庞大、全面的语音数据库是准确识别的基础,若期望实现对某种语言的语音识别,则需要针对该语言均建立语音数据库。不过全球目前已查明的语言有5651种,若要针对每一种语言建立一个全面的数据库,则成本代价是首先需要考虑的问题。即便仅针对使用最为广泛的汉语建立数据库也是非常困难的,因为不同地区存在发音不同的问题:对于某些词语,可能仅仅是在不同大区之间存在不同发音,例如西南片区和东南沿海片区的发音不同;但有一些词或字,不同县级区域的发音不同;甚至在一些情况下,不同村镇对同样的词或字的发音都是不同的。在这种情况下,若针对每一个村落均建立语音数据路,基本是不可能实现的。在传统的机器学习中,要求处理的数据属于同一分布,也就是训练数据和测试数据来自同一数据集。以语音识别为例,若a和b来自语言习惯类似的地区,则将a的语音信号进行特征提取得到的数据作为训练数据,对训练数据进行训练得到分类器后,可以对b的语音信号进行识别。但是,现实的学习任务中训练数据和测试数据通常都不属于同一数据集,也就是说训练数据和测试数据来自不同概率分布。因此使用传统的机器学习算法去处理这种混合域的问题便会出现不适应的问题。例如,采用a对应的训练数据得到分类器在对来自另一地区的c的语音信号进行识别时,可能会出现识别率极低,甚至是完全无法识别的问题。因此,现在亟需提供一种新的解决方案来降低语音识别的代价。技术实现要素:本发明要解决的技术问题在于:提供一种新的目标域分类器训练方案,解决现有技术中只能针对不同语音习惯的地区创建的目标域不同分类器来实现语音识别,造成语音识别代价高的问题,针对该技术问题,提供一种目标域分类器训练方法、样本识别方法、终端及存储介质。为解决上述技术问题,本发明提供一种目标域分类器训练方法,所述目标域分类器训练方法包括:对训练样例进行特征提取得到训练数据,所述训练数据包括来自源域的辅助样例数据和来自目标域的源样例数据;对所述训练数据进行多次迭代分类训练得到适用于对所述目标域中测试样例进行分类的分类器;所述迭代分类训练包括:获取所述训练数据中各样例数据的分类权重向量;根据各样例的分类权重向量对所述训练数据中的样例数据进行分类处理;根据分类结果对所述训练数据中各样例数据的分类权重向量进行调整。可选的,所述根据分类结果对所述训练数据中各样例数据的分类权重向量进行调整包括:若所述训练数据中的某一辅助样例数据分类错误,则降低所述辅助样例数据的分类权重向量;若所述训练数据中的某一源样例数据分类错误,则提升所述源样例数据的分类权重向量。可选的,所述降低所述辅助样例数据的分类权重向量之前,还包括:基于辅助样例数据的数目计算用于对分类错误的辅助样例数据进行分类权重降低的降低调整率;所述提升所述源样例数据的分类权重向量之前,还包括:计算在当前的分类权重向量下,所述训练数据中源样例数据分类错误的错误率;基于所述错误率计算用于对分类错误的源样例数据进行分类权重提升的提升调整率。可选的,所述基于所述错误率计算用于对分类错误的源样例数据进行分类权重提升的提升调整率之前,还包括:根据所述错误率计算当前的错误计算值;根据所述错误计算值采用根据以下公式计算所述提升调整率:所述βt为提升调整率,所述t为当前迭代分类训练的次数,所述∈t为第t次进行迭代分类训练时的错误计算值。可选的,所述根据所述错误率计算当前的错误计算值包括:判断所述错误率是否大于第一预设门限;若是,则直接将所述错误率作为所述错误计算值;若否,则根据以下公式确定当前的错误计算值:∈t=max(β1,β2,…βt-1)×k所述k为预设倍率,其值大于0小于1。可选的,所述根据分类结果对所述训练数据中各样例的分类权重向量进行调整之前,还包括:计算在当前的分类权重向量下,所述训练数据中源样例数据分类错误的错误率,并确定所述错误率超过第二预设门限;或,所述获取所述训练数据中各样例数据的分类权重向量之前,还包括:判断当前已完成的迭代分类训练的次数,并确定所述次数不超过预设次数。可选的,所述训练样例为手写数字图像样例或语音样例。进一步地,本发明还提供了一种样例识别方法,所述样例识别方法包括:按照如上任一项所述的目标域分类器训练方法训练得到目标域的分类器;采用所述分类器对所述目标域中的待识别样例的进行分类识别。进一步地,本发明还提供了一种终端,所述终端包括处理器、存储器及通信总线;所述通信总线用于实现处理器和存储器之间的连接通信;所述处理器用于执行存储器中存储的目标域数据库构建程序以实现如上任一项所述的目标域分类器训练方法的步骤;或所述处理器用于执行存储器中存储的样本识别程序以实现如上所述的样例识别方法的步骤。进一步地,本发明还提供了一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一项所述的目标域分类器训练方法的步骤;或所述处理器用于执行存储器中存储的样本识别程序以实现如上所述的样例识别方法的步骤。有益效果本发明提供一种目标域分类器训练方法、样本识别方法、终端及存储介质,针对现有技术中只能针对不同语音习惯的地区单独采集语音样例并进行标记才能创建用于对该地区语音进行识别的目标域分类器,创建代价高的问题,本发明提供的目标域分类器训练方法,通过对包含源样例数据和辅助样例数据的训练数据进行至少两次迭代分类处理,同时根据每次迭代分类处理的分类结果对训练数据中各样例的数据分类权重进行调整。使得经历多次迭代分类处理后,训练数据中各样例数据的分类权重向量能够达到契合目标域实际数据分布的效果。利用源域的辅助样例数据和目标域中少量已标记的源样例,可以共同创建出适于对目标域样例进行分类识别的分类器,相较于现有分类器的创建方案,本发明方案具有实现简单、成本低廉的优点。本发明还提供一种样本识别方法、终端及存储介质,利用目标域中源样例与待识别样例数据分布相同的特点,结合源域中大量已标记的辅助样例数据创建出属于目标域的分类器来对目标域中未标记的样本进行分类,该方案对目标域中源样例的数量要求不高,易于实现且实现成本低廉。附图说明下面将结合附图及实施例对本发明作进一步说明,附图中:图1为本发明第一实施例中提供的目标域分类器训练方法的一种流程图;图2为本发明为本发明第一实施例中提供的终端的一种交互界面示意图;图3为本发明第二实施例中提供的目标域分类器训练方法的一种流程图;图4为本发明第二实施例中提供的受限玻尔兹曼机的一种示意图;图5为本发明第二实施例中提供的计算提升调整率的一种流程图;图6为本发明第三实施例中提供的终端的一种硬件结构示意图;图7为实现本发明各个实施例一个可选的移动终端的硬件结构示意图;图8为本发明第三实施例中提供的目标域分类器训练方法的一种流程图;图9为本发明第三实施例中提供的移动终端的一种交互界面示意图;图10为本发明第三实施例中提供的移动终端的一种显示界面示意图。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。第一实施例:现有技术中针对目标域创建分类器时需要采集大量的样例数据并对这些样例数据进行标记后才能根据已标记样例训练出用于对目标域中未分类样例进行分类识别的分类器,这种分类器训练代价高。特别是在语音识别领域,由于存在不同地区语音习惯不同的问题,因此更是难以为每一地区创建出单独的语音分类器,针对上述问题,本实施例提供一种目标域分类器训练方法,下面结合图1对该目标域分类器训练方法进行阐述:s102、对训练样例进行特征提取得到训练数据。在本实施例中训练样例包括两个部分:一部分是来自源域的样例,这里称为辅助样例,源域中的所有样例均为辅助样例;而另一部分是来自目标域的,称为源样例。值得注意的是,目标域中除了源样例以外,还有测试样例。训练样例是已经经过标记的样例,所以源域中所有样例,即辅助样例均是已经标记完成的,而目标域中仅有源样例是已经标记的,测试样例是需要训练出目标域分类器之后才能进行分类标记的。应当理解的是,目标域中的源样例数目是比较少的,通常不足以单独训练出属于目标域的分类器。因为如果目标域中具有足够多的已标记样本,则可以直接将这些已标记样例作为训练样例训练出目标域的分类器。众所周知,直接对目标域中的各样例进行标记是需要花费大量人力与时间的,因此,本实施例提供的目标域分类器训练方法就是希望利用较少的源样例训练出目标域的分类器,所以,该方法通常用于目标域中源样例数目较少的情况。当然,这并不意味着目标域中已标记样例数据太多就不能使用本实施例提供目标域分类器训练方法来训练分类器,反而是目标域提供的源样例越多,则采用本实施例中的目标域分类器训练方法训练分类器就越容易,同时训练出分类器的分类精度也越高。可以理解的是,本实施例中所谓的“分类”实际上就是一种对样例进行识别的过程。以语音样例的分类来说,语音分类通常是将相同的发音归为一类,例如,“好”表优秀,与“坏”对应时,发音为“hǎo”。通常在不同地区之间,“好”一词的发音基本都是“hao”,但是对声调的区分却不尽相同,所以在不区分声调的情况下,“号”、“毫”、“郝”、“好”的发音均可以被划分到“hao”这一类。当然,汉语语音中,存在多个自具有相同发音的情况,所以,当确定某个人发出了“hao”这一个音的时候,可能还需要结合与该字的前后字词发音才能确定该语音对应的实际汉字。例如,发音为“nihao”,则“ni”可能对应这“你”、“拟”、“尼”等字,而“hao”对应“郝”、“好”等字,结合两个发音,可以推测该发音实际是“你好”。除了语音识别以外,本实施例中的目标域分类器训练方法也可以应用于字符识别领域,例如,采集用户的手写数字图像作为目标域的源样例,从而创建对图2中的手写数字进行识别的手写数字分类器。在本实施例中,终端对训练样例进行特征提取后可以得到辅助样例数据和源样例数据,其中辅助样例数据通过对辅助样例进行特征提取得到,而源样例数据通过对源样例进行特征提取得到。在本实施例中,进行特征提取时,可以采用的算法包括但不限于rbm(restrictedboltzmannmachine,受限玻尔兹曼机)算法、dbn(deepbeliefnets,深度置信网)算法、卷积网络算法、svm(supportvectormachine,支持向量机)算法。在终端从训练样例中提取出训练数据之后,可以对训练数据进行迭代分类训练。在本实施例中,每一次迭代分类训练中,训练数据中的各样例数据均有一个分类权重向量,每次迭代分类训练完成后,终端都会根据对各训练数据的分类结果来重新调整各样例数据的分类权重向量,直至迭代分类训练结束为止,并根据最终得到的各样例数据的分类权重向量创建出目标域的分类器。s104、获取训练数据中各样例数据的分类权重向量。在n次迭代分类训练当中,上一次迭代分类训练后调整得到的分类权重向量将会成为下一次迭代分类训练中各样例数据的初始分类权重向量。例如,第n次迭代训练完成之后,各样例数据的分类权重向量被调整为wn={wn1,wn2,wn3…wnm},其中,第一个训练数据的分类权重向量为wn1,第二个训练数据的分类权重向量为wn2……第m个训练数据的分类权重向量为wnm。在进入第n+1次迭代分类训练处理时,终端获取到的各样例数据分类权重向量就是wn。指的注意的是,wn中的上标n并不是w的n次方,n只是表征迭代训练的次数而已。应当明白的是,初次进入迭代分类训练时,不能通过前述方式获取到各训练数据的分类权重向量,因此,终端应当通过其他方式获取到各训练数据的初始分类权重向量。在本实施例中,各训练数据的初始分类权重向量可以由终端随机分配。在本实施例的其他一些示例当中,终端可以为各训练数据平均分配分类权重向量值。例如,训练数据中包括10个源样例数据,还包括90个辅助样例数据,则终端对各训练数据一视同仁,均设置1%的初始分类权重向量。s106、根据各样例的分类权重向量对训练数据中的样例数据进行分类处理。一个训练数据的分类权重向量表征着在分类过程中,终端对该训练数据的“重视”程度。一个训练数据的分类权重越大,则说明终端越要重点“关注”该训练数据的分类结果,反之,如果一个训练数据的分类权重向量值越小,则说明终端认为该训练数据不应当对目标域的分类器产生太大影响,可以尽量对该训练数据进行“忽视”。基于这种原则,终端会在不断的迭代分类训练当中提升对被关注训练数据的分类正确性。s108、根据分类结果对训练数据中各样例数据的分类权重向量进行调整。在一次迭代分类训练的分类过程结束后,终端会根据分类结果对当前各训练数据的分类权重向量进行调整。调整的方式不外乎提升某个或某些训练数据的分类权重,降低另外一些训练数据的分类权重向量。所以,终端需要确定的是对哪些训练数据的分类权重进行提升增大,对哪些训练数据的分类权重进行减小。因为训练样例均是经过标记的,因此,在获取到分类结果之后,终端可以很容易根据分类结果确定出哪些训练数据的分类错误。来自目标域的源样例具备与测试样例相同的数据分布,因此,在本实施例中,若终端根据分类结果确定训练数据中的某一源样例数据分类错误,则可以提升该源样例数据的分类权重向量,以便在下一次迭代分类训练时,可以更加关注这些源样例数据的分类。而源域的辅助样例数据与训练数据分布不同,因此,如果终端确定一个辅助样例数据分类错误,则可以认为该辅助样例数据与目标域的测试数据是很不同的,因此,可以降低这个辅助样例数据在所有训练数据中所占的权重,使得该辅助样例数据在下一次迭代分类训练中可以变得不太重要。应当明白的是,各训练数据分类权重向量的变化只是相对而言的。对于训练数据整体来说,无论是在初次迭代分类训练中,还是在最后一次迭代分类训练中,各训练数据的分类权重总和是保持不变的,因此当一个训练数据的分类权重增长后,反应的是该训练数据在训练数据整体中所占的比例更重了,反之则说明该训练数据在训练数据整体中所占的比例降低了。也就是说,各训练数据间的分类权重变化时一个“此消彼长”的过程。s110、当前是否获得适用于对目标域中测试样例进行分类的分类器。可以理解的是,每一次迭代分类训练中,各训练数据的分若进行n次迭代分类训练,就可以得到n个分类器模型。由于本实施例中终端执行目标域分类器训练方法的目的在于训练出“适用于”对目标域的测试样例进行分类的分类器,因此,终端在一边执行迭代分类训练过程时,还要一边确定当前是否已经得到了满足条件的分类器。本实施例中,终端可以基于已完成迭代分类训练的次数来确定当前所得的分类器是否已经符合要求:终端预先设置迭代分类训练的次数,例如,次数为n,则当终端确定当前已经完成的迭代分类训练次数达到n后,就可以停止继续进行迭代分类训练。当然,在其他一些示例当中,终端可以根据分类结果来决定是否需要继续进行迭代分类训练,例如当分类结果中分类正确率达到预设阈值后就停止继续分类。毫无疑义的是,终端也可以设置错误率阈值来代替正确率阈值,原理类似,这里不再赘述。当然,终端还可以将迭代分类训练次数与分类正确率两者结合共同确定迭代分类训练的继续与否。如果终端确定当前获得的分类器已经适用于对目标域中测试样例进行分类,则结束迭代分类训练,否则继续进入s104。纵观各迭代分类训练对应的分类器模型,分类性能有好有坏。通常由于各训练数据初始的分类权重向量时随机分配的,因此最初的分类器分类性能会比较差,而后续过程中,不断在前一次迭代分类训练的基础上对分类权重向量进行调整,因此总体来说,迭代次数越多,则获得的分类器模型便越好。所以,在迭代分类训练的最后一次迭代当中获得的分类器模型是最好的一个,获取到该分类器模型的分类权重向量实际上就是获得了该分类器。本实施例还提供一种样例识别方法,该方法需要先参照前述介绍创建出针对目标域的分类器。获得分类性符合要求的分类器后,可以采用该分类器对目标域中尚未标记的待识别样例进行分类,这便是目标域待识别样例的识别过程了。本实施例提供的目标域分类器训练方法和样例识别方法,终端在目标域源样例数据的基础上结合大量源域辅助样例数据,按照各训练数据当前的分类权重向量对源样例数据和辅助样例数据进行分类,并对在分类后调整各训练数据的分类权重向量,继续按照新的分类权重向量进行分类处理直至结束迭代分类训练为止,最后基于多次迭代分类训练得到的分类权重向量创建出目标域的分类器,从而对目标域中待识别的样例进行识别分类处理,可以在现有方案的基础上降低创建目标域分类器实现目标域样例识别的成本。第二实施例:前述实施例中提供的目标域分类器训练方法和样例识别方法适用于手写数字图像样例或语音样例。本实施例将在第一实施例的基础上,继续对目标域分类器训练方法和样例识别方法进行介绍,请参见图3:s302、对训练样例进行特征提取得到训练数据。在本实施例中,终端采用rbm算法实现对训练样例的特征提取。下面结合图4对rbm算法的原理进行简单介绍,图4示出的所以rbm模型的一种示意图:rbm一般由显层单元v和隐层单元h两层结构组成,显层单元和隐层单元之间的连接权重用w表示,显层偏置为b表示,隐层偏置为c。在受限玻尔兹曼机模型中,由于不存在显层单元和显层单元的连接以及隐层与隐层单元的连接,因此,rbm的能量函数的定义为:其中,θ={wij,bi,cj},是rbm模型的参数,在训练模型优化参数的过程中,可以通过求得依据于该能量函数的(v,h)的联合概率分布,其中(v,h)的联合概率分布函数如下所示:其中z(θ)为归一化因子。通过了解上述显隐层的联合概率分布,可以通过数学方法例如求和或者积分等形式得到显层或者隐层的边缘概率分布,或者它们的条件概率分布、显层单元v的边缘概率分布、隐层单元h的边缘概率、显层单元v相对于隐层单元h的条件概率分布以及隐层单元h相对于显层单元v的条件概率分布如下:当然,除了采用rbm算法进行特征提取,dbn算法也是不错的选择。将若干个rbm“串联”起来则构成了一个dbn。在dbn当中,上一个rbm的隐层即为下一个rbm的显层,上一个rbm的输出即为下一个rbm的输入。所以dbn算法是一种较为特殊的rbm算法,所以,这里不再对dbn算法进行单独介绍。s304、获取训练数据中各样例数据的分类权重向量。在第一实施例中已经详细介绍了初次迭代分类训练以及除初次迭代分类训练以外的其他迭代分类训练中获取训练数据中各样例数据分类权重向量的方式,这里不再赘述。在本实施例中终端在初次迭代分类训练中获取各样例数据分类权重向量时,为训练数据中的各源样例数据和各辅助样例数据分配等值的分类权重。s306、根据各样例的分类权重向量对训练数据中的样例数据进行分类处理。在本实施例中,设xb为源样例空间,xa为辅助样例空间。源样例空间也就是我们的目标空间,就是想要去分类的样例空间。设y={0,1}为类别空间,训练数据为:训练数据包括ta和tb两个数据集,其中:其中当i=1,2,…n;其中当j=1,2,…m;其中c(x)代表样本数据x的真实所属的类别,ta和tb的区别在于tb和测试数据s是同分布的,ta和测试数据是不同分布的,现在的任务就是给定很少的源数据tb和大量的辅助数据ta训练出一个分类器在测试数据s上的分类误差最小。这里假设利用已有的数据tb不足以训练出一个泛化能力很强的分类器。在每一次迭代分类训练当中,终端都会给训练数据t中的每一个样例都赋予一个分类权重,该分类权重即为s304中获取到的。随后,终端根据为各样例数据分配的分类权重对各样例数据进行分类处理。s308、判断当前源样例数据分类错误的错误率是否超过第二预设门限。在本实施例中,当分类结束后,终端会计算源样例数据分类错误的错误率是否超过第二预设门限,如果是,则说明当前的分类器模型对源样例数据的分类尚不够准确,需要进一步提升其分类精确度,因此,应当进入s310,继续调整当前的各样例数据的分类权重向量;否则,说明当前获得的分类器模型已经比较适用于对目标域中的样例数据进行分类识别了,因此,可以退出迭代分类训练,进入s312直接以当前的分类权重向量创建目标域的分类器。之所以仅计算当前分类器模型对源样例数据的分类错误率,这主要是考虑到终端训练分类器的目的就是用于对目标域中的样例数据进行分类识别,所以适合对目标域中的样例数据进行分类才是分类器最重要的性能指标。而源样例数据就是来自于目标域的数据,源样例数据具备与目标域中测试数据s相同的分布,因此,分类器是否能够准确对目标域中的测试数据s进行分类,可以通过分类器在对源样例数据进行分类时是否具备较低的错误率来体现。当然,在本实施例的一些其他示例当中,终端在确定是否需要进行迭代分类训练时,也可以考虑当前分类器对来自源域的辅助样例数据的分类情况。除了基于分类器对源样例数据的分类情况来确定是否结束迭代分类训练以外,本实施例的其他示例当中,终端还可以根据迭代分类训练的次数来确定是否继续。s310、根据分类结果对训练数据中各样例数据的分类权重向量进行调整。如果终端经过判断确定还需要进行下一次迭代分类训练,则终端需要根据当前的分类结果对训练数据中各样例数据的分类权重向量进行调整。在分类结束后,当一个源域tb中的样例数据被错误的分类之后,可以认为这个样例数据是很难分类的,于是乎可以加大该样例数据的权重,这样在下一次的训练中这个样例数据所占的比重就更大了。如果辅助样例数据中的一个样例数据被错误的分类了,我们可以认为这个样例数据与目标域中的源样例数据是很不同的,因此,降低这个样例数据所占的权重。确定需要对哪些样例数据的分类权重做调整之后,终端还需要进一步确定针对这些样例数据分类权重的调整幅度。在本实施例中,对于错误分类的辅助样例数据,终端会基于辅助样例数据的数目来计算用于对分类错误的辅助样例数据进行分类权重降低的降低调整率。可选地,若终端设置了迭代分类训练的最大次数,则终端可以根据如下公式计算降低调整率:其中,β为降低调整率,而n为终端预先设置的迭代分类训练的最大次数,n为辅助样例数据的数目。对于错误分类的源样例数据,终端计算在当前的分类权重向量下,训练数据中源样例数据分类错误的错误率,并基于错误率计算用于对分类错误的源样例数据进行分类权重提升的提升调整率。在本实施例中,终端参照图5所示的方式确定提升调整率:s502、计算在当前的分类权重向量下,训练数据中源样例数据分类错误的错误率。终端计算当前分类权重向量下,源样例数据分类错误的错误率实际上就是计算当前迭代分类训练对应的分类器对源样例数据进行分类时的错误率,具体的,终端可以参照如下公式来计算错误率:其中,ρt为错误率,n为辅助样本数据的数目,m为源样例数据的数目,为第t次进行迭代分类训练时训练数据中第i个训练数据的分类权重。ht(xi)为第t次迭代分类训练的分类器模型,即样例数据xi在第t次迭代分类训练时分入的类别,而c(xi)为样例数据xi被标注的真实类别。s504、判断计算所得错误率是否超过第一预设门限。计算出源样例数据的分类错误率之后,终端可以判断计算所得的错误率是否超过预设阈值,若是,则进入s506,否则进入s508。s506、直接将该错误率作为当前的错误计算值。若终端确定当前计算所得的错误率超过第一预设门限,则说明当前的错误率还比较高,因此,可以直接依据该值计算提升调整率,所以,可以直接将该错误率的值赋给错误计算值∈t。s508、基于前面各次迭代分类训练中的错误率计算错误计算值。如果终端确定当前计算得到的错误率小于第一预设门限,则说明当前的错误率比较小,因此如果直接根据该错误率来计算提升调整率,则调整幅度太小了,因此,在这种情况下,可以根据前面各次迭代分类训练中的错误率计算错误计算值。假定当前是在第t次进行迭代分类训练,可选地,终端根据如下公式计算错误计算值∈t:∈t=max(β1,β2,…βt-1)×k其中,β1,为第一次迭代分类训练计算得到的错误率,β2为第二次迭代分类训练计算得到的错误率,依次类推βt-1为第t-1次迭代分类训练计算得到的错误率。终端从这t-1个错误率中选择一个最大的与预设倍率相乘得到错误计算值∈t。其中k值大于0小于1,例如在本实施例的一种示例当中k值且0.7。s510、根据错误计算值计算提升调整率。可选地,终端按照如下公式计算提升调整率βt:所以,根据上述介绍可知,终端在第t次迭代分类训练中,会将训练数据的分类权重向量更新为:s312、以当前训练数据的分类权重向量创建目标域分类器。假定目标域中的源样例数据近包括两个类别,则终端执行了n次迭代分类训练后,可以得到的分类器如下:当然,对于语音识别或字符识别来说,所面临的并不是二分类问题,二分类的分类器也不能完成语音识别或字符识别,所以在得到二分类的分类器以后,可以采用softmax算法继续进行分类,从而得到多个由二分类分类器组成的多分类器。得到目标域的分类器之后,终端可以采用该分类器对目标域中尚未标记的待识别样例进行分类。本实施例提供的目标域分类器训练方法和样例识别方法,终端对训练数据进行迭代分类训练,并根据每一次迭代分类训练的分类结果对分类错误的源样例数据的分类权重进行提升,同时降低分类错误的辅助样例数据,使得下一次分类处理能够更加关注分类错误的源样例数据的分类,同时降低那些分类错误的辅助样例数据对分类结果的影响。通过这种方式可以在目标域仅拥有少量已标记的源样例数据的情况下,训练得到符合目标域实际情况的分类器。在降低训练目标域分类器的训练成本的基础上,还能在一定程度上保证训练所得分类器的分类性能。第三实施例:本实施例首先提供一种存储介质,该存储介质当中存储有一个或多个计算机程序。在本实施例的一个示例当中,该存储介质中存储有目标域数据库构建程序,该程序可供处理器读取、编译并执行,从而实现前述实施例中的目标域分类器训练方法流程。在本实施例的另一些示例当中,存储介质当中可以存储有样例识别程序,该样例识别程序被处理器执行,可以实现前述实施例中的样例识别方法。另外,本实施例还提供一种终端,请参见图6,该终端60包括处理61、存储器62和通信总线63。其中通信总线63用于实现处理器61和存储器62之间的连接通信,存储器62作为一种计算机可读存储介质,其中存储有目标域分类器训练程序或样例识别程序,处理器61可以通过执行目标域分类器训练程序可以实现前述实施例中介绍的目标域分类器训练方法;处理器61执行样本识别程序可以实现前述实施例中的样例识别方法。终端60的处理器61实现前述实施例中目标域分类器训练方法或样例识别方法的具体过程,请参见前述实施例的介绍,本实施例中不再进行赘述。终端60可以以各种形式来实施。例如,本发明中描述的终端60可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(personaldigitalassistant,pda)、便捷式媒体播放器(portablemediaplayer,pmp)、导航装置、可穿戴设备、智能手环、计步器等移动终端,以及诸如数字tv、台式计算机等固定终端。后续描述中将以移动终端为例进行说明,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。请参阅图7示出的实现本发明各个实施例的一种移动终端的硬件结构示意图。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。该移动终端700可以包括:rf(radiofrequency,射频)单元701、wifi模块702、a/v(音频/视频)输入单元703、显示单元704、存储器705、处理器706等部件。本领域技术人员可以理解,图7中示出的移动终端结构并不构成对移动终端的限定,移动终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。尽管图7未示出,移动终端700还可以包括蓝牙模块、接口单元、传感器、音频输出单元等,在此不再赘述。射频单元701可用于收发信息或通话过程中,信号的接收和发送,具体的,将基站的下行信息接收后,给处理器706处理;另外,将上行的数据发送给基站。通常,射频单元701包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元701还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于gsm(globalsystemofmobilecommunication,全球移动通讯系统)、gprs(generalpacketradioservice,通用分组无线服务)、cdma2000(codedivisionmultipleaccess2000,码分多址2000)、wcdma(widebandcodedivisionmultipleaccess,宽带码分多址)、td-scdma(timedivision-synchronouscodedivisionmultipleaccess,时分同步码分多址)、fdd-lte(frequencydivisionduplexing-longtermevolution,频分双工长期演进)和tdd-lte(timedivisionduplexing-longtermevolution,分时双工长期演进)等。wifi属于短距离无线传输技术,移动终端通过wifi模块702可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了wifi模块702,但是可以理解的是,其并不属于移动终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。a/v输入单元703用于接收音频或视频信号。a/v输入单元703可以包括图形处理器(graphicsprocessingunit,gpu)7031和麦克风7032,图形处理器7031对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元704上。经图形处理器7031处理后的图像帧可以存储在存储器705(或其它存储介质)中或者经由射频单元701或wifi模块702进行发送。麦克风7032可以在电话通话模式、记录模式、语音识别模式等等运行模式中经由麦克风7032接收声音(音频数据),并且能够将这样的声音处理为音频数据。处理后的音频(语音)数据可以在电话通话模式的情况下转换为可经由射频单元701发送到移动通信基站的格式输出。麦克风7032可以实施各种类型的噪声消除(或抑制)算法以消除(或抑制)在接收和发送音频信号的过程中产生的噪声或者干扰。显示单元704用于显示由用户输入的信息或提供给用户的信息。显示单元704可包括显示面板7041,可以采用液晶显示器(liquidcrystaldisplay,lcd)、有机发光二极管(organiclight-emittingdiode,oled)等形式来配置显示面板7041。存储器705可用于存储软件程序以及各种数据。存储器705可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器705可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。处理器706是移动终端的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或执行存储在存储器705内的软件程序和/或模块,以及调用存储在存储器705内的数据,执行移动终端的各种功能和处理数据,从而对移动终端进行整体监控。处理器706可包括一个或多个处理单元;优选的,处理器706可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器706中。前述实施例提供的样例识别方法通常有移动终端700执行,从而实现对用户语音的识别。而目标域分类器训练方法既可以由移动终端700执行,也可以由服务器执行。在服务器执行的情况下,服务器的处理器可以根据目标域分类器训练程序训练得到目标域分类器,然后将目标域分类器通过系统更新、程序更新等方式传输给移动终端700,移动终端700通过射频单元701或者wifi模块702接收到来自服务器的目标域分类器之后,执行样例识别方法来对采集到的用户语音进行识别。本实施例将以移动终端700的存储器705同时存储目标域分类器训练程序和样例识别程序为例,下面对移动终端700实现语音识别的过程进行介绍,请参见图8:s802、处理器706采用rbm算法对训练样例进行特征提取得到训练数据。本实施例中,移动终端700采用rbm算法做特征提取,但实际上,dbn算法,神经网络算法等也是可行的。值得一提的是,如果由移动终端700训练目标域分类器,则训练出的目标域分类器通常是用于对移动终端700用户的语音进行识别,所以,在本实施例中,目标域中的源样例数据可以是由移动终端700通过麦克风7032采集到的用户语音。在将用户语音作为源样例数据时,需要对用户语音进行标识,这个过程可能需要用户参与:移动终端700在用户的控制下采集到用户的某一语音之后,由用户通过移动终端700的用户输入单元输入该语音的汉语文字。例如图9所示,移动终端麦克风7032采集到的语音是“nihao”,随后用户通过用户输入单元指定该语音对应的文字是“你好”。对于辅助样例,可以在移动终端700设计生产阶段先存储到存储器705当中,也可以在用户使用阶段通过射频单元701或wifi模块702从网络侧下载获取。s804、处理器706判断当前已完成的迭代分类训练次数是否达到最大次数。在本实施例中,移动终端的处理器706会结合已完成迭代分类训练次数,以及源样例数据的分类错误率共同控制是否退出迭代分类训练。所以,在每次开始进入迭代分类训练时,终端先判定当前已完成的迭代分类训练次数是否达到最大次数。若是,则进入s814,否则进入s806。例如,处理器706预先设置总共要进行100次迭代分类训练,则在每次进入新的迭代分类训练时,都可以判断当前已经完成的迭代分类训练是否达到100,若是,则停止迭代分类训练,否则,进入迭代分类训练的流程。s806、处理器706获取训练数据中各样例数据的分类权重向量。在前述实施例中已经介绍过获取训练数据中各样例数据分类权重向量的两种途径,这里不再赘述。s808、处理器706根据各样例的分类权重向量对训练数据中的样例数据进行分类处理。处理器706获取到当前的各样例的分类权重向量后,可以按照当前的分类权重向量对训练数据中的样例数据进行分类处理。s810、处理器706判断源样例数据分类错误的错误率是否超过预设错误门限。当前分类迭代训练中的分类过程结束后,终端将会计算源样例数据分类错误的错误率是否超过预设错误门限,若源样例数据分类错误的错误率超过预设错误门限,则进入s812,否则,说明当前各样例数据的分类权重向量已经足够构成一个对目标域样例进行准确分类的分类器了,因此可以进入s814。s812、处理器706根据分类结果对训练数据中各样例数据的分类权重向量进行调整。具体的,如果处理器706确定需要根据当前的分类结果对训练数据中各样例数据的分类权重向量进行调整,则可以降低分类错误的辅助样例数据的分类权重向量,提高分类有误的源样例数据的分类权重向量。具体的调整细节,例如调整幅度的确定过程等,请参见第二实施例的介绍,这里不在赘述。对训练数据中各样例数据的分类权重向量进行调整后,处理器706将会继续执行s804。s814、处理器706采用当前的分类权重向量创建目标域的分类器。得到目标域的分类器之后,处理器706可以采用该分类器对目标域中尚未标记的待识别样例进行分类。可选地,移动终端700通过麦克风7032采集用户的语音信号,并将该语音信号的是被结果以文字的形式显示在显示面板7041上,如图10所示。可以理解的是,本实施例中,移动终端700虽然训练的是语音分类器,但实际上,本发明各实施例所指的样例同样可以是字符图像样例,例如手写数字图像样例、手写英文字母图像样例等。所以,本实施例中提供的移动终端700同样可以参照前述实施例的介绍实现手写字符分类器,从而实现手写字符的识别分类。本实施例提供的移动终端,对训练数据进行迭代分类训练,并根据每一次迭代分类训练的分类结果对分类错误的源样例数据的分类权重进行提升,同时降低分类错误的辅助样例数据,使得下一次分类处理能够更加关注分类错误的源样例数据的分类,同时降低那些分类错误的辅助样例数据对分类结果的影响。通过这种方式可以在目标域仅拥有少量已标记的源样例数据的情况下,训练得到符合目标域实际情况的分类器。降低了训练目标域分类器的训练代价,也就降低了移动终端语音识别的成本,降低了用户负担,提升了用户体验。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1