CN115906815B - 一种用于修改一种或多种类型错误句子的纠错方法及装置 - Google Patents

一种用于修改一种或多种类型错误句子的纠错方法及装置 Download PDF

Info

Publication number
CN115906815B
CN115906815B CN202310213349.2A CN202310213349A CN115906815B CN 115906815 B CN115906815 B CN 115906815B CN 202310213349 A CN202310213349 A CN 202310213349A CN 115906815 B CN115906815 B CN 115906815B
Authority
CN
China
Prior art keywords
model
sentence
error
data
prefix
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310213349.2A
Other languages
English (en)
Other versions
CN115906815A (zh
Inventor
杨麟儿
崇瑞宁
孔存良
吴鎏
杨尔弘
范航航
范彦革
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING LANGUAGE AND CULTURE UNIVERSITY
Original Assignee
BEIJING LANGUAGE AND CULTURE UNIVERSITY
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEIJING LANGUAGE AND CULTURE UNIVERSITY filed Critical BEIJING LANGUAGE AND CULTURE UNIVERSITY
Priority to CN202310213349.2A priority Critical patent/CN115906815B/zh
Publication of CN115906815A publication Critical patent/CN115906815A/zh
Application granted granted Critical
Publication of CN115906815B publication Critical patent/CN115906815B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Machine Translation (AREA)

Abstract

本发明公开了一种用于修改一种或多种类型错误句子的纠错方法及装置,涉及自然语言处理技术领域。包括获取待纠错的句子文本以及句子文本对应的错误类型标签;将句子文本以及错误类型标签输入到训练好的句子纠错任务模型;其中,句子纠错任务模型包括主干模型以及模型前缀;根据句子文本、错误类型标签以及句子纠错任务模型,得到待纠错的句子文本所对应的无错误的句子文本。本发明具有逻辑清晰、适配性强、准确率高的优点,妥善解决了现有技术在句子纠错时无法兼顾不同错误类型,不能进行适配性纠错的问题。

Description

一种用于修改一种或多种类型错误句子的纠错方法及装置
技术领域
本发明涉及自然语言处理技术领域,尤其涉及一种用于修改一种或多种类型错误句子的纠错方法及装置。
背景技术
句子纠错可以在不改变句子原意的情况下,为给定的带有某种错误的句子生成其对应的不带错误的句子文本,使句子更加符合人类的阅读习惯。句子纠错在语言教学、文本校对以及文本修订等领域具有重大的理论价值和实践意义。
现有的句子纠错技术一般基于深度学习,一般可以分为两种不同的方法:一种是基于序列到序列模型的方法,一般使用基于Transformer的生成模型进行自回归地生成;另一种是基于序列到编辑的方法,一般将句子纠错作为序列标注任务,使用预训练语言模型编码器对句子中的错误进行并行的检测和纠正。
现有的工作主要只聚焦于某种单一类型的句子错误,没有考虑到在现实使用场景中往往包含多种类型的句子错误。举例来说,在所有的句子错误中,有些是句子缺乏简洁性,有些是句子缺乏流畅性,有些是句子存在语法错误等,现有的方法往往只针对其中某个特定的错误,当面对多种错误的情况时,往往采用多个任务模型分别解决。
用多个任务模型分别解决的方式需要训练多个不同的生成模型,训练的参数量大且耗费时间长,保存模型也需要更大的存储空间,实用性相对较差。
由于现有的不同类型的句子错误数据集在数据量上存在很大的差异,一些小规模的数据集往往不足以训练整个生成模型。这便导致用某些错误类型数据训练的生成模型效果不理想。
发明内容
本发明针对现有技术在句子纠错时无法兼顾不同错误类型,不能进行适配性纠错的问题,提出了本发明。
为解决上述技术问题,本发明提供如下技术方案:
一方面,本发明提供了一种用于修改一种或多种类型错误句子的纠错方法,该方法由电子设备实现,该方法包括:
S1、获取待纠错的句子文本以及句子文本对应的错误类型标签。
S2、将句子文本以及错误类型标签输入到训练好的句子纠错任务模型;其中,句子纠错任务模型包括主干模型以及模型前缀。
S3、根据句子文本、错误类型标签以及句子纠错任务模型,得到待纠错的句子文本所对应的无错误的句子文本。
可选地,S2中的句子纠错任务模型为基于自注意力网络的编码器-解码器模型。
主干模型为基于预训练的语言模型或基于序列编辑的语法错误纠正模型GECToR。
模型前缀为可训练的提示向量,提示向量添加于主干模型的每层注意力机制的Key键和Value值之前。
可选地,S2中的句子纠错任务模型的训练过程包括:
S21、获取训练数据集;其中,训练数据集包括多种错误类型的数据,多种错误类型的数据包括数据量超过预设阈值的数据以及数据量不超过预设阈值的数据。
多种错误类型的数据中的每种错误类型的数据包括:待纠错句子样本数据、待纠错句子样本数据对应的无错误句子样本数据以及标记错误类型的标签。
S22、根据数据量超过预设阈值的数据,对句子纠错任务模型进行训练,使用多层感知机MLP对提示向量进行参数更新,得到每种错误类型对应的模型前缀。
S23、通过集成所得到的每种错误类型对应的模型前缀,得到数据量不超过预设阈值的数据所对应的模型前缀,得到训练好的句子纠错任务模型。
可选地,S23中的集成所得到的每种错误类型对应的模型前缀,包括:
S231、对于数据量不超过预设阈值的数据,获取初始化的任务向量以及样例向量。
S232、对任务向量、样例向量和所得到的每种错误类型对应的模型前缀进行注意力计算,对任务向量进行参数更新,得到数据量不超过预设阈值的数据所对应的模型前缀。
可选地,S231中的样例向量的获取过程,包括:
使用未添加提示Prompt的预训练模型获取样例向量。
可选地,S232中的注意力计算,如下式(1)-(4)所示:
Figure SMS_1
其中,
Figure SMS_2
为注意力机制中的查询Query,/>
Figure SMS_3
、/>
Figure SMS_4
分别为注意力机制中的键Key和值Value,/>
Figure SMS_5
为任务向量,/>
Figure SMS_6
为样例向量,/>
Figure SMS_7
为向量之间的点积;/>
Figure SMS_8
当前任务的模型前缀。
可选地,S2中的句子纠错任务模型中的每个注意力机制头的计算方法,如下式(5)所示:
Figure SMS_9
(5)
其中,
Figure SMS_10
分别为Query查询、Key键和Value值向量,
Figure SMS_11
为经过预训练的向量转移矩阵,/>
Figure SMS_12
为可训练的提示向量。
可选地,S3中的根据句子文本、错误类型标签以及句子纠错任务模型,得到待纠错的句子文本所对应的无错误的句子文本,包括:
S31、根据错误类型标签,选择对应的模型前缀并配置于主干模型构成推理模型。
S32、根据推理模型的编码器对句子文本进行编码,获得包含文本语义信息的隐状态序列,将隐状态序列输入到推理模型的解码器。
S33、解码器对隐状态序列进行解码,得到待纠错的句子文本所对应的无错误的句子文本。
另一方面,本发明提供了一种用于修改一种或多种类型错误句子的纠错装置,该装置应用于实现用于修改一种或多种类型错误句子的纠错方法,该装置包括:
获取模块,用于获取待纠错的句子文本以及句子文本对应的错误类型标签。
输入模块,用于将句子文本以及错误类型标签输入到训练好的句子纠错任务模型;其中,句子纠错任务模型包括主干模型以及模型前缀。
输出模块,用于根据句子文本、错误类型标签以及句子纠错任务模型,得到待纠错的句子文本所对应的无错误的句子文本。
可选地,句子纠错任务模型为基于自注意力网络的编码器-解码器模型。
主干模型为基于预训练的语言模型或基于序列编辑的语法错误纠正模型GECToR。
模型前缀为可训练的提示向量,提示向量添加于主干模型的每层注意力机制的Key键和Value值之前。
可选地,输入模块,进一步用于:
S21、获取训练数据集;其中,训练数据集包括多种错误类型的数据,多种错误类型的数据包括数据量超过预设阈值的数据以及数据量不超过预设阈值的数据。
多种错误类型的数据中的每种错误类型的数据包括:待纠错句子样本数据、待纠错句子样本数据对应的无错误句子样本数据以及标记错误类型的标签。
S22、根据数据量超过预设阈值的数据,对句子纠错任务模型进行训练,使用多层感知机MLP对提示向量进行参数更新,得到每种错误类型对应的模型前缀。
S23、通过集成所得到的每种错误类型对应的模型前缀,得到数据量不超过预设阈值的数据所对应的模型前缀,得到训练好的句子纠错任务模型。
可选地,输入模块,进一步用于:
S231、对于数据量不超过预设阈值的数据,获取初始化的任务向量以及样例向量。
S232、对任务向量、样例向量和所得到的每种错误类型对应的模型前缀进行注意力计算,对任务向量进行参数更新,得到数据量不超过预设阈值的数据所对应的模型前缀。
可选地,输入模块,进一步用于:
使用未添加提示Prompt的预训练模型获取样例向量。
可选地,注意力计算,如下式(1)-(4)所示:
Figure SMS_13
其中,
Figure SMS_14
为注意力机制中的查询Query,/>
Figure SMS_15
、/>
Figure SMS_16
分别为注意力机制中的键Key和值Value,/>
Figure SMS_17
为任务向量,/>
Figure SMS_18
为样例向量,/>
Figure SMS_19
为向量之间的点积;/>
Figure SMS_20
当前任务的模型前缀。
可选地,句子纠错任务模型中的每个注意力机制头的计算方法,如下式(5)所示:
Figure SMS_21
(5)
其中,
Figure SMS_22
分别为Query查询、Key键和Value值向量,
Figure SMS_23
为经过预训练的向量转移矩阵,/>
Figure SMS_24
为可训练的提示向量。
可选地,输出模块,进一步用于:
S31、根据错误类型标签,选择对应的模型前缀并配置于主干模型构成推理模型。
S32、根据推理模型的编码器对句子文本进行编码,获得包含文本语义信息的隐状态序列,将隐状态序列输入到推理模型的解码器。
S33、解码器对隐状态序列进行解码,得到待纠错的句子文本所对应的无错误的句子文本。
一方面,提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述用于修改一种或多种类型错误句子的纠错方法。
一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述用于修改一种或多种类型错误句子的纠错方法。
上述技术方案,与现有技术相比至少具有如下有益效果:
上述方案,提供用于修改一种或多种类型错误句子的纠错方法,指定训练数据集,训练数据集中包含:含有某种指定错误类型的待纠错句子文本、待纠错句子文本对应的无错误句子文本、标记此类错误的错误类型标签;为包含某种类型错误的句子生成相应不含错误的句子文本的任务模型,模型由主干模型和模型前缀两部分组成,主干模型被配置为大规模预训练的语言模型,模型前缀被配置为可训练的提示向量,添加于主干模型每层注意力机制的键(key)和值(value)之前;使用训练数据集对模型进行训练,针对不同错误类型的数据,分别训练不同的模型前缀,训练过程中只更新模型前缀的参数,不更新主干模型的参数;之后针对数据量稀少的错误类型,通过集成已有模型前缀的方式来获取其对应的模型前缀;经过多次训练后,得到的模型可以对含不同类型错误的句子文本选择对应的模型前缀,来生成对应不含错误的句子文本。本发明具有逻辑清晰、适配性强、准确率高的优点,妥善解决了现有技术在句子纠错时无法兼顾不同错误类型,不能进行适配性纠错的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的用于修改一种或多种类型错误句子的纠错方法流程示意图;
图2是本发明实施例提供的用于修改一种或多种类型错误句子的纠错模型流程图;
图3是本发明实施例提供的纠错模型里每个transformer层的流程图;
图4是本发明实施例提供的用于修改一种或多种类型错误句子的纠错装置框图;
图5是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种用于修改一种或多种类型错误句子的纠错方法,该方法可以由电子设备实现。如图1所示的用于修改一种或多种类型错误句子的纠错方法流程图,该方法的处理流程可以包括如下的步骤:
S1、获取待纠错的句子文本以及句子文本对应的错误类型标签。
一种可行的实施方式中,待纠错的句子文本可以是单一类型的错误句子,或者多种类型的错误句子。错误类型包括但不限于句子缺乏简洁性、句子缺乏流畅性、句子存在语法错误等。
S2、将句子文本以及错误类型标签输入到训练好的句子纠错任务模型。
可选地,S2中的句子纠错任务模型的训练过程包括S21- S23:
S21、获取训练数据集。
其中,训练数据集包括多种错误类型的数据,多种错误类型的数据包括数据量超过预设阈值的数据以及数据量不超过预设阈值的数据。
多种错误类型的数据中的每种错误类型的数据包括:待纠错句子样本数据、待纠错句子样本数据对应的无错误句子样本数据以及标记错误类型的标签。
S22、根据数据量超过预设阈值的数据,对句子纠错任务模型进行训练,使用多层感知机MLP对提示向量进行参数更新,得到每种错误类型对应的模型前缀。
S23、通过集成所得到的每种错误类型对应的模型前缀,得到数据量不超过预设阈值的数据所对应的模型前缀,得到训练好的句子纠错任务模型。
一种可行的实施方式中,构建用于为包含某种类型错误的句子生成相应无错误的句子文本的任务模型;使用训练数据集对任务模型进行训练;经过若干次训练后,所得任务模型可以应用于对训练数据集中未包含的含有错误的句子文本生成对应不含错误的句子文本。
进一步地,模型的训练过程只为获取不同类型错误所对应的模型前缀,获取方式如下:
数据量较为充足的情况下,在训练时,对不同类型错误的数据集直接训练不同的模型前缀;
数据量较为缺少的情况下,利用已经获取的模型前缀进行集成,获得新的模型前缀。
可选地,S23中的集成所得到的每种错误类型对应的模型前缀,包括:
S231、对于数据量不超过预设阈值的数据,获取初始化的任务向量以及使用未添加提示Prompt的预训练模型获取样例向量。
一种可行的实施方式中,对当前任务
Figure SMS_25
初始化一个任务向量/>
Figure SMS_26
,对当前任务的每一个训练样例计算样例向量/>
Figure SMS_27
,样例向量使用未添加Prompt的预训练模型获得,其公式如下式(1)所示:
Figure SMS_28
(1)
S232、对任务向量、样例向量和所得到的每种错误类型对应的模型前缀进行注意力计算,对任务向量进行参数更新,得到数据量不超过预设阈值的数据所对应的模型前缀。
可选地,S232中的注意力计算,如下式(2)-(5)所示:
Figure SMS_29
其中,Q为注意力机制中的查询Query,其被配置为任务向量和样例向量的加和;K、V分别为注意力机制中的键Key和值Value,均被配置为已有的模型前缀序列;
Figure SMS_30
为任务向量,/>
Figure SMS_31
为样例向量,/>
Figure SMS_32
为向量之间的点积;/>
Figure SMS_33
当前任务的模型前缀。
进一步地,在训练过程中,将模型前缀的训练过程替换为步骤S231- S232,对任务向量
Figure SMS_34
进行参数更新,所得/>
Figure SMS_35
用作当前任务的模型前缀。主干模型的参数不在训练过程中更新。
可选地,S2中的句子纠错任务模型为基于自注意力网络的编码器-解码器模型。
主干模型为基于预训练的语言模型或基于序列编辑的语法错误纠正模型GECToR。
模型前缀为可训练的提示向量,提示向量添加于主干模型的每层注意力机制的Key键和Value值之前。
一种可行的实施方式中,如图2所示,任务模型被配置为基于自注意力(Self-Attention)网络的编码器-解码器模型(transformer)。任务模型包含主干模型和模型前缀两部分,其中模型前缀可被选择性地配置于主干模型的编码器和解码器上。
如图3所示,模型前缀被配置为可训练的提示向量(Prompt Embedding),其参数随机初始化。图中
Figure SMS_36
和/>
Figure SMS_37
分别为被配置于主干模型每个transformer层注意力机制的键(key)和值(value)之前的提示向量。主干模型被配置为在大规模无标注数据集上进行预训练得到的大规模预训练语言模型PLM。
进一步地,每种类型的错误对应一个模型前缀,在推理阶段,只需要将错误类型对应的模型前缀配置于主干模型,即可进行适配性的纠错操作。通过这种方式,只需要保存一个主干模型和若干模型前缀。
进一步地,提示向量在优化过程中使用MLP(Multilayer Perceptron,多层感知机)获得,以提高稳定性,其计算公式如下式(6)所示:
Figure SMS_38
(6)
其中,
Figure SMS_39
为随机初始化的参数矩阵,/>
Figure SMS_40
为重参数化后的提示向量,/>
Figure SMS_41
的维度远低于/>
Figure SMS_42
可选地,添加提示向量后,每个注意力机制头的计算方法如下式(7)所示:
Figure SMS_43
其中,
Figure SMS_44
分别为Query查询、Key键和Value值向量,
Figure SMS_45
为经过预训练的向量转移矩阵,/>
Figure SMS_46
为可训练的提示向量。
S3、根据句子文本、错误类型标签以及句子纠错任务模型,得到待纠错的句子文本所对应的无错误的句子文本。
可选地,上述步骤S3可以包括如下步骤S31- S33:
S31、根据错误类型标签,选择对应的模型前缀并配置于主干模型构成推理模型。
S32、根据推理模型的编码器对句子文本进行编码,获得包含文本语义信息的隐状态序列,将隐状态序列输入到推理模型的解码器。
S33、解码器对隐状态序列进行解码,得到待纠错的句子文本所对应的无错误的句子文本。
一种可行的实施方式中,实际使用过程中,对于含有若干未知错误类型的待纠错句子文本,采用多种不同的模型前缀进行迭代纠错,获得其对应不含错误的句子文本。
根据所采用的纠错方式的不同,本发明有两种不同类型的实施例:基于序列到序列(Seq2Seq)模型的实施例和基于序列到编辑(Seq2Edit)的实施例。
基于序列到序列模型的实施例中,其主干模型直接采用序列到序列的大规模预训练语言模型BART(Bidirectional and Auto-Regressive Transformers)或T5,包括完整的编码器和解码器,其编码器和解码器均采用transformer的原始架构,均可添加模型前缀。
整个任务模型的编码器首先对输入的含有某种类型错误的句子文本进行编码,获得含有其语义信息的隐状态序列。将含有语义信息的隐状态序列输入解码器。
借助编码器输入的隐状态序列,解码器可以通过纠错后文本中的前t-1个词,预测第t个词。通过这种自回归的方式,解码器迭代地逐个生成纠错后句子文本的每个词。
基于序列到编辑的实施例中,其主干模型采用基于序列编辑的模型GECToR(Grammatical Error Correction: Tag, Not Rewrite,语法错误纠正),区别于传统的序列到序列模型,GECToR将句子纠错作为一项序列标注任务,对带纠错句子的每个词预测编辑操作,包括保留、替换、删除等。这种方法可以改善序列到序列模型的解码速度慢、需要大量训练数据、不可解释等问题。
其中,GECToR模型架构主要由基于transformer的预训练编码器构成,在编码器上有两层全连接层和一层SoftMax层,可视为解码器。由于没有传统意义上的解码器,所述模型前缀只能添加于编码器上。
进一步地,GECToR的编码器被配置为RoBERTa(A Robustly Optimized BERTPretraining Approach,强力优化的BERT)或BERT(Bidirectional EncoderRepresentation from Transformers,来自Transformers的双向编码表示)或XLNet模型。
进一步地,具体流程如下:
对数据进行预处理,将纠错任务作为序列标注问题进行处理,将数据中的每个词映射为一个转换标签,得到对应的转换标签序列;
利用模型对输入的待纠错文本进行序列标注,预测转换标签序列;
按照得到的转换序列,对待纠错文本进行转换,得到纠错后的句子文本。
所有实施例中,在模型训练的过程中,只对所述模型前缀进行参数更新,而不对模型其他部分进行参数更新。通过这种方式,可以极大减少模型参数的训练量,提高训练效率。
本发明实施例中,提供用于修改一种或多种类型错误句子的纠错方法,指定训练数据集,训练数据集中包含:含有某种指定错误类型的待纠错句子文本、待纠错句子文本对应的无错误句子文本、标记此类错误的错误类型标签;为包含某种类型错误的句子生成相应不含错误的句子文本的任务模型,模型由主干模型和模型前缀两部分组成,主干模型被配置为大规模预训练的语言模型,模型前缀被配置为可训练的提示向量,添加于主干模型每层注意力机制的键(key)和值(value)之前;使用训练数据集对模型进行训练,针对不同错误类型的数据,分别训练不同的模型前缀,训练过程中只更新模型前缀的参数,不更新主干模型的参数;之后针对数据量稀少的错误类型,通过集成已有模型前缀的方式来获取其对应的模型前缀;经过多次训练后,得到的模型可以对含不同类型错误的句子文本选择对应的模型前缀,来生成对应不含错误的句子文本。本发明具有逻辑清晰、适配性强、准确率高的优点,妥善解决了现有技术在句子纠错时无法兼顾不同错误类型,不能进行适配性纠错的问题。
如图4所示,本发明实施例提供了一种用于修改一种或多种类型错误句子的纠错装置400,该装置400应用于实现用于修改一种或多种类型错误句子的纠错方法,该装置400包括:
获取模块410,用于获取待纠错的句子文本以及句子文本对应的错误类型标签。
输入模块420,用于将句子文本以及错误类型标签输入到训练好的句子纠错任务模型;其中,句子纠错任务模型包括主干模型以及模型前缀。
输出模块430,用于根据句子文本、错误类型标签以及句子纠错任务模型,得到待纠错的句子文本所对应的无错误的句子文本。
可选地,句子纠错任务模型为基于自注意力网络的编码器-解码器模型。
主干模型为基于预训练的语言模型或基于序列编辑的语法错误纠正模型GECToR。
模型前缀为可训练的提示向量,提示向量添加于主干模型的每层注意力机制的Key键和Value值之前。
可选地,输入模块420,进一步用于:
S21、获取训练数据集;其中,训练数据集包括多种错误类型的数据,多种错误类型的数据包括数据量超过预设阈值的数据以及数据量不超过预设阈值的数据。
多种错误类型的数据中的每种错误类型的数据包括:待纠错句子样本数据、待纠错句子样本数据对应的无错误句子样本数据以及标记错误类型的标签。
S22、根据数据量超过预设阈值的数据,对句子纠错任务模型进行训练,使用多层感知机MLP对提示向量进行参数更新,得到每种错误类型对应的模型前缀。
S23、通过集成所得到的每种错误类型对应的模型前缀,得到数据量不超过预设阈值的数据所对应的模型前缀,得到训练好的句子纠错任务模型。
可选地,输入模块420,进一步用于:
S231、对于数据量不超过预设阈值的数据,获取初始化的任务向量以及样例向量。
S232、对任务向量、样例向量和所得到的每种错误类型对应的模型前缀进行注意力计算,对任务向量进行参数更新,得到数据量不超过预设阈值的数据所对应的模型前缀。
可选地,输入模块420,进一步用于:
使用未添加提示Prompt的预训练模型获取样例向量。
可选地,注意力计算,如下式(1)-(4)所示:
Figure SMS_47
其中,
Figure SMS_48
为注意力机制中的查询Query,/>
Figure SMS_49
、/>
Figure SMS_50
分别为注意力机制中的键Key和值Value,/>
Figure SMS_51
为任务向量,/>
Figure SMS_52
为样例向量,/>
Figure SMS_53
为向量之间的点积;/>
Figure SMS_54
当前任务的模型前缀。
可选地,句子纠错任务模型中的每个注意力机制头的计算方法,如下式(5)所示:
Figure SMS_55
(5)
其中,
Figure SMS_56
分别为Query查询、Key键和Value值向量,
Figure SMS_57
为经过预训练的向量转移矩阵,/>
Figure SMS_58
为可训练的提示向量。
可选地,输出模块430,进一步用于:
S31、根据错误类型标签,选择对应的模型前缀并配置于主干模型构成推理模型。
S32、根据推理模型的编码器对句子文本进行编码,获得包含文本语义信息的隐状态序列,将隐状态序列输入到推理模型的解码器。
S33、解码器对隐状态序列进行解码,得到待纠错的句子文本所对应的无错误的句子文本。
本发明实施例中,提供用于修改一种或多种类型错误句子的纠错方法,指定训练数据集,训练数据集中包含:含有某种指定错误类型的待纠错句子文本、待纠错句子文本对应的无错误句子文本、标记此类错误的错误类型标签;为包含某种类型错误的句子生成相应不含错误的句子文本的任务模型,模型由主干模型和模型前缀两部分组成,主干模型被配置为大规模预训练的语言模型,模型前缀被配置为可训练的提示向量,添加于主干模型每层注意力机制的键(key)和值(value)之前;使用训练数据集对模型进行训练,针对不同错误类型的数据,分别训练不同的模型前缀,训练过程中只更新模型前缀的参数,不更新主干模型的参数;之后针对数据量稀少的错误类型,通过集成已有模型前缀的方式来获取其对应的模型前缀;经过多次训练后,得到的模型可以对含不同类型错误的句子文本选择对应的模型前缀,来生成对应不含错误的句子文本。本发明具有逻辑清晰、适配性强、准确率高的优点,妥善解决了现有技术在句子纠错时无法兼顾不同错误类型,不能进行适配性纠错的问题。
图5是本发明实施例提供的一种电子设备500的结构示意图,该电子设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)501和一个或一个以上的存储器502,其中,存储器502中存储有至少一条指令,至少一条指令由处理器501加载并执行以实现下述用于修改一种或多种类型错误句子的纠错方法:
S1、获取待纠错的句子文本以及句子文本对应的错误类型标签。
S2、将句子文本以及错误类型标签输入到训练好的句子纠错任务模型;其中,句子纠错任务模型包括主干模型以及模型前缀。
S3、根据句子文本、错误类型标签以及句子纠错任务模型,得到待纠错的句子文本所对应的无错误的句子文本。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述用于修改一种或多种类型错误句子的纠错方法。例如,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种用于修改一种或多种类型错误句子的纠错方法,其特征在于,所述方法包括:
S1、获取待纠错的句子文本以及所述句子文本对应的错误类型标签;
S2、将所述句子文本以及错误类型标签输入到训练好的句子纠错任务模型;其中,所述句子纠错任务模型包括主干模型以及模型前缀;
S3、根据所述句子文本、错误类型标签以及句子纠错任务模型,得到所述待纠错的句子文本所对应的无错误的句子文本;
所述S2中的句子纠错任务模型为基于自注意力网络的编码器-解码器模型;
所述主干模型为基于预训练的语言模型或基于序列编辑的语法错误纠正模型GECToR;
所述模型前缀为可训练的提示向量,所述提示向量添加于所述主干模型的每层注意力机制的Key键和Value值之前;
每种类型的错误对应一个模型前缀,在推理阶段,将错误类型对应的模型前缀配置于主干模型。
2.根据权利要求1所述的方法,其特征在于,所述S2中的句子纠错任务模型的训练过程包括:
S21、获取训练数据集;其中,所述训练数据集包括多种错误类型的数据,所述多种错误类型的数据包括数据量超过预设阈值的数据以及数据量不超过预设阈值的数据;
所述多种错误类型的数据中的每种错误类型的数据包括:待纠错句子样本数据、所述待纠错句子样本数据对应的无错误句子样本数据以及标记错误类型的标签;
S22、根据所述数据量超过预设阈值的数据,对所述句子纠错任务模型进行训练,使用多层感知机MLP对所述提示向量进行参数更新,得到每种错误类型对应的模型前缀;
S23、通过集成所得到的每种错误类型对应的模型前缀,得到所述数据量不超过预设阈值的数据所对应的模型前缀,得到训练好的句子纠错任务模型。
3.根据权利要求2所述的方法,其特征在于,所述S23中的集成所得到的每种错误类型对应的模型前缀,包括:
S231、对于所述数据量不超过预设阈值的数据,获取初始化的任务向量以及样例向量;
S232、对任务向量、样例向量和所得到的每种错误类型对应的模型前缀进行注意力计算,对所述任务向量进行参数更新,得到所述数据量不超过预设阈值的数据所对应的模型前缀。
4.根据权利要求3所述的方法,其特征在于,所述S231中的样例向量的获取过程,包括:
使用未添加提示Prompt的预训练模型获取样例向量。
5.根据权利要求4所述的方法,其特征在于,所述S232中的注意力计算,如下式(1)-(4)所示:
Figure QLYQS_1
其中,
Figure QLYQS_2
为注意力机制中的查询Query,/>
Figure QLYQS_3
、/>
Figure QLYQS_4
分别为注意力机制中的
键Key和值Value,
Figure QLYQS_5
为任务向量,/>
Figure QLYQS_6
为样例向量,/>
Figure QLYQS_7
为向量之间的点积;/>
Figure QLYQS_8
当前任务的模型前缀。
6.根据权利要求1所述的方法,其特征在于,所述S2中的句子纠错任务模型中的每个注意力机制头的计算方法,如下式(5)所示:
Figure QLYQS_9
(5)
其中,
Figure QLYQS_10
分别为Query查询、Key键和Value值向量,
Figure QLYQS_11
为经过预训练的向量转移矩阵,/>
Figure QLYQS_12
为可训练的提示向量。
7.根据权利要求1所述的方法,其特征在于,所述S3中的根据所述句子文本、错误类型标签以及句子纠错任务模型,得到所述待纠错的句子文本所对应的无错误的句子文本,包括:
S31、根据所述错误类型标签,选择对应的模型前缀并配置于主干模型构成推理模型;
S32、根据所述推理模型的编码器对所述句子文本进行编码,获得包含文本语义信息的隐状态序列,将所述隐状态序列输入到所述推理模型的解码器;
S33、所述解码器对所述隐状态序列进行解码,得到所述待纠错的句子文本所对应的无错误的句子文本。
8.一种用于修改一种或多种类型错误句子的纠错装置,其特征在于,所述装置包括:
获取模块,用于获取待纠错的句子文本以及所述句子文本对应的错误类型标签;
输入模块,用于将所述句子文本以及错误类型标签输入到训练好的句子纠错任务模型;其中,所述句子纠错任务模型包括主干模型以及模型前缀;
输出模块,用于根据所述句子文本、错误类型标签以及句子纠错任务模型,得到所述待纠错的句子文本所对应的无错误的句子文本;
所述句子纠错任务模型为基于自注意力网络的编码器-解码器模型;
所述主干模型为基于预训练的语言模型或基于序列编辑的语法错误纠正模型GECToR;
所述模型前缀为可训练的提示向量,所述提示向量添加于所述主干模型的每层注意力机制的Key键和Value值之前;
每种类型的错误对应一个模型前缀,在推理阶段,将错误类型对应的模型前缀配置于主干模型。
CN202310213349.2A 2023-03-08 2023-03-08 一种用于修改一种或多种类型错误句子的纠错方法及装置 Active CN115906815B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310213349.2A CN115906815B (zh) 2023-03-08 2023-03-08 一种用于修改一种或多种类型错误句子的纠错方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310213349.2A CN115906815B (zh) 2023-03-08 2023-03-08 一种用于修改一种或多种类型错误句子的纠错方法及装置

