一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种单字错别字识别模型的训练方法及其训练集生成方法与流程

2022-04-02 04:36:36 来源:中国专利 TAG:


1.本发明涉及计算机错别字自动识别领域,具体来说,涉及一种单字错别字识别模型的训练方法及其训练集生成方法。


背景技术:

2.随着互联网和移动互联网技术的快速发展,人们的生活和工作节奏不断加快,在日常工作和学习过程中键入汉字时,时不时会出现错别字。事实上,汉字错别字识别和校对工作在各行各业中耗费了大量的人力和财力。汉字错别字识别可以分成汉字词级(word-level)错别字识别和汉字字级(character-level)错别字识别。
3.而汉字词级的错别字识别的研究已经取得了很好的结果。而单字往往是多义词、单字使用频率比词高、单字上下文语境复杂、单字错误训练样本搜集困难。例如句子为:两国新一界政府应共同努力,其单字“界”是单字“届”对应的错别字。汉字字级的错别字识别十分困难,现有的模型对单字的识别效果很不理想。想要获得对单字识别效果好的模型,需要考虑单字在不同的语境下的复杂使用情况,且与相应单字相似的单字存在多种多样,同时,需要克服训练样本的收集上和构建上的困难。
4.因此,亟需一种生成训练集的方法,通过该训练集训练出的模型,既能提升对单字的识别精度,也能提升其泛化能力。


技术实现要素:

