言語処理学会 第26回年次大会 発表論文集 (2020年3月)

文法誤り訂正のための自己改良戦略に基づくノイズ除去
三田 雅人 1,2 清野 舜 1,2
1
理化学研究所

金子 正弘 3,1 鈴木 潤 2,1 乾 健太郎 2,12東北大学 3 首都大学東京{masato.mita, shun.kiyono}@riken.jp, kaneko-masahiro@ed.tmu.ac.jp,{jun.suzuki, inui}@ecei.tohoku.ac.jp
1はじめに(a) 不適切な訂正に起因するノイズ (False Positive)
訂正前: I want to *discuss about the education.
訂正後: I want to *discuss of the education.

文法誤り訂正（Grammatical Error Correction; GEC）
は，入力文中に含まれる文法誤りを自動的に訂正するタ(b) 訂正し忘れに起因するノイズ (False Negative)

スクである．GEC タスクは，構造的な類似性から文法

訂正前: We *discuss about our sales target.
訂正後: We *discuss about our sales target.

誤りが含まれる文から誤りが含まれない文への機械翻訳(Machine Translation; MT) タスクの一種と見做してモデル化されることが多い．これまでにも，GEC のための多くのニューラルエンコーダデコーダモデル（EncDec）が提案されており，顕著な結果を達成している [7]．
MT では，EncDec の性能はデータ量の増加に伴い向上することが知られている [8]．一方で，GEC においては，データ量の増加が必ずしもモデルの性能向上に寄与しないことが報告されている．Lo ら [10] は EFCamDat[2] と呼ばれる約 200 万文対から構成される世界最大規模の学習者コーパスを初めて GEC に使用した．Lo らの報告によると，EFCamDat を用いて訓練した GEC モデルの性能が，約 72 万文対のより小さなデータセットで訓練したモデルよりも劣る結果となり，要因の一つに一貫性のない訂正の存在を指摘した．例えば，“discuss about” は常に“discuss” に訂正される必要があるが，このコーパス中に

表1: ノイズの例

ータも使用するため，文境界や文アラインメント，誤翻訳などの問題を伴うさまざまな品質の対訳データの存在が指摘されている．また，MT コミュニティはこの種の品質
が翻訳の精度に潜在的に大きな影響を与えることについて以前にも増して認識してきている．例えば，Khayrallahら [5] はノイズの種類とニューラル機械翻訳（NMT）への影響について調査した．このようなノイズに対処するための素直な解決策として，データフィルタリングアプロー
チがある．これは，ノイズを含むデータをフィルタリング（除外）し，高品質でより小規模な対訳データのみ保持するアプローチであり，これまで MT で多く行われてきた [4]．
実際，ノイズの多い対訳コーパスに対するフィルタリング

は不適切に訂正されたものや訂正し忘れのようなものといタスクも近年開催されている [9]．

った多くの誤りが含まれている（表 1）．このような訂正ミ3

ノイズ除去問題3.1

文法誤り訂正におけるノイズ

スによって生じた訂正における不整合はノイズとして機能し，モデルの訓練を妨げる可能性があると考えられる．
通常，学習者コーパスは，母語話者や訓練を受けた専門

本研究では，出力文（訂正文）に含まれる文法誤りをノ家らによって提供されるため，GEC コミュニティはこれイズと定義する．GEC では訓練対訳データの出力文は文まで人手で作られたこれらのデータについては訂正ミスの法的に正しいという仮定を置いてモデルの訓練を行なって少ないクリーンなものであると想定する傾向があった．しいるため，理論上は，モデルは入力文に含まれる誤った単かし，このようなデータセットを使用して GEC モデルの語およびフレーズから出力文中の訂正された正しい単語お訓練を行う場合，データの品質により注意を払う必要ある．

よびフレーズへの多対一の写像を学習する（例．*discuss

そこで本研究では，GEC における効果的なノイズ除去手

about/ of→discuss）．しかし，不適切な訂正に起因するノイズ（表 1-（a））や訂正し忘れに起因するノイズ（表 1（b））の存在により，以下の二つの観点でモデル訓練時の法の設計を目的とする．

