# 文法誤りにおける一般誤りの分離可能性と解説文生成への応用

永田亮 ${ }^{1}$ 木村学 ${ }^{2}$
1 甲南大学知能情報学部 ${ }^{2}$ GRAS グループ株式会社
nagata-nlp2023 @ ml.hyogo-u.ac.jp.
manabu.kimura@gras-group.co.jp

## 概要

本稿では，ある種の誤り（一般誤りと呼ぶ）とそ の他の誤りでは, 誤り検出器における検出規則の獲得過程が異なり，その性質により一般誤りのみを分離できるという新たな知見を報告する。また，その 知見を利用して一般誤りの詳細なサブタイプを発見 することについても述べる. 更に，発見したサブタ イプを利用して，解説文生成を分類問題として解く ことを提案する．このアプローチには，訓練データ 作成コストと生成結果の信頼性という面で有利な点 があることを示す.

## 1 はじめに

本稿では，一般誤りの分離可能性という仮説を導入し，その仮説を文法誤り解説に応用する手法を提案する. 仮説の概要は，一般誤りとその他の誤りで は，誤り検出器における検出規則の獲得過程が異な り，その性質を利用することで一般誤りのみを分離 できるというものである.ここで，一般誤りとは，特定の内容語に依存しない規則で同定される文法誤 りと定義する（便宜的に，その他の誤りを単語固有誤りと呼ぶ). 例えば, *In this café serves good coffee. は，規則「主語は前置詞を伴わない」で誤りと同定 できるが，この規則はどのような主語や前置詞の 組み合わせにも適用できる。一方，単語固有誤り (例: *They protested on the situation.) では, 特定単語 （この例では protest とon）により誤りと同定される.本稿では，上述の仮説を利用して，前置詞の用法に 関する文法誤りについて，与えられた学習者コーパ スから一般誤りのみを分離できることを示す（\$3）.本仮説は，BERT ベースの誤り検出器の性能に関 する報告 [1] に着想を得ている．同報告では，この 検出器の性能曲線が図 1 の実線のようになること を示している。図 1 から，数百文の訓練データで性能が劇的に改善し, それ以降性能向上は緩やかにな ることがわかる。この理由を，我々は次のように予

図 1 誤り検出性能曲線と仮説的な説明.

想する. BERT ベースの検出器ではごく少量の訓練 データから一般誤りの検出規則が獲得され，一方 で，単語固有誤りについてはより多くの訓練データ が必要となる。一般誤りの同定規則は汎用的である ため，異なる単語からなる複数の訓練事例から獲得可能である。特に，BERT のように文法知識を有す るモデル $[1,2,3]$ では，一般誤りの検出規則の獲得 が容易になる。そのため，一般誤りに関する性能曲線は図 1 の赤い曲線（破線）のような形になる。一方，単語固有誤りについては，特定の単語を含んだ 訓練事例が必要となり，相対的に訓練事例が少な い. また，汎化がより難しい。結果，図10ように 直線的に性能が改善する，結果として観測される性能曲線は，二種類の破線の重ね合わせとなる。

もしこの仮説が完全に成り立つのであれば， BERT ベースの検出器を少量のデータで訓練し, 誤 り検出を行えば一般誤りのみが得られるはずであ る. 本稿では，このアイデアを拡張し一般誤りの事例を得る手法を提案する。また，獲得された一般誤 りにクラスタリングを適用することで，詳細なサ ブタイプを効率よく発見できることも示す（§4）.更に，得られたサブタイプにより解説文生成 [4] を 分類問題として解くことが可能になることも示す （§5）.これは，解説文生成における大きな二つの課題（1）訓練データが大量に必要となる，（2）フェイ ク解説文が生成されてしまう，の解決に繋がる.

## 2 関連研究

本稿の仮説は文献 [1] に着想を得ている. 同文献 は，与えられた文中の各トークンの正誤を推定する
誤り検出を対象にして性能を調査している. 様々な コーパスに対して，エンコーダを BERT，出力層を softmax 層とした誤り検出器が, 図 1 のような性能曲線を示すと報告している．以降の実験では，八 イパーパラメータの設定も含めて同じ検出器を用 いる.