5.因此,本发明的目的在于克服上述现有技术的缺陷,提供一种单字错别字识别模型的训练方法及其训练集生成方法。
6.本发明的目的是通过以下技术方案实现的:
7.在本发明的第一方面,提供一种生成用于单字错别字识别模型的训练集的方法,所述方法包括:s1、获取语料库,对语料库中的各语句进行分词处理和词性标注,得到多个原始分词序列,其中,每个原始分词序列包括多个分词项以及每个分词项的词性;s2、基于原始分词序列构建各分词项的标签,得到标签序列,其中初始的标签值指示每个分词项对应的文字是正确文字;s3、将相应原始分词序列中一个为单字的分词项替换为与相应单字相似的错误单字,得到带错字分词序列,并且更改相应标签序列中单字被替换的分词项对应的标签值以指示其对应的单字为错误文字;s4、重复步骤s3,构建包括多个样本的训练集,其中每个样本包括分词序列及对应的标签序列,所述分词序列为原始分词序列或者带错字分词序列。
8.在本发明的一些实施例中,所述将原始分词序列中为单字的分词项替换为与相应单字相似的错误单字,得到带错字分词序列,包括:针对每种词性,获取多个包括有为单字的相应词性的分词项的原始分词序列;按照分词项的词性,将每个原始分词序列中为单字的相应词性的分词项替换为与相应单字相似的多个错误单字中的一个,获得多个带错字分词序列。
9.在本发明的一些实施例中,所述将为单字的分词项替换为与相应单字相似的错误单字为参照多个单字集合混淆对集,并按照分词项的词性进行替换,其中,多个单字集合混淆对集的生成方式包括:针对每种词性,基于相应词性的单字与相应单字相似的多个错误单字,构建一个单字混淆对集,其中,单字混淆对集包括多个由相应单字和与该单字相似的一个错误单字构建的单字混淆对;基于相同词性的多个单字的多个单字混淆对集构建相应词性的单字集合混淆对集,获得多个词性不同的单字集合混淆对集。
10.在本发明的一些实施例中,所述与相应单字相似的多个错误单字,包括:与相应单字字形相似的多个错误单字、与相应单字读音相似的多个错误单字、与相应单字字义相似的多个错误单字之一或者其任一不同的组合。
11.在本发明的一些实施例中,所述更改相应标签序列中单字被替换的分词项对应的标签值以指示其对应的单字为错误文字,包括:按照预定的标签窗口大小,更改相应标签序列中单字被替换的分词项的标签值以指示其对应的单字为错误文字,以及更改该分词项前后的多个分词项对应的标签值以指示该分词项前后的多个分词项的文字为错误文字。
12.在本发明的一些实施例中,所述语料库为汉语语料库、日语语料库或韩语语料库。
13.在本发明的一些实施例中,所述生成用于单字错别字识别模型的训练集的方法还包括:对原始分词序列和带错字分词序列中的相应词性的分词项进行抽象处理,包括对词性为人名、地名、时间以及机构名称的全部分词项的文本文字分别替换为统一的人名类符号、地名类符号、时间类符号以及机构名称类符号。
14.在本发明的第二方面,提供一种单字错别字识别模型的训练方法,包括按照以下方式对单字错别字识别模型进行多次迭代:获取利用本发明的第一方面所述方法生成的训练集;利用训练集训练单字错别字识别模型识别样本的分词序列中为单字的分词项对应的单字是否为错别字,获得预测结果序列;基于相应样本的预测结果序列和标签序列,计算总损失值;根据总损失值更新单字错别字识别模型的参数。
15.在本发明的第三方面,提供一种单字错别字识别系统,包括:分词模块,用于对输入语句进行分词处理,获得待识别的分词序列;根据在本发明的第二方面的训练方法获得的单字错别字识别模型,用于对待识别的分词序列进行处理,输出预测结果序列,所述预测结果序列指示分词序列中为单字的分词项对应的单字是否为错别字。
16.在本发明的第四方面,提供一种电子设备,包括:一个或多个处理器;以及存储器,其中存储器用于存储可执行指令;所述一个或多个处理器被配置为经由执行所述可执行指令以实现本发明的第一方面以及第二方面所述方法的步骤。
17.与现有技术相比,本发明的优点在于:
18.1、本发明生成训练集的方法中,将原始分词序列中为单字的分词项替换为与相应单字相似的错误单字,而一个原始分词序列中包括多个为单字的分词项,且与相应单字相似的错误单字包括多个,即一个原始分词序列可获得多个不同的带错字分词序列,为原始分词序列和带错字分词序列的每个分词项构建一个指示该分词项的文字是否为错误文字的标签,训练集中的每个带错字分词序列均包括一个错误单字,以此获得的训练集用于训练模型可极大提升模型对错误单字的识别精度。
19.2、本发明针对每种词性的单字均生成相应的多个带错字分词序列,生成的多个带错字分词序列丰富多样,解决部分词性的单字出现频次少,导致生成的带错字分词序列中
错误单字类别不均匀,使模型对部分词性的单字的识别效果不好的问题。
20.3、本发明在针对每种词性的单字生成相应的多个带错字分词序列时,是参照多个不同词性的单字集合混淆对集,对相应词性的单字进行替换,解决了带错字分词序列的样本构建困难,效率低的问题。在多个不同词性的单字集合混淆对集中,其每个词性的单字混淆对集均包括了与相应单字读音易混淆、字形结构易混淆和字义易混淆的多种单字混淆对,丰富了带错字分词序列的样本,提高模型泛化性能。
21.4、本发明将带错字分词序列的为错误单字的分词项的标签更改为指示其分词项的文字为错误外,按照预定的标签窗口大小,还将该为错误单字的分词项前后若干个分词项的标签更改为指示其分词项的文字为错误文字,对提升单字错别字识别的召回率具有重要的作用。另外,对训练集中的部分出现频率很低的词性的分词项进行抽象处理,解决训练集中部分数据稀疏导致的模型的泛化性能差的问题。
附图说明
22.以下参照附图对本发明实施例作进一步说明,其中:
23.图1为根据本发明实施例的单字错别字识别模型的结构图;
24.图2为根据本发明实施例的生成用于单字错别字识别模型的训练集的方法流程图;
25.图3为根据本发明实施例的一个带错字分词序列及其标签序列的示意图。
具体实施方式
26.为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
27.如在背景技术部分提到的,由于单字往往是多义词、单字使用频率比词高、单字上下文语境复杂、单字错误训练样本搜集困难。另外,文本中跟词性有关的单字错误出现很普遍。导致汉字字级的错别字识别更为困难,效果很不理想。想要获得对单字识别效果好的模型,需要考虑单字在不同的语境下的复杂使用情况,且与相应单字相似的单字存在多种多样,同时,需要克服训练样本的收集上和构建上的困难。
28.因此,总的来说,本发明涉及两个方面的改进:1)如何生成用于单字错别字识别模型的样本集;2)单字错别字识别模型的结构及其训练方法。以下将分别详细说明。
29.本发明通过对语料库中的各语句进行分词处理,获得多个包括多个分词项的原始分词序列;对原始分词序列的每个分词项构建一个标签,得到标签序列,每个标签的初始标签值指示每个分词项对应的文字是正确文字,以原始分词序列和对应的标签序列作为样本;将相应原始分词序列中一个为单字的分词项替换为与相应单字相似的错误单字,获得的每个带错字分词序列均包括一个错误单字,并且更改相应标签序列中为错误单字的分词项的标签值以指示其为错误文字,以此得到包括带错字分词序列和对应的标签序列的样本;以上多个样本即构成丰富训练集,通过该训练集训练单字错别字识别模型,有效提高模型对单字错别字的识别精度。
30.进一步的,一个原始分词序列中包括多个为单字的分词项,将相应原始分词序列
中一个为单字的分词项替换为与相应单字相似的错误单字,且与相应单字相似的错误单字包括多个,如读音相似、字形相似以及字义相似的多个单字,即一个原始分词序列可获得多个不同错误单字的带错字分词序列,以有效提高模型的泛化能力。
31.根据本发明的一个实施例,提供一种生成用于单字错别字识别模型的训练集的方法,参见图2,该方法包括步骤s1、s2、s3和s4。为了更好地理解本发明,下面结合具体的实施例针对每一个步骤分别进行详细说明。
32.步骤s1:获取语料库,对语料库中的各语句进行分词处理和词性标注,得到多个原始分词序列,其中,每个原始分词序列包括多个分词项以及每个分词项的词性。
33.根据本发明的一个实施例,语料库可以是汉语语料库、日语语料库或韩语语料库。本发明采用汉语语料库生成训练集,将汉语语料库中的语句记为s,m条语句则记为{s1,s2,

,sm},采用分词工具(如分词工具ictclas(institute of computing technology,chinese lexical analysis system))对汉语语料库中的各语句进行分词处理和词性标注,形成多个分词序列记为{t1,t2,

,tm}。分词工具给分词序列的每个分词项一个词性标签,如分词序列ti=w
i1
/pos(w
i1
)w
i2
/pos(w
i2
)
…wij
/pos(w
ij
),且(1≤i≤m),(1≤j≤k),其中,w
ij
/pos(w
ij
),称为ti的第j个分词项,pos(w
ij
)为词w
ij
的词性。例如,句子s
1“一副精致的手镯”被分词和词性标注后,得到一个分词序列“一/m副/v精致/a的/u手镯/n”,含有5个分词项,它们的词性分别为m(表示数词),v(表示动词),a(表示形容词),u(表示助词)以及n(表示名词)。
34.步骤s2、基于原始分词序列构建各分词项的标签,得到标签序列,其中初始的标签值指示每个分词项对应的文字是正确文字。
35.根据本发明的一个实施例,对原始分词序列中的各个分词项赋予相应的标签,由于原始分词序列的每个分词项的文字均为正确的,因此,赋予的初始标签值均指示每个分词项对应得到文字为正确文字,同时相应的标签序列tagi=c c

