# BERT による系列ラベリングを用いた文法誤り検出

岡本昇也 ${ }^{1}$ 南條浩輝 ${ }^{2}$ 馬青 1
1 龍谷大学理工学研究科 2 滋賀大学データサイエンス学部
${ }^{1}$ t22m002@mail.ryukoku.ac.jp
${ }^{2}$ hiroaki-nanjo@biwako.shiga-u.ac.jp
${ }^{1}$ qma@math.ryukoku.ac.jp

## 概要

本研究では，文法誤り検出システムを実装し，先行研究と比較した. 先行研究では文法誤り検出を系列ラベリングタスクとし，BiLSTMを用いた。我々 は，BERT を用いて同じく系列ラベリングタスクと して解き，文法誤り検出システムを実装した. 実験 の結果，BERTを用いての文法誤り検出システムは，適合率，再現率， $\mathrm{F}(0.5)$ 值のすべてにおいて，先行研究の BiLSTM 上り高かった. また, 文字レベルの モデル Flairを用いた実験も行い，適合率がさらに 高くなったという結果が得られた。

## 1 はじめに

近年, 言語学習者向けの作文支援システムは多く 開発されている。その中には学習者の作文の文法誤 りを自動で訂正するシステムや，学習者の作文を自動評価し点数をつけるシステムなどがある. このよ うな作文支援システムにより, 学習者及び教育者の 負担を軽減することができる [1].

本研究では，作文支援システムのための文法誤 り検出 (Grammatical Error Detection: GED) に取り組 む。これは，文法誤りを含む文を入力すると文法の 誤っている位置をユーザに提示するシステムであ る. 言語学習者が作文を書く際に，指導者なしで文法誤り位置を確認することを可能とする技術であ り，作文支援システムの基本となる重要な技術で ある。文法誤り訂正 (Grammatical Error Correction) は，文法誤り検出（GED）の結果に基づき，誤りを 正しい表現に自動訂正するものであり，GEDはこの 前段階の技術としても重要である.

文法誤り検出 (GED) に関しては, 近年では深層学習を用いた研究が精度を上げ英語では BiLSTM を 用いることで最高精度の誤り検出を行っている [2].英語では深層学習を用いた文法誤り検出の研究が 多くなされている。これに対して，日本語では深層学習を用いての文法誤り検出の研究は先行研究 [1] などが行われているものの，十分であるとは言えな い.このような背景に基づき，我々は日本語を対象 とした深層学習に基づく文法誤り検出を研究し, そ の効果を確認する。

文法誤り検出を深層学習を用いて行うためには 大規模のデータセットが必要となる．そこで，本研究では，大規模なデータセットである Lang-8 コー パス [3] を利用する. Lang-8 コーパスは，語学学習 のための SNS Lang-8 の添削ログからクローリング して作られた，誤りを含む文とその訂正文からなる データである．約 200 万文対からなり，文法誤り訂正用のデータとしては規模の大きいものである.

本研究では，文法誤り検出を系列ラベリングタス クとして解くことを目指す. 系列ラベリングとは，系列の各要素もしくは部分系列に対してタグ付け を行う手法である。代表例として，品詞タグ付けや チャンキングなどがある。文法誤り検出は，作文を 単語系列として扱い，各単語に正解または誤りの ラベルを付与する系列ラベリング問題として表現 できる. 先行研究 [1] では BiLSTMを用いて, 文法誤り検出を系列ラベリング問題として解いている. BiLSTM では，前後の文脈情報を考慮して正誤ラべ ルの判定を行えるが，遠く離れたデータの影響を扱 うのが難しい問題が残る．日本語における文法誤り 検出には，「全然〜ない」などの遠く離れた関係や，基本的に文末に置かれる用言と文中の格助詞の関係 を考慮する必要がある．BiLSTM よりも，系列中の 各単語同士の直接的に影響を考慮できる attention 機構をもつモデルのほうが望ましいと考える。そこで 本研究では BERTを用いる.

図 1 BERT の系列ラベリングの構造（文献 [6] の図 4 の (d) を引用)

## 2 系列ラベリング

## 2.1 BERT による系列ラベリング

BERT (Bidirectional Encoder Representation from Transformer）は, attention 機構のみで構成される Encoder-Decoder モデルである Transfomer[4] の Encoder の部分を用いたモデルである.

BERT を用いた系列ラベリングは，BERT の出力 に線形変換を適用したものとして実装される [5].学習の際は，文を符号化したものを BERT に入力 し，損失を計算する．損失関数はクロスエントロ ピーを用いた. BERTでの一般的な系列ラベリング の様子を図 1 に示す.

## 2.2 系列ラベリングによる文法誤り検出

文法誤り検出は，各単語に正解または誤りラベル を付与するタスクに該当すると考えられる。 そのた め，本研究では，文法誤り検出を系列ラベリングタ スクとして扱う。図 1 では，系列ラベリングの BIO 法で行っているが（B-PER は BIO の B に対応して いる), 本研究では, BIO 法でなくIO 法で行った. BERT の系列ラベリングを用いた文法誤り検出の様子を図 2 に示す. 出力ラベルの I と C は IO 法の I と $\mathrm{O}$ に対応している.

このような，モデルを用いて学習するために各単語に正解または誤りのラベルが付与されている必要 がある.

図 2 BERT での文法誤り検出

図 3 Lang-8 データの一例

## 3 データセットの作成

データセットの作成に Lang-8 コーパス [7]を使用 した.

## 3.1 Lang-8

Lang-8コーパスは学習者の作文であるエッセイと その添削結果からなるコーパスである，各エッセイ には，エッセイ ID，ユーザーID，学習言語タグ，母語タグが付与されている。すべての学習者の文には 1 以上の添削文が付与されている. 本研究では, Lang-8コーパスに含まれる, 日本語学習者が書いた 添削前の文である誤用例と日本語母語話者が添削し た文である正用例のペア 72.2 万文対を用いる. そ の例を図 3 に示す.

## 3.2 データセットへの単語の正誤ラベル 付与

Lang-8 コーパスは，学習者の作文（誤用例）とそ れを訂正した作文（正用例）のペアからなるコーパ スである。誤用例文のどの単語が誤り単語であるか は正用例文を見ることで確認できるが，元の誤用例文の各単語に直接的に誤りラベルが付与されている わけではない. したがって，系列ラベリング問題に 使うためには，誤用例文の各単語に正誤ラベルを付与しておく必要がある.

そこで，アライメントツール [8]を使用して，各単語にラベル付けを行った。具体的には 72.2 万文対の日本語誤用例文と正用例文の対にそれぞれに対 して，アライメントツールを用いて単語アライメン

図 4 Lang-8コーパスのラベル付けの様子 (別の語に置換 される場合)

図 5 Lang-8コーパスのラベル付けの様子 (余計な語があ 了場合)

トをとり，一致しているところを C (正解)，一致し ないところをI（誤り）とした. ラベル付けの様子 を図 4 , 図 5 に示す. 図 4 は，単語アライメントを とった際に対応する単語が誤っている場合のラベル 付けの例である. 図 5 は，単語アライメントをとっ た際に誤用例の方の単語に対応する単語がない場合 のラベル付けの例である. 本研究では，単語アライ メントをとった際に正用例の方に対応する単語がな い場合は扱っていない. このラベル付けされた誤用例データをデータセットとして実験で使用する．本論文では，このデータセットを誤用タグ付きデータ セットとよぶことにする.

## 4 実験

## 4.1 実験データ

文法誤り検出の実験には，誤用タグ付きデータ セットを使用する. 72.2 万の誤用タグ付きデータ セットを表 1 に示す通り, 学習データ，検証データ，評価データに分割した。

## 4.2 評価方法

各単語に対して正誤ラベルを推定し，誤ラベルの 一致度でその性能を評価する。評価尺度には，全て の誤ラベルのうち，どの程度を正しく検出できたか を表す再現率（Recall）と，誤ラベルと検出した中で 正しく誤ラベルであった適合率（Precision）を用い る. 再現率と適合率は通常トレードオフの関係にあ るので，この両者の調和平均である $\mathrm{F}$ 值を用いる. $\mathrm{F}$ 值は式（1）で与えられる。ここで， $\beta(\geq 0)$ は適合率と再現率のどちらかをどの程度重要視するかのパ ラメータであり， $\beta=1$ のときは両者を等しく扱い， $0 \leq \beta<1$ のときは適合率を重視し， $1<\beta$ のときは 再現率を重視する.

$
F(\beta)=\frac{\left(\beta^{2}+1.0\right) \times \text { Precision } \times \text { Recall }}{\beta^{2} \times \text { Precision }+ \text { Recall }}
$

外国語学習のために誤り箇所を指摘する（フィード バックする）ことを考えたとき，文法誤りでないも のを誤りとフィードバックすることは望ましくな く，正確なフィードバックの方がカバレッジの高い 誤り検出よりも学習効果があるとされている [9]. つまり，多くの文法誤りをきちんと誤りとフィード バックする（再現率が高い）ことよりも，与えた誤 りであるというフィードバックが正しい（適合率が 高い）ことが学習にとって望ましい。そこで本研究 では，適合率を重視する $\mathrm{F}(0.5)$ で評価した。

## 4.3 実験条件

本研究で使用した BERT は，東北大学が公開して いる日本語事前学習済みのモデルを用いた．BERT のハイパーパラメータは，最適化アルゴリズムを AdamW（学習率が 0.00001）に，バッチサイズを 32 文にして，検証データを用いて最もロスの少ないエ ポック数を決定した。

比較のために，先行研究の BiLSTMを用いたシス テムを実装したものと，系列ラベリングタスクにお いてよい性能を示している Flair[10][11]を用いた実験を行った.

Flair では，文字エンベディングに基づく単語エ ンベディングのみを用いるモデルと，それに BERT エンベディングを加えた単語エンベディングを 用いるモデルを用いた。このようにして得られ た単語エンベディング系列をBiLSTM_CRF で系列 ラベリングする．前者を Flair+BiLSTM_CRF，後者 を Flair_BERT+BiLSTM_CRF と表記することとする。 それぞれのモデル構造は図 6 と図 7 に示す. 最適化 アルゴリズムには SGDを使用した。ただし，学習率を 0.1 とし， 5 エポック連続で学習損失が減少し ない場合に学習率を半分にするアニーリングを行う [11]. バッチサイズは 32 とした.

## 4.4 実験結果

各モデルにおける文法誤り検出の評価結果を 表 2 に示す。適合率 (Precision) と再現率 (Recall), $\mathrm{F}(0.5)$ 全てにおいて BiLSTM に比べて BERT の方が
表 2 日本語文法誤り検出の評価

図 6 Flair のモデルの構造

図 7 Flair_BERT のモデルの構造 [10][12]

上回っている. 重視している適合率に注目すると Flair+BiLSTM_CRFが最も高い 0.773 となった. ただ し, 再現率は 0.107 と低く, 比較的正確なフィード バックは行えるものの多くの文法誤りを見逃してい る結果となった。一方，BERTを用いたモデルは適合率が Flair モデルに比べるとやや低いものの 0.639 であり, 再現率が 0.226 と Flair のモデルに比べて 高かった. 総合的な指標 $\mathrm{F}(0.5)$ では BERT が最も高 かった. また，単語エンベディングに文字エンベ ディングと単語エンベディングを用いた Flair モデル （Flair_BERT+BiLSTM_CRF）については，文字エンベ ディングのみの Flair（Flair+BiLSTM_CRF）と BERT の中間的な結果となっており, Flair+BiLSTM_CRF の適合率と BERT の再現率のよさをそれぞれ活かせ るハイブリッド型的なモデルになっている. 文字レ ベルのモデルを用いると，正確なフィードバックが 期待でき，BERTなどの単語レベルのモデルを用い ると文字レベル程の正確なフィードバックは期待で
きないが文字レベルのモデルに比べてカバレッジの 高い文法誤り検出になると考える。

## 5 終わりに

本研究では BERT を用いて文法誤り検出システム を実装し，先行研究との比較を行った. 実験の結果，BERT を用いての文法誤り検出システムは，適合率，再現率， $\mathrm{F}(0.5)$ 値のすべてにおいて，先行研究の BiLSTM より高かった. また，文字レベルのモ デル Flairを導入することにより，適合率がさらに 向上し，言語学習者へのより正確なフィードバック が期待できることがわかった. 今後は Flair の高い 適合率と BERT の高い再現率を生かしたハイブリッ ドモデルを実装し，文法誤り検出の性能向上を図り たい.

## 謝辞

Lang-8 のデータ使用に際して，快諾くださった株式会社 Lang-8 社長喜 洋洋氏に感謝申し上げます。 なお，本研究は JSPS 科研費 $19 \mathrm{~K} 12241$ の助成を受け たものです.

## 参考文献

[1] 新井美桜, 金子正弘, 小町守. 日本語学習者向けの文法誤り検出機能付き作文用例検索システム. 人工知能学会論文誌, Vol. 35, No. 5, pp. A-K23_1-9, 2020.

[2] M. Rei and H. Yannakoudakis. Compositional sequence labeling models for error detection in learner writing. In Proceedings of ACL, pp. 1181-1191, 2016.

[3] T. Mizumoto, T. Tajiri, T. Fujino, S. Kasahara, M. Komachi, M. Nagata, and Y. Matsumoto. Naist lang-8 learner corpora, 2012. https://sites.google.com/ site/naistlang8corpora/home.

[4] A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N. Gomez, L. Kaiser, I. Polosukhin. Attention is all you need. In Neural Information Processing Systems, 2017.

[5] 近江崇宏, 金田健太郎, 森長誠, 江間見亜利. BERT に よる自然言語処理入門 - Transfomers を使った実践 プログラミングー. オーム社, 2021.

[6] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: pre-training of deep bidirectional transformers for language understanding. arXiv, 2018.
http://arxiv.org/abs/1810.04805.

[7] M. Tomoya, M. Komachi, and M. Nagata. Mining revision $\log$ of language learning sns for automated japanese error correction of second language learners. In Proceedings of the 5th International Joint Conference on Natural Language Processing, pp. 147-155, 2011.

[8] Z. Dou and G. Neubig. Word alignment by fine-tuning embeddings on parallel corpora. In Conference of the European Chapter of the Association for Computational Linguistics (EACL), 2021.

[9] R. Nagata and K. Nakatani. Evaluating performance of grammatical error de tection to maximize learning effect. In Proceedings of COLING, pp. 894-900, 2010.

[10] A. Akbik, T. Bergmann, D. Blythe, K. Rasul, S. Schweter, and R. Vollgraf. FLAIR: An easy-to-use framework for state-of-the-art NLP. In NAACL 2019, 2019 Annual Conference of the North American Chapter of the Association for Computational Linguistics (Demonstrations), pp. 54-59, 2019.

[11] A. Akbik, D. Blythe, and R. Vollgraf. Contextual string embeddings for sequence labeling. In COLING 2018, 27th International Conference on Computational Linguistics, pp. 1638-1649, 2018.

[12] G. Lample, M. Ballesteros, S. Subramanian, K. Kawakami, and C. Dyer. Neural architectures for named entity recognition. In Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, pp. 260--270, 2016.
 岡本昇也 ${ }^{1}$ 南條浩輝 ${ }^{2}$ 馬青 1 1 龍谷大学理工学研究科 2 滋賀大学データサイエンス学部 ${ }^{1}$ t22m002@mail.ryukoku.ac.jp ${ }^{2}$ hiroaki-nanjo@biwako.shiga-u.ac.jp ${ }^{1}$ qma@math.ryukoku.ac.jp  