2

関連研究

ノイズとして機能する可能性があると考えられる．

1節でも述べた通り、GEC 分野ではこれまでモデルの訓練に使用するデータについて暗黙的にノイズの少ないもの• 不適切な訂正パターンを学習する可能性がある• 教師あり学習の仕組み上，1 対多の写像の学習が行えであると想定する傾向があった．そのため，既存データセ

ないため学習効率が悪化する可能性があるットにおけるノイズについては未だに調査されておらず，
我々の知る限り，GEC におけるノイズの除去に関する先そのため，本研究ではこれらのノイズを訓練データから除去することを目的とする．なお，文法的な正しさは必ず

行研究は存在しない．
その一方で，MT の分野ではデータ中のノイズは重要なしも一意に決まらない場合もあり，それゆえ訂正におけるトピックになりつつある．MT では，人手作成された対訳

不整合が生じる場合がある（例. He undergoes periodic

データの他に Web クロールを用いて自動獲得した対訳デ

health checks *in→of/on there own.）．しかし，これらはGEC タスクに依存しない言語的曖昧性から生じる言語現― 993 ―

Copyright(C) 2020 The Association for Natural Language Processing.
All Rights Reserved.

Algorithm 1: 自己改良戦略に基づく対訳データノ
イズ除去
Data: ノイズを含んだ対訳データ D̃Result: ノイズ除去済み対訳データ D̂
1 D̂ = {}// create empty set
2 D̃ からベースモデル θ̃ を訓練
3 for (X, Y ) ∈ D̃ do
4
Y ′ = Beam_Search_Decoding(Y; θ̃)5perplexity P P L(Y ) および P P L(Y ′ ) を計算
6
if P P L(Y ) − P P L(Y ′ ) ≧ 0 then7Ŷ = Y ′

文数 (ペア)分割

スコアラー

BEA-train
EFCamDAT
Lang-8 big
BEA-valid

561,100
2,269,595
5,689,213
2,377

訓練
訓練
訓練
開発

-

CoNLL-2014
JFLEG

1,312
1,951

評価
評価

M 2 scorer & GLEU
M 2 scorer & GLEU

表2: 実験に使用するデータセットの概要

GEC には不適切である可能性が高い．

else

8

Ŷ = Y

9• GEC は MT と比べて利用可能なデータが限られた低D̂ = D̂ ∪ {(X, Ŷ )}10
11

データセット

リソースタスクである

D̂ を用いて新たなノイズ除去済みモデル θb を訓練• 訓練事例の大部分はモデルの訓練に部分的には役立つ場合がある象であるため，本研究におけるノイズ除去の対象としない．

そのため，リソースの少ない GEC のような設定では，

我々は，データ中のノイズは，先行研究 [10] により報データを “捨てず” にデータ量を可能な限り減らさず有効告された EFCamDat に限らず GEC で扱うデータセット

活用できるようなノイズ除去手法が有効であると考えらには必然的に含まれていると考える．その理由は，訓練

れる．

コーパス構築過程の観点から説明できる．EFCamDat や

上記の動機に基づき，GEC のためのノイズ除去手法としLang-8 [12] などのほとんどの学習者コーパスは，誤りをて自己改良戦略に基づくノイズ除去手法（self-refinement）

含む可能性のある学習者が書いた入力文と教師によって訂を提案する．Algorithm 1に提案手法の概要を示す．提案手正された対応する出力文のログに基づいて構築されてい法の着想は，GEC モデルは比較的一貫した訂正を出力する．ここで出力文の作成方法に着目する．GEC では，入ることが既定できるため，その性質を利用して訂正付きデ

力文と出力文が同一言語であるため，誤った箇所のみをータに対して自動的に再訂正することにある．具体的には，“編集” することで出力文が生成される．そのため，すべての訂正者の訂正精度が 100% でない限り，理論上は表 1の機械学習に基づく GEC モデル（ベースモデル）をノイズ

ようなノイズは避けられないが，残念ながら人間の精度がインスタンス全体で D̃ における出力文を一貫させる．ノイ