Publications (2)

Publication Number Publication Date
CN115906815A CN115906815A (zh) 2023-04-04
CN115906815B true CN115906815B (zh) 2023-06-27

Family

ID=86491493

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310213349.2A Active CN115906815B (zh) 2023-03-08 2023-03-08 一种用于修改一种或多种类型错误句子的纠错方法及装置

Country Status (1)

Country Link
CN (1) CN115906815B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116306601B (zh) * 2023-05-17 2023-09-08 上海蜜度信息技术有限公司 小语种纠错模型训练方法、纠错方法、系统、介质及设备
CN116484811B (zh) * 2023-06-16 2023-09-19 北京语言大学 一种用于多种编辑意图的文本修订方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021164310A1 (zh) * 2020-02-21 2021-08-26 华为技术有限公司 文本纠错方法、装置、终端设备及计算机存储介质
WO2022126897A1 (zh) * 2020-12-18 2022-06-23 平安科技(深圳)有限公司 文本纠错方法、装置、设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11210470B2 (en) * 2019-03-28 2021-12-28 Adobe Inc. Automatic text segmentation based on relevant context
CN113822054A (zh) * 2021-07-05 2021-12-21 国网冀北电力有限公司 基于数据增强的中文语法纠错方法及装置
CN113987209B (zh) * 2021-11-04 2024-05-24 浙江大学 基于知识指导前缀微调的自然语言处理方法、装置、计算设备和存储介质
CN114707492B (zh) * 2022-03-22 2024-08-23 昆明理工大学 融合多粒度特征的越南语语法错误纠正方法及装置
CN114970506B (zh) * 2022-06-09 2024-07-23 广东外语外贸大学 基于多粒度语法错误模板学习微调的语法纠错方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021164310A1 (zh) * 2020-02-21 2021-08-26 华为技术有限公司 文本纠错方法、装置、终端设备及计算机存储介质
WO2022126897A1 (zh) * 2020-12-18 2022-06-23 平安科技(深圳)有限公司 文本纠错方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN115906815A (zh) 2023-04-04

