全国中国語誤り訂正コンテスト大関チャンピオンのソリューション共有: 複数のモデルを組み合わせたアイソメトリック スペル エラー修正

タスクに参加する 

中国語のスペル チェック タスクは、中国語の自然言語処理において非常に代表的かつ困難なタスクであり、その本質はテキストの一節内のタイプミスを見つけることです。このタスクは、公式文書、ニュース、財務報告書など、さまざまな分野で優れた応用価値があります。その任務の難しさはまた、非常に大きな研究スペースを与えます。Daguan Dataは、CCL2022中国語学習者テキスト誤り訂正評価コンテストのトラック1の中国語スペルチェック(中国語のスペルチェック)のタスクで全国優勝し、中国語の文法的誤りの診断(中国語の文法的誤り)のタスクで準優勝しました。診断) トラック 2 にあります。この記事では、トラック 1 の中国語のスペル チェック タスクの内容に基づいて、コンテスト中に使用されたいくつかの方法を共有し、Daguan インテリジェント校正システムにおけるコンテストで使用された技術ソリューションのアプリケーションと実装を紹介します。トラック 2 の中国語文法誤り訂正の受賞歴のあるスキームは、Daguan Data の公式アカウントで共有されました。

この中国語スペル チェッカーのタスクは、中国語テキストのスペル エラー (スペル エラー) を検出して修正することです。スペルタスクには、音的に近い、形式的に近い、音と形式の両方で近い、が含まれます。エラー内容と置換内容の長さが同じであることが特徴であり、これは入力文と出力文の長さも同じであることを意味する。

図 1 音声ニアワードエラーの例

上記の図 1 で説明したケースでは、入力文の「ガン」は近似表音文字の誤用であり、出力文を取得するには正しい「キャッチ」に置き換える必要があります。

図 2 マルチワードエラーの例

この種のタスクを実際に適用すると、いくつかの困難に直面するでしょう。1. OOV (語彙不足) の問題は、モデルの効果に深刻な影響を与えます。第一に、モデルがトレーニングで確認されていない式を誤って修正することは不可能です。第二に、モデルはトレーニングで確認されていないため、関連するエンティティを誤って修正してしまいます。2. 上の図 2 に示すように、文内に複数の誤りがある (両方の単語が混同されている) 場合、誤り訂正は文脈の影響を受けます。つまり、その影響により誤りを正しく訂正することが困難になります。その他のエラーについて。

誤り訂正システム 

図 3 に示すように、エラー訂正システムは、その名前が示すとおり、体系的なプロセスでエラー訂正タスクを実行します。私たちのシステムは 5 つのステップからなるシリアルです。まず、基本モデルを事前トレーニングして微調整し、次に複数ラウンドの誤り訂正推論を実行します。3 番目のステップは、トレーニング済みのパープレキシティ モデルを誤再現チェックに使用します。4 番目のステップは、エンティティ エラー修正メソッドを使用します。関連するエンティティについては再度確認し、最終的に精度は高いが再現率が低い Ngram 言語モデルを使用して別の補足を作成します。詳細なコンテンツの紹介は、このモジュールの下で順次展開されます。

図3 スペルミス修正スキームのフローチャート

ピンインコーディング基本モデル 

図4 ピンイン符号化モデルの構造

