一种中文分词纠错方法、离线训练装置及在线处理装置与流程

文档序号:12176957阅读:288来源:国知局
一种中文分词纠错方法、离线训练装置及在线处理装置与流程

本发明涉及搜索技术领域,具体涉及一种中文分词纠错方法及装置。



背景技术:

词是最小的能够独立活动的有意义的语言成分。不同于英文等印欧语系词语之间以空格分开,中文是以字为基本的书写单位,词语之间没有明显的区分标记。因此,中文文本处理的第一步就是要把中文句子按词的边界分割,即中文分词。很多中文信息处理相关的应用领域,例如,机器翻译、文本检索及搜索引擎、问答系统等,都需要先进行中文分词。因此,中文分词是中文信息处理的基础与关键。

目前,已有的中文分词方法包括多种类型,例如基于词典的机械分词、基于隐马尔科夫模型的分词、基于条件随机场地分词等。虽然近些年来在中文分词方面取得的进步较大,但是无论哪种中文分词方法都不可避免地会出现分词错误。特别地,在互联网的大环境下,各种新词和专业领域词汇层出不穷,提高了中文分词的难度。常见的分词错误主要包括:分词歧义消解错误,人名、地名等专有名词识别错误,未登录词识别错误等。这些分词错误对于后续的处理环节很不利。



技术实现要素:

针对现有技术的不足,本发明提供一种中文分词纠错方法、离线训练装置及在线处理装置。本发明能够通过构建纠错规则库有效的提高中文分词的精准性,同时能够不断适应新词出现的需求。

本发明的目的是采用下述技术方案实现的:

一种中文分词纠错方法,其改进之处在于,所述方法包括:

(1)给定原始语料库及其对应的正确的分词结果集,采用BMES标签将所述正确的分词结果集转换为BMES形式,获取正确的分词语料库C;

(2)采用原始分词器对所述原始语料库进行分词,并采用BMES标签将所述原始语料库的分词结果转换为BMES形式,获取分词结果集Ci,i的初始值为0;

(3)将所述分词结果集Ci与所述正确的分词语料库C进行比较,根据滑动窗口长度n获取纠错规则集Ri,n为正整数,纠错规则包括:纠错规则的触发条件和纠错规则的纠错动作;

(4)统计所述纠错规则集Ri中每个纠错规则的使用频次、正确率和效用值;

(5)分别设定使用频次、正确率和效用值的阈值,过滤所述纠错规则集Ri中小于该阈值的纠错规则,并将过滤后的纠错规则集Ri加入到纠错规则库R中;

(6)根据过滤后的纠错规则集Ri对所述分词结果集Ci进行纠错处理,获取更新后的分词结果集Ci+1

(7)对所述更新后的分词结果集Ci+1迭代执行步骤(3)至步骤(6),直至所述更新后的分词结果集Ci+1中不存在纠错规则,训练完成,获取最终的纠错规则库R;

(8)在线获取原始分词器处理后的句子,并采用BMES标签将所述句子中的字转换为BMES形式;

(9)根据滑动窗口长度n依次获取所述句子中字以及字的左右邻接字,所述句子中字的左右邻接字共n-1个,并获取所述句子中字以及字的左右邻接字的BMES标签,将所述句子中字以及字的左右邻接字与所述句子中字以及字的左右邻接字的BMES标签进行组合,将组合形式作为所述纠错规则的触发条件匹配所述纠错规则库R中纠错规则,获取匹配后的纠错规则;

(10)选择效用值最高的匹配后的纠错规则对所述待处理句子中字进行纠错处理;

(11)对纠错处理后的句子中字的BMES标签进行合法性检查。

优选的,所述BMES标签包括:B表示词的开头字,M表示词的中间字,E表示词的结尾字,S表示独立成词字,F表示英文单词,N表示数字串。

优选的,所述步骤(3)中,将所述分词结果集Ci与所述正确的分词语料库C进行比较,根据滑动窗口长度n获取纠错规则集Ri,n为正整数,包括:

若字V在所述分词结果集Ci中和正确的分词语料库C中对应的BMES标签不同,则获取所述字V和所述字V的左右邻接字,并获取所述字V和所述字V的左右邻接字在所述分词结果集Ci中对应的BMES标签,将所述字V和所述字V的左右邻接字与所述字V和所述字V的左右邻接字在所述分词结果集Ci中的BMES标签进行组合,每条组合形式作为所述纠错规则的触发条件,每条组合形式对应的所述字V和所述字V修正后的BMES标签作为纠错规则的纠错动作,所述字V和所述字V的左右邻接字共n个。