c(1≤i≤m),可指定标签c为0,表示初始的标签值为0,每个分词项的文字都是正确文字。
36.步骤s3、将相应原始分词序列中一个为单字的分词项替换为与相应单字相似的错误单字,得到带错字分词序列,并且更改相应标签序列中单字被替换的分词项对应的标签值以指示其对应的单字为错误文字。
37.根据本发明的一个实施例,将原始分词序列中为单字的分词项替换为与相应单字相似的错误单字,得到带错字分词序列,包括:针对每种词性,获取多个包括有为单字的相应词性的分词项的原始分词序列;按照分词项的词性,将每个原始分词序列中为单字的相应词性的分词项替换为与相应单字相似的多个错误单字中的一个,获得多个带错字分词序列。
38.根据本发明的一个实施例,如针对助词词性,获取预定个数的原始分词序列,且每条原始分词序列中包括有为单字的助词词性的分词项,按照分词项的助词词性,将以上获取的每个原始分词序列中为单字的助词词性的分词项替换为与相应单字相似的多个错误单字中的一个,替换后的分词项记为w

ij
,即带错字分词序列ti=w
i1
/pos(w
i1
)w
i2
/pos(w
i2
)
…w′
ij
/pos(w
ij
)

。同样的,针对副词词性、量词词性和连词词性等多种词性均进行如上的操作,生成的多个带错字分词序列丰富多样,且每种词性均生成有带错字分词序列,解决部分词性的单字出现频次少,使模型对部分词性的单字的识别效果不好的问题。下面针
对助词词性给出示例1,针对副词词性给出示例2。
39.其中,示例1:原始分词序列ti:一/m副/v精致/a的/u手镯/n,包括有为单字的助词词性的分词项“的/u”,将为单字的助词词性的分词项替换为与相应单字相似的多个错误单字中的一个,如替换为错误单字“得”或“地”等,获得带错字的分词序列:一/m副/v精致/a得/u手镯/n。
40.示例2:原始分词序列ti:一/m副/v精致/a的/u手镯/n,包括有为单字的副词词性的分词项“副/v”,将为单字的副词词性的分词项替换为与相应单字相似的多个错误单字中的一个,如替换为错误单字“福”、“幅”或“付”等,获得带错字的分词序列:一/m付/v精致/a得/u手镯/n。
41.根据本发明的一个实施例,在对每个原始分词序列中为单字的相应词性的分词项替换为错误单字时,可以将原始分词序列中为单字的相应词性的分词项随机替换为与相应单字相似的多个错误单字中的一个;或者指定替换为与相应单字相似的多个错误单字中的一个;或者按照与相应单字相似的多个错误单字的排列顺序,依次选择一个错误单字对为单字的相应词性的分词项进行替换,获得多个不同的样本,以避免样本重复。其中,与相应单字相似的多个错误单字,包括:与相应单字字形相似的多个错误单字、与相应单字读音相似的多个错误单字、与相应单字字义相似的多个错误单字之一或者其任一不同的组合。
42.根据本发明的一个实施例,更改相应标签序列中单字被替换的分词项对应的标签值以指示其对应的文字为错误文字,包括:按照预定的标签窗口大小,更改相应标签序列中单字被替换的分词项的标签值以指示其对应的单字为错误文字,以及更改该分词项前后的多个分词项对应的标签值以指示该分词项前后的多个分词项的文字为错误文字。优选的,预定的标签窗口大小(winsize=2d 1)可以是3、5、7、9,参见图3,针对带错字分词序列ti=w
i1
/pos(w
i1
)
…wij-d
/pos(w
ij-d
)
…w′
ij
/pos(w
ij
)
…wij d
/pos(w
ij d
)
…wik
/pos(w
ik
),更改相应标签序列中单字被替换的分词项w