Similar Documents

Publication Publication Date Title
Kim et al. Efficient dialogue state tracking by selectively overwriting memory
CN108460013B (zh) 一种基于细粒度词表示模型的序列标注模型及方法
CN111310471B (zh) 一种基于bblc模型的旅游命名实体识别方法
CN115906815B (zh) 一种用于修改一种或多种类型错误句子的纠错方法及装置
CN111666427B (zh) 一种实体关系联合抽取方法、装置、设备及介质
CN109522403B (zh) 一种基于融合编码的摘要文本生成方法
CN113010693A (zh) 融合指针生成网络的知识图谱智能问答方法
CN106202010A (zh) 基于深度神经网络构建法律文本语法树的方法和装置
CN111651983B (zh) 一种基于自训练与噪声模型的因果事件抽取方法
CN112380863A (zh) 一种基于多头自注意力机制的序列标注方法
CN114154504B (zh) 一种基于多信息增强的中文命名实体识别算法
CN110032729A (zh) 一种基于神经图灵机的自动摘要生成方法
CN113010635B (zh) 一种文本纠错方法及装置
CN112069827B (zh) 一种基于细粒度主题建模的数据到文本生成方法
CN115129826B (zh) 电力领域模型预训练方法、精调方法、装置及设备
CN115759042A (zh) 一种基于句法感知提示学习的句子级问题生成方法
CN114925170B (zh) 文本校对模型训练方法及装置、计算设备
CN113743095B (zh) 基于词格和相对位置嵌入的中文问题生成统一预训练方法
CN114881010A (zh) 一种基于Transformer和多任务学习的中文语法纠错方法
CN117094325B (zh) 水稻病虫害领域命名实体识别方法
CN112417118B (zh) 一种基于标记文本和神经网络的对话生成方法
CN113486668A (zh) 一种电力知识实体识别方法、装置、设备和介质
CN114358021A (zh) 基于深度学习的任务型对话语句回复生成方法及存储介质
Lee et al. Language Model Using Differentiable Neural Computer Based on Forget Gate-Based Memory Deallocation.
CN116484811B (zh) 一种用于多种编辑意图的文本修订方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant