语料筛选方法及装置与流程

文档序号:12363710阅读:503来源:国知局
语料筛选方法及装置与流程

本发明涉及机器学习领域,具体而言,涉及一种语料筛选方法及装置。



背景技术:

在文本机器学习中,通过训练文本来训练语言模型,其中,训练文本即训练样本。通常,影响机器学习效果的主要因素有:1)训练样本集中噪声训练样本,即与训练主题无关的文本;2)训练样本集中文本的维度噪声,即与训练主题没明显关联度的词汇,比如,助词等。

在语言模型的训练过程中,训练样本直接决定了语言模型的好坏,因此训练样本集的筛选、构造就非常重要。在理想情况下,提供的训练样本越多,样本的分布越接近实际环境中文本的分布,那么训练出来的语言模型就越好。但是,在实际的使用环境中,训练样本语料的准备不可避免需要人工介入,训练样本语料的准备需要:准备语料文本;对语料文本根据当前机器学习主题打标签。其中,打标签是指根据当前机器学习的主题,判断训练样本属于该主题的哪种类型,例如,当前机器学习的主题是“性别”,那么就需要判断每条训练样本是象征着“男性”特征,还是“女性”特征,比如“塑体美容,打造40岁神话-范冰冰”这样的文本,女性特征明显,那么就应该打上“女性”的标签。

针对某个主题进行机器学习时,如果每次都准备上百万的训练语料进行训练则训练效率过低,如果采取较小训练文本集进行训练,语料的筛选、人工打标签的偏向性又会对最终的语言模型产生非常大的影响。现有技术中筛选训练样本的常用方法有人工抽取方法和交叉熵的筛选方法。

人工抽取方法是指由自然语言处理领域的技术人员阅读海量文本语料,从中挑选出平衡性好的语料集合,尽可能过滤噪声,但是该种方法是靠人工判断平衡性,不可避免会产生一定偏向性,实际操作性差,且不能做到语言模型的及时更新。

交叉熵的筛选方法引入信息论中“交叉熵”的概念,将原始语料随机分成若干个子集合,分别训练每个集合的语言模型,计算出它们与“基准参考语言模型”的交叉熵,并按照从大到小进行排序,选出其中熵值最小的几个集合并入结果语料集。如果此结果集的语言模型准确率已经达到预设要求即可完成此算法,否则,可以将此时的结果的语言模型作为基准参考模型,剩余语料作为原始语料,迭代上述抽选过程直至得到的语言模型达到准确率要求。但是上述交叉熵的筛选方法存在如下缺点:1)对语 料进行训练首先得对语料进行人工打标签,在对已经打了标签的语料集中筛选语料,该方法还是不可避免会产生一定偏向性;2)计算与“基准产考语言模型”的熵,将最小的熵并入结果语料集,但是,如果多个集合的“熵”都只有非常微小的差异,那么把最后一个排除在外,其他的加入结果训练集则不符合逻辑;3)这个理论运用在机器学习语料筛选方面没有经过丰富的实际应用的检验。

针对相关技术中筛选语料时受主观偏好影响造成训练样本质量不高的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明的主要目的在于提供一种语料筛选方法及装置,以解决相关技术中筛选语料时受主观偏好影响造成训练样本质量不高的问题。

为了实现上述目的,根据本发明的一个方面,提供了一种语料筛选方法。根据本发明的语料筛选方法包括:基于第一语料集合进行交叉校验,得到第一校验结果;判断第一校验结果是否满足第一预设条件;在判断出第一校验结果满足第一预设条件时,基于第一语料集合进行公开校验,得到第二校验结果;根据第二校验结果判断是否需要对第一语料集合进行筛选;以及在判断出需要对第一语料集合进行筛选时,对第一语料集合执行第一筛选处理。

进一步地,在判断出第一校验结果不满足第一预设条件时,该方法还包括:步骤1,对第一语料集合执行第二筛选处理,得到第二语料集合;步骤2,基于第二语料集合进行交叉校验,得到交叉校验结果;步骤3,通过第二语料集合更新第一语料集合,通过交叉校验结果更新第一校验结果,其中,重复执行步骤1至步骤3直到第一校验结果满足第一预设条件。