従来の BERT モデルとは異なり、本研究ではテキストのピンインのモデルの認識を強化し、当て字に近い文字の問題に的を絞って対処できるようにしました。図4に示すように、従来のEmbedding Layer、つまり文字エンコーディングに加えて、ピンイン入力も追加しました。DCN で使用されているエンコード方法 (Wang et al., 2021) から借用したもので、各ピンインの組み合わせは最初に一意の整数にエンコードされ、モデルに入力されます。次に、畳み込み層の後にピンインの行列を追加し、埋め込み層の後にテキストの行列を追加して、それを注意に入力して、モデル内のピンイン コードの重みを強化します。埋め込み段階でピンイン エンコーディングと文字エンコーディングを組み合わせるだけの DCN とは異なり、DeBERTa (He et al., 2020) で言及されている Disentangled tention メソッドを借用しており、このプロセスは各 Transformer エンコーダで繰り返されます。モデルのトレーニングに関しては、Cbert (Liu et al., 2021) の中国語スペルチェック モデルから学習し、大規模なコーパスでトレーニングおよび微調整します。ラベルなしデータについては、からデータを自動生成する方法を使用します。建設のために設定された混乱。Cbert は混同集合に基づいて構築された bert モデルです。モデルのトレーニング用のデータ量を拡張するには大量のラベルなしデータが必要であるため、混同集合を使用して誤り訂正ペアを生成することが特に重要です。cbert で表現される方法が要件と一致しているため、この方法を採用しました。ピンイン符号化の部分を除いて、モデルの残りの構造は基本 bert の構造と同じです (Devlin et al., 2019)。トランス層は全部で12層、隠しユニットのサイズは768個、注目ヘッドは12個あります。出力層は、入力次元が 768、出力次元がワード数の全結合層と結合されます。最後に、Softmax を使用して各候補単語の確率を計算します。

マルチラウンドエラー訂正システム 

図5 マルチラウンド誤り訂正方式のモデル構造

同じ文内の複数のエラーの問題を解決することは、中国語のスペル チェックの分野では常に重要な課題でした。その理由は、間違ったコンテキストの存在が予測に影響を与える可能性があるためです。以前の研究では、CRASpell (Liu et al., 2022) は、トレーニング中にタイプミスの周囲に新しいタイプミスをランダムに生成することで、単一の文内に複数のタイプミスがある環境をシミュレートしましたが、この方法はデータの真の分布にも影響を与えます。一般的なTransformer型の誤り訂正モデルは、各位置で最も確率の高い単語を返し、複数のタイプミスがある場合はそれもまとめて返します。そして、マルチラウンド誤り訂正法を提案する。具体的には、上記の図5に示すように、文中に複数の誤りがある場合、モデルの予測段階で、その都度最も予測誤り確率が高い単語のみを選択し、修正して元の文に戻し、その後、新たな間違った文が現れなくなるまで、第 2 ラウンドの誤り訂正に進みます。

図 6 複数ラウンドの誤り訂正 - 各ラウンドの誤り訂正結果の例

上図6を例にすると、1回目の誤り訂正モデルでは「Jia」が「蒻」に訂正され、2回目の誤り訂正モデルでは「Caotouwei」が「咻」に訂正されました。そもそも修正できなかった「」も、非常に高い確率で「び」に修正することに成功しました。この方法では、すべての単一文の複数のタイプミスの問題が単一文の単一タイプミスの問題に変換され、入力情報を破棄することなく、トレーニングと予測タスクの一貫性が高まり、分布がより均一になります。

混乱により誤ったリコールが減少する 

誤った想起の問題は、中国語のスペルチェックにおける課題でもあります。誤り訂正タスクの本質は、その位置で最も確率の高い単語を選択することであるため、「正しい単語を正しい単語に置き換える」という状況が時々発生します。文の修正前後の困惑度を比較することで、誤想起の事例を減らします (Bao、2021)。

この方法は主に次の手順で構成されます。

  1. 文の場合、各単語を順番に [マスク] します。例:私は食事をしています。これは 4 つのシーケンスに MASK されます: [MASK] は食べています、私は [MASK] 食べています、私は [MASK] で食べています、そして私は [MASK] を食べています。

  2. 上記の 4 つの文をトークナイザー エンコード後のモデルに入力します。

  3. 元の単語のすべての [MASK] 文字の予測確率を返します。文全体は次のようになります。

    [P1、P2、...、Pn]

  4. この確率セットの全体的なスコアを計算します。

したがって、ソクレが大きい文はソクレが小さい文より流暢さが劣ります。

図 7 文の複雑さの例

