# Retrieval, Masking, and Generation : マスクされた解説文を活用した文法誤り解説文生成

庵愛佐藤宏田中智大増村亮
日本電信電話株式会社 NTTコンピュータ\&データサイエンス研究所
mana.ihori.kx@hco.ntt.co.jp

## 概要

本稿では，文法誤り解説文生成タスクのための新 たな手法を提案する，本タスクは，文法誤りを含む 入力文と修正位置が与えられると, 修正位置がなぜ 誤っているかを解説する文章を生成するため，言語学習者にとって有益なタスクである。従来，本タス クにはデータプールから検索した解説文を入力文 に応じて編集する手法が有効だと考えられたが，過剩な編集が起こるために性能が低いという課題が あった.そこで本稿では，過剰な編集を防ぐため に，検索した解説文の編集すべきトークンをマスク し，そのトークンを予測する retrieval, masking, and generation を提案する. 文法誤り解説文生成タスク を用いた評価実験により，自動評価と人手評価で従来手法よりも高い性能を達成することを示す.

## 1 はじめに

文法誤り解説文生成は，文法誤り訂正タスク [1-4] のように誤りを直接修正するのではなく，入力文の 修正位置がなぜ誤っているかを解説するタスクで ある [5]. 具体的には，文法誤りを含む入力文（例 えば, “He agrees the opinion.”) と文字単位の範囲と して与えられる修正位置（3:13）が与えられた場合 に，修正位置に対する解説文 ("The verb agree is an intransitive verb and cannot take direct objects. Add the appropriate preposition.”)を生成する。本タスクは自身の文法誤りの原因を知ることができるため，言語学習者にとってより有益なタスクだと考えられる.

従来，本タスクに対して retrieval [5], simple generation [6], retrieve-and-edit [7] の 3 つの手法が提案され ている。まず，retrieval はデータプールから入力文 に対して適切な解説文を検索する手法である。この 手法では，モデル化は比較的容易に行えるが，検索 された解説文の編集ができないという課題がある.次に, simple generation は入力文から直接解説文を 生成する手法である. そのため，入力文に応じて柔軟な解説文の生成が期待できるが，スクラッチで解説文を生成する必要があるため, retrieval よりもモ デル化が難しい。最後に，retrieve-and-edit は，これ ら手法の利点を組み合わせた手法である。具体的 には，retrieval によって検索された解説文を simple generation の入力に用いることで，入力文に応じて 検索された解説文を書き換える手法であり, simple generation よりも高い性能を達成することが期待さ れている。しかし, retrieve-and-edit は検索された解説文のうち，編集する必要のないトークンを過剩に 書き換えてしまうため，従来手法の中で最も性能が 低いことが報告されている [8].

本稿では, retrieve-and-edit の課題を解決するた めに，この手法を拡張した retrieval, masking, and generation を提案する. 提案手法は，検索，マスク，生成の 3 つのモジュールから構成され, retrieve-andedit にマスクモジュールを導入したものである. マ スクモジュールは，検索された解説文のうち，正解 の解説文に含まれないトークンをマスクするよう に，各トークンに対してマスクトークンに置換する か，しないかの二值分類を行う．ここで作成される マスクされた解説文を生成モジュールの入力に用い ることで，マスクトークンを予測するように新たな 解説文を生成できるため，検索された解説文の過剩 な書き換えを防ぐことを期待している。ここで，提案手法は各モジュールの出力をカスケード接続する ため，直前のモジュールの性能が後続のモジュール の性能に影響する。この影響を軽減するため，推論時に検索モジュールの上位 1 個のみではなく,$k$ 個 の結果を用いる multi-decoding を提案する. 文法誤 り解説文生成タスクを用いた評価実験により，自動評価で提案手法が従来手法よりも高い性能を達成す ることを示す。また，提案手法を用いてシェアード

タスクである Generation Challenge 20221) に参加した ため，その結果についても報告する。

## 2 提案手法

