# 日本語文法誤り訂正におけるデータ増強および評価データ構築

加藤秀佳 岡部格明 北野道春 宿久洋
同志社大学
}

\{khideyoshi2,mokab.0328,kitano.michiharu\}@gmail.com, hyadohis@mail.doshisha.ac.jp
## 1 はじめに

文法誤り訂正 (Grammatical Error Correction: GEC) とは，入力したテキストの誤りを自動で検出して訂正することを目的とした自然言語処理タスクの 1 つである [1]. 近年，校正業務におけるコスト削減が期待できることからビジネス分野での需要も高まり，そのための文章校正システムの開発が求められている. しかし, 既存の文章校正システムは助詞の誤字，脱字，衍字などの誤り箇所の検出 (detect)のみに焦点が当てられており, 文章の誤りを検出し,訂正 (correct) まで行う日本語 GEC システムはほとんど提案されていない. 日本語 GEC 研究は英語や中国語といった他言語の GEC 研究と比較すると取り組みが少なく, それは日本語 GEC 研究の性質や環境などに様々な課題が存在することに起因する。 そこで本研究では, 日本語 GEC 研究が抱える課題 1 学習に利用できるデータ不足および課題 2 評価デー タの不十分性という 2 つの課題に対処することで GEC モデルの精度向上と頑健な評価に取り組む.

課題 1 について，近年の GEC 研究は文法的に誤りを含む文 $(\mathrm{src})$ から文法的に正しい文 $(\mathrm{tgt})$ への翻訳タスクとして取り組むことが一般的であり，その際に， src と tgt がペアとなった大量のデータ (対訳データ) が必要とされる [2]. 英語 GEC 研究において利用できる大規模な対訳データは, EFCAMDAT(約 250 万文)[3] など，合計して 450 万文以上用意されている一方で, 日本語 GEC 研究において利用できる対訳データは, Lang8 コーパス [4] の約 160 万文のみであり，量および種類の観点からも対訳デー タが少ないことが問題視されている. この問題に対して，既存研究では用意したコーパスから $\mathrm{src}$ を生成し擬似的に対訳データを生成するデータ増強 (Data Augmentation: DA) が提案されている [5,6]. しかし, 新たな生成元コーパスを大量に準備することができない，または使用できるドメインのデー 夕量が限られている状況においては $\operatorname{src}$ を生成する既存研究では対応できない，そこで，本研究では $\operatorname{src}$ の生成だけではなく, $\operatorname{tgt}$ の生成も考慮に入れた DA(BERT-DA-tgt) を提案することで課題 $\mathbf{1}$ に対処することを考える。

課題 2 について，英語の GEC 研究において，モデルを評価するために (1) 誤りタイプごとの評価と (2)複数ドメインごとの評価の 2 つの観点から行う研究やワークショップが数多く行われている $[7,8,9]$. (1)については，提案された GEC モデルが有効に作用する，または作用しないような誤りの性質を明らかにし, GEC システムを構築する際に, 特定の誤り種類と相性の良いモデルを採用したいという意図がある [10]. (2) については，特定のドメインで高い性能を示すモデルが，異なるドメインで低い性能を示すような状況が生じた場合，構築されたモデルを正しく評価できたとは言えず，複数ドメインでの評価をしたいという意図がある [11]. 近年の日本語 GEC モデルを評価するために広く使われているデータセットとして，NIST 誤用コーパス (NIL) [12, 13] と日本語学習者の文法誤り訂正システムのための評価用マルチリファレンスコーパス (TEC_JL) [14, 15] があるが，日本語 GEC 研究において GEC モデルを英語のように上記の 2 つの観点両方で評価した研究はない. そこで，本研究では (1)，(2) 両方の観点から評価できるような新たなデータセット (JGECM) の構築および構築方法の提案を行うことで，課題 2 に対処し，さらに構築したデータを公開1)する。

## 2 BERT-DA-tgt

DA を使用しない GEC 手法は，図 1 における対訳データ $D=\left.\{\left(\boldsymbol{x}_{i}, \boldsymbol{y}_{i}\right) \mid i=1,2, \ldots, n\right.\}$ のみを用いてモデルを学習する. このとき， $D$ は $\operatorname{src}$ の集合 $X=$ $\left.\{\boldsymbol{x}_{i} \mid i=1,2, \ldots, n\right.\}$ と, $\operatorname{tgt}$ の集合 $y=\left.\{\boldsymbol{y}_{i} \mid i=1,2, \ldots, n\right.\}$ の組から構成される.ここで, 既存の DA は, 図 1 における対訳データ $D$ とは別の疑似データ $\mathscr{D}^{a}$ を生成し，モデルの学習に利用するデータ量を