优选的,所述步骤(4)中,统计所述纠错规则集Ri中每个纠错规则的使用频次、正确率和效用值,包括:

计算所述纠错规则集Ri中每个纠错规则的正确率p(r),公式为:

p(r)=g(r)/(g(r)+b(r)) (1)

式(1)中,r为第r个纠错规则,g(r)为应用第r个纠错规则后产生的正例,b(r)为应 用第r个纠错规则后产生的反例;

计算纠错规则集Ri中每个纠错规则的效用值u(r),公式为:

u(r)=g(r)-b(r) (2)

式(2)中,g(r)为应用第r个纠错规则后产生的正例,b(r)为应用第r个纠错规则后产生的反例。

优选的,所述步骤(11)中,对纠错处理后的句子中字的BMES标签进行合法性检查,包括:

(11-1)当所述纠错处理后的句子中字的BMES标签为B时,左邻接字的BMES标签非B、E、F和N中的一个或右邻接字的BMES标签非M和E中的一个,则该字的BMES标签不合法;

(11-2)当所述纠错处理后的句子中字的BMES标签为M时,左邻接字的BMES标签非B或右邻接字的BMES标签非E,则该字的BMES标签不合法;

(11-3)当所述纠错处理后的句子中字的BMES标签为E时,左邻接字的BMES标签非B和M中的一个或右邻接字的BMES标签非B、S、N和F中的一个,则该字的BMES标签不合法;

(11-4)当所述纠错处理后的句子中字的BMES标签为S、N或F时,左邻接字的BMES标签非E、S、F和N中的一个或右邻接字的BMES标签非B、S、N和F中的一个,则该字的BMES标签不合法。

一种中文分词纠错离线训练装置,其改进之处在于,所述装置包括:

第一获取单元,用于给定原始语料库及其对应的正确的分词结果集,采用BMES标签将所述正确的分词结果集转换为BMES形式,获取正确的分词语料库C;

第二获取单元,用于采用原始分词器对所述原始语料库进行分词,并采用BMES标签将所述原始语料库的分词结果转换为BMES形式,获取分词结果集Ci,i的初始值为0;

第三获取单元,用于将所述分词结果集Ci与所述正确的分词语料库C进行比较,根据滑动窗口长度n获取纠错规则集Ri,n为正整数,纠错规则包括:纠错规则的触发条件和纠错规则的纠错动作;

统计单元,用于统计所述纠错规则集Ri中每个纠错规则的使用频次、正确率和效用值;

过滤单元,用于分别设定使用频次、正确率和效用值的阈值,过滤所述纠错规则集Ri中小于该阈值的纠错规则,并将过滤后的纠错规则集Ri加入到纠错规则库R中;;

处理单元,根据纠错规则集Ri对所述分词结果集Ci进行纠错处理,获取更新后的分词结果集Ci+1

优选的,所述BMES标签包括:B表示词的开头字,M表示词的中间字,E表示词的结尾字,S表示独立成词字,F表示英文单词,N表示数字串。

优选的,所述第三获取单元,包括:

第三获取子单元,用于若字V在所述分词结果集Ci中和正确的分词语料库C中对应的BMES标签不同,则获取所述字V和所述字V的左右邻接字,并获取所述字V和所述字V的左右邻接字在所述分词结果集Ci中对应的BMES标签,将所述字V和所述字V的左右邻接字与所述字V和所述字V的左右邻接字在所述分词结果集Ci中的BMES标签进行组合,每条组合形式作为所述纠错规则的触发条件,每条组合形式对应的所述字V和所述字V修正后的BMES标签作为纠错规则的纠错动作,所述字V和所述字V的左右邻接字共n个。

优选的,所述统计单元,包括:

第一统计子单元,用于计算所述纠错规则集Ri中每个纠错规则的正确率p(r),公式为:

p(r)=g(r)/(g(r)+b(r)) (1)

式(1)中,r为第r个纠错规则,g(r)为应用第r个纠错规则后产生的正例,b(r)为应用第r个纠错规则后产生的反例;

第二统计子单元,用于计算所述纠错规则集Ri中每个纠错规则的效用值u(r),公式为:

u(r)=g(r)-b(r) (2)

式(2)中,g(r)为应用第r个纠错规则后产生的正例,b(r)为应用第r个纠错规则后产生的反例。

一种中文分词纠错在线处理装置,其改进之处在于,所述装置包括:

第四获取单元,用于在线获取原始分词器处理后的句子,并采用BMES标签将所述句子中的字转换为BMES形式;

第五获取单元,用于根据滑动窗口长度n依次获取所述句子中字以及字的左右邻接字,所述句子中字的左右邻接字共n-1个,并获取所述句子中字以及字的左右邻接字的BMES标签,将所述句子中字以及字的左右邻接字与所述句子中字以及字的左右邻接字的BMES标签进行组合,将组合形式作为所述纠错规则的触发条件匹配所述纠错规则库R中纠错规则,获取匹配后的纠错规则;

选择单元,用于选择效用值最高的匹配后的纠错规则对所述待处理句子中字进行纠错处理;

检查单元,用于对纠错处理后的句子中字的BMES标签进行合法性检查。

优选的,所述检查单元,包括:

第一检查子单元,用于当所述纠错处理后的句子中字的BMES标签为B时,左邻接字的BMES标签非B、E、F和N中的一个或右邻接字的BMES标签非M和E中的一个,则该字的BMES标签不合法;

第二检查子单元,用于当所述纠错处理后的句子中字的BMES标签为M时,左邻接字的BMES标签非B或右邻接字的BMES标签非E,则该字的BMES标签不合法;

第三检查子单元,用于当所述纠错处理后的句子中字的BMES标签为E时,左邻接字的BMES标签非B和M中的一个或右邻接字的BMES标签非B、S、N和F中的一个,则该字的BMES标签不合法;

第四检查子单元,用于当所述纠错处理后的句子中字的BMES标签为S、N或F时,左邻接字的BMES标签非E、S、F和N中的一个或右邻接字的BMES标签非B、S、N和F中的一个,则该字的BMES标签不合法。

与最接近的现有技术相比,本发明具有的有益效果:

本发明提供的一种中文分词纠错方法、离线训练装置及在线处理装置,能够从语料库上自动训练得到分词纠错器,比较当前分词结果集与正确的分词结果集,对错误的分词结果进行统计,自动总结出纠错规则,并对每条纠错规则计算统计指标,过滤不可靠的纠错规则。这样不停迭代计算,不断发现新的纠错规则从而构建纠错规则库,再根据纠错规则库对在线句子进行分词纠错处理,避免了分词歧义消解,人名、地名等专有名词识别,未登录词识别等错误的出现,有效的提高了中文分词的精准性的同时还能够不断适应新词出现的需求;特别的,本发明提供的一种中文分词纠错方法、离线训练装置及在线处理装置可移植性强,能够把通用的分词器移植到给定领域。

附图说明

图1是本发明提供的一种中文分词纠错方法流程图;

图2是本发明提供的一种中文分词纠错离线训练装置示意图;

图3是本发明提供的一种中文分词纠错在线处理装置示意图。

具体实施方式

下面结合附图对本发明的具体实施方式作进一步的详细说明。

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

本发明提供了一种中文分词纠错方法及装置,如图1所示,包括:

(1)给定原始语料库及其对应的正确的分词结果集,采用BMES标签将所述正确的分词 结果集转换为BMES形式,获取正确的分词语料库C;

(2)采用原始分词器对所述原始语料库进行分词,并采用BMES标签将所述原始语料库的分词结果转换为BMES形式,获取分词结果集Ci,i的初始值为0;

(3)将所述分词结果集Ci与所述正确的分词语料库C进行比较,根据滑动窗口长度n获取纠错规则集Ri,n为正整数,纠错规则包括:纠错规则的触发条件和纠错规则的纠错动作;

(4)统计所述纠错规则集Ri中每个纠错规则的使用频次、正确率和效用值;

(5)分别设定使用频次、正确率和效用值的阈值,过滤所述纠错规则集Ri中小于该阈值的纠错规则,并将过滤后的纠错规则集Ri加入到纠错规则库R中;

例如:出现频次小于5或者正确率小于阈值0.7或者效用值小于阈值5的规则,可以直接过滤掉,将剩余纠错规则加入至纠错规则库R中;

(6)根据过滤后的纠错规则集Ri对所述分词结果集Ci进行纠错处理,获取更新后的分词结果集Ci+1

(7)对所述更新后的分词结果集Ci+1迭代执行步骤(3)至步骤(6),直至所述更新后的分词结果集Ci+1中不存在纠错规则,训练完成,获取最终的纠错规则库R;

(8)在线获取原始分词器处理后的句子,并采用BMES标签将所述句子中的字转换为BMES形式;

(9)根据滑动窗口长度n依次获取所述句子中字以及字的左右邻接字,所述句子中字的左右邻接字共n-1个,并获取所述句子中字以及字的左右邻接字的BMES标签,将所述句子中字以及字的左右邻接字与所述句子中字以及字的左右邻接字的BMES标签进行组合,将组合形式作为所述纠错规则的触发条件匹配所述纠错规则库R中纠错规则,获取匹配后的纠错规则;

例如:滑动窗口长度n=5,在线获取原始分词器处理后的句子为“系统/集成/员/”,用BMES标签来表示为“系/B统/E集/B成/E员/S”,对于“集”字,其左右4个邻接字为“系统成员”,则将“系、统、集、成、员”及其对应的BMES标签“B、E、B、E、S”进行组合,再例如,组合形式为“系/B统/E集/B成/E员/S”,则将组合形式为“系/B统/E集/B成/E员/S”与纠错规则库R中纠错规则进行匹配,匹配到相应的纠错规则的纠错动作,根据匹配到的纠错动作对“集”字进行纠错处理;

(10)选择效用值最高的匹配后的纠错规则对所述待处理句子中字进行纠错处理;

(11)对纠错处理后的句子中字的BMES标签进行合法性检查。

其中,所述BMES标签包括:B表示词的开头字,M表示词的中间字,E表示词的结尾字, S表示独立成词字,F表示英文单词,N表示数字串。

例如:切分结果“系统/集成/员/”,用BMES标签来表示就是“系/B统/E集/B成/E员/S”。

所述步骤(3)中,将所述分词结果集Ci与所述正确的分词语料库C进行比较,根据滑动窗口长度n获取纠错规则集Ri,n为正整数,包括:

若字V在所述分词结果集Ci中和正确的分词语料库C中对应的BMES标签不同,则获取所述字V和所述字V的左右邻接字,并获取所述字V和所述字V的左右邻接字在所述分词结果集Ci中对应的BMES标签,将所述字V和所述字V的左右邻接字与所述字V和所述字V的左右邻接字在所述分词结果集Ci中的BMES标签进行组合,每条组合形式作为所述纠错规则的触发条件,每条组合形式对应的所述字V和所述字V修正后的BMES标签作为纠错规则的纠错动作,所述字V和所述字V的左右邻接字共n个。

例如:在分词结果集Ci中,系统集成员招聘”被错误地切分为“系统/集/成员/招聘/”,用BMES序列表示就是“系/B统/E集/S成/B员/E招/B聘/E”,而正确的切分结果是“系统/集成/员/招聘/”,用BMES序列表示就是“系/B统/E集/B成/E员/S招/B聘/E”;对于“集”字,可以抽取滑动窗口长度n=5的纠错规则:“系/B统/E集/S成/B员/E”=>“集/B”,其中,“系/B统/E集/S成/B员/E”表示纠错规则的触发条件,“集/B”表示纠错规则的纠错动作;同样地,分别对于“成”和“员”字,可以抽取两条纠错规则:“系/B统/E集/S成/B员/E”=>“成/E”和“系/B统/E集/S成/B员/E”=>“员/S”,同时应用这3条规则,则可将切词结果“系统/集/成员/招聘/”纠正为“系统/集成/员/招聘/”。

通常,一个字对应的纠错规则不止一条且可能存在很多噪音规则,因此需要评价指标来衡量候选规则的可靠性,所述步骤(4)中,统计所述纠错规则集Ri中每个纠错规则的使用频次、正确率和效用值,包括:

计算所述纠错规则集Ri中每个纠错规则的正确率p(r),公式为:

p(r)=g(r)/(g(r)+b(r)) (1)

式(1)中,r为第r个纠错规则,g(r)为应用第r个纠错规则后产生的正例,b(r)为应用第r个纠错规则后产生的反例;

计算纠错规则集Ri中每个纠错规则的效用值u(r),公式为:

u(r)=g(r)-b(r) (2)

式(2)中,g(r)为应用第r个纠错规则后产生的正例,b(r)为应用第r个纠错规则后产生的反例。

为了避免纠错器本身犯错误,可以对纠错后的结果进行合法性检查,所述步骤(11)中, 对纠错处理后的句子中字的BMES标签进行合法性检查,包括:

(11-1)当所述纠错处理后的句子中字的BMES标签为B时,左邻接字的BMES标签非B、E、F和N中的一个或右邻接字的BMES标签非M和E中的一个,则该字的BMES标签不合法;

(11-2)当所述纠错处理后的句子中字的BMES标签为M时,左邻接字的BMES标签非B或右邻接字的BMES标签非E,则该字的BMES标签不合法;

(11-3)当所述纠错处理后的句子中字的BMES标签为E时,左邻接字的BMES标签非B和M中的一个或右邻接字的BMES标签非B、S、N和F中的一个,则该字的BMES标签不合法;

(11-4)当所述纠错处理后的句子中字的BMES标签为S、N或F时,左邻接字的BMES标签非E、S、F和N中的一个或右邻接字的BMES标签非B、S、N和F中的一个,则该字的BMES标签不合法。