进一步地,根据第二校验结果判断是否需要对第一语料集合进行筛选包括:判断第二校验结果是否满足第二预设条件;如果判断出第二校验结果不满足第二预设条件,则确定需要对第一语料集合进行筛选;以及如果判断出第二校验结果满足第二预设条件,则确定不需要对第一语料集合进行筛选。

进一步地,在对第一语料集合执行第一筛选处理之后,该方法还包括:基于第一筛选处理后的语料集合进行交叉校验,得到交叉校验结果,并将交叉校验结果作为第一校验结果。

进一步地,基于第一语料集合进行交叉校验,得到第一校验结果包括:对第一语料集合进行分词,得到第一词语集合;对第一词语集合进行向量转化,得到词向量;以及基于词向量进行交叉校验,得到第一校验结果。

进一步地,对第一词语集合进行向量转化,得到词向量包括:根据预设词典对第一词语集合进行过滤,得到第二词语集合;从预设表中查询第二词语集合中每个词的标识符,其中,标识符用于表示第二词语集合中每个词在词向量中的位置;以及根据第二词语集合中每个词的标识符得到词向量。

为了实现上述目的,根据本发明的另一方面,提供了一种语料筛选装置。根据本发明的语料筛选装置包括:第一校验单元,用于基于第一语料集合进行交叉校验,得到第一校验结果;第一判断单元,用于判断第一校验结果是否满足第一预设条件;第二校验单元,用于在判断出第一校验结果满足第一预设条件时,基于第一语料集合进行公开校验,得到第二校验结果;第二判断单元,用于根据第二校验结果判断是否需要对第一语料集合进行筛选;以及第一筛选单元,用于在判断出需要对第一语料集合进行筛选时,对第一语料集合执行第一筛选处理。

进一步地,该装置还包括:第二筛选单元,用于对第一语料集合执行第二筛选处理,得到第二语料集合;第三校验单元,用于基于第二语料集合进行交叉校验,得到交叉校验结果,并通过交叉校验结果更新第一校验结果,通过第二语料集合更新第一语料集合;调用单元,用于调用第二筛选单元进行第二筛选处理和调用第三校验单元进行交叉校验以及更新第一校验结果和更新第一语料集合,直到第一校验结果满足所述第一预设条件。

进一步地,第二判断单元包括:第二判断模块,用于判断第二校验结果是否满足第二预设条件;以及第二确定模块,用于在判断出第二校验结果不满足第二预设条件时,确定需要对第一语料集合进行筛选,在判断出第二校验结果满足第二预设条件时,确定不需要对第一语料集合进行筛选。

进一步地,第一校验单元还用于基于第一筛选处理后的语料集合进行交叉校验,得到交叉校验结果,并将交叉校验结果作为第一校验结果。

进一步地,第一校验单元包括:分词模块,用于对第一语料集合进行分词,得到第一词语集合;转化模块,用于对第一词语集合进行向量转化,得到词向量;以及校验模块,用于基于词向量进行交叉校验,得到第一校验结果。

进一步地,转化模块包括:过滤子模块,用于根据预设词典对第一词语集合进行过滤,得到第二词语集合;查询子模块,用于从预设表中查询第二词语集合中每个词的标识符,其中,标识符用于表示第二词语集合中每个词在词向量中的位置;以及确定子模块,用于根据第二词语集合中每个词的标识符得到词向量。

通过本发明,采用基于第一语料集合进行交叉校验,得到第一校验结果;判断第一校验结果是否满足第一预设条件;在判断出第一校验结果满足第一预设条件时,基 于第一语料集合进行公开校验,得到第二校验结果;根据第二校验结果判断是否需要对第一语料集合进行筛选;以及在判断出需要对第一语料集合进行筛选时,对第一语料集合执行第一筛选处理,通过迭代交叉校验和公开校验进行语料筛选,解决了相关技术中筛选语料时受主观偏好影响造成训练样本质量不高的问题,进而达到了提高训练样本质量的效果。