1) https://github.com/hideyoshikato/JGECM
増やす手法のことである [2].このとき， $D^{a}$ は $\operatorname{tgt}$ の集合 $y^{a}=\left.\{\boldsymbol{y}_{j}^{a} \mid j=1,2, \ldots, m\right.\}$ から， $\operatorname{src}$ の集合 $X^{a}=\left.\{\boldsymbol{x}_{j}^{a} \mid j=1,2, \ldots, m\right.\}$ を Direct Noise[16] などの手法によって生成される。

一方で，BERT-DA-tgtは，図 2 に示すとおり，対訳データ $D ，$ 疑似データ $\mathscr{D}^{a}$ のどちらとも異なる新たな疑似データ $\mathscr{D}^{a^{\prime}}=\left.\{\left(\boldsymbol{x}_{k}^{a^{\prime}}, \boldsymbol{y}_{k}^{a^{\prime}}\right) \mid k=1,2, \ldots, S \times L\right.\}$ を生成する DA であり, 大きく「 $\boldsymbol{y}_{k}^{a^{\prime}}$ の生成 (generate $\boldsymbol{y}_{k}^{a^{\prime}}$ ) 」 と「 $\boldsymbol{x}_{k}^{a^{\prime}}$ の生成 (generate $\boldsymbol{x}_{k}^{a^{\prime}}$ )」という 2 つのアルゴリズムによって疑似データが生成される (Algotithm1). $S$ は ya からサンプリングする文の数を表すパラメータ, Lは, BERTの Masked Language Model(Masked LM) における予測確率の順位を表し，DA を行う際のデータ量を調整するパラメータである. 表 1 に生成した $\mathscr{D}^{a^{\prime}}$ の具体例を示す. また, BERT-DA-tgt は様々な NLP タスクにおいてDA の有効性が示されている BERT の Masked LM を用いているため，以下の 3 つのメリットを得る.

1. BERT は文脈を考慮できるため，生成されたテキストは文法的 / 意味的な整合性を持つ特徴を得ることができる。
2. $L$ の数を分析者が指定することで，学習に利用するデータ量を調整できる。

3. 豊富な語彙, 多様な言い回しにより使用できるドメインや生成元コーパスの量が限られた状況での精度向上が期待できる.

表 1 BERT-DA-tgt の疑似データの具体例

図 1 既存の DA

図 2 BERT-DA-tgt

## 3 JGECM

本節では，複数誤りタイプをもつ日本語文法誤り訂正のための評価用コーパス (JGECM) の構築手順および分析を行う.

## 3.1 構築手順

評価データは以下の 5 つの手順により構築する.

## 手順 1 BCCWJ [17]の 'C-XML/VARIABLE/PN''

に含まれる 'xml' ファイルから sentence タグで囲まれたテキストをクローリング

手順 219 文字以上 50 文字未満の文を抽出

手順 3 「句点を含む文」を抽出

手順 4 ランダムに 500 文抽出

手順 5 指示書に基づき 10 名のアノテータが 1 文に対して8 種類の誤りを付与

手順 1 では，本研究では校正者が文法的な正しさが担保されていると考えられる新聞 (PN) レジスターを評価データとして設定し， sentence タグで囲まれた合計 51,977 文が抽出された. 手順 2 では，機械翻訳では構文の曖昧さから，長い文を翻訳することへの問題点が挙げられている [18]. また，長すぎる文は読点や区切り文字などであらかじめ分割しておくことで，問題に対処することができることから，本研究では，評価データの文字数を 19 文字以上 50 文字未満と設定し，合計 17,446 文が抽出された. 手順 3 では，評価対象を文とするために，句点を含まないタイトルや見出しなどを省くための手順である. その結果，合計 15,236 文が抽出された. 手順 4 では，訂正性能を評価するために一定のデータ数が必要であると判断したため，[4]を参考にラン

ダムに 500 文用意した. 手順 $\mathbf{5}$ では，今回，[13]を参考に削除 (助詞), 挿入 (助詞), 置換 (助詞), 語彙選択，表記，動詞，削除 (助詞 - 動詞以外), 挿入 (助詞・動詞以外) という 8 種類の誤りを付与した.また，誤り箇所を明確にするために，誤りを付与した箇所を"["と"]"で挟むように指示を行った. 実際に用いた指示書および構築された JGECM の具体例については，付録 A，Bに示す。