図 7 の上記の例は、入力文自体が流暢な文章であるため、混乱が増大せず、誤想起をうまく減らすことができます。この方法は、誤り訂正の完全性を向上させることを目的としており、すべての文ではなく一部の文については正しい誤り訂正の発生が減少しますが、欠点は、文字レベルでの誤り訂正のパフォーマンスが損失を引き起こす可能性があることです。

エンティティのエラー修正 

人名、地名、作品名などのエンティティにタイプミスが現れると、従来の誤り訂正モデル方式では優れたパフォーマンスを達成することが困難になることがよくあります。これは、誤り訂正モデルの学習タスクにはエンティティを識別する機能が含まれておらず、エンティティを識別する機能が含まれていないためです。コーパスは考えられるすべてのエンティティ名をカバーできるわけではないため、エンティティに誤りや欠落があることは避けられません。

図8 エンティティエラー修正の例

上の図 8 を例にとります。最初の例は、日本の地名 [縄文杉] を誤って [红孟宾] に修正するものです。その単語の組み合わせはモデル出力でより高い確率を持ちます。2 番目の例は、[Ged] というエラーです。学習モデルコーパスタイトルに含まれないため、「戦記」を省略し、正しい作品名は「ゲド戦記」となります。エンティティの誤修正および欠落の問題を解決するために、Bert ベース (Devlin et al., 2019) の配列アノテーション モデルに CRF を加えた固有表現認識モデルを学習しました。予測する際には、エンティティ辞書と固有表現認識モデルが特定の戦略に基づいて配置されます。

Ngramエラー訂正方法 

Ngram 手法は、教師なしエラー修正手法を採用しています。つまり、n グラム言語モデルがラベルなしコーパスを通じてトレーニングされ、n グラム言語モデルがエラー検出と修正に使用されます。この方法は精度の点で一般的な効果がありますが、フィルタリング戦略と組み合わせて使用​​することで、ある程度の精度の向上、つまり意味情報の検出を強化し、他の方法による誤訂正を解決することができます。n-gram 言語モデルでは、言語モデルは文字列の確率分布 P(W) を構築します。P(W) が文としての文字列の確率であると仮定すると、確率は次の式で計算されます。

ここで、Wi は文中の i 番目の単語を表します。P(W4|W1W2W3) は、最初の 3 つの単語が W1W2W3 である場合に、4 番目の単語が W4 である確率を表します。W1W2W3...Wi-1はヒストリーと呼ばれるもので、Wが合計5000単語あるとすると、i=3のとき1250億通りの組み合わせになりますが、学習データや既存のコーパスデータではこれほど多くの組み合わせを持つことは不可能であり、 most ほとんどの組み合わせは出現しないため、W1W2W3...Wi-1 はルールに従って同値クラスにマッピングできます。最も簡単な方法は、Wi の前に n-1 個の履歴を取ることです。マルコフ仮定によれば、単語は次のようになります。彼にのみ関連する 最初の n-1 個の単語の相関性が最も高く、これが n グラム言語モデルです。

教師なしデータセットでモデルをトレーニングし、比較的高いしきい値で結果を厳密にフィルタリングして、再現率を下げる効果を実現し、誤り訂正システムの最終ステップで結果を完成させました。

データセットの生成 

前述の語彙不足がエラー修正タスクに深刻な影響を与えるため、モデルをできるだけ大きなデータセットでトレーニングする必要があります。したがって、混乱セットを使用して、ラベルなしデータの下にトレーニング セットを自動的に生成する必要があります。データ生成に使用される混同セットとコードはすべて、プロジェクト ファイルでオープンソース化されています。私たちが使用する混同セットは以下に指定されています。

データ生成 

ラベルのないデータセットの場合、次の方法を使用して自動エラー修正ペアを生成します。

  1. 単語分割アルゴリズムを使用して、元の文を分割します。

  2. シーケンスラベリングモデルを使用したすべての単語の属性ラベリング

  3. シーケンスタグ付けモデルでマークされた人名や地名 (xx ホテル、xx 会社など) はタイプミスによって置き換えられません。中国語以外の単語やストップワードもフィルターされます。

  4. 単語は変更を加えるために比例的にランダムにサンプリングされます。単語が混同セットに含まれる場合、15% の確率は変更されず、15% の確率はランダムに変更され、70% の確率はランダムに選択されて混同セット内で変更されます。単語が混同セットにない場合、変更されません。
     

  混乱セット  