附图说明

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明第一实施例的语料筛选方法的流程图;

图2是根据本发明第二实施例的语料筛选方法的流程图;以及

图3是根据本发明实施例的语料筛选装置的示意图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本发明实施例提供了一种语料筛选方法,图1是根据本发明第一实施例的语料筛选方法的流程图。

如图1所示,该语料筛选方法包括如下的步骤S101至步骤S105:

步骤S101:基于第一语料集合进行交叉校验,得到第一校验结果。

本发明实施例的第一语料集合即文本集合,可选地,可以通过网络爬虫从网站、微博等爬取文本放进语料库中,从语料库筛选出预设数量的语料组成第一语料集合以进行机器训练。交叉校验是指从语料集合中随机获取部分语料作为测试样本,语料集合中剩下的语料作为测试集。常见的交叉验证法有Holdout验证、K-fold交叉验证等,优选地,为了避免样本的浪费,本发明实施例采用K-fold交叉验证,具体地,K-fold交叉验证是把第一语料集合随机分成K个部分,从K个部分中轮流取1个部分作为测试样本,剩下的K-1个部分作为训练样本进行试验,经过K次试验,得到K个校验结果,最后把得到的K个校验结果平均,即得到第一校验结果。

第一校验结果可以包括准确率、召回率、偏差和方差中的一个或多个,其中,准确率指的是语言模型对语料的分类结果与人工对语料的分类结果相同的语料占总的语料集的比率,即,以人工分类结果为基准,判断语言模型对语料集分类的准确度。召回率也叫查出率(Recall Rate),是指检索出的相关文档数和文档库中所有的相关文档的比率。偏差(Bias)是度量语言模型的评价估计结果所能逼近学习目的的程度。方差(Variance)是度量在面对同样规模的不同训练集时,语言模型的分类结果发生的变动程度。

可选地,基于第一语料集合进行交叉校验,得到第一校验结果包括:对第一语料集合进行分词,得到第一词语集合;对第一词语集合进行向量转化,得到词向量;以及基于词向量进行交叉校验,得到第一校验结果。

由于第一语料集合中的每一条语料为一条文本,例如,“淘宝双十一进行女装促销”,对第一语料集合进行分词即对第一语料集合中的每一条语料进行分词,例如,将上述语料“淘宝双十一进行女装促销”分词后得到如下词语集合{淘宝,双十一,进行,女装,促销}。通常,语料集合中的语料通常会包含一些噪声词汇,例如,语气词,助词等,因此,为了避免这些噪声词汇对语料筛选的干扰,优选地,可以预先过滤掉这些噪声词汇,以提高语料筛选的效率和质量。优选地,为了进一步提高语料筛选的效率和质量,在对第一语料集合进行分词,得到第一词语集合之后,该方法还包括:根据预设词典对第一词语集合进行过滤,得到第二词语集合;从预设表中查询第二词语集合中每个词的标识符,其中,标识符用于表示第二词语集合中每个词在词向量中的位置;以及根据第二词语集合中每个词的标识符得到词向量。

本发明实施例中的预设词典即领域词典,也可以称为主题词典,具体地,由于机器文本学习通常是围绕某个主题进行研究,例如,性别,因此,在性别这个主题下,有很多中文词语与性别具有明显的相关性和偏向性,例如,美体,化妆品,面膜,路虎,刮胡刀,等,将这些与主题具有明显的相关性、偏向性的词语组成词典,即得到 领域词典。由于语料集合中的语料中通常会包含一些与研究主题不相关的词语,例如,研究主题为性别,则吃饭、桌子等词语明显对当前主题是没有太大的关联,而这些词语若加入机器训练不仅会影响训练的效率,而且也会影响训练得到的语言模型的质量。因此,预先通过领域词典对语料集合分词得到的词语集合(即第一词语集合)进行过滤,剔除第一词语集合中不属于领域词典的词语,即仅留下领域词典中出现的词。