図 1 に検索，マスク，生成モジュールから構成 される提案手法の概要を示す. 本稿では，解説文生成タスクの入力文を $\boldsymbol{X}=\left.\{x_{1}, \cdots, x_{M}\right.\}$ ，解説文を $\boldsymbol{Y}=\left.\{y_{1}, \cdots, y_{N}\right.\}$ と定義する. このとき, $x_{m}$ と $y_{n}$ は 入力, 解説文に含まれるトークンを， $M$ と $N$ はそれ ぞれのトークン数を表す。また，修正位置を位置ラ ベル $\boldsymbol{P}=\left.\{p_{1}, \cdots, p_{M}\right.\}$ (このとき, $\left.p_{m} \in\{0,1\}\right)$ に変換する. 例えば，入力文が $\{\mathrm{He}$, agrees, the, opinion, $.$\} , 修正位置が 3:13 の場合, \boldsymbol{P}=\{0,1,1,0,0\}$ となる.

## 2.1 検索モジュール

本モジュールでは, $\boldsymbol{X}$ と $\boldsymbol{P}$, 解説文の集合から選択された $\boldsymbol{Y}$ をれぞれべクトルに変換し，ベクトル 間の最も高いコサイン類似度を示す $\boldsymbol{Y}$ を出力する。 コサイン類似度 $s$ は, 式 (1)によって導出される。

$
s=\text { retreival }\left(\boldsymbol{X}, \boldsymbol{P}, \boldsymbol{Y} ; \boldsymbol{\Theta}_{\text {ret }}\right)
$

ここで, retreival() は検索モジュールの関数, $\boldsymbol{\Theta}_{\text {ret }}$ は学習可能なパラメータを表す。

retreival() で行われる処理を以下に示す.ま ず，式 (2-3) に従って， $\boldsymbol{X}$ と $\boldsymbol{Y}$ を隠れ表現 $\boldsymbol{Q}=$ $\left.\{\boldsymbol{q}_{1}, \cdots, \boldsymbol{q}_{M}\right.\}$ と $\boldsymbol{R}=\left.\{\boldsymbol{r}_{1}, \cdots, \boldsymbol{r}_{N}\right.\}$ に変換する.

$
\begin{aligned}
& \boldsymbol{Q}=\text { TransformerEncoder }\left(\boldsymbol{X} ; \boldsymbol{\Theta}_{\text {ret }}\right) \\
& \boldsymbol{R}=\text { TransformerEncoder }\left(\boldsymbol{Y} ; \boldsymbol{\Theta}_{\text {ret }}\right)
\end{aligned}
$

ここで, TransformerEncoder()は [9] と同様の構造で ある Transformer ベースのエンコーダを表す. 本稿 では，このエンコーダに事前学習済みの BERT [10] を用いる。次に，式 (4) に従って， $\boldsymbol{Q}$ と $\boldsymbol{P}$ 用いて 入力文を単一のべクトルに変換する.

$
\boldsymbol{u}=\sum_{m=1}^{M} \boldsymbol{q}_{\boldsymbol{m}} \cdot p_{m}
$

また，データプールから選択された解説文は，文頭 の [CLS]トークンの隠れ表現 $\left(\boldsymbol{r}_{1}\right)$ を用いることで，単一のベクトルに変換する. 最後に， $\boldsymbol{u}$ と $\boldsymbol{r}_{1}$ のコサ イン類似度を式 (5) から導出する。

$
\text { retreival }\left(\boldsymbol{X}, \boldsymbol{P}, \boldsymbol{Y} ; \boldsymbol{\Theta}_{\text {ret }}\right)=\frac{\boldsymbol{u} \cdot \boldsymbol{r}_{1}}{\|\boldsymbol{u}\|\left.\|\boldsymbol{r}_{1}\right.\|}
$

学習: 本モジュールは, $\mathscr{D}_{\text {ret }}=\left.\{\left(\boldsymbol{X}^{1}, \boldsymbol{P}^{1}, \boldsymbol{Y}\right.\right.$, $\left.\left.\delta^{1}\right), \cdots,\left(\boldsymbol{X}^{C}, \boldsymbol{P}^{C}, \boldsymbol{Y}, \delta^{C}\right)\right.\}$ を用いて学習される.


