1. Introduction
La vérification orthographique du chinois, une tâche essentielle dans le traitement du langage naturel chinois, se concentre sur l'identification et la rectification des fautes d'orthographe dans les textes chinois. Avec les progrès de la technologie, la tendance vers des pratiques de bureau sans papier s'est développée, ce qui justifie l'exploration de méthodes permettant de corriger les caractères erronés présents dans la saisie de texte via les claviers. Les méthodes de saisie chinoises incluent généralement les méthodes de saisie Pinyin et Wubi. Par conséquent, lors de la saisie au clavier, deux types d’erreurs sont susceptibles de se produire : des erreurs phonologiquement similaires et des erreurs visuellement similaires, résultant d’une mauvaise utilisation de caractères chinois avec des prononciations ou des apparences visuelles similaires. Selon l'étude mentionnée dans le [1], environ 83\(\%\) des erreurs sont liées à la similarité phonologique, et 48\(\%\) sont liés à la similitude visuelle. Contrairement à l'anglais, le chinois est un système d'écriture logographique et il ne contient pas de mots mal orthographiés qui ne sont pas présents dans le dictionnaire de caractères chinois ; au lieu de cela, il comporte des caractères homophoniques. Les caractères chinois n'ont pas de limites de mots claires et la signification de chaque caractère peut subir des changements importants lorsque le contexte change. Par conséquent, il est difficile de déterminer s’il y a des erreurs au niveau des mots dans une phrase [2]. Le tableau 1 illustre deux exemples d’erreurs de correction orthographique chinoise. Récemment, des modèles linguistiques pré-entraînés tels que BERT (Devlin et al. [3]) ont été appliqués avec succès aux tâches de correction orthographique du chinois. Cependant, étant donné que BERT est formé sur la base de la tâche de récupération de jeton masqué, il ne peut traiter tous les caractères que comme potentiellement erronés pendant la phase de détection des erreurs, ce qui entraîne une efficacité et une précision moindres. Lorsque plusieurs erreurs existent dans le texte, BERT s'appuie uniquement sur la sémantique contextuelle pour la prédiction, et un contexte erroné introduit du bruit dans le modèle. En conséquence, le modèle peut avoir du mal à déterminer avec précision la position des erreurs et conduire à de fausses corrections.
Tableau 1 Exemples de fautes d'orthographe chinoises. Les caractères mal orthographiés sont marqués en rouge et les phonétiques correspondantes sont indiquées entre parenthèses. |
Les textes contiennent généralement plusieurs erreurs, comme en témoigne notre analyse d'échantillons multi-erreurs issus des ensembles de données SIGHAN. Plus précisément, dans les ensembles de données SIGHAN2013 [4], SIGHAN2014 [5] et SIGHAN2015 [6], le pourcentage d'échantillons à erreurs multiples a atteint 21.\(\%\)29\(\%\)et 22\(\%\), respectivement. Nous avons observé que les performances des modèles de correction orthographique existants sur des échantillons multi-erreurs sont inférieures à leurs performances sur l’ensemble des données. Cet écart peut être attribué au bruit introduit par les informations contextuelles contenant des caractères erronés dans des échantillons multi-erreurs.
Pour permettre au modèle d'acquérir des connaissances sur les erreurs d'orthographe pendant la phase de pré-formation et d'améliorer sa robustesse au bruit introduit par le contexte d'erreur d'orthographe, nous utilisons un jeu de confusion de caractères chinois [4] pour remplacer 15\(\%\) de caractères masqués de manière aléatoire avec des caractères du jeu de confusion, garantissant que chaque phrase contient plusieurs erreurs. Nous utilisons l'apprentissage par auto-distillation pour guider le modèle dans l'apprentissage conjoint de la sémantique et des erreurs d'orthographe au cours de la pré-formation. Notre stratégie de pré-formation proposée est indépendante du modèle et peut être appliquée à différents modèles.
De plus, nous avons observé que l’incorporation d’informations phonétiques et de forme de caractère est bénéfique pour les tâches de correction orthographique chinoise (PLOME [7], REALISE [8], MLM-phonétique [9]). Cependant, ces modèles fusionnent souvent les informations provenant de tous les canaux et masquent les informations des caractères erronés, empêchant ainsi le modèle d'utiliser les informations précieuses contenues dans les caractères erronés. Pour résoudre ce problème, nous utilisons Chinesebert [10], qui combine la forme des caractères chinois et les caractéristiques phonétiques, pour construire notre réseau de correction. Contrairement à d'autres modèles qui masquent tous les canaux, nous avons conservé les caractéristiques phonétiques et visuelles les plus bénéfiques pour les prédictions finales du modèle. Par la suite, les caractéristiques fusionnées débruitées sont introduites dans le modèle de correction. Étant donné que le modèle de correction masque déjà les caractéristiques sémantiques des caractères erronés lors de la saisie, couplées aux contraintes imposées par les aspects visuels et phonétiques des prédictions du modèle, PSDSpell est mieux équipé pour gérer les tâches de correction orthographique du chinois.
En résumé, nos contributions sont les suivantes : 1. Nous proposons une stratégie de pré-formation basée sur l'apprentissage par auto-distillation, permettant au modèle d'apprendre conjointement la sémantique et la connaissance des erreurs d'orthographe pendant la phase de pré-formation. 2. Nous introduisons un mécanisme de masquage monocanal qui améliore l'utilisation des informations phonétiques et de forme des caractères dans les modèles existants. Cette approche conserve les caractéristiques phonétiques et de forme des caractères qui aident à prédire le résultat. Les résultats expérimentaux démontrent que notre modèle permet d'améliorer la détection et la correction des erreurs par rapport aux modèles de base. Il fonctionne également bien sur les échantillons comportant plusieurs erreurs. Dans l'ensemble, nos contributions améliorent la compréhension et l'utilisation des connaissances sur les erreurs d'orthographe lors de la pré-formation et améliorent les performances des modèles de correction orthographique chinoise.
2. Travaux connexes
La correction orthographique du chinois a fait l’objet d’une grande attention au cours des dernières décennies. Au début, l’accent était principalement mis sur les méthodes basées sur des règles et statistiques. Y. Jiang [11] a proposé un nouveau système de règles de grammaire pour traiter les erreurs d'orthographe et de grammaire. Cependant, ces règles sont difficiles à couvrir tous les types de fautes d’orthographe, et les méthodes basées sur des règles peinent à traiter toutes les fautes d’orthographe chinoises de manière globale. Wang [12] a utilisé des intégrations de mots et un détecteur d'erreurs basé sur un champ aléatoire conditionnel (CRF) pour identifier les erreurs d'orthographe potentielles et fournir des suggestions de correction. Huang [13] a utilisé un modèle N-gramme basé sur la segmentation des mots pour la détection des erreurs et l'a combiné avec des règles heuristiques pour la correction des erreurs. Les approches statistiques suivent souvent un modèle de correction en pipeline, ce qui peut conduire à une propagation d'erreurs. De plus, ils s'appuient généralement sur des critères basés sur des seuils pour juger de la fluidité des phrases, ce qui limite l'exploration des informations sémantiques et affaiblit potentiellement les performances du modèle.
Ces dernières années, les modèles de pré-entraînement basés sur des mécanismes de masquage ont connu un succès significatif dans diverses tâches de traitement du langage naturel. Liu [4] a fusionné les informations sémantiques, phonétiques et de forme des caractères au niveau de la couche d'intégration et a prédit les caractères chinois et les sorties phonétiques, combinant leurs sorties pendant la prédiction. Xu [8] a utilisé une approche multimodale qui intègre des représentations sémantiques, phonétiques et de forme de caractère pour améliorer les performances de détection et de correction des erreurs du modèle. Zhu [14] a proposé un cadre multitâche pour la correction orthographique du chinois, utilisant une stratégie de fusion tardive pour combiner les états cachés des modules de correction et de détection, minimisant ainsi l'impact trompeur des fautes d'orthographe sur la correction des caractères. Liu [15] a construit un échantillon bruyant pour chaque échantillon d'apprentissage, entraînant le modèle à produire des résultats plus similaires aux données d'apprentissage d'origine et à l'échantillon bruyant. Bien que ces méthodes aient amélioré dans une certaine mesure les performances des modèles, elles impliquent essentiellement de trier et de filtrer les résultats de correction du modèle, et les informations bruitées sont toujours entrées dans le modèle, provoquant certaines interférences dans les prédictions du modèle. En revanche, en utilisant une stratégie de masquage monocanal, notre approche réduit les interférences causées par des caractères erronés lors du processus de prédiction.
3. Approche
La tâche de correction orthographique chinoise vise à détecter les fautes d'orthographe au niveau des caractères dans une phrase donnée. \(X= \left \{ x_{1}, x_{2},x_{3},\cdots,x_{n} \right \}\) et générer la phrase corrigée \(Y= \left \{ y_{1}, y_{2},y_{3},\cdots, y_{n} \right \}\). Les méthodes existantes basées sur des modèles de pré-formation génèrent directement la phrase cible en fonction des informations de la phrase d'entrée. Bien que cela simplifie le processus de correction, ces méthodes utilisent souvent la sémantique d'un caractère erroné pour prédire un autre caractère erroné, ce qui entraîne de mauvaises performances sur les textes comportant plusieurs erreurs. Pour résoudre ce problème, nous utilisons un ensemble de confusion pour construire des textes contenant plusieurs erreurs et employons l'apprentissage par auto-distillation pour pré-entraîner le réseau de correction. Cela permet au modèle d’apprendre simultanément à la fois des connaissances sémantiques et davantage de connaissances sur les erreurs d’orthographe.
Comme le montre la figure 1, le modèle de correction orthographique proposé (PSDSpell) se compose de deux composants principaux : le réseau de détection et le réseau de correction. Le réseau de détection prédit la probabilité d'erreur pour chaque caractère, ce qui donne lieu à une séquence de probabilité \(P= \left \{ P_{1}, P_{2},P_{3},\cdots, P_{n} \right \}\), qui identifie les caractères potentiellement erronés dans le texte. Nous utilisons ensuite un mécanisme de masquage monocanal pour masquer les informations sémantiques de ces caractères tout en préservant les caractéristiques phonétiques et de forme des caractères utiles pour les prédictions finales du modèle. Cela nous permet de réduire efficacement le bruit introduit par les caractères erronés lors du processus de correction. De plus, nous adoptons une stratégie de correction itérative simple mais efficace pour éviter les corrections erronées. Nous affinons progressivement les résultats de correction à travers deux tours d'itération, garantissant des corrections plus précises. En fin de compte, nous obtenons la phrase corrigée Y, qui représente le résultat final de notre modèle.
3.1 Stratégie de pré-formation basée sur l'apprentissage par auto-distillation
Nous avons utilisé une stratégie de substitution guidée par un jeu de confusion de caractères chinois (incluant des erreurs phonétiquement similaires et visuellement similaires) introduit par Wu [4] pour construire des paires de phrases pour l'apprentissage par auto-distillation. Nous avons remplacé le jeton de masque fixe « [MASK] » qui n'existe pas dans les tâches en aval par des caractères du jeu de confusion. Nous avons abandonné la tâche de prédiction de la phrase suivante (NSP), qui n'a aucun rapport avec la correction orthographique du chinois. Nous avons utilisé une stratégie de masquage dynamique, masquant aléatoirement 15\(\%\) de personnages différents au cours de chaque itération de formation. Contrairement à la stratégie de masquage d'autres modèles de correction orthographique chinoise, considérant une proportion plus élevée d'erreurs phonétiquement similaires, notre stratégie de masquage a remplacé 70\(\%\) de caractères avec des caractères phonétiquement similaires et 30\(\%\) avec des personnages visuellement similaires, sans conserver de caractères générés aléatoirement. Par conséquent, nous avons construit une quantité adéquate de texte multi-erreurs pour la pré-formation. Les détails sont présentés dans le tableau 3.
Tableau 3 Exemples de différentes stratégies de masquage. Le jeton choisi est marqué en rouge, et la phonétique correspondante est donnée entre parenthèses. |
Ces dernières années, l’apprentissage par auto-distillation a obtenu des résultats impressionnants dans les domaines de la vision par ordinateur (CV) et du traitement du langage naturel (NLP) (Gao [16], Zhang [17], Lee [18]). Grâce à l'auto-distillation, les connaissances des parties les plus profondes du réseau peuvent être distillées dans des parties moins profondes, ce qui contribue considérablement à l'augmentation des données et améliore les performances du modèle. En combinant la stratégie de substitution à l'aide d'un ensemble de confusion, nous exploitons davantage les avantages du paradigme de pré-entraînement et de réglage fin utilisant l'apprentissage par auto-distillation. Nous utilisons ChineseBert pour encoder les phrases contenant des fautes d'orthographe et leurs phrases correctes correspondantes. Inspirés par l'apprentissage contrastif, nous effectuons un transfert de connaissances efficace en utilisant l'approche de Wang [19]. En utilisant la perte contrastive, nous régularisons les états cachés des phrases contenant des erreurs pour les rapprocher des états cachés des phrases correctes. Le processus est illustré sur la figure 2.
Nous utilisons une perte de distillation supplémentaire pour aider ChineseBert à établir un lien entre les caractères incorrects et leurs homologues corrects. Nous visons à utiliser cette perte pour rapprocher les représentations de couches cachées des phrases avec des caractères mal orthographiés et leurs phrases correctes correspondantes en sortie. Nous utilisons une méthode d'auto-distillation utilisant des poids ChineseBert partagés pour construire des échantillons positifs et négatifs pour un apprentissage contrastif. Le calcul des pertes spécifiques est le suivant :
\[\begin{equation*} L_{kc}= - {\textstyle \sum_{i=1}^{n}} \theta (\widetilde{x}_{i})\log_{}{\frac{\exp (sim(\widetilde{h}_{i},h_{i} )/\tau )}{ {\textstyle \sum_{j=1}^{n}\exp (sim(\widetilde{h}_{i},h_{j} )/\tau ) } } } \tag{1} \end{equation*}\] |
Supposer \(x_{i}\) est un caractère incorrect, alors \(\theta (\widetilde{x}_{i})=1\). Autrement, \(\theta (\widetilde{x}_{i})=0\). \(\widetilde{h}_{i}\) représente l'état caché du modèle d'enseignant avec l'entrée correcte. \(\tau\) est l'hyperparamètre de température de distillation, et \(sim(\widetilde{h}_{i},h_{i})/\tau\) représente la similarité cosinus entre ces deux vecteurs. L’objectif de minimiser \(L_{kc}\) est de rendre l'état caché du modèle étudiant, qui contient des caractères erronés, similaire à l'état correct correspondant du modèle enseignant. Nous utilisons stop gradient (sg) pour découpler la rétropropagation du gradient vers \(\widetilde{h}_{i}\), assurant la stabilité pendant l'entraînement. La pré-formation est effectuée en conjonction avec la perte d'entropie croisée entre les modèles d'étudiant et d'enseignant. La perte spécifique est la suivante :
\[\begin{align} &L_{s}= - {\textstyle \sum_{i=1}^{n}} \log_{}{\left (P\left (\hat{Y}_{i} =y_{i}|X\right )\right ) } \tag{2} \\ &L_{t}= - {\textstyle \sum_{i=1}^{n}} \log_{}{\left (P\left (\bar{Y}_{i} =y_{i}|Y{}'\right ) \right ) } \tag{3} \\ &L_{p}= L_{s}+\alpha L_{t} +\beta L_{kc} \tag{4} \end{align}\] |
Où \(\alpha\) et à la \(\beta\) sont des hyperparamètres, notre modèle s'initialise en utilisant les paramètres de ChineseBert1.
3.2 Réseau de détection
Nous utilisons la partie Discriminator d'ELECTRA (Base) (Clark et al.) [20] comme réseau de détection. L'entrée du réseau de détection est une séquence d'intégrations \(E=\left \{ e_{1},e_{2},e_{3},\cdots, e_{n} \right \}\), Où \(e_{i}\) représente le vecteur caractéristique du personnage \(x_{i}\), qui est la somme des incorporations de mots, des incorporations de positions et des incorporations de phrases. La sortie est une séquence d'étiquettes \(E_{p} =\left \{e_{p_{1}},e_{p_{2}},e_{p_{3}},\cdots, e_{p_{n}} \right \}\), Où \(e_{p_{i}}\) représente l'étiquette du \(i\) personnage. Nous utilisons 1 pour indiquer que le caractère est incorrect et 0 pour indiquer qu'il est correct. Nous utilisons la fonction sigmoïde pour chaque caractère pour obtenir la probabilité d'erreur \(P_{i}\), où une probabilité d'erreur plus élevée indique une plus grande probabilité que le caractère soit incorrect. Il est défini comme suit :
\[\begin{equation*} P_{i}=P_{d}\left ( e_{p_{i}} =1\mid X\right ) = \sigma \left ( W_{d} H_{di} + b_{d} \right ) \tag{5} \end{equation*}\] |
Où \(H_{di}\) représente la sortie de la dernière couche après que le caractère a été traité par le réseau de détection, et \(W_{d}\) et à la \(b_{d}\) sont des paramètres apprenables pour la classification binaire.
Pour rappeler davantage de caractères incorrects, nous fixons le seuil à 0.1. C'est si \(P_{i}\ge 0.1\), le caractère est classé comme incorrect, et si \(P_{i}< 0.1\), il est classé comme correct. Enfin, pour le modèle de détection, nous optimisons le réseau de détection en utilisant la fonction binaire de perte d'entropie croisée.
\[\begin{equation*} L_{d} = -\frac{1}{N} {\textstyle \sum_{i= 1}^{N}} \left [ e_{pi}\cdot \log_{}{\left ( P_{i} \right ) } + \left ( 1- y_{i} \right )\cdot \log_{}{\left ( 1- P_{i} \right ) } \right ] \tag{6} \end{equation*}\] |
3.3 Réseau correctionnel
Le réseau de correction est construit sur la base de ChineseBert, un modèle linguistique de pré-entraînement chinois qui intègre des informations phonétiques et visuelles sur les caractères chinois. Le chinois étant un système d’écriture idéographique, les caractéristiques visuelles et phonétiques contiennent des informations cruciales très importantes pour la compréhension de la langue. ChineseBert prend chaque caractère chinois et concatène ses caractéristiques sémantiques, visuelles et phonétiques. Ces caractéristiques sont ensuite mappées sur la même dimensionnalité via une couche entièrement connectée, formant des caractéristiques fusionnées. Enfin, les vecteurs de caractéristiques fusionnés sont combinés avec des vecteurs de codage de position et utilisés comme entrée dans le modèle de Bert. Compte tenu des caractéristiques des fautes d’orthographe chinoises, l’intégration de ChineseBert comme réseau de correction est tout à fait appropriée.
L'encodeur génère d'abord des incorporations de caractères, des incorporations phonétiques et des incorporations visuelles, qui ont toutes une taille de D. Ces trois incorporations sont ensuite concaténées et mappées à une incorporation fusionnée de taille D via une couche entièrement connectée. Semblable à d'autres modèles de langage de pré-entraînement, l'intégration fusionnée est ajoutée à l'intégration de position et passée à travers une pile de couches de transformateur consécutives. Ce processus génère la représentation contextuelle \(h_{i}\in \mathbb{R}^{D}\) pour le caractère saisi \(x_{i}\). Nous désignons les représentations de caractères résultantes comme \(H= \left \{ h_{1},h_{2},h_{3},\cdots, h_{n} \right \}\). Projeter \(h_{i}\) dans un espace de fonctionnalités spécifique, nous utilisons des paramètres apprenables \(W^{\left ( c \right ) } \in \mathbb{R}^{D\times D}\) et à la \(b^{\left ( c \right ) } \in \mathbb{R}^{D}\) pour la couche de projection d'entités spécifiques aux personnages.
\[\begin{equation*} h_{i}^{\left ( c \right )} = GeLU\left ( W^{\left ( c \right ) }h_{i}+ b^{\left ( c \right ) } \right ) \tag{7} \end{equation*}\] |
Ensuite, sur la base du résultat projeté, nous prédisons le caractère correct correspondant \(y_{i}\). Ici, \(W^{\left ( y \right ) } \in \mathbb{R}^{V\times D}\) et à la \(b^{\left ( y \right ) } \in \mathbb{R}^{V}\) sont les paramètres apprenables de la couche de prédiction de caractères, où \(V\) représente la taille du vocabulaire.
\[\begin{equation*} P\left (\hat{y}_{i}\mid X \right )= softmax\left ( W^{\left ( y \right ) }h_{i}^{\left ( c \right ) }+ b^{\left ( y \right ) } \right ) \tag{8} \end{equation*}\] |
Nous optimisons le modèle de correction en utilisant la perte d'entropie croisée.
\[\begin{equation*} L_{c} \left ( \hat{y}_{i} ,y \right ) = - {\textstyle \sum_{i= 1}^{N}} y_{i}\log_{}{\left ( \hat{y}_{i} \right ) } \tag{9} \end{equation*}\] |
Mécanisme de masquage monocanal : Après avoir obtenu les informations de position des caractères potentiellement incorrects auprès du réseau de détection, nous adoptons un mécanisme de masquage monocanal pour réduire l'impact sonore des caractères incorrects. En préservant les canaux de codage phonétique et morphologique grâce au masquage, nous imposons des contraintes sur les prédictions du modèle en utilisant des informations phonétiques et morphologiques. Cela permet au modèle d'utiliser efficacement les informations débruitées et de mieux gérer les textes comportant plusieurs erreurs. Par exemple, bien que les caractères « 困(fatigué) » et « 因(raison) » présentent des différences sémantiques significatives, leurs informations morphologiques extraites via CNN sont similaires. De même, bien que « 县(county) » et « 鲜(fresh) » présentent des différences significatives en termes d’informations morphologiques et de sémantique, ils partagent des codages phonétiques similaires. Par conséquent, en exploitant les informations associées à la morphologie et à la phonétique des caractères incorrects, nous améliorons les performances du modèle sur les textes comportant de multiples erreurs.
Après avoir obtenu les informations de position d'erreur du réseau de détection, nous masquons uniquement les informations sémantiques aux positions correspondantes, tout en préservant les canaux de modélisation des informations phonétiques et morphologiques. Cela garantit que nous fournissons au modèle des informations plus plausibles sans introduire de bruit supplémentaire. Plus précisément, lorsque le réseau de détection identifie un caractère incorrect, notre stratégie de masquage passe de l'équation. (10) à l’équation. (11).
\[\begin{gather} e_{fi} = W_{F} \left [ e_{wi} \otimes e_{gi} \otimes e_{si} \right ] \tag{10} \\ e_{fi} = W_{F} \left [ e_{mi} \otimes e_{gi} \otimes e_{si} \right ] \tag{11} \end{gather}\] |
Où \(e_{wi}\) représente l'encodage sémantique, \(e_{gi}\) représente l'encodage du glyphe, \(e_{si}\) représente le codage phonétique, et \(e_{mi}\) désigne le masque sémantique.
Stratégie de correction itérative : SCOPE [21] utilise une stratégie de correction itérative contrainte simple mais efficace pour répondre à la tendance des modèles de correction orthographique chinois à rectifier les expressions précises en des expressions plus fréquentes. De même, dans PSDSPell, une approche similaire est adoptée, corrigeant les positions erronées via deux cycles de correction itérative. Nous corrigeons progressivement les erreurs dans une fenêtre spécifiée autour des positions précédemment corrigées. Compte tenu des caractéristiques des échantillons d'erreur, nous fixons la taille de la fenêtre à 3, ce qui signifie une position à gauche et une à droite de la position actuelle. Nous fixons le nombre d'itérations à 2 pour garantir une correction d'erreur suffisante tout en évitant une surcorrection. Après un tour d'itération, si une position a été modifiée à chaque tour d'itération, nous la restaurons au caractère d'origine, sans apporter d'autres modifications.
3.4 Apprentissage
Le processus de formation de PSDSpell est motivé par deux objectifs, à savoir la fonction de perte du réseau de détection et la fonction de perte du réseau de correction. Nous combinons ces deux fonctions de perte de manière linéaire pour former l'objectif global de formation.
\[\begin{equation*} L= \lambda \cdot L_{c} + \left ( 1- \lambda \right ) \cdot L_{d} \tag{12} \end{equation*}\] |
Ici, \(L_{d}\) et à la \(L_{c}\) représentent respectivement les fonctions de perte du réseau de détection et du réseau de correction. \(L\) représente la fonction de perte d'entraînement conjointe de l'ensemble du modèle, et \(\lambda \in \left [ 0,1 \right ]\) est le paramètre de combinaison linéaire.
4. Résultats expérimentaux
4.1 Pré-formation
Base de données: Pendant la phase de pré-formation, pour améliorer l'efficacité de la stratégie de formation basée sur l'apprentissage par auto-distillation, nous utilisons le wiki2019zh2 corpus comme fondement. Ce corpus comprend un million de pages de Wikipédia chinois3. De plus, il intègre un corpus de pré-formation de trois millions d'articles de presse collectés par PLOME [7]. Ces pages et articles sont segmentés en phrases, ce qui donne un total de 162.1 millions de phrases. Ensuite, nous concaténons des phrases consécutives pour obtenir des fragments de texte comportant au maximum 510 caractères, qui sont utilisés comme instances d'entraînement.
Paramètres des paramètres: Nous réglons la température de distillation \(\tau = 0.9\), \(\alpha = 1\) et \(\beta = 0.05\). Le taux d'apprentissage est fixé à 5e-5. La taille du lot est définie sur 32 et le nombre d'époques est défini sur 30. Les étapes de préchauffage du taux d'apprentissage sont définies sur 5000 XNUMX et l'algorithme d'optimisation Adam est utilisé.
4.2 Réglage fin
Données d'entraînement: Cet article utilise l'ensemble de données SIGHAN (Wu et al. [4] ; Yu et al. [5] ; Tseng et al. [6]) et 271 22 données de formation collectées auprès de Wang et al. [13]. Les ensembles de tests de SIGHAN 14, SIGHAN 15 et SIGHAN XNUMX sont utilisés. Les exemples de formation sont convertis en caractères chinois simplifiés à l'aide d'OpenCC4. De plus, nous avons extrait plusieurs échantillons d'erreurs des ensembles de tests SIGHAN 2015 et SIGHAN 2014, qui comprennent 552 phrases contenant plusieurs erreurs.
Paramètres des paramètres: Dans le processus de réglage fin spécifique, tous les vecteurs de caractéristiques sont définis pour avoir une dimension de 768. Le taux d'apprentissage est défini sur 5e-5 avec une décroissance linéaire. L'abandon est défini sur 0.1. La taille du lot est définie sur 32 et le nombre d'époques est défini sur 30. Les étapes d'échauffement du taux d'apprentissage sont définies sur 5000 XNUMX et l'algorithme d'optimisation Adam est utilisé.
4.3 Modèle de référence et paramètres d'évaluation
Nous utilisons la précision, le rappel et le score F1 largement adoptés au niveau des phrases comme principales mesures d'évaluation. Par rapport aux mesures d’évaluation au niveau des caractères, les mesures au niveau des phrases sont plus strictes. Pour démontrer l'efficacité de l'approche PSDSpell, cet article sélectionne les modèles suivants comme modèles de base à des fins de comparaison :
- SpellGCN (Cheng et al.) [23] : Cette méthode apprend les relations prononciation/forme entre les caractères en appliquant des réseaux convolutifs de graphes sur deux graphes de similarité. Il combine des représentations graphiques avec des représentations sémantiques de BERT pour prédire les candidats à la correction.
- MLM-phonétique (Zhang et al.) [9] : Cette méthode combine un modèle de langage avec des fonctionnalités phonétiques pour la pré-formation. Il affine encore le modèle avec un module de détection conjoint et un module de correction.
- REALISE (Xu et al.) [8] : Cette méthode modélise les informations sémantiques, phonétiques et visuelles (glyphes) des caractères saisis et combine sélectivement les informations de ces modalités pour la tâche de correction finale.
- PLOME (Liu et al.) [7] : Cette méthode utilise les réseaux GRU pour extraire les caractéristiques phonétiques et visuelles (glyphes) des caractères. Il combine des informations sémantiques, des informations phonétiques et des informations sur les glyphes par sommation directe et prédit la prononciation du caractère cible de manière grossière.
- MDCSpell (Zhu et al.) [14] : Cette méthode utilise BERT pour capturer les caractéristiques visuelles et phonétiques de chaque caractère de la phrase originale. Il utilise une stratégie de post-fusion pour combiner les états cachés du correcteur avec les états cachés du détecteur, réduisant ainsi l'impact des caractères mal orthographiés.
4.4 Principaux résultats
Le tableau 4 présente les résultats de l'évaluation de PSDSpell et des méthodes de base en termes de performances de détection et de correction sur trois ensembles de tests. La police en gras dans le tableau représente les meilleurs résultats. Le tableau 5 montre les résultats du modèle sur notre ensemble de tests multi-erreurs extrait.
Le tableau 4 montre les performances de PSDSpell et des modèles de base sur les ensembles de test. Dans la plupart des cas, nos améliorations ont donné des résultats prometteurs. Les scores F1 pour la détection et la correction sur l'ensemble de données SIGHAN15 se sont améliorés respectivement de 3.4/3.1. Sur l'ensemble de données SIGHAN2014, les scores F1 pour la détection et la correction se sont améliorés respectivement de 0.8/1.1. PSDSpell est également compétitif avec le meilleur modèle précédent, REALISE, sur l'ensemble de données SIGHAN2014. Par rapport aux modèles précédents, nous avons utilisé une stratégie de pré-formation d'apprentissage par auto-distillation plus raffinée, permettant à PSDSpell d'acquérir conjointement des connaissances sur les erreurs sémantiques et orthographiques pendant la pré-formation et de mieux s'adapter à la correction de texte multi-erreurs.
De plus, nous avons également évalué les performances de notre modèle sur un ensemble de tests multi-erreurs. La police en gras dans le tableau 5 représente les meilleurs résultats. Par rapport aux méthodes de pointe, PSDSpell fonctionne nettement mieux sur l’ensemble de tests multi-erreurs. Alors que PLOME et REALIZE ont obtenu de bons scores F1 au niveau de la détection, leurs scores F1 ont sensiblement chuté au niveau de la correction, ce qui indique que même si ces modèles peuvent identifier les erreurs dans un texte bruyant, ils ont du mal à les corriger avec précision. Notre approche permet d'obtenir une amélioration de 1.9/0.7 en termes de scores F1 pour la détection et la correction, respectivement, par rapport aux résultats optimaux de la ligne de base.
4.5 Effets de la stratégie de pré-formation
Pour vérifier l'efficacité de notre stratégie de pré-entraînement basée sur l'autodistillation, nous adoptons cBert [7], un modèle de Bert pré-entraîné utilisant une approche guidée par ensemble de confusion. Dans cette approche, 15\(\%\) des personnages sont masqués, dont 60\(\%\) sont remplacés à l’aide d’une stratégie de substitution phonétique, 15\(\%\) sont remplacés à l’aide d’une stratégie de substitution de forme, 15\(\%\) restent inchangés, et 10\(\%\) sont remplacés au hasard. Nous évaluons directement le modèle sur les données de test multi-erreurs construites. Les résultats sont présentés dans le tableau 6.
Les résultats montrent que cBert, qui utilise une pré-formation guidée par un ensemble de confusion, présente une amélioration globale par rapport à la correction d'erreur directe de Bert. Cependant, notre stratégie d'auto-distillation, où les connaissances sémantiques et orthographiques sont apprises conjointement pendant la pré-formation, permet d'obtenir une amélioration du score F1 plus élevée de 3.1/4.3 par rapport à cBert. Cela démontre l’efficacité de notre stratégie de pré-formation.
4.6 Effets de la valeur seuil « Err » sur les performances du modèle
Nous avons évalué séparément l'impact de différents seuils (0.5, 0.4, 0.3, 0.2, 0.1, 0.01) sur le réseau de détection et le réseau de correction, comme le montre la figure 3. Les expériences ont été menées sur les ensembles de données SIGHAN13, SIGHAN14 et SIGHAN15. .
Comme le montrent les fig. 3 (a)-(c), avec la diminution du seuil, la valeur de précision (DN-P) du réseau de détection diminue, tandis que le taux de rappel de caractères erronés s'améliore. Cependant, puisque le taux de rappel (DN-R) a déjà approché sa valeur maximale, la réduction de Err a un effet décroissant sur l'amélioration du gain du taux de rappel (DN-R), tandis que la précision (DN-P) diminue rapidement. Cela se traduit par une baisse continue de la valeur globale des performances F1 (DN-F1). Par conséquent, dans l’expérience, nous sélectionnons un Err relativement optimal, à savoir 0.1.
Comme le montre la figure 3 (d), pour étudier plus en détail l'impact de l'hyperparamètre « Err » sur le modèle de correction, nous examinons les variations des performances du modèle sous différents paramètres d'hyperparamètres. Sur la base des résultats expérimentaux, on peut observer que lorsque la valeur seuil « Err » diminue, le score F1 du modèle a tendance à augmenter. Le score le plus élevé en F1 est obtenu lorsque \(\mbox{Err}=0.1\), suivi d'une tendance à la baisse. Définir une valeur seuil trop basse peut introduire davantage de bruit dans le modèle de correction. A travers les expériences précédentes, on peut observer que : Bien que baisser Err puisse améliorer le rappel du modèle, la diminution de précision devient plus significative. Par conséquent, quand \(\mbox{Err}=0.1\), les performances du modèle commencent à décliner. En conséquence, nous choisissons \(\mbox{Err}=0.1\) comme valeur seuil pour le modèle de détection.
4.7 L'impact de l'hyperparamètre de la fonction de perte \(\lambda\) sur les performances du modèle
Comme le montre la figure 4, lorsque nous définissons \(\lambda\) à 0.85, nous obtenons le meilleur score F1. Ce paramètre est raisonnable car la convergence de la tâche de correction est plus difficile que la tâche de détection, nécessitant un poids plus élevé lors de l'apprentissage. Cependant, la mise en place \(\lambda\) une valeur trop élevée réduirait l'apprentissage du réseau de détection et diminuerait sa contribution. Par conséquent, en sélectionnant un niveau relativement plus élevé \(\lambda\) peut parvenir à un meilleur équilibre entre les deux tâches et obtenir des résultats optimaux.
4.8 Étude sur l'ablation
Nous avons mené une série d'études d'ablation pour évaluer l'efficacité de chaque méthode dans PSDSpell. Les expériences ont été réalisées sur l'ensemble de données SIGHAN15 et les paramètres de toutes les expériences d'ablation sont restés les mêmes. Les expériences spécifiques sont les suivantes :
- Suppression du mécanisme de masquage monocanal : Après avoir obtenu les positions des erreurs potentielles détectées par le réseau de détection, les informations de tous les canaux sont masquées.
- Suppression de la stratégie de correction itérative : la stratégie de correction étape par étape proposée n'est pas utilisée pendant le processus de correction. Au lieu de cela, le réseau de correction effectue directement la correction.
- Suppression de la stratégie de pré-entraînement : la stratégie de pré-entraînement proposée n'est pas appliquée et, à la place, la tâche originale de Bert est utilisée pour le pré-entraînement.
Comme le montre le tableau 7, (1) La suppression du mécanisme de masquage à canal unique empêche le modèle de correction d'utiliser les informations phonétiques et glyphiques des caractères erronés pendant la tâche de correction orthographique. En raison de l'influence d'un contexte erroné, le modèle introduit du bruit supplémentaire, diminuant les performances de correction. (2) Si la stratégie de correction itérative est supprimée, avec le seuil bas du réseau de détection, de nombreux caractères initialement corrects sont identifiés par erreur comme des erreurs. Sans l'itération étape par étape, le modèle est facilement influencé par ces positions erronées, ce qui entraîne des corrections erronées ou excessives et une diminution des performances globales. (3) En supprimant la stratégie de pré-entraînement, nous pouvons observer que l'utilisation de l'apprentissage par auto-distillation pour le pré-entraînement est bénéfique pour la tâche de correction d'erreurs, permettant au modèle d'apprendre les connaissances en correction orthographique du chinois pendant la phase de pré-entraînement.
4.9 Étude de cas
Nous montrons plusieurs résultats de correction pour démontrer les propriétés de PSDSpell. Plusieurs résultats de prédiction sont donnés dans le tableau 8.
Les résultats montrent que PSDSpell fonctionne bien pour éviter les interférences lorsque le contexte contient des caractères erronés, en les corrigeant efficacement vers les caractères corrects. Comme le montre l'exemple 1, PSDSpell évite de remplacer par erreur le caractère correct « 哪里 » (où) par le caractère plus courant « 那里 » (là), alors que le modèle de base a tendance à effectuer cette substitution, ce qui entraîne une correction incorrecte. Dans l'exemple 2, le modèle de base est plus enclin à n'apporter aucun changement, mais « 汉子 » (homme) et « 汉字 » (caractère chinois) sont des homophones, et « 汉字 » (caractère chinois) est plus cohérent avec le contexte. Par conséquent, PSDSpell modifie le caractère erroné, démontrant une plus grande sensibilité aux caractères erronés. Dans l'exemple 3, il y a trois caractères erronés consécutifs, et PSDSpell évite avec succès l'influence du contexte de caractère erroné, en changeant la séquence de caractères incorrects « 姓青号 » (nom Qinghao) en « 心情好 » (bonne humeur), en maintenant un contexte sémantique fluide. Ceci est également attribué à notre stratégie de pré-entraînement et au mécanisme de masquage monocanal.
PSDSpell a obtenu des résultats prometteurs sur l'ensemble de données de test SIGHAN. Cependant, comme le montre le tableau 9, nous avons observé que dans certains domaines spécialisés, comme « 耳室(shi, room)症 » (Otolithiase, orthographe correcte : « 耳石(shi, stone)症 », une condition médicale), et « 氨基已(yi, déjà)酸 » (acide aminocaproïque, orthographe correcte : « 氨基己(ji, soi-même)酸 », un composé organique), ni PSDSpell ni la ligne de base n'ont pu corriger les caractères erronés. En outre, PSDSpell et la baseline ont également eu du mal à répondre aux connaissances communes, par exemple : « 中国的首都是上海 » (qui signifie « La capitale de la Chine est Shanghai », l'expression correcte : « La capitale de la Chine est Pékin »). Comment permettre au modèle d’acquérir des connaissances dans des domaines spécialisés reste une question intrigante qui mérite d’être explorée.
5. Conclusions
Cet article propose un modèle de correction orthographique chinoise appelé PSDSpell. Nous utilisons la stratégie d'apprentissage par auto-distillation pour apprendre la distribution contextuelle à partir d'un modèle d'enseignant, permettant au modèle de rencontrer un nombre plus important d'échantillons multi-erreurs pendant la pré-formation. Nous utilisons un mécanisme de masquage monocanal et une stratégie de correction itérative pour améliorer les performances du modèle sur des échantillons multi-erreurs. Le modèle utilise un réseau de détection pour identifier les positions potentielles de caractères erronés et les corrige de manière itérative à l'aide d'un réseau de correction. Les résultats expérimentaux sur l'ensemble de données SIGHAN démontrent que PSDSpell surpasse le modèle de base. À l'avenir, nous prévoyons d'explorer l'intégration de connaissances externes pour permettre au modèle de gérer les erreurs dans des domaines spécialisés.
Remerciements
Ce travail est soutenu par le Programme national clé de recherche et de développement de Chine (2020AAA0109700), la Fondation nationale des sciences naturelles de Chine (62076167), la Fondation nationale des sciences naturelles de Chine (61972003), le programme de R&D de la Commission municipale de l'éducation de Pékin (KM202210009002) et la base de recherche sur la gouvernance urbaine de Pékin de l'Université de technologie de Chine du Nord (2023CSZL16). Nous tenons également à remercier les évaluateurs anonymes pour leurs commentaires utiles. Nous tenons à remercier les évaluateurs pour leurs commentaires, qui ont contribué à améliorer considérablement cet article.
Références
[1] C.L. Liu, M.H. Lai, Y.H. Chuang, and C.Y. Lee, “Visually and phonologically similar characters in incorrect simplified Chinese words,” Coling 2010: Posters, Beijing, China, pp.739-747, Aug. 2010.
[2] C. Li, C. Zhang, X. Zheng, and X. Huang, “Exploration and exploitation: Two ways to improve Chinese spelling correction models,” Proc. 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 2: Short Papers), Online, pp.441-446, Association for Computational Linguistics, Aug. 2021.
CrossRef
[3] J. Devlin, M.W. Chang, K. Lee, and K. Toutanova, “BERT: Pre-training of deep bidirectional transformers for language understanding,” Proc. 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers), Minneapolis, Minnesota, pp.4171-4186, June 2019.
[4] S.H. Wu, C.L. Liu, and L.H. Lee, “Chinese spelling check evaluation at SIGHAN bake-off 2013,” Proc. Seventh SIGHAN Workshop on Chinese Language Processing, Nagoya, Japan, pp.35-42, Oct. 2013.
[5] L.C. Yu, L.H. Lee, Y.H. Tseng, and H.H. Chen, “Overview of SIGHAN 2014 bake-off for Chinese spelling check,” Proc. Third CIPS-SIGHAN Joint Conference on Chinese Language Processing, Wuhan, China, pp.126-132, Oct. 2014.
[6] Y.-H. Tseng, L.-H. Lee, L.-P. Chang, and H.-H. Chen, “Introduction to SIGHAN 2015 bake-off for Chinese spelling check,” Proc. Eighth SIGHAN Workshop on Chinese Language Processing, Beijing, China, pp.32-37, Association for Computational Linguistics, July 2015.
CrossRef
[7] S. Liu, T. Yang, T. Yue, F. Zhang, and D. Wang, “PLOME: Pre-training with misspelled knowledge for Chinese spelling correction,” Proc. 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers), Online, pp.2991-3000, Association for Computational Linguistics, Aug. 2021.
CrossRef
[8] H.-D. Xu, Z. Li, Q. Zhou, C. Li, Z. Wang, Y. Cao, H. Huang, and X.-L. Mao, “Read, listen, and see: Leveraging multimodal information helps Chinese spell checking,” Findings of the Association for Computational Linguistics: ACL-IJCNLP 2021, Online, pp.716-728, Association for Computational Linguistics, Aug. 2021.
CrossRef
[9] R. Zhang, C. Pang, C. Zhang, S. Wang, Z. He, Y. Sun, H. Wu, and H. Wang, “Correcting Chinese spelling errors with phonetic pre-training,” Findings of the Association for Computational Linguistics: ACL-IJCNLP 2021, Online, pp.2250-2261, Association for Computational Linguistics, Aug. 2021.
CrossRef
[10] Z. Sun, X. Li, X. Sun, Y. Meng, X. Ao, Q. He, F. Wu, and J. Li, “ChineseBERT: Chinese pretraining enhanced by glyph and pinyin information,” Proc. 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers), Online, pp.2065-2075, Association for Computational Linguistics, Aug. 2021.
CrossRef
[11] Y. Jiang, T. Wang, T. Lin, F. Wang, W. Cheng, X. Liu, C. Wang, and W. Zhang, “A rule based Chinese spelling and grammar detection system utility,” 2012 International Conference on System Science and Engineering (ICSSE), pp.437-440, 2012.
CrossRef
[12] Y.-R. Wang and Y.-F. Liao, “Word vector/conditional random field-based Chinese spelling error detection for SIGHAN-2015 evaluation,” Proc. Eighth SIGHAN Workshop on Chinese Language Processing, Beijing, China, pp.46-49, Association for Computational Linguistics, July 2015.
CrossRef
[13] Q. Huang, P. Huang, X. Zhang, W. Xie, K. Hong, B. Chen, and L. Huang, “Chinese spelling check system based on tri-gram model,” Proc. Third CIPS-SIGHAN Joint Conference on Chinese Language Processing, Wuhan, China, pp.173-178, Association for Computational Linguistics, Oct. 2014.
CrossRef
[14] C. Zhu, Z. Ying, B. Zhang, and F. Mao, “MDCSpell: A multi-task detector-corrector framework for Chinese spelling correction,” Findings of the Association for Computational Linguistics: ACL 2022, Dublin, Ireland, pp.1244-1253, Association for Computational Linguistics, May 2022.
CrossRef
[15] S. Liu, S. Song, T. Yue, T. Yang, H. Cai, T. Yu, and S. Sun, “CRASpell: A contextual typo robust approach to improve Chinese spelling correction,” Findings of the Association for Computational Linguistics: ACL 2022, Dublin, Ireland, pp.3008-3018, Association for Computational Linguistics, May 2022.
CrossRef
[16] Y. Gao, J.-X. Zhuang, S. Lin, H. Cheng, X. Sun, K. Li, and C. Shen, “DisCo: Remedying self-supervised learning on lightweight models with distilled contrastive learning,” Computer Vision - ECCV 2022, Cham, pp.237-253, Springer Nature Switzerland, 2022.
CrossRef
[17] L. Zhang, J. Song, A. Gao, J. Chen, C. Bao, and K. Ma, “Be your own teacher: Improve the performance of convolutional neural networks via self distillation,” Proc. IEEE/CVF International Conference on Computer Vision (ICCV), Oct. 2019.
CrossRef
[18] H. Lee, S.J. Hwang, and J. Shin, “Rethinking data augmentation: Self-supervision and self-distillation,” arXiv preprint arXiv:1910.05872, 2019.
[19] Y. Wang, S. Lin, Y. Qu, H. Wu, Z. Zhang, Y. Xie, and A. Yao, “Towards compact single image super-resolution via contrastive self-distillation,” arXiv preprint arXiv:2105.11683, 2021.
[20] K. Clark, M. Luong, Q.V. Le, and C.D. Manning, “ELECTRA: Pre-training text encoders as discriminators rather than generators,” arXiv preprint arXiv:2003.10555, 2020.
[21] J. Li, Q. Wang, Z. Mao, J. Guo, Y. Yang, and Y. Zhang, “Improving Chinese spelling check by character pronunciation prediction: The effects of adaptivity and granularity,” Proc. 2022 Conference on Empirical Methods in Natural Language Processing, Abu Dhabi, United Arab Emirates, pp.4275-4286, Association for Computational Linguistics, Dec. 2022.
CrossRef
[22] D. Wang, Y. Song, J. Li, J. Han, and H. Zhang, “A hybrid approach to automatic corpus generation for Chinese spelling check,” Proc. 2018 Conference on Empirical Methods in Natural Language Processing, Brussels, Belgium, pp.2517-2527, Association for Computational Linguistics, Oct.-Nov. 2018.
CrossRef
[23] X. Cheng, W. Xu, K. Chen, S. Jiang, F. Wang, T. Wang, W. Chu, and Y. Qi, “SpellGCN: Incorporating phonological and visual similarities into language models for Chinese spelling check,” Proc. 58th Annual Meeting of the Association for Computational Linguistics, Online, pp.871-881, Association for Computational Linguistics, July 2020.
CrossRef