解説文生成 [4] も本研究に関係が深い. 解説文生成とは, 語学学習のための解説文章を生成するタス クである. Hanawa ら [5] は深層学習に基いた手法が 同タスクに有効であることを示している. 同時に，深層学習ベースの生成は, 生成能力が非常に高いた めフェイク解説文を生成してしまうことを指摘して いる.フェイク解説文とは，存在しない規則を説明 する解説文のことである (例 : considerate は自動詞 なので目的語の前に前置詞は必要ありません。1)). フェイク解説文は，誤った知識を獲得させてしまう 可能性があるため極力避けるべきである.

フェイク解説文を避ける有効な手段は, 解説文生成を分類問題として解くという方法である。すなわ ち, 文法誤りを詳細なサブタイプに分類し分類結果 に紐づいた解説文を出力する。この方法であれば，事前に解説文を用意しておけるため，フェイク解説文が出力されることはない，問題は，生成タスクで は分類カテゴリが自明でないということである．た とえ分類カテゴリが与えられたとしても，誤りを詳細なカテゴリに人手で分類して訓練データを作成す ることは容易ではない. 本稿では, 仮説を利用して これらの問題を効率よく解決することを試みる。

## 3 一般誤りの分離可能性

## 3.1 手法

ここでのタスクは，入力として与えられた学習者 コーパスから，一般誤りのみを抽出するというもの である. ただし, 入力コーパス中の誤り位置は与 えられているとする。すなわち，誤り（もしくは訂正）情報が付与されたコーパスから一般誤りのみを 抽出するという問題設定を考える. なお，2 節で述 べたように, 以降では, 誤り検出器として文献 [1] の BERT ベースの検出器を用いる.

基本的な処理の流れは， 1 節の仮説に基づき，(1)入力コーパスを少量データに分割, (2)その少量デー タで誤り検出器を訓練, (3) 訓練済み検出器を残り


のコーパスに適用し，検出された事例を一般誤りと して出力, となる. この単純な方法では, 単語固有誤りが混入してしまう．なぜなら，少量の訓練コー パスでも，学習者やライティングトピックに共通し てみられる単語固有誤りが，ある程度の頻度になり 検出規則が獲得されてしまうからである.

そこで，提案手法では，コーパスの多重分割と トピック交差訓練という二つの工夫を行う，以下，図 2 に基いて提案手法を説明する.

ステップ (1) で，コーパスの多重分割を行う. 具体的には，入力コーパスから $N$ 文を $M$ セット抽出 する．ただし， $N$ は小さな値とし，各セットに重複 はないとする．残りは，一般誤り抽出用として，ス テップ（3）で使用する。

ステップ（2）で，上述 $M$ セットを用いて誤り検出器の訓練を独立に行う.ここでは, 各トークンの 正誤を推定する二値分類問題を解くことに注意が必要である。したがって, 新たに一般／単語固有誤り の情報をアノテーションする必要はない.

最終ステップ（3）で， $M$ 個の訓練済み検出器を 残りのコーパスに適用して誤りを検出する。仮説に 従い，Mのうち大部分 $\left(\theta_{M}\right.$ 個以上の検出器) で検出された誤りを一般誤りとして出力する.

オプションとして, トピック交差訓練を行うこと ができる．ステップ (1) でコーパスの多重分割を行 う際に，訓練用サブコーパスと一般誤り抽出用コー パスでライティングトピックが被らないように分割 する. そうすることで，ライティングトピックに共通する単語固有誤りが検出されることを抑制する。

## 3.2 評価と分析

対象データとして，学習者コーパス ICNALE [6] をべースにした前置詞誤り解説文データセット [7] を用いる. ICNALEでは，アルバイトと喫煙に関す る二種類のトピックが用意されている（以降，それ ぞれ，PTJと SMK と表記する），当該データセット では，各文書に対して，前置詞に関連した誤りの位置と解説文の情報が付与されている. ただし，通常 の前置詞誤りより広い範囲の誤りを対象にしてい る. 例えば，主語として使用された動詞（例：*Lean

図 2 一般誤り抽出の流れ。