ij
/pos(w
ij
)的标签值以指示该分词项的单字为错误文字,以及更改该分词项前后的d个分词项对应的标签值以指示该分词项前后的d个分词项的文字为错误文字,更改后的标签值为1,以符号e表示,得到带错字分词序列的标签序列tagi=c
…e…e…e…
c。例如,当预定标签窗口大小为3时,d取1,即更改分词项w

ij
/pos(w
ij
)的标签值以指示该分词项的单字为错误文字,以及更改w
ij-1
/pos(w
ij-1
)和w
ij 1
/pos(w
ij 1
)两个分词项对应的标签值以指示该分词项前后的一个分词项的文字为错误文字。
43.根据本发明的另一个实施例,将为单字的分词项替换为与相应单字相似的错误单字可以参照多个单字集合混淆对集,并按照分词项的词性进行替换,以更简单有效地将相应为单字的分词项进行替换。
44.其中,多个单字集合混淆对集的生成方式包括:针对每种词性,基于相应词性的单字与相应单字相似的多个错误单字,构建一个单字混淆对集。其中,单字混淆对集包括多个由相应单字和与该单字相似的一个错误单字构建的单字混淆对;基于相同词性的多个单字的多个单字混淆对集构建相应词性的单字集合混淆对集,获得多个词性不同的单字集合混淆对集。
45.根据本发明的一个实施例,如针对助词词性,构建助词词性的单字集合混淆对集。首先,需要收集在汉语语料库中出现的频次较高的为助词词性单字,获得助词词性的单字构成的单字集合,收集结果如下表1所示,助词词性的单字构成的单字集合中包括了10个出
现频次高的为单字的助词。
46.表1:助词词性的单字构成的单字集合的各个单字的频次分布
47.助词词性的单字构成的单字集合频次的23853039了3997818等1496229着661947地512835过392214得363028之352169所322354连63945
48.其次,通过以上方式,构建每种词性的单字集合,获得多个词性不同的单字集合,如下表2所示,包括多个不同词性的且频繁出现的单字构成的单字集合。
49.表2:单字集合及每个集合的单字个数
50.[0051][0052]
最后,基于多个不同词性的单字构成的单字集合构建多个不同词性的单字集合混淆对集。根据本发明的一个实施例,如基于助词词性的每个单字与相应单字相似的多个错误单字,构建一个相应单字的单字混淆对集,助词词性的单字构成的单字集合包括10个单字,因此可构建10个单字混淆对集。将助词词性的单字集合的任一单字记为w
ij
,与相应单字相似的错误单字记为w

