一种基于对比学习的中文拼写校对预训练模型构建方法转让专利

申请号 : CN202210941108.5

文献号 : CN114997148B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 毛星亮蒋政治杨艺林中尧

申请人 : 湖南工商大学

摘要 :

本发明公开了一种基于对比学习的中文拼写校对预训练模型构建方法,该方法包括:获取数据集和输入文本;根据数据集构建混淆集;混淆集为带有字音信息、字形信息以及字频信息的混淆集;基于混淆集对输入文本进行数据扩增,得到原样本和扩增样本;构建教师模型和学生模型;基于原样本和扩增样本,对教师模型和学生模型进行对比学习;将对比学习后的学生模型作为对比学习预训练语言模型。通过结合对比学习和预训练技术,将混淆集中包含的信息融入对比学习预训练语言模型,使得对比学习预训练语言模型进行编码得到的向量能包含语义、字音、字形等多种信息;构建的对比学习预训练语言模型能够在文本拼写校对领域比其它的预训练模型表现更好。

权利要求 :

1.一种基于对比学习的中文拼写校对预训练模型构建方法,其特征在于,包括:S1:获取数据集和输入文本;根据所述数据集构建混淆集;所述混淆集为带有字音信息、字形信息以及字频信息的混淆集;

S2:基于所述混淆集对所述输入文本进行数据扩增,得到原样本和扩增样本;

得到所述原样本和所述扩增样本的过程为:

步骤1:设置掩码概率;基于掩码概率以及输入文本的长度,得到掩码数量;

步骤2:根据掩码数量在输入文本中进行随机采样,得到掩码位置;基于混淆集对掩码位置对应的字进行掩码优化,得到掩码优化后的文本;所述输入文本即为原样本,所述掩码优化后的文本即为扩增样本;

基于混淆集对掩码位置对应的字进行掩码优化的过程为:

步骤1:根据掩码位置确定输入文本中需要掩码的字;

步骤2:根据输入文本中需要掩码的字以及混淆集中混淆字出现的频率,对混淆字进行采样;

步骤3:将所述输入文本中需要掩码的字替换为采样后的混淆字;

S3:构建教师模型和学生模型;基于所述原样本和所述扩增样本,对教师模型和学生模型进行对比学习;将对比学习后的学生模型作为对比学习预训练语言模型;

基于所述原样本和所述扩增样本,对教师模型和学生模型进行对比学习的过程为:步骤1:将输入文本中需要掩码的字以及采样后的混淆字作为正例;将输入文本中不需要掩码的字作为负例;

步骤2:计算原样本分别与正例、负例之间的相似度,计算公式为:其中,sim表示相似度函数; 表示原样本; 表示正例; 表示负例;Cos()表示余弦相似度函数;

步骤3:根据原样本分别与正例、负例之间的相似度,计算对比损失;计算公式为:其中, 表示对比损失值;i表示输入文本中需要掩码的字符位置;j表示输入文本中不需要掩码的字符位置;n表示输入文本中所有字符的字符位置;表示温度系数; 表示采样后的混淆字的字符向量; 表示输入文本中需要掩码的字,即原样本; 表示输入文本中不需要掩码的字的字符向量; 表示标识函数;标识函数的表达式为:。

2.根据权利要求1所述的一种基于对比学习的中文拼写校对预训练模型构建方法,其特征在于,S1中,所述数据集包括拼写校对数据集和拼写错误数据集;所述拼写校对数据集包括混淆字符;所述拼写错误数据集包括出现错误的字;基于所述拼写校对数据集和所述拼写错误数据集,统计所述出现错误的字及其对应的所述混淆字符,得到出错频率和出错频次;对所述出错频率进行统计,对所述出错频次进行归一化处理,得到所述混淆集。

3.根据权利要求2所述的一种基于对比学习的中文拼写校对预训练模型构建方法,其特征在于,进行掩码优化的步骤3包括掩码策略;所述掩码策略包括选取混淆集中混淆字出现的频率为80%时,将所述输入文本中需要掩码的字替换为采样后的混淆字。

4.根据权利要求3所述的一种基于对比学习的中文拼写校对预训练模型构建方法,其特征在于,所述掩码策略还包括:选取混淆集中混淆字出现的频率为10%,将所述输入文本中需要掩码的字替换为BERT预训练模型词表中随机选择的字;

选取混淆集中混淆字出现的频率为剩余的10%时,保留所述输入文本中需要掩码的字不变。