## 3.2 分析

構築した評価データの欠損値の数については表 2 に示す. データに欠損値が含まれる理由は，誤りを付与する対象となる品詞の中に助詞や動詞が存在しない場合，セルの中身を空になるようにアノテータに指示しているためである. 評価データの文字数の分布は図 3 の通りである.

図 3 評価データの文字数の分布

## 4 実験

実験は，(i) 既存モデル (SMT に基づく手法および NMT に基づく手法) と提案モデル (BERT-DA-tgt を行った GEC モデル) の性能を比較し提案モデルの有効性を示すこと, (ii) 要素 (1) データ生成元, 要素 (2) データ生成量に関する比較実験を行い，提案した DA 手法 (BERT-DA-tgt) がより効果的に作用する知見を見つけ出すこと，の2つを目的として行う. ハイパーパラメータ，最適化，分割単位に関しては [5] の設定を用いる.

## 4.1 実験設定

データセット学習データ, 開発データには Lang8コーパスを利用する．評価データには， NIL，
TEC_JL，第 3 節で構築した JGECM の 3 種類を用いる. DA の生成元コーパスとして, BCCWJ [17] からクローリングした一般書籍 (BCCWJ-PB), 図書書籍 (BCCWJ-LB), Yahoo!知恵袋 (BCCWJ-OC) という 3 種類の異なるドメインのデータを使用する. それぞれのデータの詳細については表 3 に示す.

表 3 各データの概要

モデル既存の Encoder-Decoder モデルである Transformerに, Copy 機構を組むことで提案された TransformerCopy [16] を採用して実験を行う.

比較手法比較手法には統計的機械翻訳 (SMT) ベースの GEC 手法として Moses [14, 19], ニューラル機械翻訳 (NMT) ベースの GEC 手法として CNN [14, 20], Bi-LSTM [21], そして, 最後に疑似データを考慮しない通常の TransfomerCopy $[5,16]$ をべースラインとする。

評価指標 GEC システムの評価には，出力文と $\operatorname{src} と \operatorname{tgt}$ の 3 つを用いて行う参照有り評価手法と $\operatorname{tg}$ を用いない参照無し評価手法が存在する [22]. 本研究では, 英語 Shared Taskにおいて最も用いられている前者の $M^{2}$ scorer [23] と GLEU [24] の結果を示す.

## 4.2 要素 (1): 生成元コーパス

生成元コーパスとして, 出版書籍 (PB), 図書館書籍 (LB)，Yahoo!知恵袋 (OC) を用いた場合のモデルの性能を比較する。ベースラインは，通常の DA および事前学習を行わない TransformerCopy である. また，今回データ量の違いが性能に影響を与えることを防ぐために，それぞれのレジスターからランダムに 300,000 文を取得し，BERT-DA-tgt によりDA したデータ量 $\left|\mathscr{D}^{a} \cup \mathscr{D}^{a^{\prime}}\right|=600,000$ に設定している. $\mathscr{D}^{a} \cup \mathscr{D}^{a^{\prime}}$ は既存手法で用意できる $\mathscr{D}^{a}$ と提案手法で用意した $\mathscr{D}^{a^{\prime}}$ を結合した事前学習に用いるデータである. 各生成データごとのモデル性能比較に関する実験結果を表 4 に示す. 実験の結果，TEC_JL は OC で，NIL，WGECM は PB で事前学習したモデルが最も性能で優れた。つまり, 評価用データと近い性質を持つコーパスで事前学習を行うことで，精度向上が期待できる可能性を示唆している.
表 4 生成元コーパスごとの GLEU による性能比較

## 4.3 要素 (2)：疑似データ生成量

疑似データ生成量の違いによりモデル性能への影響について検証する. 今回， $K=300,000$ として生成元コーパスからサンプリングし， $L=0,1,2,3,4$ の場合を報告している. $L=0$ は DAを行わないモデルを表している．実験結果を表 5 に示す. $F_{0.5}$ ， GLEU は全ての評価データにおいて $L=2$ のときに最も優れていたことが確認できる. これは， $L$ の数を増やすほど予測確率が低いトークンに置換された文が生成されるため， $\operatorname{tg}$ の文構造の崩壊を招きやすくなり性能が下がる可能性が示唆される.

表 5 データ生成量の違いによる性能比較

## 4.4 既存システムとの性能比較

要素 (1),(2) で得られた知見の下，BERT-DA-tgt の生成元コーパスを BCCWJ-PB， $L=2$ とした設定により構築したモデル (Trans+BERT_PB) と比較手法の性能比較を行う. DAを行わない通常の TransofrmerCopy によるモデル (ベースライン), 事前学習とファインチューニングを Lang8 で行うモデル (Trans+BERT_lang8)を比較手法とした結果についても記載する。実験結果を表 6 に示す. Trans+BERT_PB は，すべての評価データにおいて既存システムよりも性能で上回っている．加えて，提案手法を用いた結果，TEC_JL では 1,835 文のうち 541 文，NIL では 6,672 文のうち 1,605 文の訂正が行われた．また，疑似データを考慮したことで多様な語彙や言い回しに対応でき，TransfomerCopy では訂正ができなかった誤りに対しても訂正されている。 また，Bi-LSTM のように誤り種類を特定して訂正を行う手法と比較しても，不適切な助詞の誤りや文字の挿入に対応することができ，誤りの種類を特定せ
ずに訂正が行われていることも確認できた.

表 6 既存システムとの GLEUによる性能比較

図 4 JGECM における誤りタイプごとの評価2)

## 5 おわりに

日本語 GEC 研究が抱える 2 の課題に対して, $\operatorname{tgt}$ の生成も考慮に入れた DA(BERT-DA-tgt) を提案し， 2 つ要素について性能比較を行った. その結果, (1) 生成元コーパスは $\mathrm{PB}$ (出版書籍ドメイン)を用いる. (2) BERT の Masked LM における候補は 2 番目まで増やす. という 2 つ知見を獲得した。これらの設定に基づき，事前学習された TransformerCopy によって GEC モデルを構築し性能比較を行った結果, 複数ドメインの評価データにおいて既存の GEC システムを上回る性能を達成し，BERT-DA-tgt の有効性を示した. 今後の課題として，学習データを逐次的に収集し，モデルを再学習できる GEC システムの構築，入力に用いる分割単位に違いによる性能比較, 開発 (valid) データの違いによる性能比較などが挙げられる.

2) 'hyoki', 'goi', 'insert_joshi', 'doshi', 'insert', 'delete_joshi', 'replace_joshi'，'delete'，はそれぞれ表記，語彙選択，挿入 (助詞), 動詞，插入 (助詞 - 動詞以外), 削除 (助詞), 置換 (助詞),削除 (助詞・動詞以外)を表す.

## 参考文献

[1] Yu Wang, Yuelin Wang, Jie Liu, and Zhuo Liu. A comprehensive survey of grammar error correction. arXiv preprint arXiv:2005.06600, 2020.

[2] Shun Kiyono, Jun Suzuki, Masato Mita, Tomoya Mizumoto, and Kentaro Inui. An empirical study of incorporating pseudo data into grammatical error correction. pp. 1236-1242. Association for Computational Linguistics, November 2019

[3] Jeroen Geertzen, Theodora Alexopoulou, and Anna Korhonen. Automatic linguistic annotation of large scale 12 databases: The ef-cambridge open language database (efcamdat). In Proceedings of the 31st Second Language Research Forum. Somerville, MA: Cascadilla Proceedings Project, pp. 240-254, 2013.

[4] Tomoya Mizumoto, Mamoru Komachi, Masaaki Nagata, and Yuji Matsumoto. Mining revision log of language learning sns for automated japanese error correction of second language learners. In Proceedings of 5th International Joint Conference on Natural Language Processing, pp. 147-155, 2011.

[5] 小川耀一朗, 山本和英. 日本語文法誤り訂正における誤り傾向を考慮した擬似誤り生成. 2020.

[6] 白井稔久, 萩行正嗣, 小町守. 擬似誤りコーパスを用いた天気予報原稿のニューラル誤り検出. 人工知能学会全国大会論文集一般社団法人人工知能学会, pp. 3Rin242-3Rin242. 一般社団法人人工知能学会, 2019.

[7] Christopher Bryant, Mariano Felice, and Ted Briscoe. Automatic annotation and evaluation of error types for grammatical error correction. In Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pp. 793-805, Vancouver, Canada, July 2017. Association for Computational Linguistics.

[8] Hwee Tou Ng, Siew Mei Wu, Ted Briscoe, Christian Hadiwinoto, Raymond Hendy Susanto, and Christopher Bryant. The CoNLL-2014 shared task on grammatical error correction. In Proceedings of the Eighteenth Conference on Computational Natural Language Learning: Shared Task, pp. 1-14, Baltimore, Maryland, June 2014. Association for Computational Linguistics.

[9] Hwee Tou Ng, Siew Mei Wu, Yuanbin Wu, Christian Hadiwinoto, and Joel Tetreault. The CoNLL-2013 shared task on grammatical error correction. In Proceedings of the Seventeenth Conference on Computational Natural Language Learning: Shared Task, pp. 1-12, Sofia, Bulgaria, August 2013. Association for Computational Linguistics.

[10] 清野舜, 鈴木潤, 三田雅人, 水本智也, 乾健太郎. 大規模疑似データを用いた高性能文法誤り訂正モデルの構築. 2020.

[11] 三田雅人, 水本智也, 金子正弘, 永田亮, 乾健太郎. 文法誤り訂正のコーパス横断評価:単一コーパス評価で十分か？2020

[12] Hiromi Oyama, Mamoru Komachi, and Yuji Matsumoto. Towards automatic error type classification of japanese language learners' writings. In Proceedings of the 27th Pacific Asia Conference on Language, Information, and
Computation (PACLIC 27), pp. 163-172, 2013

[13] 大山浩美, 小町守, 松本裕治. 日本語学習者の作文における誤用タイプの階層的アノテーションに基づく機械学習による自動分類. 自然言語処理, Vol. 23, No. 2, pp. 195-225, 2016.

[14] Aomi Koyama, Tomoshige Kiyuna, Kenji Kobayashi, Mio Arai, and Mamoru Komachi. Construction of an evaluation corpus for grammatical error correction for learners of Japanese as a second language. In Proceedings of the 12th Language Resources and Evaluation Conference, pp. 204211, Marseille, France, May 2020. European Language Resources Association.

[15] 小山碧海, 喜友名朝視顕, 小林賢治, 新井美桜, 小町守. 日本語学習者の文法誤り訂正のための評価コー パス構築. 2020.

[16] Wei Zhao, Liang Wang, Kewei Shen, Ruoyu Jia, and Jingming Liu. Improving grammatical error correction via pre-training a copy-augmented architecture with unlabeled data.

[17] Kikuo Maekawa, Makoto Yamazaki, Toshinobu Ogiso, Takehiko Maruyama, Hideki Ogura, Wakako Kashino, Hanae Koiso, Masaya Yamaguchi, Makiro Tanaka, and Yasuharu Den. Balanced corpus of contemporary written japanese. Language resources and evaluation, Vol. 48, No. 2, pp. 345-371, 2014.

[18] Yoon-Hyung Roh, Young-Ae Seo, Ki-Young Lee, and Sung-Kwon Choi. Long sentence partitioning using structure analysis for machine translation. In NLPRS, 2001.

[19] Philipp Koehn, Franz J Och, and Daniel Marcu. Statistical phrase-based translation. Technical report, UNIVERSITY OF SOUTHERN CALIFORNIA MARINA DEL REY INFORMATION SCIENCES INST, 2003.

[20] Shamil Chollampatt and Hwee Tou Ng. A multilayer convolutional encoder-decoder neural network for grammatical error correction. In Proceedings of the Thirty-Second AAAI Conference on Artificial Intelligence, February 2018.

[21]高橋諒, 䒾田和麻, 多田明宽, 石川信行. Bidirectional LSTM を用いた誤字脱字検出システム. 人工知能学会全国大会論文集一般社団法人人工知能学会, pp. 3C4J903-3C4J903. 一般社団法人人工知能学会, 2019.

[22] 浅野広樹, 水本智也, 乾健太郎. 文法性 - 流暢性 ・意味保存性に基づく文法誤り訂正の参照無し評価. 自然言語処理, Vol. 25, No. 5, pp. 555-576, 2018.

[23] Daniel Dahlmeier and Hwee Tou Ng. Better evaluation for grammatical error correction. In Proceedings of the 2012 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, pp. 568-572, Montréal, Canada, June 2012. Association for Computational Linguistics.

[24] Courtney Napoles, Keisuke Sakaguchi, Matt Post, and Joel Tetreault. Ground truth for grammatical error correction metrics. In Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing (Volume 2: Short Papers), pp. 588-593, Beijing, China, July 2015. Association for Computational Linguistics.

## A 評価データ構築におけるアノテータに対する指示書

下記の誤りの種類に対する作業指示に従って誤りを付与してください。

[削除 (助詞)]

B JGECM の具体例および既存システムと提案モデルの出力例の比較

表 8 既存システムと提案モデルの出力例の比較