ij
,可以是与相应单字字形相似的多个错误单字、与相应单字读音相似的多个错误单字、与相应单字字义相似的多个错误单字或者其组合中的其中一个。形成单字混淆对《w
ij
,w

ij
》,如与单字“的”相似的错误单字w

ij
包括有“地”、“得”、“昀”等,获得“了”字的单字混淆对集{《的,地》,《的,得》,

,《的,昀》},单字“了”,与其相似的错误单字包括有“子”、“孑”、“孓”等,获得“了”字的单字混淆对集{《了,子》,《了,孑》,

,《了,孓》},助词词性的所有单字的单字混淆对集形成助词词性的单字集合混淆对集,记为cset
助词

[0053]
根据本发明的一个实施例,将为单字的分词项替换为与相应单字相似的错误单字可以参照多个单字集合混淆对集,并按照分词项的词性进行替换。如按照分词项的助词词性,参照助词词性的单字集合混淆对集cset
助词
中的单字“的”的单字混淆对集{《的,地》,《的,得》,

,《的,昀》},将原始分词序列ti:一/m副/v精致/a的/u手镯/n中的为单字的助词“的”,替换为“地”、“得”或“昀”,获得带错字的分词序列,如:一/m副/v精致/a得/u手镯/n。
[0054]
步骤s4、重复以上的步骤s3,构建包括多个样本的训练集,其中每个样本包括分词序列及对应的标签序列,分词序列为原始分词序列或者带错字分词序列。即相应的样本形式为:原始分词序列ti=w
i1
/pos(w
i1
)w
i2
/pos(w
i2
)
…wij
/pos(w
ij
)及相应的标签序列tagi=c c