表音に近い文字に関しては、タスクのフィルタリングに混同セットを使用する場合、次のアルゴリズムを使用して表音に近い文字を決定します。 すべての多声文字を考慮すると、A と B に含まれるピンイン文字の差が 2 未満の場合、それは当て字に近いと判断される。生成タスクに混同セットを使用する場合、予約された混同セットがそれを直接置き換えるために使用されます。近い形状の文字については、検証セット データの以前の分析により、ほとんどのエラーは近い音または近い音であると考えられるため、生成タスクに混同セットを使用する場合、近い音は使用しませんでした。形をした文字の混乱セット。フィルタリング タスクでは、予約語と近似単語の混同セットがフィルタリングに使用されます。

実験結果 

コンテストの要件に応じて、誤り訂正 F1 と検出 F1 を含むモデルの効果を検証するための指標として F1 を使用し、文と単語の 2 つのレベルに分けてデータを表示します。パーセント記号を省略した形式 (*100) 。以下の表 1 は、YACLC-CSC テスト セットでのモデルのパフォーマンスを示しています。ワードレベルの相関 F1 は、すべてのエラーではなく、モデルによって検出されたエラーのみをチェックすることに注意してください。たとえば、モデルが 1 つのエラーのみを修正し、その修正が正しいと仮定すると、単語レベルの相関 F1 は 100 になります。

表1 各種方式の実験結果の比較

上表において、Baseline は政府提供のベースラインモデル、PYbert はピンイン符号化の基本モデル、Multi-round はマルチラウンド誤り訂正方式、Fluent はパープレキシティ検出方式、NER はエンティティ誤り訂正方式です。 ; NgramはNgramの修正方法が間違っています。上記のすべての方法において、マルチラウンドエラー修正方法ではリコールの数が増加し、以前は修正できなかったいくつかのケースが検出されます。パープレキシティ検出により、リコールの数が減り、一部の誤って修正された文が削除されますが、同時に少数の正しい文が失われます。エンティティのエラー修正方法は、すべてのエンティティを再度見直し、誤って修正されたエンティティを正しく修正し、誤って修正されたエンティティを削除することで、高い精度で修正されます。最後に、Ngram メソッドは、リコール数が少ない (1100 文のケースでわずか 88 件) 見つかっていないケースを補完するため、誤ったリコールは削除されません。このメソッドが使用される順序は、おおよそモデルの精度に基づきます。精度が高く、再現率(リコール)が低いメソッドがシステムの最後に配置され、出力結果が削除されにくくなります。図に示すように、基本ピンイン モデルは、生成されたデータの事前トレーニングとその他の微調整を経た後、ベースライン モデルと比較して効果が大幅に向上しました。その後、システムのすべてのステップが相関 F1 の改善に貢献します。

技術上陸計画

図 9 Daguan スマート校正システムのデモンストレーション

Daguan インテリジェント校正システムは、自然言語処理や光学式文字認識などのテクノロジーを利用して、さまざまな形式の入力テキストの自動校正を実現します。このシステムは、コンテンツ エラー修正、フォーマット エラー修正、筆記ルール エラー修正など、さまざまなアプリケーション シナリオ向けのエラー修正モジュールをカバーしています。コンテンツ エラー修正モジュールには、スペル エラー修正、文法エラー修正、リーダー エラー修正、記号エラー修正、およびさまざまなエラー修正が含まれます。機密単語検出などの校正モジュール。現在、Daguan インテリジェント校正システムは、公文書、金融、一般分野のテキスト校正作業をサポートしており、さまざまな分野の校正ニーズに合わせてカスタマイズされたソリューションを顧客に提供できます。システムの概要を上の図 9 に示します。