本发明实施例中的预设表包括词语字段和标识符字段,标识符用于表示每个词语在词向量中的位置,具体地,可以通过预先为领域词典中的每个词语分配一个下标以表示该词语在词向量中的位置,例如,(女装,3)则表示女装这个词语位于词向量的第三个位置。因此,如果第二词语集合中出现了女装,则其对应的标识符为3,可选地,可将第二词语集合中属于同一条语料的词语转化为一个词向量,例如,对于语料“淘宝双十一进行女装促销”经过上述处理后得到词语集合{淘宝,双十一,女装,促销},其中,淘宝、双十一、女装、促销对应的标识符分别为4、7、2、5,则得到的词向量为[0,1,0,1,1,0,1,0,…,0],优选地,为了降低词向量的维度,可以采用如下方式表示上述词向量:{(4:1),(7:1),(2:1),(5:1)},其中,4、7、2、5表示每个词语在词向量中对应的位置,1表示每个词语在该条语料中出现的频次。

步骤S102:判断第一校验结果是否满足第一预设条件。

例如,第一校验结果包括准确度a1和召回率b1,则第一预设条件包括预设准确度c1和预设召回率d1,其中,预设准确度c1和预设召回率d1可以根据实际训练目标进行设定,例如,将预设准确度c1和预设召回率d1分别设为90%和95%,如果准确度a1大于预设准确度c1且召回率b1大于预设召回率d1,则继续进行公开校验,否则,对第一语料集合进行筛选得到新语料集合,并对筛选后得到的新语料集合进行交叉校验得到交叉校验结果,并通过该交叉校验结果更新第一校验结果,重复执行上述过程直至第一校验结果满足第一预设条件。

优选地,在判断出第一校验结果不满足第一预设条件时,根据本发明实施例的语料筛选方法还包括:

步骤1,对第一语料集合执行第二筛选处理,得到第二语料集合。

步骤2,基于第二语料集合进行交叉校验,得到交叉校验结果。

步骤3,通过第二语料集合更新第一语料集合,通过交叉校验结果更新第一校验结果,其中,重复执行步骤1至步骤3直到第一校验结果满足第一预设条件。

本发明实施例在第一校验结果不满足第一预设条件时,对语料集合进行筛选处理(即对第一语料集合执行第二筛选处理),例如,从第一语料集合中剔除部分语料和/或向第一语料集合中增加部分语料,以优化语料集合。本发明实施例在对第一语料集 合执行筛选处理之后,重新对筛选处理后的语料集合(即第二语料集合)进行交叉校验,得到交叉校验结果,并用该交叉校验结果更新第一校验结果,用第二语料集合去更新第一语料集合,重复执行上述步骤1至步骤3直至第一校验结果满足第一预设条件。优选地,为了提高对语料集合进行筛选处理的效率,在对第一语料集合执行第二筛选处理之前,可以预先将语料集合按语料类型等方式进行分组,从而可以根据预先的分组对第一语料集合进行批量剔除和/或批量增加语料处理。

步骤S103:在判断出第一校验结果满足第一预设条件时,基于第一语料集合进行公开校验,得到第二校验结果。

本发明实施例中的公开校验是指将第一语料集合中的全体语料作为训练集,任意获取第一语料集合之外的语料作为测试集,以分析第一语料集合训练得到的语言模型对于任意获取的语料的分类效果。在判断出第一校验结果满足第一预设条件时,基于第一语料集合进行公开校验,得到第二校验结果,具体地,本发明实施例将第一语料集合作为测试集训练语言模型,并任意获取第一语料集合之外的语料作为测试集对语言模型进行校验得到校验结果。同样地,本发明实施例的第二校验结果也可以包括准确率、召回率、偏差和方差中的一个或多个,根据该第二校验结果判断是否需要对第一语料集合进行筛选处理。

步骤S104:根据第二校验结果判断是否需要对第一语料集合进行筛选。

优选地,为了提高最后得到的语料样本的质量,根据第二校验结果判断是否需要对第一语料集合进行筛选包括:判断第二校验结果是否满足第二预设条件;如果判断出第二校验结果不满足第二预设条件,则确定需要对第一语料集合进行筛选;以及如果判断出第二校验结果满足第二预设条件,则确定不需要对第一语料集合进行筛选。

例如,第二校验结果包括准确度a2和召回率b2,则第二预设条件包括预设准确度c2和预设召回率d2,如果准确度a2大于预设准确度c2且召回率b2大于预设召回率d2,则确定不需要对语料集合进行筛选,此时,可以将第一语料集合作为目标机器学习的训练样本,否则,则确定需要对第一语料集合进行筛选。

步骤S105:在判断出需要对第一语料集合进行筛选时,对第一语料集合执行第一筛选处理。

本发明实施例在判断出需要对第一语料集合进行筛选时,对第一语料集合进行筛选处理,例如,增加和/或剔除部分语料等。优选地,为了进一步提高训练样本的质量,在对第一语料集合执行第一筛选处理之后,该方法还包括:基于第一筛选处理后的语料集合进行交叉校验,得到交叉校验结果,并将该交叉校验结果作为第一校验结果。

本发明实施例在经过步骤S105对第一语料集合进行筛选处理之后,继续基于第一 筛选处理后的语料集合进行交叉校验,得到交叉校验结果,将该交叉校验结作为第一校验结果,并根据该第一校验结果判断是否进行公开校验,具体地,只有当该第一校验结果满足第一预设条件时才根据上述第一筛选处理后的语料集合进行公开校验,否则继续对上述第一筛选处理后的语料集合进行筛选处理,并基于筛选处理后的语料集合进行交叉校验直至第一校验结果满足第一预设条件。

本发明实施例基于第一语料集合进行交叉校验,得到第一校验结果;判断第一校验结果是否满足第一预设条件;在判断出第一校验结果满足第一预设条件时,基于第一语料集合进行公开校验,得到第二校验结果;根据第二校验结果判断是否需要对第一语料集合进行筛选;以及在判断出需要对第一语料集合进行筛选时,对第一语料集合执行第一筛选处理。本发明实施例通过迭代交叉校验和公开校验进行语料筛选以得到最终的训练样本,解决了相关技术中筛选语料时受主观偏好影响造成训练样本质量不高的问题,进而达到了提高训练样本质量的效果。

图2是根据本发明第二实施例的语料筛选方法的流程图。如图2所示,根据本发明第二实施例的语料筛选方法包括如下步骤S201至步骤S211:

步骤S201:获取第一语料集合。

本发明实施例的第一语料集合即文本集合,可选地,可以通过网络爬虫从网站、微博等爬取文本放进语料库中,从语料库筛选出预设数量的语料组成语料集合以进行机器训练,例如,从语料库中筛选Train_Count条语料作为训练集Training_Set,并对被选中的Train_Count条语料进行打标签。此外,可以预先将训练集Training_Set语料分为Group组,具体地,将训练集Training_Set语料分组可以是随机分组,也可以是按照语料类型进行分组。上述训练集即步骤S201获取的第一语料集合。

步骤S202:K-Fold交叉训练。

K-fold交叉校验是把语料集合随机分成K个部分,从K个部分中轮流取1个部分作为测试样本,剩下的K-1个部分作为训练样本进行试验,经过K次试验,得到K个校验结果。具体地,本发明实施例基于第一语料集合进行K-Fold交叉训练包括如下步骤S2021和步骤S2022:

步骤S2021:根据领域词典对第一语料集合进行向量转化,得到向量矩阵。

具体地,根据领域词典对第一语料集合进行向量转化,得到向量矩阵包括如下步骤a至步骤d:

步骤a:为领域词典中的每个词语word分配一个唯一的下标Index,得到映射表<word::Index>,这个下标Index将用于表示这个词语在向量中的位置。

步骤b:首先对第一语料集合进行分词产生词语列表。

步骤c:从上述分词后得到的词语列表中移除在领域词典中没出现的词语。

步骤d:从映射表<word:Index>中查询步骤c中产生的每个词语,将步骤c中产生的每个词语替换成对应的Index。

步骤S2022:使用学习算法对上述得到的向量矩阵进行语言模型训练和交叉校验。

步骤S203:生成单次校验结果。

单次校验结果是指K-fold交叉校验中一次校验得到的校验结果,即从上述K个部分中任取1个部分作为测试样本,剩下的K-1个部分作为训练样本进行试验得到的校验结果。本发明实施例的校验结果可以包括准确率、召回率、偏差和方差中的一个或多个。

步骤S204:判断校验次数是否大于K。当校验次数大于K时,执行步骤S205,否则执行步骤S206。

步骤S205:生成K-Fold交叉校验结果。将上述K次校验得到的K个校验结果取平均值即得到K-Fold交叉校验结果,本发明实施例的K-Fold交叉校验结果可以包括准确率、召回率、偏差和方差中的一个或多个。

步骤S206:判断是否进行公开校验。

本发明实施例中的公开校验是指将语料集合中的全体语料作为训练集,任意获取该语料集合之外的语料作为测试集,以分析该语料集合训练得到的语言模型对于任意获取的语料的分类效果。本发明实施例通过K-Fold交叉校验结果判断是否进行公开校验,具体地,当K-Fold交叉校验结果满足第一预设条件时则进行公开校验,即执行步骤S209,当K-Fold交叉校验结果不满足第一预设条件时则执行步骤S207。

步骤S207:对第一语料集合进行筛选处理,得到筛选处理后的语料集合。对第一语料集合进行筛选处理包括从第一语料集合中剔除部分语料和/或增加部分语料,调整(增加或删减)领域字典维度等。优选地,为了提高对语料集合进行筛选处理的效率,在对第一语料集合进行筛选处理之前,可以预先将语料集合按语料类型等方式进行分组,从而可以根据预先的分组对第一语料集合进行批量剔除和/或批量增加语料处理。

步骤S208:通过筛选处理后的语料集合更新第一语料集合。具体地,用筛选处理后的语料集合更新第一语料集合之后,对更新后的第一语料集合执行上述步骤S202。

步骤S209:获取公开校验语料集合。由于公开校验是将第一语料集合中的全体语料作为训练集,任意获取第一语料集合之外的语料作为测试集,因此在公开校验之前 需要获取第一语料集合作为训练集以训练新的语言模型,并获取第一语料集合之外的任意语料作为测试集以测试该新的语言模型。

步骤S210:公开校验。公开校验即根据第一语料集合训练新的语言模型,并采用第一语料集合之外的语料对该新的语言模型进行校验,例如,校验该新的语言模型的准确率、召回率等,得到公开校验结果。

步骤S211:生成公开校验结果。本发明实施例的公开校验结果可以包括准确率、召回率、偏差和方差中的一个或多个。

步骤S212:判断是否对第一语料集合进行筛选处理。具体地,可以通过判断公开校验结果是否满足第二预设条件来确定是否需要对第一语料集合进行筛选处理。当公开校验结果满足第二预设条件时,则结束,并将当前公开校验的训练集(即第一语料集合)作为目标机器训练的训练样本;当公开校验结果不满足预设条件时,则执行步骤S207,对第一语料集合进行筛选处理。

本发明实施例通过不断迭代K-Fold交叉校验和公开校验对语料进行筛选,与人工判断筛选语料相比更加客观,与单纯K-Fold校验进行语料筛选相比更加贴近实际情况,能够有效避免过度拟合训练样本等问题,此外,根据K-Fold交叉校验和公开校验的校验结果迭代增加和/或减少语料集合中的语料也使得语料筛选过程具有继承性,解决了相关技术中筛选语料时受主观偏好影响造成训练样本质量不高的问题,进而达到了提高训练样本质量的效果。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

根据本发明实施例的另一方面,提供了一种语料筛选装置,该语料筛选装置可以用于执行本发明实施例的语料筛选方法,本发明实施例的语料筛选方法也可以通过本发明实施例的语料筛选装置来执行。

图3是根据本发明实施例的语料筛选装置的示意图,如图3所示,该语料筛选装置包括:第一校验单元10,第一判断单元20,第二校验单元30,第二判断单元40和第一筛选单元50。

第一校验单元10,用于基于第一语料集合进行交叉校验,得到第一校验结果。

交叉校验是指从语料集合中随机获取部分语料作为测试样本,语料集合中剩下的语料作为测试集。常见的交叉验证法有Holdout验证、K-fold交叉验证等,优选地,为了避免样本的浪费,本发明实施例采用K-fold交叉验证,具体地,K-fold交叉验证 是把第一语料集合随机分成K个部分,从K个部分中轮流取1个部分作为测试样本,剩下的K-1个部分作为训练样本进行试验,经过K次试验,得到K个校验结果,最后把得到的K个校验结果平均,即得到第一校验结果。

优选地,第一校验单元10包括:分词模块,用于对第一语料集合进行分词,得到第一词语集合;转化模块,用于对第一词语集合进行向量转化,得到词向量;以及校验模块,用于基于词向量进行交叉校验,得到第一校验结果。

优选地,转化模块还包括:过滤子模块,用于根据预设词典对第一词语集合进行过滤,得到第二词语集合;查询子模块,用于从预设表中查询第二词语集合中每个词的标识符,其中,标识符用于表示第二词语集合中每个词在词向量中的位置;以及确定子模块,用于根据第二词语集合中每个词的标识符得到词向量。

本发明实施例中的预设词典即领域词典,也可以称为主题词典。具体地,由于机器文本学习通常是围绕某个主题进行研究,例如,性别,因此,在性别这个主题下,有很多中文词语与性别具有明显的相关性和偏向性,例如,美体,化妆品,面膜,路虎,刮胡刀,等,将这些与主题具有明显的相关性、偏向性的词语组成词典,即得到领域词典。

第一判断单元20,用于判断第一校验结果是否满足第一预设条件。

第二校验单元30,用于在判断出第一校验结果满足第一预设条件时,基于第一语料集合进行公开校验,得到第二校验结果。

公开校验是指将语料集合中的全体语料作为训练集,任意获取该语料集合之外的语料作为测试集,以分析该语料集合训练得到的语言模型对于任意获取的语料的分类效果,例如,将第一语料集合作为训练集,将第一语料集合之外的语料作为测试集。

第二判断单元40,用于根据第二校验结果判断是否需要对第一语料集合进行筛选。

优选地,第二判断单元40包括:第二判断模块,用于判断第二校验结果是否满足第二预设条件;以及第二确定模块,用于在判断出第二校验结果不满足第二预设条件时,确定需要对第一语料集合进行筛选,在判断出第二校验结果满足第二预设条件时,确定不需要对第一语料集合进行筛选。

第一筛选单元50,用于在判断出需要对第一语料集合进行筛选时,对第一语料集合执行第一筛选处理。本发明实施例在判断出需要对第一语料集合进行筛选时,对该第一语料集合进行筛选处理,例如,增加和/或剔除部分语料等。

优选地,该装置还包括:第二筛选单元,用于对第一语料集合执行第二筛选处理, 得到第二语料集合;第三校验单元,用于基于第二语料集合进行交叉校验,得到交叉校验结果,并通过交叉校验结果更新第一校验结果,通过第二语料集合更新第一语料集合;调用单元,用于调用第二筛选单元进行第二筛选处理和调用第三校验单元进行交叉校验以及更新第一校验结果和更新第一语料集合,直到第一校验结果满足第一预设条件。其中,第三校验单元与第一校验单元可以为同一个功能单元。

优选地,第一校验单元10还用于基于第一筛选处理后的语料集合进行交叉校验,得到交叉校验结果,并将交叉校验结果作为第一校验结果。。

本发明实施例通过第一校验单元10基于第一语料集合进行交叉校验,得到第一校验结果;第一判断单元20判断第一校验结果是否满足第一预设条件;第二校验单元30在判断出第一校验结果满足第一预设条件时,基于第一语料集合进行公开校验,得到第二校验结果;第二判断单元40根据第二校验结果判断是否需要对第一语料集合进行筛选;以及第一筛选单元50在判断出需要对第一语料集合进行筛选时,对第一语料集合执行第一筛选处理。通过迭代交叉校验和公开校验进行语料筛选,解决了相关技术中筛选语料时受主观偏好影响造成训练样本质量不高的问题,进而达到了提高训练样本质量的效果。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1