English is difficult.), 句と節の混同 (例:*because of I like it）などを含む（詳細は文献 [7] を参照のこと）.

このデータセットの訓練データで訓練を行い,評価データを対象にして抽出を行った（分割は文献 [5] に従う). 付録 A に同データの統計を示す.各種パラメータは次のように設定した: $M=10$ (多重分割の数）; $N=800$ (サブコーパス中の文数）: $\theta_{M}=1, \ldots, 10$ (一般誤りと認める検出数).

図 3 に結果を示す ${ }^{2}$ ). 同図より，高い精度で一般誤りのみを抽出できていることが分かる．特に，卜 ピック交差訓練により recall, precision 共に高まる り, $\theta_{M}=9,10$ では単語固有誤りが混入していない ことが分かる. 全体的に, recall はそれほど高くは ないが，ある程度のサイズの学習者コーパスを入力 とすれば，一定量の一般誤りの事例を精度高く収集 できるともいえる. 次節以降で，このように収集さ れた一般誤りの事例が，詳細な誤りサブタイプの発見と解説文生成に有益であることを示す。

## 4 詳細なサブタイプの発見

前節の結果にクラスタリングを適用することで，一般誤りの詳細なサブタイプを発見することを試み る. ただし，一定量の一般誤りの事例を対象とする ため, 一方のトピックの訓練データで誤り検出器の 訓練を行い，もう一方のトピックの訓練データを抽出対象とする。一度に大量の事例を吟味することは 困難であることを考慮して，少量の事例から始め，段階的に事例の量を増しながらクラスタリングす る. 幸い，パラメータ $N$ と $\theta_{M}$ により，一般誤り抽出量を調整できる. 具体的には， $N=200$ から始め, $\theta_{M}$ を 10 から 1 づつ減らして行き，事例数が 30 を 超えたところで抽出を終了する. 所定の事例数が 得られない場合は, $N=400,800,1600$ と順に増加さ せ，同じ手順で抽出を繰り返す。

このようにして得た一般誤りの事例（候補）に対 して，Ward 法を利用した階層型クラスタリングを 適用し，詳細な誤りタイプの発見を行う. 距離とし て, ベクトル間の $L_{2}$ ノルムを用いる（ノルムが 1 と なるように正規化することで余弦類似度によるクラ スタリングと等価とした)。ベクトルとして誤り検出器内の BERT の出力を用る（誤り区間が複数トー クンに渡る場合，先頭のトークンに対応するべクト ルを用いる)，クラスタの解釈性を考慮して，いず れかのクラスタ内の事例数が 10 を超えたところで

2) 図の左から右へ進むにつれて $\theta_{M}$ が小さくなっている.

図 3 一般誤り分離の性能.

クラスタリングを終了する（クラスタ間距離の最大値が 1.5 を超えた場合も終了する)。このクラスタ リング結果を人手で吟味し, 各事例に詳細なサブタ イプのラベルを付与する。この過程を三回繰り返し 最終的な結果とする。二巡目以降では，それ以前の クラスタリング結果に，新たに抽出した一般誤り事例を加えてクラスタリングを行う。

以上の手順で一般誤りにおける 21 種類のサブタ イプを発見した。紙面の関係から詳細は付録 Cに 譲るが，前置詞を伴った主語，他動詞に前置詞を付 けた誤り，主語として使用された動詞などを発見し た. 事前に一般誤りの抽出を行うことで，似通った 事例がクラスタリング対象となる傾向がみられた (少量データで訓練されたどの検出器でも検出され る誤りであるため)．通常，サブタイプ数が増える につれ，適切なラベルを選択するのが難しくなる が，クラスタリングによりサブタイプごとに事例が まとまっているため作業が容易になる。特に，二巡目以降のクラスタリングでは，それ以前にラベル付 けされた事例が一緒に提示されるため，その効果は 高くなる。比較のために，抽出対象のコーパスから ランダムに誤り事例を 800 選択し，同様にクラスタ リングを適用したが，事例の約 4 割が単語固有誤り となり，ラベル付けがより困難であった（クラスタ 終了条件により実際にクラスタリングされたのは， PTJ で 109，SMK で 104 の事例であった)．実際，付録 C の表 6 に示したクラスタリングの良さを表す各種統計量にもそのことが表れている.

## 5 サブタイプに基づく解説文生成

前節で得られたサブタイプを利用して，解説文生成を分類問題として解くことを考える．入力中の誤 り箇所を特定し，詳細なサブタイプを推定し，その サブタイプに対応した解説文を生成するというタス クを想定する（ただし，後述するように，評価実験 では推定したサブタイプと人手で付けたサブタイプ の一致で性能評価を行う)。したがって，誤りトー クンでなく，誤りを含む文が入力の単位となる．誤 り箇所とサブタイプの推定には, BERT ベースの誤

り検出器を流用する。すなわち, 出力 softmax 層を サブタイプ（に加えて単語固有誤りと正しい語）と する.

実験手順は次の通りである．まず，サブタイプご とに事例の増加を行った. サブタイプの事例と訓練 データ中の事例との余弦類似度を計算し，類似度が 高いものから順に各サブタイプの事例数の合計が最大 40 となるまで追加した. その結果を人手で吟味 し，必要に応じてサブタイプのラベルを変更した. その結果，事例数が 10 以上となったサブタイプを 生成対象とした (PTJとSMKでそれぞれ 9 タイプと 13 タイプが対象となった). 対象となったサブタイ プは付録 Cの表 5 に記されている。なお，この過程 およびクラスタリングの過程で得られた単語個別誤 りも訓練データに含めた.

この結果を訓練事例（うち各サブタイプ 2 割を開発データ）としてサブタイプを推定した. 検出性能向上のため, オリジナル（二值分類）の BERT ベー ス検出器も併用した. オリジナルの検出器を 10 個 の異なるシードを用いて全訓練データで訓練した. その結果を，評価データに適用し，多数決をとり 誤り箇所を決定した. 誤り箇所に，サブタイプ用 の BERT ベース検出器を適用しサブタイプを推定し た. こちらも異なるシードで 10 回訓練し多数決を とった. なお, 単語固有誤り/正しい単語と推定し た場合は解説文を生成しないと取り扱った。また，訓練と評価では異なるトピックのデータを用いた.

表 1 の「分類」行に生成性能を示す3).「対象の み」行は，上述のサブタイプだけを対象にした性能 を示す. 比較用に, 「生成」行に, 文献 [5] で最高性能を達成した深層学習生成手法 (pointer generator) による生成性能も記した。また，表 2 に，PTJを対象にしたサブタイプごとの性能も示す（紙面の関係 から，SMK については付録 B に示す)。なお，評価 データ中に出現しなかったサブタイプは省略した.

表 1 より，生成問題として解いたほうが性能は高 いことがわかる．分類問題として解いた場合，解説対象となるのは一般誤りの限られたサブタイプのみ であることが大きな理由である．ただし，訓練デー タの作成にかかるコストを考慮する必要がある. 本実験では，PTJで 261 事例 (29.0/サブタイプ), SMK で 275 事例（21.2/サブタイプ）にサブタイプのラ ベルを付与しただけである。これに対して，pointer

3）評価データ中の全誤りに対して，人手でサブタイプのラべ ルを付与し，推定されたラベルと一致した場合，生成に成功 したとみなした.表 1 生成性能評価結果.

PTJ

SMK

表 2 サブタイプごとの生成性能（PTJ）.

generator の訓練には約 10 倍の訓練データを用いて いる.しかも，単なるラベル付けではなく，解説文 の記述が訓練データ作成に必要となる。加えて，分類問題の場合，フェイク解説文が生成されないこと が保証されており生成結果の信頼性も高い. 出力さ れるのは表 2 に示されるようなサブタイプに紐づい た解説文だけである。一方で，生成問題として解い た場合，何が出力されるかを事前に把握することは 困難であり，実用上の大きな課題となる．実際，人手で分析したところ, pointer generator の生成結果の うち，PTJで $8.3 \%$ ，SMKで $6.6 \%$ がフェイク解説文 に該当した．以上の通り，分類問題として解く本稿 のアプローチは，訓練データ作成コストと生成結果 の信頼性という面で大きな利点がある.

## 6 おわりに

本稿では，一般誤りの分離可能性という仮説を導入し，その仮説を解説文生成に応用することについ て述べた、コーパス中の一部の事例ではあるが，一般／単語固有誤りの識別を直接訓練せずとも高精度で一般誤りのみを分離できることを示した。ま た，その結果を用いて一般誤りの詳細なサブタイプ を発見した. 更に，その結果を利用すると，解説文生成が分類問題として解けることも示した. 生成性能は生成問題として解いた場合に劣るものの，分類問題として解くことで，訓練データ作成コストと生成結果の信頼性という面で有利な点があることを示 した. 今後は，前置詞誤り以外でも仮説が成り立つ かを調査する予定である.

## 謝辞

本研究は JSPS 科研費 JP22K12326 の助成を受けた

ものです.

## 参考文献