本稿の手法は主にテキスト誤り訂正システムの内容誤り訂正に使用されており、誤字・脱字の誤り訂正も含まれる。さらに、Daguanテキストエラー修正システムは、単語の欠落、単語の欠落、順序の乱れ、コロケーションエラーなどを含む文法エラーの修正もサポートしており、さまざまな長さの入力文と出力文のエラー修正を実行できます。誤り訂正システムは、公文書など関連分野の強化策も講じている。リーダーの名前、引用、行政区域の間違いなど。テキストコンテンツのエラー訂正検出に加えて、エラー訂正システムはヘッダーエラー、言語エラー、コピー権限エラーなどを含むテキストフォーマットも修正できます。

   要約する    

この文書では、中国語のスペル チェック タスクのための誤り訂正システムを提案しており、その 5 つの主要な部分について詳細に説明しています。そして、システムによって実行された実験が与えられます。モデル面では、ピンインをTransformer Encoderにエンコードしたモデル結果、単一文内の複数の誤りに対するマルチラウンド誤り訂正法、文の完全性を考慮した混同チェック法、エンティティ誤り訂正法を提案した。エンティティエラーなどのメソッド。データ面では、多声文字のデータ拡張を行い、膨大なコーパスの中から混同集合を通じて正誤文ペアを自動生成します。システム上で関連実験を実施し、各部の有効性を検証しました。そして、実際の着陸製品におけるモジュールの適用について紹介します。


参考文献:

  1. 君山宝。NLP の流暢さ。https://github. com / baojunshan / nlp-fluency。2021年。
  2. ジェイコブ・デブリンら。「BERT: 言語理解のための深い双方向トランスフォーマーの事前トレーニング」。掲載: 計算言語学協会北米支部の 2019 年会議議事録: 人間の言語技術、第 1 巻 (長文および短文)。ミネソタ州ミネアポリス:計算言語学協会、2019 年 6 月、4171 ~ 4186 ページ。土井: 10.18653/v1/N19-1423。URL: https://aclanthology.org/N19-1423。
  3. DingminWang et al. 「中国語のスペルチェックのための自動コーパス生成へのハイブリッドアプローチ」。掲載: 2018 年自然言語処理における経験的手法カンファレンス (EMNLP) の議事録。ベルギー、ブリュッセル、2018 年 11 月。
  4. Pengcheng He et al. DeBERTa: デコード強化された BERT と、デエンタングルド アテンション。2020. 土井: 10.48550/ARXIV.2006.03654。URL: https://arxiv.org/abs/2006.03654。
  5. ピジ・リーとシュミン・シー。中国語の文法エラー修正のための Tail-to-Tail の非自己回帰シーケンス予測。2021. doi: 10.48550/ARXIV.2106.01609. URL: https://arxiv.org/abs/2106.01609。
  6. Chao-Lin Liu 他 「誤った簡体字中国語の単語における視覚的および音韻的に類似した文字」。で: コリング 2010: ポスター。中国、北京: Coling 2010 組織委員会、2010 年 8 月、739 ~ 747 ページ。URL:https://aclanthology.org/C10-2085。
  7. Shulin Liu et al. 「CRASpell: 中国語のスペル修正を改善するための、文脈に応じたタイプミスに強いアプローチ」。参照:計算言語学協会の調査結果:ACL 2022。アイルランド、ダブリン:計算言語学協会、2022 年 5 月、3008 ~ 3018 ページ。土居:10.18653 /v1/2022.findings-acl.237。URL: https://aclanthology.org/2022.findings-acl.237。
  8. Yuen-Hsien Tseng 他 「SIGHAN 2015 中国語スペルチェック用ベイクオフの紹介」。掲載: 中国語処理に関する第 8 回 SIGHAN ワークショップの議事録。中国、北京: 計算言語学協会、2015 年 7 月、32 ~ 37 ページ。土井: 10.18653/v1/W15-3106。URL: https://aclanthology.org/W15-3106.1

おすすめ

転載: blog.csdn.net/DatagrandRS/article/details/128468238