c,带错字分词序列ti=w
i1
/pos(w
i1
)w
i2
/pos(w
i2
)
…w′
ij
/pos(w
ij
)及相应的标签序列tagi=c c
…e…
e。
[0055]
进一步的,由于部分词性的分词项在语料库中出现频率很低,且同一词性下对应的文字各不相同,单字训练集中数据稀疏影响训练出的模型对单字错别字的识别精度降低。根据本发明的一个实施例,本发明提供的一种生成用于单字错别字识别模型的训练集
的方法,还包括步骤s5:对原始分词序列和带错字分词序列中的相应词性的分词项进行抽象处理,包括对词性为人名、地名、时间以及机构名称的全部分词项的文本文字分别替换为统一的人名类符号、地名类符号、时间类符号以及机构名称类符号。该实施例的技术方案至少能够实现以下有益技术效果:本发明对训练集中的部分词性分词项进行抽象处理,克服训练集中数据稀疏的问题,以提升模型识别精度。
[0056]
根据本发明的一个实施例,分词序列ti=w
i1
/pos(w
i1
)w
i2
/pos(w
i2
)
…wij
/pos(w
ij
),如果pos(w
ij
)=nr(即人名)且w
ij
在tagi中的对应标注为“c”,则将ti中w
ij
替换成统一“《人名类》”符号。
[0057]
如果pos(w
ij
)=ns(即地名),并且w
ij
在tagi中的对应标注为“c”,则将ti中w
ij
替换成统一“《地名类》”符号。
[0058]
如果pos(w
ij
)=t(即时间)且w
ij
在tagi中的对应标注为“c”,则将ti中w
ij
替换成统一“《时间类》”符号。
[0059]
如果pos(w
ij
)=nt(即机构名称)且w
ij
在tagi中的对应标注为“c”,则将ti中w
ij
替换成统一“《机构名称类》”符号。
[0060]
根据本发明的一个实施例,还可以将分词序列中的每个分词项上标注的词性去除,以简化训练集。将原始分词序列中的每个分词项上标注的词性去除,得到样本对应的训练语句:tti=w
i1
/w
i2
/
…wij-d
/
…wij
/及相应的标签序列:tagi=c c
…c…
c,以及将带错字分词序列中的每个分词项上标注的词性去除,得到样本对应的训练语句:tti=w
i1
/w
i2
/
…wij-d
/
…w′
ij
/及相应的标签序列:tagi=c c
…e…
e,其中,c和e的标签值中,一个标签值为0,另一个标签值为1。
[0061]
基于以上方法获得的训练集中,包括有各个词性对应的多个带错字分词序列,可采用分别训练的方式或混合训练的方式,当采用分别训练的方式时,训练过程为针对某一词性进行训练,获得相应词性的单字错别字识别模型用于单独识别相应词性的单字是否为错误,如采用助词词性的分词项的单字为错误的多个带错字分词序列对单字错别字识别模型进行训练,获得助词词性的单字错别字识别模型,提升对某一词性的单字的识别精度;或者也可采用混合训练的方式,即利用训练集中所有词性对应的多个带错字分词序列对单字错别字识别模型进行训练,获得的模型可检测所有词性的单字是否错误。
[0062]
根据本发明的一个实施例,本发明的单字错别字识别模型采用双向序列标注模型(bi-directional long short-term memory-conditional random fields,bilstm-crf models),用于识别输入语句对应的分词序列中为单字的分词项的单字是否为错别字。参见图1,双向序列标注模型的输入为语句经过分词处理后的分词序列,输出为分词序列的每个分词项对应的预测结果,模型从输入到输出的结构依次包括词向量层、前向lstm层、后向lstm层、拼接层和crf层。
[0063]
根据本发明的一个实施例,采用混合训练的方式,提供一种单字错别字识别模型的训练方法,包括按照以下步骤对单字错别字识别模型进行多次迭代:
[0064]
步骤a1:获取利用上述方法生成的训练集。
[0065]
步骤a2:利用训练集训练单字错别字识别模型识别样本的分词序列中为单字的分词项对应的单字是否为错别字,获得预测结果序列。
[0066]
参考图1,首先,通过单字错别字识别模型的词向量层提取分词序列的每个分词项
的特征,包括将每个分词项转换成对应的one-hot向量:vec

,d表示词典的大小,通过词嵌入矩阵将每个vec