5.根据权利要求1所述的一种基于对比学习的中文拼写校对预训练模型构建方法,其特征在于,所述教师模型和所述学生模型均由12层的Transformer模型组成。

说明书 :

一种基于对比学习的中文拼写校对预训练模型构建方法

技术领域

[0001] 本发明涉及文本拼写校对技术领域,具体涉及一种基于对比学习的中文拼写校对预训练模型构建方法。

背景技术

[0002] 随着互联网技术和智能手机应用的快速发展和更新,互联网成为信息的主要传播渠道之一,小到日常生活中看新闻、搜索信息,大到国家政府机关发布政策公告、通过社交媒体对外宣传,文字信息作为互联网信息传播的主要载体承担着重要作用。文字可以通过键盘输入、手写输入、语音转化等多种方式完成,然而这些输入方式都可能导致文本中出现错误,文本中出现的错误可能导致传达的信息产生歧义或差错,所谓差之毫厘谬以千里,新闻报道出现错误会影响新闻报道的质量,可能对读者产生误导;法律文书中存在的错别字过多可能会影响到法律文书的有效性;而政务网站一旦出现错别字,会带来不良的舆论影响,损害政府部门在公民心中的形象与威信。文本信息如果没有经过校对,文本中存在的拼写错误可能给经济文化政治各方面带来严重的负面影响。
[0003] 文本拼写校对,是需要对文本中出现的拼写错误进行纠正。目前对于中文文本拼写校对任务,研究学者主要的解决思路是基于深度学习方法,借助预训练模型强大的语义抽取能力,搭建拼写校对模型进行处理,然而,现有的方法仍然存在一些局限性:
[0004] 1、目前的预训练语言模型编码文本向量时仅对语义进行编码,缺乏对于字音字形信息的编码,而中文文本中出现拼写错误往往与音近字和形近字相关,使得预训练模型在拼写校对领域的表现不尽人意。
[0005] 2、基于深度学习的方法未和混淆集进行有效融合,混淆集包含了大量音近易混淆字、形近易混淆字信息,能够有效地辅助提升拼写校对的效果,目前基于深度学习的方法往往通过后处理方法融入混淆集知识,混淆集价值没有得到充分利用。

发明内容

[0006] 因此,本发明要解决的技术问题在于克服现有技术中的缺陷,从而提供一种基于对比学习的中文拼写校对预训练模型构建方法。
[0007] 本发明提供了一种基于对比学习的中文拼写校对预训练模型构建方法,该方法包括:
[0008] S1:获取数据集和输入文本;根据数据集构建混淆集;混淆集为带有字音信息、字形信息以及字频信息的混淆集;
[0009] S2:基于混淆集对输入文本进行数据扩增,得到原样本和扩增样本;
[0010] S3:构建教师模型和学生模型;基于原样本和扩增样本,对教师模型和学生模型进行对比学习;将对比学习后的学生模型作为对比学习预训练语言模型。
[0011] 优选的,S1中,数据集包括拼写校对数据集和拼写错误数据集;拼写校对数据集包括混淆字符;拼写错误数据集包括出现错误的字;基于拼写校对数据集和拼写错误数据集,统计出现错误的字及其对应的混淆字符,得到出错频率和出错频次;对出错频率进行统计,对出错频次进行归一化处理,得到混淆集。
[0012] 优选的,S2中,得到原样本和扩增样本的过程为:
[0013] 步骤1:设置掩码概率;基于掩码概率以及输入文本的长度,得到掩码数量;
[0014] 步骤2:根据掩码数量在输入文本中进行随机采样,得到掩码位置;基于混淆集对掩码位置对应的字进行掩码优化,得到掩码优化后的文本;输入文本即为原样本,掩码优化后的文本即为扩增样本。
[0015] 优选的,基于混淆集对掩码位置对应的字进行掩码优化的过程为:
[0016] 步骤1:根据掩码位置确定输入文本中需要掩码的字;
[0017] 步骤2:根据输入文本中需要掩码的字以及混淆集中混淆字出现的频率,对混淆字进行采样;
[0018] 步骤3:将输入文本中需要掩码的字替换为采样后的混淆字。
[0019] 优选的,进行掩码优化的步骤3包括掩码策略;掩码策略包括选取混淆集中混淆字出现的频率为80%时,将输入文本中需要掩码的字替换为采样后的混淆字。
[0020] 优选的,掩码策略还包括:
[0021] 选取混淆集中混淆字出现的频率为10%时,将输入文本中需要掩码的字替换为BERT预训练模型词表中随机选择的字;
[0022] 选取混淆集中混淆字出现的频率为剩余的10%时,保留输入文本中需要掩码的字不变。
[0023] 优选的,教师模型和学生模型均由12层的Transformer模型组成。
[0024] 优选的,S3中,基于原样本和扩增样本,对教师模型和学生模型进行对比学习的过程为:
[0025] 步骤1:将输入文本中需要掩码的字以及采样后的混淆字作为正例;将输入文本中不需要掩码的字作为负例;
[0026] 步骤2:计算原样本分别与正例、负例之间的相似度,计算公式为:
[0027]
[0028]
[0029] 其中,sim表示相似度函数; 表示原样本; 表示正例; 表示负例;Cos()表示余弦相似度函数;
[0030] 步骤3:根据原样本分别与正例、负例之间的相似度,计算对比损失;计算公式为:
[0031]
[0032] 其中, 表示对比损失值;i表示输入文本中需要掩码的字符位置;j表示输入文本中不需要掩码的字符位置;n表示输入文本中所有字符的字符位置;表示温度系数;表示采样后的混淆字的字符向量; 表示输入文本中需要掩码的字,即原样本; 表示输入文本中不需要掩码的字的字符向量; 表示标识函数;标识函数的表达式为:
[0033] 。
[0034] 本发明技术方案,具有如下优点:通过结合对比学习和预训练技术,将混淆集中包含的信息融入对比学习预训练语言模型,使得对比学习预训练语言模型进行编码得到的向量能包含语义、字音、字形等多种信息;构建的对比学习预训练语言模型能够在文本拼写校对领域比其它的预训练模型表现更好。