100% でないことは実験的に示されている [3]．したがって，コーパス生成過程の観点から，任意の GEC 訓練コーの含まれた対訳データ D̃ で学習し，ベースモデルを用いてズは訂正者の不注意または能力不足などのランダム要因によって引き起こされる．一方で、EncDec などの機械学習

パスには，程度の差はあれ，一定のノイズが含まれているに基づく GEC モデルの場合，類似した文脈が与えられたと考えられる．

ときは常に一貫した予測を行う．ノイズを含んだ対訳デー

3.2

ノイズ除去シナリオ

はじめに，GEC タスクを形式的に定義する．ここで，θ を

GEC モデルにおける訓練可能なパラメータ集合，D を文法誤りが含まれる入力文 X と文法誤りが含まれない出力文
Y の文対からなる訓練データ，
すなわち，
D = {(Xi , Yi )}ni=1とする．このとき，我々の目的は訓練データ D を用いたと
きの次の損失関数 L(D, θ) を最小化する最適なパラメータ集合 θb を獲得することである．
1
L(D, θ) = −|D|∑タ D̃ = {(Xi , Yi )}ni=1 が与えられとき，出力文 Yi から新
たな出力文 Ŷi を生成する（4 行目）．モデルの予測の一貫性により，ノイズ除去済み対訳データ D̂ = {(Xi , Ŷi )}ni=1
は結果的によりノイズの少ないデータになることが期待される．なお，提案手法はラベル付きデータを増やすことが目的ではないが，自己学習 (self-training) の一種と見做すこともできる．本アプローチの課題として，ベースモデル
が一貫して不適切な訂正を引き起こしてしまう可能性があ
ることである．例えば，表1の例において，ベースモデルがlog(p(Y |X, θ)).

(1)

全て “discuss about” に訂正してしまう可能性がある．こ(X,Y )∈Dのような課題に対し，提案手法ではベースモデルが誤った

従来研究では，訓練データ D は “クリーン” な対訳デー予測を行なった場合に元の出力文を復元するようなフェー

タ D̂ であると仮定されていた．本研究で扱うノイズ除去

ルセーフ機構を導入している（5-9 行目）．このステップでシナリオでは，訓練データは “ノイズの含まれる” 対訳デは，ベースモデル出力 Y ′ を新たな出力文として採用するータ D̃ であることを仮定し，ノイズ除去を行うことで獲かどうかを判断するために，モデル出力 P P L(Y ′ ) と元の得されるノイズの少ない対訳データ D̂ を用いて新たなよ

出力文 P P L(Y ) それぞれの perplexity の計算し，比較をり良い GEC モデルを訓練する．

行う．

4

自己改良戦略に基づくノイズ除去
ノイズに対処するためのアプローチとして，MT でも一

5

実験

5.1

実験設定

般的に用いられるフィルタリングアプローチがある．しかデータセットし，フィルタリングに基づくノイズ除去は次の理由によりある．まず，GEC コミュニティで訓練データとして一般的― 994 ―

実験で使用したデータセットは次の通りでCopyright(C) 2020 The Association for Natural Language Processing.
All Rights Reserved.

CoNLL-2014

JFLEG

訓練データセット

Prec.

Rec.

F0.5

GLEU

Prec.

Rec.

F0.5

GLEU

BEA-train (B)B w/o denoising (B-BL)
B w/ LM filtering (B-LM)
B w/ self-refinement (B-SR)

58.7
56.5
55.0

30.6
28.2
37.5

49.6
47.1
50.3

63.3
63.0
64.2

67.3
66.9
65.4

38.9
38.3
46.8

58.7
58.3
60.5

52.3
52.6
54.8

EFCamDat (E)E w/o denoising (E-BL)
E w/ LM filtering (E-LM)
E w/ self-refinement (E-SR)

48.5
48.5
55.2

24.0
25.8
32.4

40.3
41.2
48.4

61.3
61.7
63.5

69.3
68.5
69.4

38.0
39.6
48.5

59.5
59.7
63.9

53.7
54.2
57.1

Lang-8 big (L)L w/o denoising (L-BL)
L w/ LM filtering (L-LM)
L w/ self-refinement (L-SR)