[1] Ryo Nagata, Manabu Kimura, and Kazuaki Hanawa. Exploring the capacity of a large-scale masked language model to recognize grammatical errors. In Findings of the Association for Computational Linguistics: ACL 2022, pp. 4107-4118, Dublin, Ireland, May 2022. Association for Computational Linguistics.

[2] Jason Wei, Dan Garrette, Tal Linzen, and Ellie Pavlick. Frequency effects on syntactic rule learning in transformers. In Proceedings of the $\mathbf{2 0 2 1}$ Conference on Empirical Methods in Natural Language Processing, pp. 932948, Online and Punta Cana, Dominican Republic, November 2021. Association for Computational Linguistics.

[3] Ganesh Jawahar, Benoît Sagot, and Djamé Seddah. What does BERT learn about the structure of language? In Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, pp. 3651-3657, Florence, Italy, July 2019. Association for Computational Linguistics.

[4] Ryo Nagata. Toward a task of feedback comment generation for writing learning. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pp. 3206-3215, Hong Kong, China, November 2019. Association for Computational Linguistics.

[5] Kazuaki Hanawa, Ryo Nagata, and Kentaro Inui. Exploring methods for generating feedback comments for writing learning. In Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing, pp. 9719-9730, Online and Punta Cana, Dominican Republic, November 2021. Association for Computational Linguistics.

[6] Shinichiro Ishikawa. A new horizon in learner corpus studies: The aim of the ICNALE project, pp. 3-11. University of Strathclyde Publishing, Glasgow, 2011.

[7] Ryo Nagata, Kentaro Inui, and Shin'ichiro Ishikawa. Creating corpora for research in feedback comment generation. In Proceedings of the Twelfth Language Resources and Evaluation Conference, pp. 340-345, Marseille, France, May 2020. European Language Resources Association.

## 付録

## A 実験に用いたデータの統計量

表 3亿，実験に用いたデータ [7] の統計量を示す。評価行のカッコ内の数は一般誤りの数を表す。一般誤りと単語固有誤りの判断は，付与された解説文の内容を参照し 人手で行った。なお，データの分割は文献 [5] に従う。

表 3 対象データの統計値.

## B 誤りタイプごとの生成性能

表 4 亿SMK におけるサブタイプごとの生成性能を示 す. 評価データに出現しなかったサブタイプは省略した.

表 4 サブタイプごとの生成性能（SMK）.

## C サブタイプ発見の詳細

4 節で発見された一般誤りの詳細なサブタイプを表 5 に 示す. 全部で 21 種類のサブタイプが確認されたが，紙面 の関係で解説文生成の対象となったサブタイプのみを掲載した。

表 6 亿，サブタイプ発見時に利用したクラスタリング に関する統計量を示す. 各種統計値は, PTJ, SMKでそれ ぞれ三回クラスタリング（計六回）したときの平均值で ある。また，「ランダム」とは，抽出対象のデータから誤 り 800 個をランダムに選択し，クラスタリングした結果 に対応する（ただし，クラスタに課された諸条件により実際にクラスタリングされたのは平均で 106.5 事例である). クラスタ併合率とは，二つ以上のクラスタに同一のラべ ルが付与されたためにクラスタの併合が起こった割合で ある。具体的には，クラスタ内の事例数に対する併合が 起こったクラスタ内の事例数の割合である。同様に，ク ラスタの分割回数に対して分割率も計算した。

表 6 より，提案手法と「ランダム」では一般誤りの割合 が大きく異なることがわかる。その影響で，「ランダム」表 5 獲得された一般誤りの詳細なサブタイプ.

 \\

では単語固有誤りを人手で除去するという作業が多くな る（また，単語固有誤りはクラスタリングでうまくグルー ピングされにくい傾向がみられた)，更に，クラスタの併合率の値により，提案手法のほうが同じサブタイプの事例が二つ以上のクラスタに入ることが少ないことがわか る.これは，一般誤りの抽出の効果により，似通った事例がクラスタリング対象となるからである（すなわち少量データで訓練されたどの検出器でも検出される誤りで あるため).

表 6 クラスタリング結果に関する各種統計量


 永田亮 ${ }^{1}$ 木村学 ${ }^{2}$ 1 甲南大学知能情報学部 ${ }^{2}$ GRAS グループ株式会社 nagata-nlp2023 @ ml.hyogo-u.ac.jp. manabu.kimura@gras-group.co.jp  