1.一种基于多维动态候选集的文本纠错方法,其特征在于,包括如下步骤:步骤1、从汉字识别文本纠错的SIGHAN系列数据集中获取输入文本S;
步骤2、对于输入文本S,通过文本编码器编码将token嵌入、segment嵌入、position嵌入、词性嵌入通过向量加法进行合并,得到输入文本的最终嵌入表示,以及相应的嵌入序列E=(e1,e2,e3...,en)表示;
步骤3、将得到的嵌入序列E,输入到由若干Transformer模块组成的检错网络,并利用Transformer模块的注意力机制来检错可能发生错的字符,输出错误序列L以及错误序列L的错误概率P;
步骤4、将错误序列L和嵌入序列E输入到语言模型中,使用软遮盖编码将两者组合成SOFT′编码;
步骤5、将SOFT′编码作为输入,利用预训练的BERT语言纠错模块和特征融合模块组成的纠错网络对错误字符进行纠正,具体的:通过预训练的BERT语言纠错模块中的多头注意力机制执行多个注意力函数,从而捕获输入序列中不同位置的信息,输出纠错结果;然后通过预训练的BERT语言纠错模块中的前馈神经网络对输出纠错结果进行非线性变换,以增强模型的表达能力,其计算公式如下:FFN(X)=max(0,XW1+b1)W2+b2
式中,X为输入的文本序列,W1,W2为权重矩阵,b1和b2为偏置值;
最后,对于每个位置的纠错概率,采用softmax函数进行归一化,得到相应的字符概率;
所述每个位置的纠错概率计算方法如下:
Pc(yi=j|X)=softmax(Wh′i+b2)[j]式中,Pc(yi=j|X)表示在给定输入序列X的条件下,第i个字符被纠正为候选字符列表中第j个字符的概率,h′i是编码模块输出的隐藏状态,W和b2是模型参数;
将纠错结果和错误序列,以及字符、字根和关键笔形特征一同输入特征融合模块中,通过字符相似度算法匹配字形相似候选字混淆集和领域字符混淆集,得到相似度匹配结果,然后将相似度匹配结果进行相似度概率求和,再进行归一化处理,然后,计算字符离散度,如果离散度算法不再改变,输出;反之,将归一化处理后的结果输入到预训练的BERT语言模型中多次迭代,直到字符离散度算法判定不再改变,最终输出正确字符。
2.根据权利要求1所述的一种基于多维动态候选集的文本纠错方法,其特征在于,所述文本编码器采用BERT预训练模型。
3.根据权利要求1所述的一种基于多维动态候选集的文本纠错方法,其特征在于,所述错误序列L中第i个字符的错误概率以pi表示,表达式如下:式中,Pd(gi=1|X)表示在给定输入X的条件下,检测网络输出第i个字符为错误标签的概率,这里σ代表Sigmoid函数,用于将线性组合的输出映射到[0,1]区间,从而表示概率,表示字符序列中第i个字符的隐藏状态,Wd代表训练过程中不断调整的权重,bd为模型在线性变化过程中使用的偏置值。
4.根据权利要求3所述的一种基于多维动态候选集的文本纠错方法,其特征在于,所述步骤4中,软遮盖编码的方法,将字符的第i个软编码softi定义为:softi=pi·emask+(1‑pi)·ei
进而得到软掩码标记SOFT′=(soft1,soft2,soft3,...,softn),式中,emask为掩码嵌入,用于在字符被认为是错误时提供替代信息;ei为输入嵌入,代表原始字符的编码,softi随着错误率的升高接近emask,反之,当错误率较低时,接近ei。
5.根据权利要求1所述的一种基于多维动态候选集的文本纠错方法,其特征在于,所述字符相似度算法计算过程如下:式中,Sim(M1,M2)表示M1和M2的相似度,n表示总特征数,包括笔画数、汉字结构数、偏旁部首和关键笔形,fi(M1,M2)表示第i个特征空间中字符相似度,Wi表示第i个特征的权重。
6.根据权利要求5所述的一种基于多维动态候选集的文本纠错方法,其特征在于,所述字符离散度算法具体如下:Fi=sqrt(Ti÷4)
式中,Ti是字符离散检测的方差,Fi表示在第i个位置字符的离散度,μi表示第i个位置字符在多个维度的概率平均值。
7.根据权利要求1‑6任意一项所述的一种基于多维动态候选集的文本纠错方法,其特征在于,使用交叉熵对错误检测损失和字符纠错损失进行优化,使得网络得到收敛,训练过程中损失表达式如下:其中,Ld是检测网络训练的目标损失,Lc是文本纠错网络的训练损失;
使用线性组合的方式计算总体的损失函数:
Loss=λLd+(1‑λ)Lc
其中,λ∈[0,1]为系数。