如果字的BMES标签不合法,则恢复原始的分词结果。

一种中文分词纠错离线训练装置,如图2所示,所述装置包括:

第一获取单元,用于给定原始语料库及其对应的正确的分词结果集,采用BMES标签将所述正确的分词结果集转换为BMES形式,获取正确的分词语料库C;

第二获取单元,用于采用原始分词器对所述原始语料库进行分词,并采用BMES标签将所述原始语料库的分词结果转换为BMES形式,获取分词结果集Ci,i的初始值为0;

第三获取单元,用于将所述分词结果集Ci与所述正确的分词语料库C进行比较,根据滑动窗口长度n获取纠错规则集Ri,n为正整数,纠错规则包括:纠错规则的触发条件和纠错规则的纠错动作;

统计单元,用于统计所述纠错规则集Ri中每个纠错规则的使用频次、正确率和效用值;

过滤单元,用于分别设定使用频次、正确率和效用值的阈值,过滤所述纠错规则集Ri中小于该阈值的纠错规则,并将过滤后的纠错规则集Ri加入到纠错规则库R中;;

处理单元,根据纠错规则集Ri对所述分词结果集Ci进行纠错处理,获取更新后的分词结果集Ci+1

所述BMES标签包括:B表示词的开头字,M表示词的中间字,E表示词的结尾字,S表示独立成词字,F表示英文单词,N表示数字串。

具体的,所述第三获取单元,包括:

第三获取子单元,用于若字V在所述分词结果集Ci中和正确的分词语料库C中对应的BMES标签不同,则获取所述字V和所述字V的左右邻接字,并获取所述字V和所述字V的左右邻接字在所述分词结果集Ci中对应的BMES标签,将所述字V和所述字V的左右邻接字与所述字V和所述字V的左右邻接字在所述分词结果集Ci中的BMES标签进行组合,每条组合形式 作为所述纠错规则的触发条件,每条组合形式对应的所述字V和所述字V修正后的BMES标签作为纠错规则的纠错动作,所述字V和所述字V的左右邻接字共n个。

所述统计单元,包括:

第一统计子单元,用于计算所述纠错规则集Ri中每个纠错规则的正确率p(r),公式为:

p(r)=g(r)/(g(r)+b(r)) (1)

式(1)中,r为第r个纠错规则,g(r)为应用第r个纠错规则后产生的正例,b(r)为应用第r个纠错规则后产生的反例;

第二统计子单元,用于计算所述纠错规则集Ri中每个纠错规则的效用值u(r),公式为:

u(r)=g(r)-b(r) (2)

式(2)中,g(r)为应用第r个纠错规则后产生的正例,b(r)为应用第r个纠错规则后产生的反例。

一种中文分词纠错在线处理装置,如图3所示,所述装置包括:

第四获取单元,用于在线获取原始分词器处理后的句子,并采用BMES标签将所述句子中的字转换为BMES形式;

第五获取单元,用于根据滑动窗口长度n依次获取所述句子中字以及字的左右邻接字,所述句子中字的左右邻接字共n-1个,并获取所述句子中字以及字的左右邻接字的BMES标签,将所述句子中字以及字的左右邻接字与所述句子中字以及字的左右邻接字的BMES标签进行组合,将组合形式作为所述纠错规则的触发条件匹配所述纠错规则库R中纠错规则,获取匹配后的纠错规则;

选择单元,用于选择效用值最高的匹配后的纠错规则对所述待处理句子中字进行纠错处理;

检查单元,用于对纠错处理后的句子中字的BMES标签进行合法性检查。

具体的,所述检查单元,包括:

第一检查子单元,用于当所述纠错处理后的句子中字的BMES标签为B时,左邻接字的BMES标签非B、E、F和N中的一个或右邻接字的BMES标签非M和E中的一个,则该字的BMES标签不合法;

第二检查子单元,用于当所述纠错处理后的句子中字的BMES标签为M时,左邻接字的BMES标签非B或右邻接字的BMES标签非E,则该字的BMES标签不合法;

第三检查子单元,用于当所述纠错处理后的句子中字的BMES标签为E时,左邻接字的BMES标签非B和M中的一个或右邻接字的BMES标签非B、S、N和F中的一个,则该字的BMES标签不合法;

第四检查子单元,用于当所述纠错处理后的句子中字的BMES标签为S、N或F时,左邻接字的BMES标签非E、S、F和N中的一个或右邻接字的BMES标签非B、S、N和F中的一个,则该字的BMES标签不合法。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

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