59.8
60.6
58.1

41.3
42.8
51.1

54.9
55.9
56.5

65.9
66.3
67.7

74.5
74.3
71.3

51.6
52.4
59.8

68.4
68.6
68.6

58.1
59.1
61.0

B+E w/o denoising (BE-BL)
B+E w/ LM filtering (BE-LM)
B+E w/ self-refinement (BE-SR)

58.5
59.1
61.2

30.0
27.9
38.0

49.1
48.3
54.5

63.4
63.3
65.2

71.3
71.6
70.9

40.6
41.0
50.2

62.0
62.3
65.5

53.9
54.7
58.0

B+E+L w/o denoising (BEL-BL)
B+E+L w/ LM filtering (BEL-LM)
B+E+L w/ self-refinement (BEL-SR)

62.8
64.7
61.7

39.2
38.0
49.4

56.1
56.7
58.8

65.7
65.9
68.0

74.9
75.7
74.1

47.1
48.4
59.3

67.0
68.0
70.6

56.9
57.8
61.4

表3: 実験結果: 太字の値は各訓練データセットにおける最高精度を示している．

に広く利用され，BEA-2019 Shared- Task の公式データ

実装*4 を使用した．

セットとして採用された BEA，および先行研究 [10] でノ比較手法

イズの存在が指摘された EFCamDat を使用した．ここで，づくノイズ除去手法は GEC には適していないという仮説

BEA-2019 Shared Task では訓練用（BEA-train）と開発用（BEA-valid）それぞれのデータセットが提供されているため，本実験においてもそれぞれ訓練/開発データセッ
トとして使用した．さらに，EFCamDat 以外の大規模コーを持っている．この仮説を検証するために，本実験の比較パスにおいてもノイズ除去の効果があるかを調査するためが入力文よりも流暢でない場合，出力文にはノイズが含に，Lang-8 big コーパス*1 を訓練データとして使用した．

まれているという仮説に基づく手法である．具体的には，

各データセットの詳細は表 2に示す通りである．訓練デー

まずノイズの含まれる対訳データ D̃ の文対それぞれに対タの前処理として，はじめに spaCy tokenizer*2 を用い

し，perplexity を計算する．次に，入力文の perplexity がてトークナイズ処理を行った．次に，（1）無編集な文対，

出力文の perplexity よりも低い文対を除外する．ここで，（2）入力文および出力文ともにトークン長が 80 以上の文

おいても，Mita ら [11] に従い，CoNLL-2014 評価データ

perplexity の算出するために使用する言語モデルは，提案手法のフェールセーフ機構と同様に GPT-2 を使用した．
5.2 結果表 3に実験結果を示す．まず，議論を簡単にするために，CoNLL-2014 における F0.5 に着目する．実験結果より，B-BL は E-BL よりも性能が大幅に高いことがわかる（B-BL = 49.6 vs E-BL = 40.3）．これは，先行研究 [10]の結果とも一致している．さらに，BEA と EFCamDat を

セット (CoNLL-2014) [15] および JFLEG 評価データセ

単純に結合して訓練に使用した場合においても，性能が改

対を訓練データから除外した．最後に，byte-pair-encoding（BPE）アルゴリズムを用いて，出力文からサブワードを取得した．サブワード化には，subword-nmt*3 を使用し，マージ回数は 8,000 に設定した．
評価

GEC モデルの頑健な評価にはコーパス横断評価が必要であることが知られている [11]．そこで本評価実験に4節で述べた通り，我々はフィルタリングに基手法として，ノイズ除去なし (w/o denoising) に加えて，言語モデルを用いたフィルタリングに基づくノイズ除去
手法 (LM-filtering) を用意した．LM-filtering は，出力文ット (JFLEG) [13] の二つの評価データセットに対して，善するどころかむしろ悪化させてしまうことが確認できるそれぞれ M 2 scorer [1] および GLEU [14] の二つの評価（B-BL = 49.6 vs BE-BL = 49.1）．これは，ノイズの存在尺度を用いてコーパス横断的に評価を行なった．なお，実により，データ量の増加が必ずしも GEC モデルの性能向

