\label{sec:intro}文法誤り訂正は，文書中の様々な種類の誤りを自動的に訂正する自然言語処理の研究課題であり，言語学習者の作文支援への応用が期待されている．機械翻訳のモデルを用いて，誤りを含む文から正しい文への翻訳を行う手法が効果的であり，特に，近年ではニューラル機械翻訳で用いられる手法を応用する研究が活発になされている．機械翻訳の手法を用いるためには，\citeA{mizumoto-etal-2011-mining}のLang-8コーパスなどの大規模な学習データが必要となる．しかし，\citeA{junczys-dowmunt-etal-2018-approaching}で指摘されているように，高品質なニューラル機械翻訳モデルを学習するためには，依然，学習データの量は不十分である．この問題に対処するため，データ拡張によって大規模な学習データを人工的に生成し，そのデータを用いて事前学習を行ったモデルに対し，文法誤り訂正のデータセットで再学習（ファインチューニング）を行う手法に注目が集まっている\cite{lichtarge-etal-2019-corpora,zhao-etal-2019-improving,grundkiewicz-etal-2019-neural,kiyono-etal-2019-empirical}．文法誤り訂正のデータ拡張では，単言語コーパスの誤りのない文に誤りを生成し，人工データを作成する．最も平易なデータ拡張手法は，ランダムな置き換え・挿入・削除の編集操作によって，誤りを生成するものである\cite{zhao-etal-2019-improving}．このランダムな編集操作は，効果的な事前学習が行えるものの，実際の文書中に出現する誤りを再現するものとはなっていない．そのため，これを改善するための様々な手法が考案されている．例えば，編集操作を行う際に，前置詞や冠詞などの特定の文法カテゴリや，綴り・約物などの表記に対して，誤りを生成するルールを活用することで，人工データの質を改善する手法が提案されている\cite{choe-etal-2019-neural,takahashi-etal-2020-grammatical,flachs-etal-2019-noisy,grundkiewicz-etal-2019-neural}．また，機械翻訳モデルを活用して折り返し翻訳を行う手法や\cite{lichtarge-etal-2019-corpora}，逆翻訳を応用した誤り生成\cite{kiyono-etal-2019-empirical,wan-etal-2020-improving}などが提案されている．さらに，データ拡張を行う際に，何が性能向上に寄与するかという点に関して，活発に研究が行われている．本研究では，その中の，特に以下に示す3つの要素に着目し，その妥当性を検証する．本論文では，これらをデータ拡張に重要とされる3つの仮定と呼ぶ．\begin{itemize}\setlength{\itemindent}{3em}\item[仮定(1)]生成される誤りの種類の多様さが，訂正性能に寄与する．\item[仮定(2)]特定の種類の誤りが生成されることが，その種類の誤り訂正性能に寄与する．\item[仮定(3)]データ拡張に用いるデータの規模が，訂正性能に寄与する．\end{itemize}以下に，文法誤り訂正のデータ拡張の研究において，これらの仮定の妥当性を検証する背景と，その意義・貢献について説明する．仮定(1)「生成される誤りの種類の多様さが，訂正性能に寄与する」について説明する．生成される誤りの多様さが重要であるということがデータ拡張を行う際に重要であることは，以前から着目されており，誤り生成モデルに対して，ノイズを加える手法や，複数の候補を用いることで性能の向上が確認されている\cite{ge-etal-2018-fluency,xie-etal-2018-noising}．さらに，誤り種類を分類した誤りタグを用いて，誤り種類ごとに誤り生成を行うことで，高い性能向上が確認されている\cite{wan-etal-2020-improving,stahlberg-kumar-2021-synthetic}．一方で，これらの手法では，誤り種類の多様さを変化させた検証を行っていない．そのため，人工データ中の誤り種類が多様であることが，訂正性能に及ぼす影響を評価できていない．仮定(1)を検証することで，既存の研究で仮定されている，誤り種類に着目し，人工データの誤りの多様さの重要性を再検証し，データ拡張手法を考案する上で考慮すべき性質が何かを明らかにする．仮定(2)「特定の種類の誤りが生成されることが，その種類の誤り訂正性能に寄与する」について説明する．誤り種類ごとに性能を評価している既存研究は存在しているが\cite{takahashi-etal-2020-grammatical}，生成される誤り種類を変えた評価は行われていない．仮定(2)を検証することで，特定の誤り種類が確実に生成されていることの重要性を再検証する．さらに，様々な種類の誤りに対してデータ拡張を行った場合に，誤り種類ごとに適切に誤りが生成されていることが，重要であることを明らかにする．仮定(3)「データ拡張に用いるデータの規模が，訂正性能に寄与する」について説明する．データ拡張は，数千万文程度の，大規模なコーパスに対して行われる．データの規模を大きくすると，訂正性能が向上することは既存の報告で確認されている\cite{kiyono-etal-2019-empirical,wan-etal-2020-improving}．しかし，単にデータ拡張に用いるデータを大きくするだけでは，事前学習を行ったステップ数や，同じ単言語文から複数の異なる誤り文を生成した場合の影響の有無など，データの規模以外の要因の影響が評価できない．仮定(3)を検証することで，既存の研究で仮定されている，大規模データを用いたデータ拡張の有効性を再検証し，大規模データを用いる際に，実験設定を決定するための根拠を提供できる．本研究では，これらの仮定の妥当性を検証するため，様々な文法カテゴリにおける誤りを生成するルールを作成し，それらを組み合わせることで誤り生成を行う．ルールを活用することで，折り返し翻訳や逆翻訳などのモデルベースの誤り生成手法と比較して，生成される誤りの種類を確実に制御することができる．この手法を用いることで，仮定(1)と仮定(2)に対して，それぞれ次のように検証を行うことができる．\begin{itemize}\item誤り生成に用いるルールの種類を変えることで，データ中の誤り種類を制御することができる．そのため，誤り種類の多様さが訂正性能に与える影響を評価することができる．\item誤り生成に用いるルールの種類を変えることで，どの種類の誤りが事前学習・再学習を行った後の訂正性能に影響を与えるか評価することができる．\end{itemize}さらに，仮定(3)に対しては，事前学習におけるパラメータの更新回数を固定しながら，データ拡張に用いる単言語コーパスの規模を評価し，検証を行うことができる．加えて，以下の3つの実験を行い，提案手法単体の評価を行う．\begin{itemize}\item人手で作成されたデータを用いず，ルールを用いて生成されたデータのみを用いて学習を行い，その性能を評価し，学習者データを用いない教師なし設定の手法としての有効性を確認する．\item折り返し翻訳と逆翻訳によるデータ拡張と，既存のベンチマーク上で比較を行い，ルールによる誤り生成の利点と欠点について分析を行い，その利点と限界について明らかにする．\itemルールによる誤り生成を大規模に行い，学習に用いることで，既存のベンチマーク上で大規模学習データを用いた他の最先端手法と比較を行い，本手法の利点や限界について明らかにする．\end{itemize}本研究の主な貢献は以下の6つである．\begin{itemize}\item編集操作による単純な誤り生成規則を文法カテゴリごとに多数作成し，組み合わせる手法を考案した．\item人工データ中の誤り種類の多様さが性能向上に寄与することを，誤りカテゴリごとでの比較で検証した．\item特定の種類の誤りが生成されていることが，その種類の誤り訂正性能の向上に寄与することを示した．\itemデータ拡張によって性能向上を得るためには，単言語コーパスの規模ではなく，十分なパラメータ更新回数と誤り生成回数が必要であることを示した．\item提案手法が教師なし設定で，既存の手法と比較して高い性能を示すことを確認した．\item折り返し翻訳や逆翻訳でのデータ拡張と，提案手法との比較により，ルールによる誤り生成の性質について分析を行った．\end{itemize}本稿ではまず，\ref{sec:rw}節で文法誤り訂正のデータ拡張に関する関連研究を紹介する．\ref{sec:eg}節では，本研究で用いるデータ拡張手法について説明する．\ref{sec:settings}節では，実験に用いるデータやモデルについて説明する．\ref{sec:expt}節にて，3つの仮定について検証する実験を行い，議論する．\ref{sec:comp}節にて，提案手法と既存の手法との比較を行う．\ref{sec:owari}節にて，本稿のまとめを記す．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%