映射成低维稠密的词向量d表示每个字嵌入后的词向量维度,如vec
ij
为第i个样本的第j个分词项的词向量,其次,通过前向lstm层从左至右读取vec
ij
后输出第i个样本的第j个分词项的前向隐藏状态后向lstm层以从右至左读取vec
ij
后输出第i个样本的第j个分词项的后向隐藏状态最后,拼接层将第i个样本的第j个分词项的前向隐藏状态和后向隐藏状态进行拼接成一个向量得到第i个样本的输出矩阵为zi=(z
i1
,

,z
ij

,z
ik
),crf层将该矩阵zi=(z
i1
,

,z
ij

,z
ik
)作为crf层的输入,获得第i个样本的预测结果序列yi=(y
i1
,

,y
ij
,

,y
ik
)。其中,预测结果y
ij
为指示第i个样本的第j个分词项的文字为错误文字的预测结果e或者为指示相应分词项的文字为正确文字的预测结果c。
[0067]
如图1中,将第i个样本对应的训练语句:tti=一/付/精致/的/手镯输入模型中,其中,样本的训练语句有五个分词项,第二个分词项“付”为错误单字,当取标签窗口大小为3时,第i个样本的标签序列为(e,e,e,c,c),c代表对应分词项的文字为正确,e代表对应分词项的文字为错误;通过词向量层获得五个分词项各自对应的词向量为vec
i1
、vec
i2
、vec
i3
、vec
i4
和vec
i5
,通过前向lstm层获得五个分词项各自对应的前向隐藏状态为和通过后向lstm层获得五个分词项各自对应的后向隐藏状态为和通过拼接层输出第i个样本的输出矩阵zi=(z
i1
,z
i2
,z
i3
,z
i4
,z
i5
),最后,通过crf层获得第i个样本的预测结果序列为yi=(y
i1
,y
i2
,y
i3
,y
i4
,y
i5
),如yi=(e,e,e,c,c)。
[0068]
步骤a3:基于相应样本的预测结果序列和标签序列,计算总损失值。
[0069]
根据本发明的一个实施例,采用对数似然函数计算总损失,如下所示:
[0070][0071]
其中,n表示样本数,p(yi|zi)表示第i个样本的预测结果序列的概率分布,yi为第i个样本的预测结果序列,zi为第i个样本在拼接层的输出矩阵,k表示第i个样本的分词项数量,t为标签转移矩阵,表示预测结果序列中的第j个预测结果y
ij
转移到第j 1个预测结果y
i(j 1)
的概率,表示训练语句tti中第j个分词项w
ij
被标注成预测结果y
ij
的得分,表示第i个样本的标签序列,表示tti当轮所有的预测结果序列。
[0072]
步骤a4:根据总损失值更新单字错别字识别模型的参数。直至达到预设迭代轮次,停止更新,获得训练好的单字错别字识别模型。
[0073]
基于以上训练好的单字错别字识别模型,根据本发明的一个实施例,提供一种单字错别字识别系统,包括:分词模块,用于对输入语句进行分词处理,获得待识别的分词序列;单字错别字识别模型,其通过以上训练方法进行训练,用于对待识别的分词序列进行处理,输出预测结果序列,预测结果序列指示分词序列中为单字的分词项对应的单字是否为错别字。
[0074]
下面将针对训练过程进行说明以及在训练结束后通过测试集验证本发明的单字错别字识别模型的识别效果。
[0075]
实验中,将分词序列嵌入模型的词向量层后,获得的每个分词项的词向量维度为300,同时,设置隐藏层单元为200,学习率为0.001,批次大小为512,迭代50次停止训练模型,对于词性单字错误语料中的正样本(即原始分词序列和对应的标签序列)和负样本(即带错字分词序列和对应的标签序列)的采样数均为15000个;整个单字错别字识别模型使用tensorflow进行搭建,实验中计算机使用的显卡型号为titan rtx。另外,在训练单字错别字识别模型时,将训练集中标签序列中指示分词项的文字为错误文字的标签窗口大小winsize分别设置为3、5、7、9进行训练,训练出4个不同的单字错别字识别模型。
[0076]
训练结束后,针对助词词性,随机采集2000个负样本作为测试集,使用测试集对4个不同的单字错别字识别模型进行测试。获得结果如表3所示。
[0077]
表3:不同标签窗口大小的测试集在相应单字错别字识别模型的测试结果
[0078][0079][0080]
从测试结果中可以发现,本发明的方法在精确率、召回率和平均f1值(调和平均值)方面均取得较好的效果;采用指示分词项的文字为错误文字的标签窗口大小设置为5的训练集训练出的单字错别字识别模型的效果最佳,即精确率、召回率和平均f1值(调和平均值)最大。
[0081]
需要说明的是,虽然上文按照特定顺序描述了各个步骤,但是并不意味着必须按照上述特定顺序来执行各个步骤,实际上,这些步骤中的一些可以并发执行,甚至改变顺序,只要能够实现所需要的功能即可。
[0082]
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0083]
计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读
存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
[0084]
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献