験結果として報告するのは 3 つのランダムシードを用いて上に寄与しないことを示唆する．

訓練した性能の平均値である.

一方で，提案手法によってノイズ除去することで，BEA

モデル GEC モデルの構築にあたり，seq2seq モデルのツと EFCamDat を結合して訓練すると大幅に性能が改善さールキット fairseq [16] における “Transformer（big）”

れることがわかる（BE-BL = 49.1 vs BE-SR = 54.5）．次を使用した．また，Optimizer には Adam [6] を使用し，学に，全ての評価データおよび評価尺度における結果に着目

習率は Vaswani ら [18] と同じ設定である．フェールセー

すると，Lang-8 big を含め全ての訓練データセットに対しフ機構における言語モデルとして，GPT-2 [17] の Pytorchて提案手法を用いてノイズ除去することで性能が改善して*1 Lang-8 big コーパスは，2012 年から 2019 年の期間で収集されたログを基に作成された世界最大規模の学習者コーパスである．
*2 https://spacy.io/*3 https://github.com/rsennrich/subword-nmt

いることが確認できる．このことから，提案手法が任意の訓練データセットおよび評価データセットにおいて有効であることが示唆される．
*4 https://github.com/huggingface/transformers#

PyTorch-models― 995 ―

Copyright(C) 2020 The Association for Natural Language Processing.
All Rights Reserved.

E-BL（%）

E-SR（%）*discuss about → *discuss about*discuss about → discuss*discuss about → *discuss in

66.7
33.0
0.3

49.5
50.2
0.3

*enter in → *enter in*enter in → enter

61.6
38.4

31.7
68.3

Confusion set

表4: EFCamDat におけるノイズ除去前後の confusion set の例（訂正
前 → 訂正後）．

図1: EFCamDat を用いて訓練したときの validation loss

最後に，フィルタリングに基づくノイズ除去が GEC において有効であったかについて着目する．フィルタリングに基づくノイズ除去手法である LM-filtering は概ねノイズ除去をしない設定よりは性能が上回っているが，一方で，特に BEA のようにデータ量が少ない場合に適用するとかえって性能が悪化している（B-BL=49.6 vs B-LM=47.1）．
これは我々の仮説の通り，たとえノイズを含む文対の除外に成功できたとしても，それと同時に本来 GEC モデルの訓練に部分的にでも有効であったインスタンスまでも除外してしまうからだと考えられる．

6

おわりに

7

本研究では，GEC の対訳データにおけるノイズ除去問
題について初めて取り組んだ．また，GEC のための効果
的なノイズ除去として，自己改良戦略に基づくノイズ除去
手法（self-refinement）を提案した．実験結果より，訓練データセットにノイズ除去を行うことで性能が大幅に改善することを確認した．また，低リソースタスクである GEC
において，提案手法は MT で一般的に行われるフィルタリ

分析

ングに基づくノイズ除去手法に比べて有効であることを確

本節では，提案手法によって実際にノイズが除去されたのか，またノイズ除去を行うことで，GEC モデルの学習
効率は向上したのかについて分析する．ここで，学習効率が向上したとは，ノイズ除去前に比べてより良いパラメー
タ集合 θb を獲得したことを指している．
表 4はノイズ除去前後の EFCamDat データにおける

confusion set を示している．冒頭でも例として挙げた“discuss about” に着目すると，ノイズ除去前の EFCamDat（E-BL）には “*discuss about→*discuss about” といった訂正し忘れに起因するノイズが全体の 66.7% 含ま認した．なお，提案手法が有効に機能する境界条件については本研究で未調査なため今後の課題としたい．

参考文献
[1]
[2]

[3]

[4]

れているが，提案手法によってデータに対してノイズ除去を行うことで，49.5% まで削減することに成功し，結果として適切な訂正である “*discuss about→ discuss” という訂正も 33.0% から 50.2% まで改善していることがことが確認できた．他の事例として，“discuss” と同様に他動詞しかとらない動詞 “enter” を分析したところ，“*enterin→ *enter in” といったノイズの割合がノイズ除去前後
で 61.6% から 31.7% まで大幅に削減できていることが確