附图说明

[0035] 为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0036] 图1为本发明实施中一种基于对比学习的中文拼写校对预训练模型构建方法的流程图。

具体实施方式

[0037] 下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0038] 此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
[0039] 如图1所示,本实施例提供了一种基于对比学习的中文拼写校对预训练模型构建方法,该方法包括:
[0040] S1:获取数据集和输入文本;根据数据集构建混淆集;混淆集为带有字音信息、字形信息以及字频信息的混淆集;
[0041] 混淆集是由混淆字符构成的一个数据集,包含了音近字和形近字信息,在中文拼写校对中能发挥关键作用,然而,常规的混淆集忽略了错误字符的混淆程度,例如:“已”、“乙”都是“己”的混淆集,然而在实际生活中,“己”字更容易打错或写错成“已”,而以往的混淆集忽略了这一信息。
[0042] 因此在本实施例中,数据集包括拼写校对数据集和拼写错误数据集;拼写校对数据集包括混淆字符;拼写错误数据集包括出现错误的字;基于拼写校对数据集和拼写错误数据集,统计出现错误的字及其对应的混淆字符,得到出错频率和出错频次;对出错频率进行统计,对出错频次进行归一化处理,得到混淆集。
[0043] S2:基于混淆集对输入文本进行数据扩增,得到原样本和扩增样本;
[0044] 具体的,得到原样本和扩增样本的过程为:
[0045] 步骤1:设置掩码概率;基于掩码概率以及输入文本的长度,得到掩码数量;
[0046] 步骤2:根据掩码数量在输入文本中进行随机采样,得到掩码位置;基于混淆集对掩码位置对应的字进行掩码优化,得到掩码优化后的文本;输入文本即为原样本,掩码优化后的文本即为扩增样本。
[0047] 掩码语言模型任务是最重要的训练任务之一,现有的掩码语言模型任务会随机将输入文本中的一些字用[MASK]标记替换;
[0048] 表1为掩码示例表;
[0049]
[0050] 由表1所示,[MASK]替换后的文本。
[0051] 本实施例提供了一种掩码优化方法,将现有的[MASK]标记掩盖原始字符优化为混淆集中采样后的混淆字。具体的,基于混淆集对掩码位置对应的字进行掩码优化的过程为:
[0052] 步骤1:根据掩码位置确定输入文本中需要掩码的字;
[0053] 步骤2:根据输入文本中需要掩码的字以及混淆集中混淆字出现的频率,对混淆字进行采样;
[0054] 步骤3:将输入文本中需要掩码的字替换为采样后的混淆字。
[0055] 步骤3还包括掩码策略;掩码策略包括选取混淆集中混淆字出现的频率为80%时,将输入文本中需要掩码的字替换为采样后的混淆字。
[0056] 在本实施例中,掩码策略还包括:
[0057] 选取混淆集中混淆字出现的频率为10%时,将输入文本中需要掩码的字替换为BERT预训练模型词表中随机选择的字;
[0058] 选取混淆集中混淆字出现的频率为剩余的10%时,保留输入文本中需要掩码的字不变。
[0059] 掩码策略的优势在于,首先,通过采样后的混淆字替换[MASK]标记进行掩码,能够消除预训练和微调阶段存在的输入数据不一致性;其次,在混淆集选取字符进行替换,能够让模型学习到常见错误的情况;对于一些没有被混淆集囊括的错误,用随机汉字替换模拟该场景,增强模型的鲁棒性;同时,并非所有语句都会含有错误,因此设置保持原始字符不变的情况,模拟输入是正确语句的情景。此外,本实施例中掩码策略还考虑了混淆字出现的频率,同样存在生活中常混淆以及偶尔混淆的情景,因此通过出现的频率对不同的混淆字进行采样,更加贴近应用场景。掩码策略提高预训练任务和文本校对任务的匹配度。
[0060] S3:构建教师模型和学生模型;基于原样本和扩增样本,对教师模型和学生模型进行对比学习;将对比学习后的学生模型作为对比学习预训练语言模型。
[0061] 对于常规的预训练模型来说,从大规模无监督语料中学习到的是语义特征,也就是说,语义比较相近的字,通过预训练模型编码得到的文本向量,相似度高,因此对于语义、歧义产生的文本错误能够取得较好的效果,从而在进行纠正时更可能纠正为正确的字。其不足之处在于未考虑字音和字形信息,因此对于音近字和形近字混淆而产生的错误,难以取得理想效果。
[0062] 而在本实施例中提供了一种对比学习过程。基于原样本和扩增样本,对教师模型和学生模型进行对比学习的过程为:
[0063] 步骤1:将输入文本中需要掩码的字以及采样后的混淆字作为正例;将输入文本中不需要掩码的字作为负例;
[0064] 步骤2:计算原样本分别与正例、负例之间的相似度,计算公式为:
[0065]
[0066]
[0067] 其中,sim表示相似度函数; 表示原样本; 表示正例; 表示负例;Cos()表示余弦相似度函数;
[0068] 步骤3:根据原样本分别与正例、负例之间的相似度,计算对比损失;计算公式为:
[0069]
[0070] 其中, 表示对比损失值;i表示输入文本中需要掩码的字符位置;j表示输入文本中不需要掩码的字符位置;n表示输入文本中所有字符的字符位置;表示温度系数;表示采样后的混淆字的字符向量; 表示输入文本中需要掩码的字,即原样本; 表示输入文本中不需要掩码的字的字符向量; 表示标识函数;标识函数的表达式为:
[0071] 。
[0072] 通过对比学习得到更适用于文本拼写校对任务的对比学习预训练语言模型。
[0073] 在本实施例中,教师模型和学生模型均由12层的Transformer模型组成的BERT base中文预训练模型。
[0074] 教师模型的作用是为输入文本提供良好的向量表示,因此教师模型不参与模型训练过程,也就是说教师模型的所有参数在训练中是被冻结的,以此保证所得到的向量表示能够稳定保持高质量。将原样本text输入值教师模型中,教师模型对原样本进行编码,得到文本向量h,句向量cls;其编码公式如下:
[0075] h=BertEncoderteacher(text)
[0076] cls=Tanh(W(h)+b)
[0077] 其中,BertEncoderteacher表示教师模型,Tanh为激活函数,W(h)表示可训练权重矩阵;b表示偏置向量。
[0078] 学生模型的参数在模型训练过程中参与更新,通过在训练过程中跟随损失函数不断优化模型参数,学习到混淆集中包含的字音和字形信息,经过学习模型编码的文本向量,除了具有出事BERT预训练模型含有的语义信息,同时还能够包含字音、字形信息,字音和字形相近的字的语义向量会更相似;字音、字形差异较大的字语义向量差异会更大。将扩增样本text’输入至学生模型中,学生模型对扩增样本进行编码,得到文本向量h’,句向量cls’;其编码公式如下:
[0079] h’=BertEncoderstudent(text’)
[0080] cls’=Tanh(W’(h’)+b’)
[0081] 其中,BertEncoderstudent表示学生模型,Tanh为激活函数,W’(h’)表示可学习权重矩阵;b’表示偏置向量。
[0082] 本实施例构建的这种对比学习预训练语言模型相较于通用的预训练模型可以提高在拼写校对任务上的精度。
[0083] 显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。