ここで, $C$ は入力文と位置ラベルの総数を, $\mathcal{Y}=\left.\{\boldsymbol{Y}^{1}, \cdots, \boldsymbol{Y}^{D}\right.\}$ は総数 $D$ の解説文の集合を表す. また, $\delta^{c}=\left.\{s^{c, 1}, \cdots, s^{c, D}\right.\}$ は $\boldsymbol{X}^{c}$ に対する正解の解説文 $\boldsymbol{Y}^{c}$ と， $y$ から選択した $\boldsymbol{Y}^{d}$ の Levenshtein 類似度 [11]の集合を表す.このモジュールは, $\boldsymbol{X}^{c}$ と $\boldsymbol{P}^{c}$, $\boldsymbol{Y}^{d}$ から作成されるべクトル間の類似度が $s^{c, d}$ に近 づくように式 (6)より学習される.

$
\begin{aligned}
\mathscr{L}_{\text {ret }}= & \frac{1}{C \cdot D} \sum_{c=1}^{C} \sum_{d=1}^{D} \\
& \left(s^{c, d}-\operatorname{retreival}\left(\boldsymbol{X}^{c}, \boldsymbol{P}^{c}, \boldsymbol{Y}^{d} ; \boldsymbol{\Theta}_{\text {ret }}\right)\right)^{2}
\end{aligned}
$

検索： 式 (7) に従って，y から最大のコサイン 類似度を示す $\tilde{\boldsymbol{Y}}$ を抽出する。

$
\tilde{\boldsymbol{Y}}=\underset{\boldsymbol{Y} \in \mathcal{Y}}{\arg \max } \operatorname{retreieval}\left(\boldsymbol{X}, \boldsymbol{P}, \boldsymbol{Y} ; \boldsymbol{\Theta}_{\text {ret }}\right)
$

## 2.2 マスクモジュール

本モジュールでは， $\boldsymbol{X}$ と $\boldsymbol{P}, \tilde{\boldsymbol{Y}}$ が与えられた場合 に， $\tilde{\boldsymbol{Y}}$ の各トークンに対してマスクするか，しない かの二值分類を行う. 具体的には，マスクラベル $\boldsymbol{L}=\left.\{l_{1}, \cdots, l_{N}\right.\}$ （このとき， $l_{n} \in\{0,1\} ）$ を式 (8)に 従って出力する.

$
P\left(\boldsymbol{L} \mid \boldsymbol{X}, \boldsymbol{P}, \tilde{\boldsymbol{Y}} ; \boldsymbol{\Theta}_{\text {mask }}\right)=\prod_{n=1}^{N} P\left(l_{n} \mid \boldsymbol{X}, \boldsymbol{P}, \tilde{\boldsymbol{Y}} ; \boldsymbol{\Theta}_{\text {mask }}\right)
$

ここで， $\boldsymbol{\Theta}_{\text {mask }}$ は学習可能なパラメータを表す。

本モジュールは検索モジュールと同様のモ デルアーキテクチャで用いることが可能であ る. そのため，式 (2-4)より，Xと $\boldsymbol{P}$ を $\boldsymbol{u} ， \tilde{\boldsymbol{Y}}$ を $\boldsymbol{R}=\left.\{\boldsymbol{r}_{1}, \cdots, \boldsymbol{r}_{N}\right.\}$ に変換する. 次に， $\tilde{\boldsymbol{Y}}$ の各トーク ンに対する二値分類を式 (9-10) によって算出する.

$
\begin{gathered}
P\left(l_{n} \mid \boldsymbol{X}, \boldsymbol{P}, \tilde{\boldsymbol{Y}} ; \boldsymbol{\Theta}_{\text {mask }}\right)=\operatorname{softmax}\left(\boldsymbol{v}_{n} ; \boldsymbol{\Theta}_{\text {mask }}\right) \\
\boldsymbol{v}_{n}=\left[\boldsymbol{u}^{\mathrm{T}}, \boldsymbol{r}_{n}^{\mathrm{T}}\right]^{\mathrm{T}}
\end{gathered}
$

ここで，softmax() は活性化関数 softmax を用いた線形変換を表す.

学習: 本モジュールは, $\mathscr{D}_{\text {mask }}=\left.\{\left(\boldsymbol{X}^{1}, \boldsymbol{P}^{1}, \boldsymbol{Y}\right.\right.$, $\left.\left.\mathscr{L}^{1}\right), \ldots,\left(\boldsymbol{X}^{C}, \boldsymbol{P}^{C}, \mathscr{Y}, \mathscr{L}^{C}\right)\right.\}$ を用いて学習される.こ こで, $\mathscr{L}^{c}=\left.\{\boldsymbol{L}^{c, 1}, \cdots, \boldsymbol{L}^{c, D}\right.\}$ は, $\mathscr{y}$ から選択した $\boldsymbol{Y}^{d}$ のトークンのうち， $\boldsymbol{Y}^{c}$ に含まれないトークンを 1 ， それ以外を 0 としたラベル集合を表す. 本モジュー ルは，式 (11)に示すクロスエントロピー損失を用い て学習される。

$
\mathscr{L}_{\text {mask }}=-\sum_{c=1}^{C} \sum_{d=1}^{D} \log P\left(\boldsymbol{L}^{c, d} \mid \boldsymbol{X}^{c}, \boldsymbol{P}^{c}, \boldsymbol{Y}^{d} ; \boldsymbol{\Theta}_{\text {mask }}\right)
$

図 1 提案手法の概要

マスク処理： 本モジュールの推論は，式 (12)に よって実行される.

$
\hat{\boldsymbol{L}}=\underset{\boldsymbol{L}}{\arg \max } P\left(\boldsymbol{L} \mid \boldsymbol{X}, \boldsymbol{P}, \tilde{\boldsymbol{Y}} ; \boldsymbol{\Theta}_{\text {mask }}\right)
$

をマスクした $\bar{Y}$ を出力する.

$
\overline{\boldsymbol{Y}}=\operatorname{MASK}(\tilde{\boldsymbol{Y}}, \hat{\boldsymbol{L}})
$

MASK() は $\hat{\boldsymbol{L}}$ のラベルが 1 のとき，そのラベルに対応 する $\tilde{Y}$ のトークンをマスクトークンに置換する処理 を表す。このとき，生成モジュールではマスクトー クンの数だけトークンを予測する必要があるが，こ こで置換したマスクトークンの数と生成すべきトー クンの数は必ずしも一致するわけではない. そこで 本稿では，1つのマスクトークンから複数のトーク ンを予測できる，span masking [12]を用い，連続す るマスクトークンは 1 つのマスクトークンに置換す る. そのため， $\tilde{\boldsymbol{Y}}$ と $\overline{\boldsymbol{Y}}$ のトークン数は同じであると は限らない，また，すべてのラベルが 0 の場合，生成モジュールを介さず，直接 $\tilde{\boldsymbol{Y}}$ 出力する.

## 2.3 生成モジュール

本モジュールでは,$\overline{\boldsymbol{X}}=\left.\{\bar{x}_{1}, \cdots, \bar{x}_{M}\right.\}$ と $\overline{\boldsymbol{Y}}$ が与え られた場合に，Yを生成する。ここで， $\bar{X}$ は修正位置の範囲に含まれるトークンを括弧で囲むことによ り，あらかじめ修正位置の情報を付与した入力文で ある。具体的には， $\overline{\boldsymbol{X}}$ と $\overline{\boldsymbol{Y}}$ 特殊トークン [SEP] で 連結した, $\boldsymbol{Z}=\left.\{\bar{x}_{1}, \cdots, \bar{x}_{M},[\mathrm{SEP}], \bar{y}_{1}, \cdots, \bar{y}_{N}\right.\}$ を入力 として，式 (14) に従って $\boldsymbol{Y}$ を生成する.

$
P\left(\boldsymbol{Y} \mid \boldsymbol{Z} ; \boldsymbol{\Theta}_{\mathrm{gen}}\right)=\prod_{n=1}^{N} P\left(y_{n} \mid y_{1}, \cdots, y_{n-1}, \boldsymbol{Z} ; \boldsymbol{\Theta}_{\mathrm{gen}}\right)
$

ここで， $\boldsymbol{\Theta}_{\text {gen }}$ は学習可能なパラメータを表す.

本モジュールは, Transformer ベースの encoderdecoder モデルで構成される。まず， $\boldsymbol{Z}$ を式 (15) に よって隠れ表現 $\boldsymbol{H}$ に変換する.

$
\boldsymbol{H}=\operatorname{TransformerEncoder}\left(\boldsymbol{Z} ; \boldsymbol{\Theta}_{\text {gen }}\right)
$

次に， $y_{1}, \cdots, y_{n-1}$ と $\boldsymbol{H}$ を用いて， $y_{n}$ の事後確率を 式 (16-17) に基づいて算出する.

$
\begin{gathered}
P\left(y_{n} \mid y_{1}, \cdots, y_{n-1}, \boldsymbol{Z} ; \boldsymbol{\Theta}_{\text {gen }}\right)=\operatorname{softmax}\left(w_{n} ; \boldsymbol{\Theta}_{\text {gen }}\right) \\
w_{n}=\operatorname{TransformerDecoder}\left(y_{1}, \cdots, y_{n-1}, \boldsymbol{H} ; \boldsymbol{\Theta}_{\text {gen }}\right)
\end{gathered}
$

ここで，TransformerDecoder() は [9] と同様の構造 である Transformer ベースのデコーダを表す. 本稿 では，この encoder-decoder モデルに事前学習済みの T5 [12]を用いる.

学習： 本モジュールは, $\mathscr{D}_{\mathrm{gen}}=\left.\{\left(\boldsymbol{Z}^{1}, \boldsymbol{Y}^{1}\right), \cdots\right.$, $\left.\left(\boldsymbol{Z}^{\left|D_{\mathrm{gen}}\right|}, \boldsymbol{Y}^{\left|\Phi_{\mathrm{gen}}\right|}\right)\right.\}$ を用い，式 (18) に示すクロスエン トロピー損失によって学習される。

$
\mathscr{L}_{\text {gen }}=-\sum_{(\boldsymbol{Z}, \boldsymbol{Y}) \in \mathscr{D}_{\text {gen }}} \log P\left(\boldsymbol{Y} \mid \boldsymbol{Z} ; \boldsymbol{\Theta}_{\text {gen }}\right)
$

デコード： デコードは式 (19) によって算出さ れる.

$
\hat{\boldsymbol{Y}}=\underset{\boldsymbol{Y}}{\arg \max } P\left(\boldsymbol{Y} \mid \boldsymbol{Z} ; \boldsymbol{\Theta}_{\text {gen }}\right)
$

## 2.4 multi-decoding

提案手法では，3つのモジュールの出力をカス ケード接続するため，各モジュールの性能は直前 のモジュールの性能に依存する。そこで，最終的 に出力される解説文の信頼度を高める方法として, multi-decoding を提案する. multi-decoding は検索モ ジュールで上位 1 個ではなく， $k$ 個の解説文を検索 する. ここで検索された $k$ 個の解説文を用い，1つ の入力文に対して $k$ 個の解説文を生成する. これ ら $k$ 個の解説文から，1つの解説文を選択すること で最終的な出力を決定する。選択方法として，同じ 入力文に対して重複している解説文の数を算出し,最も多い解説文を選択する。しかし，重複している 数が同じであったり，すべての解説文が重複してい ない可能性もある. そのような場合，ある解説文 とそれ以外の $k-1$ 個の解説文，および入力文との Levenshtein 類似度を算出し，その平均値が最も高い ものを選択することで 1 つの解説文を出力する.

## 3 評価実験

## 3.1 実験条件

データ： Generation Challenge 2022 で提供され た, 入力文, 修正位置, 解説文がセットになった データセットを用い，2 章の各データセットを作成 する. まず， D ret では，y は上記データセットの 学習セットを用いる. ここで, 学習セットのすべて の $\boldsymbol{Y}^{d}$ を用いて $s^{c, d}$ を算出すると，類似度が低いも のが多い不均衡なデータセットになる．そこで，類似度の小数点第一位が同じものが 5 個以下になるよ うに $Y^{d}$ をランダムに削除した. 次に， $D_{\text {mask }}$ では， $y$ は $D_{\text {ret }}$ と同じものを用い, $\boldsymbol{Y}^{d}$ のうち, $\boldsymbol{Y}^{c}$ に含ま れないトークンを 1 , それ以外を 0 として $\boldsymbol{L}^{c, d}$ を作成した. 最後に, $D_{\text {gen }}$ では, $D_{\text {ret }}$ 作成時に算出し た類似度を用い, 各 $\boldsymbol{X}^{c}$ に対して 10 件の $\boldsymbol{Y}^{d}$ を抽出 し, $\mathscr{D}_{\text {mask }}$ の $\boldsymbol{L}^{c, d}$ から $\overline{\boldsymbol{Y}}^{d}=\operatorname{MASK}\left(\boldsymbol{Y}^{d}, \boldsymbol{L}^{c, d}\right)$ を得るこ とで $Z$ を作成した. 表 1 にそれぞれの詳細を示す.

設定： 本稿では, 提案手法, 検索と生成モジュー ルを用いた retrieve-and-edit, 検索モジュールのみ の retrieval, 生成モジュールのみの simple generation を実装した。これらの手法は，事前学習済みモデ ルを fine-tuning することで学習され，BERTには HaggingFace 社 [13] の bert-based-cased を，T5には t5-baseを用いた. retrieve-and-edit の生成モジュール は検索された解説文をマスクしない $\mathscr{D g e n}_{\mathrm{gen}}$, simple generation は提供データセットを用いて fine-tuning した. また, fine-tuning 時は RAdam [14]による最適化を行い, multi-decoding では, $k=7$ とした.

## 3.2 結果

表 2 に文法誤り解説文生成の評価結果を示す. 表中の値は, BLEU [15] による自動評価と, Generation Challenge 2022 による 1 名のラベラーの人手評価 を表す. 表より，自動評価，人手評価の両方で multi-decoding を用いた提案手法が最高性能を達成 した. 提案手法では, multi-decoding によって一つ の入力文に対して複数の解説文が生成され，より正解に近い解説文を選択できたために性能が向上し たと考えられる．実際に，同じ入力に対して異な るマスクされた解説文を用いることで，異なる解説文が生成されていた。一方, retrieve-and-editでは multi-decoding による性能向上は起こらず，同じ入力文に対して異なる検索された解説文を用いても，表 1 各データセットのデータ数

表 2 文法誤り解説文生成における評価結果

全く同じ解説文を生成することがほとんどであっ た. そのため, retrieve-and-edit は検索された解説文 を活用して新たな解説文を生成するのではなく，入力文に対してスクラッチで解説文を生成していると 考えられる. また, simple generation よりも性能が高 いのは，単純に学習データ量が多かったためだと考 えられる，以上より，提案手法では入力のマスクを 予測するように解説文を生成でき，検索した解説文 を従来手法よりも有効に活用できると考えられる。

また，提案手法の推論時にマスクモジュールの予測結果ではなく，オラクルを用いた場合の性能も表 に示す。表より，検索された解説文に対してオラク ルのマスクを用いると，性能が大幅に向上すること が示された. これは，各モジュールを個別に最適化 しているために，誤りを含む予測結果の入力が生成 の性能を劣化させたためだと考えられる。この性能 の劣化は multi-decoding によって低減できるが，よ り性能を向上させるためには，学習時に予測結果を 入力するなど，学習方法を再検討する必要がある. ここでの実際の出力結果の例は付録に示す.

## 4 おわりに

本稿では, 文法誤り解説文生成のための, retrieval, masking, and generation を提案した. 提案手法は，マ スクされた解説文を大力に用いることで，マスク トークンを予測するように解説文を生成する．ま た，提案手法は各モジュールの出力をカスケード接続するため, 推論時に上位 1 個だけではなく, $k$ 個 の検索された解説文を用いる multi-decoding を提案 した. 文法誤り解説文生成を用いた評価実験の結果，提案手法は従来手法より高い性能を達成した が，学習方法に改善の余地があることが示された。

## 参考文献

[1] Zheng Yuan and Ted Briscoe. Grammatical error correction using neural machine translation. In Proc. Conference of the North American Chapter of the Association for Computational Linguistics (NAACL), pp. 380-386, 2016.

[2] Courtney Napoles and Chris Callison-Burch. Systematically adapting machine translation for grammatical error correction. In Proc. Workshop on Innovative Use of NLP for Building Educational Applications (BEA), pp. 345-356, 2017.

[3] Marcin Junczys-Dowmunt, Roman Grundkiewicz, Shubha Guha, and Kenneth Heafield. Approaching neural grammatical error correction as a low-resource machine translation task. In Proc. Conference of the North American Chapter of the Association for Computational Linguistics (NAACL), pp. 595-606, 2018.