[5]
[6]
[7]
[8]
[9]
[10]

認できた．
ここまで，提案手法による訓練データ中のノイズ除去に一定の成果があったことを定量・定性の両面から確認してきたが，その結果として，GEC モデルの学習効率は向上

[11]
[12]

したのだろうか．図1は EFCamDat を用いてモデルを学習したときの validation loss を示している．ここで，x 軸はエポックの推移，y 軸は validation loss をそれぞれ表している．この図から，提案手法（E-SR）の loss がノイズ除去なし（E-BL）やフィルタリングに基づいたノイズ除去（E-LM）の loss と比べて低い値になっていることがわ
かる．これは，モデルがノイズとなる訓練事例に惑わされなくなったことでより良いパラメータに落ち着きやすくな

[13]
[14]
[15]
[16]
[17]
[18]

Daniel Dahlmeier and Hwee Tou Ng. “Better Evaluation forGrammatical Error Correction”. In: NAACL. 2012, pp. 568–
572.
Jeroen Geertzen, Dora Alexopoulou, and Anna Korhonen.
“Automatic linguistic annotation of large scale L2 databases:
The EF-Cambridge Open Language Database (EFCAMDAT)”. In: 2013.
Roman Grundkiewicz and Marcin Junczys-Dowmunt. “Near
Human-Level Performance in Grammatical Error Correction
with Hybrid Machine Translation”. In: NAACL. 2018, pp. 284–
290.
Marcin Junczys-Dowmunt. “Dual Conditional Cross-Entropy
Filtering of Noisy Parallel Corpora”. In: WMT. 2018, pp. 888–
895.
Huda Khayrallah and Philipp Koehn. “On the Impact of
Various Types of Noise on Neural Machine Translation”. In:
WNMT. 2018, pp. 74–83.
Diederik Kingma and Jimmy Ba. “Adam: A Method for
Stochastic Optimization”. In: ICLR. 2015.
Shun Kiyono et al. “An Empirical Study of Incorporating Pseudo Data into Grammatical Error Correction”. In:
EMNLP-IJCNLP. 2019, pp. 1236–1242.
Philipp Koehn and Rebecca Knowles. “Six Challenges for Neural Machine Translation”. In: Workshop on Neural MachineTranslation. 2017, pp. 28–39.
Philipp Koehn et al. “Findings of the WMT 2018 Shared Task
on Parallel Corpus Filtering”. In: WMT. 2018, pp. 726–739.
Yu-Chun Lo et al. “Cool English: a Grammatical Error Correction System Based on Large Learner Corpora”. In: COLING.
2018, pp. 82–85.
Masato Mita et al. “Cross-Corpora Evaluation and Analysis
of Grammatical Error Correction Models — Is Single-Corpus
Evaluation Enough?” In: NAACL. 2019, pp. 1309–1314.
Tomoya Mizumoto et al. “Mining Revision Log of Language
Learning SNS for Automated Japanese Error Correction ofSecond Language Learners”. In: IJCNLP. 2011, pp. 147–155.
Courtney Napoles, Keisuke Sakaguchi, and Joel Tetreault.
“JFLEG: A Fluency Corpus and Benchmark for Grammatical Error Correction”. In: EACL. 2017, pp. 229–234.
Courtney Napoles et al. “GLEU Without Tuning”. In: arXiv
preprint arXiv:1605.02592 (2016).
Hwee Tou Ng et al. “The CoNLL-2014 Shared Task on Grammatical Error Correction”. In: CoNLL. 2014, pp. 1–14.
Myle Ott et al. “fairseq: A Fast, Extensible Toolkit for Sequence Modeling”. In: NAACL. 2019.
Alec Radford et al. “Language Models are Unsupervised Multitask Learners”. In: (2019).
Ashish Vaswani et al. “Attention Is All You Need”. In: NIPS.
2017, pp. 5998–6008.

ったと考えられる．

― 996 ―

Copyright(C) 2020 The Association for Natural Language Processing.
All Rights Reserved.