[4] Shun Kiyono, Jun Suzuki, Masato Mita, Tomoya Mizumoto, and Kentaro Inui. An empirical study of incorporating pseudo data into grammatical error correction. In Proc. Conference on Empirical Methods in Natural Language Processing and International Joint Conference on Natural Language Processing (EMNLPIJCNLP), pp. 1236-1242, 2019.

[5] Ryo Nagata. Toward a task of feedback comment generation for writing learning. In Proc. Conference on Empirical Methods in Natural Language Processing and International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pp. 3206-3215, 2019 .

[6] Abigail See, Peter J Liu, and Christopher D Manning. Get to the point: Summarization with pointer-generator networks. In Proc. Annual Meeting of the Association for Computational Linguistics (ACL), pp. 1073-1083, 2017.

[7] Tatsunori B Hashimoto, Kelvin Guu, Yonatan Oren, and Percy S Liang. A retrieve-and-edit framework for predicting structured outputs. In Proc. Advances in Neural Information Processing Systems (NeurIPS), p. 10052-10062, 2018.

[8] Kazuaki Hanawa, Ryo Nagata, and Kentaro Inui. Exploring methods for generating feedback comments for writing learning. In Proc. Conference on Empirical Methods in Natural Language Processing (EMNLP), pp. 97199730, 2021.

[9] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Lukasz Kaiser, and Illia Polosukhin. Attention is all you need. In Proc. Advances in neural information processing systems (NIPS), pp. 5998-6008, 2017.

[10] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. Bert: Pre-training of deep bidirectional transformers for language understanding. arXiv preprint arXiv:1810.04805, 2018.

[11] Vladimir I Levenshtein, et al. Binary codes capable of correcting deletions, insertions, and reversals. In Soviet physics doklady, pp. 707-710, 1966.
[12] Colin Raffel, Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei $\mathrm{Li}$, and Peter J Liu. Exploring the limits of transfer learning with a unified text-to-text transformer. Journal of Machine Learning Research, Vol. 21, pp. 1-67, 2020.

[13] Thomas Wolf, Lysandre Debut, Victor Sanh, Julien Chaumond, Clement Delangue, Anthony Moi, Pierric Cistac, Tim Rault, Rémi Louf, Morgan Funtowicz, Joe Davison, Sam Shleifer, Patrick von Platen, Clara Ma, Yacine Jernite, Julien Plu, Canwen Xu, Teven Le Scao, Sylvain Gugger, Mariama Drame, Quentin Lhoest, and Alexander M. Rush. Transformers: State-of-the-art natural language processing. In Proc. Conference on Empirical Methods in Natural Language Processing: System Demonstrations (EMNLP), pp. 38-45, 2020.

[14] Liyuan Liu, Haoming Jiang, Pengcheng He, Weizhu Chen, Xiaodong Liu, Jianfeng Gao, and Jiawei Han. On the variance of the adaptive learning rate and beyond. In Proc. International Conference on Learning Representations (ICLR), 2019.

[15] Kishore Papineni, Salim Roukos, Todd Ward, and WeiJing Zhu. Bleu: a method for automatic evaluation of machine translation. In Proc. the Association for Computational Linguistics (ACL), pp. 311-318, 2002.

## A 付録

3 章の文法誤り解説文生成の評価実験における生成例を表 A.1，A. $2 ，$ A. 3 に示す.ここで，表 A. 1 は提案手法を，表 A. 2 は retrieve-and-editを用いて生成した解説文を示す。また，表 A. 3 は，提案手法において生成モ ジュールの入力にマスクモジュールの出力を用いた場合とオラクルを用いた場合の比較を示す.

## 表 A. 1 提案手法の出力結果の例

} \\

表 A. 3 提案手法におけるマスクの予測とオラクルの比較の例

 &  \\

マスクされた解説文のうち，太字の文字はマスクトークンではないのに変更された文字を表す. 生成された解説文のうち，赤色の 文字はマスクされた解説文に含まれない文字を表す.
 庵愛佐藤宏田中智大増村亮 日本電信電話株式会社 NTTコンピュータ\&データサイエンス研究所 mana.ihori.kx@hco.ntt.co.jp  