\section{はじめに}
\label{sec:introduction}文法誤り訂正(GrammaticalErrorCorrection,GEC)は，テキスト中に含まれる様々な種類の誤りを自動的に訂正するタスクである．文法誤り訂正技術は作文支援や言語学習者支援など幅広い応用が期待されることから，自然言語処理における主要な応用タスクの一つとなっている．特に，英語を対象とした文法誤り訂正タスクでは，CoNLL-2014データセット（以下，CoNLL-2014）\shortcite{Ng:14:CoNLLST}を用いて文法誤り訂正モデルの評価を行うことで盛んに研究開発が進んできた\shortcite{Junczys-Dowmunt:16:EMNLP,Chollampatt:18:AAAI,lichtarge2019corpora,zhao2019improving,kiyono-etal-2019-empirical}．一方で，文法誤り訂正モデルの性能評価に関してはタスクの性質上不十分な可能性が高い．文法誤り訂正タスクの入力には書き手の習熟度・母語・エッセイトピックなどの条件によって様々なバリエーションのある文が想定され，タスクの難易度は各条件下によって異なる．しかし，既存研究の多くは1つまたは2つのコーパスを用いた限定的な条件でのみ評価を行う傾向がある\shortcite{mizumoto-matsumoto-2016-discriminative,ji:2017:nested,junczys:2018:NAACL,lichtarge2019corpora}．実際，Grammarly\footnote{\url{https://www.grammarly.com/}}やGinger\footnote{\url{http://www.getginger.jp/}}など文法誤り訂正技術の実サービスでは，特定の条件ではなく任意の条件を入力として想定する場合が多い．仮に，難易度に依存して異なるコーパス間でモデルの評価にばらつきが生じた場合，単一コーパスによる評価ではある特定の条件でのみ成立する限定的な議論しか行うことができないため，評価の方法論として不十分である．そこで本研究では，文法誤り訂正の評価の方法論として，既存の単一コーパスによる評価は不十分であるという仮説に基づき，コーパス横断評価の必要性について調査する．ここでコーパス横断評価とは，単一の評価尺度と複数のコーパスを用いて，モデルを多角的に評価することと本研究では定義する．上記仮説を検証するにあたり，4種類の手法(LSTM,CNN,Transformer,SMT)を6種類のコーパス(CoNLL-2014,CoNLL-2013,FCE,JFLEG,KJ,BEA-2019)を用いて評価実験を行った結果，コーパス毎にモデル順位が大幅に変動した．そのため，タスクの性質上，文法誤り訂正モデルは複数のコーパスを用いて横断的に評価を行うことが重要である．また，横断評価は実応用を見据えた場合においても有用であると考えられる．そこで，横断評価の有用性を検証するために，文法誤り訂正の入力に想定される代表的な条件の一つである書き手の習熟度を評価セグメントとした場合の横断評価を行った．その結果，書き手の習熟度が初中級レベルと上級レベル間ではモデルの性能評価に関して大きな乖離があることがわかった．本研究の貢献は次の3点である．\vspace{0.5\Cvs}\begin{itemize}%%%%\vspace{3mm}%%%%\setlength{\itemsep}{1mm}\item初めて文法誤り訂正モデルのコーパス横断評価の必要性について調査した．\item既存の単一コーパス評価では文法誤り訂正モデルの評価として信頼性に欠ける可能性があることを示した．\item書き手の習熟度が初中級レベルと上級レベル間ではモデルの性能評価に関して大きな乖離があることを示した．%%%%\vspace{3mm}\end{itemize}%%%%%%%%%%%%%%Section2%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{関連研究}
label{sec:related}表~\ref{tab:existing_eval}に，既存研究が使用した評価データセットおよび評価尺度の概要を示す．\ref{sec:introduction}~節でも述べた通り，既存手法の多くは単一コーパスのみを用いて評価を行っている\shortcite{susanto-etal-2014-system,felice-briscoe-2015-towards,Junczys-Dowmunt:16:EMNLP,ji:2017:nested}．最近では，文法誤り訂正モデルの文法性および流暢性を評価するために提案されたJFLEGデータセット（以下，JFLEG）\shortcite{Napoles:17:EACL}やBEA-2019SharedTaskで提供されたBEA-2019データセット（以下，BEA-2019）\footnote{データセットの詳細を付録\ref{appendix:bea-2019-dataset}に示す．}の登場により，CoNLL-2014に加えて，JFLEGやBEA-2019を評価データセットとして併用する研究も増えてきている\shortcite{junczys:2018:NAACL,grundkiewicz:2018:NAACL,lichtarge2019corpora,zhao2019improving,kiyono-etal-2019-empirical,kaneko-etal-2020-encoder}．しかし，表~\ref{tab:existing_eval}から，それらの多くは評価データ毎に異なる評価尺度を独立的に用いて評価を行っているため，コーパス横断的にモデルの評価は行えていないことがわかる．具体的には，CoNLL-2014ではM$^2$\shortcite{dahlmeier:2012:M2}を用いて算出した\fscore{}で評価を行い，JFLEGではGLEU\shortcite{Napoles:15:ACL,napoles:2016:gleu}を用いて評価を行う傾向にある\shortcite{junczys:2018:NAACL,kiyono-etal-2019-empirical,kaneko-etal-2020-encoder}．限定的ではあるが横断評価を行っている数少ない既存研究として，\shortcite{yannakoudakis-etal-2017-neural}が存在する．しかし，そこでは横断評価の必要性および評価の方法論に関する議論はされていないため，その後から現在に至るまで未だに単一評価が主流の傾向にある．コーパス横断評価の目的は，入力の条件を変えた場合における各モデルの挙動を評価することであるが，評価セット毎に独立した評価尺度を用いると，モデルの挙動差が入力に起因するものか，評価尺度に起因するものかの判別が困難になる．このように，文法誤り訂正の研究コミュニティ全体として，利用可能なデータが増えるにしたがって複数のコーパスを使ってモデルの性能評価を行う試みは増えてはいるが，その一方で，実質的には単一的な評価に留まっている傾向にある．また，入力に様々なバリエーションのある文を想定するタスクの性質自体がモデルの性能評価にどのくらい影響を与えるかについても明らかにされていない．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table1\begin{table}[t]\input{07table01.tex}\caption{既存研究が使用した評価データセットおよび評価尺度．ER.はERRANTを示している．}\label{tab:existing_eval}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%他分野をみると，例えば構文解析分野では以前はPennTreebank\shortcite{Marcus:93:Journal}上における解析精度を向上させることに重点を置いていた．その後，PennTreebankに加えて，Ontonotes\shortcite{Hovy:06:NAACL}やGoogleWebTreebank\shortcite{Petrov:12:SANCL}を含む複数のコーパスを用いて評価を行うようになり，評価手法の頑健性が大幅に改善されている．我々は文法誤り訂正分野においても構文解析分野と同様の状況が起きていると考える．すなわち，現在の文法誤り訂正の評価はCoNLL-2014に依存しているため，他のコーパスを用いて横断的な評価を行うことで，評価手法の信頼性が向上することが期待される．%%%%%%%%%%%%%%%Section3%%%%%%%%%%%%%%%%%%%%%%
\section{調査方針}
label{sec:methodology}本研究の目的は，文法誤り訂正の評価の方法論として，単一コーパス評価は不十分であるという仮説に基づき，コーパス横断評価の必要性について調査することである．調査方針として，各コーパス間でモデルの性能順位にばらつきが起こるかを検証する．なぜなら，各コーパスによってモデル順位が大きく変動した場合，単一コーパス上での評価はある特定の条件下でのみ成立することとなり，多様なバリエーションのある文が入力に想定されるタスクの性質上，評価の方法論として不十分であるからである．ここで，理想的には入力に想定されるあらゆる条件を網羅することが好ましいが，リソースの制限があるため全ての条件を網羅するのは困難である．そこで本研究では，可能な限り多くのコーパスを用意することで，代表的な条件である「書き手の習熟度」，「エッセイトピック」，「書き手の母語」について多様性の担保を図る．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{評価用コーパス}\label{subsec:datasets}コーパス横断評価の必要性を検証するにあたり，本研究では既存研究の多くで使用されているCoNLL-2014に加えて，CoNLL-2013，FCE，JFLEG，KJ,BEA-2019の合計6つのコーパスを用いる．以下に，評価実験に用いた各評価用コーパスの詳細を説明する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{CoNLL-2014}\shortcite{Ng:14:CoNLLST}:CoNLL-2014SharedTaskの公式データセットであり，既存研究で最も一般的に使用されている評価用データセットである．シンガポール国立大学の学生が書いたエッセイを基に作られている．シンガポールは英語が公用語のため，書き手の習熟度は比較的高いとされている．なお，シンガポールは多民族国家であるため，母語は一概に定義できない．また，エッセイのトピック数は2つのみである．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{CoNLL-2013}\shortcite{Ng:13:CoNLLST}:CoNLL-2013SharedTaskの公式データセットである．CoNLL-2014と同様に書き手の習熟度は比較的高い．また，エッセイトピック数は2つのみである．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{CambridgeESOLFirstCertificateinEnglish(FCE)}\shortcite{Yannakoudakis:11:ACL}:ケンブリッジ英検の試験答案を基に作られた学習者コーパスである．様々な国籍の英語学習者が書いたエッセイであるため，学習者の習熟度や母語は多様性がある．また，ケンブリッジ英検のFCE試験は中級から上級レベルと比較的幅広い受験者を対象としていることから，書き手の習熟度も中・上級レベルであると考えられる．なお，エッセイのトピック数は10である．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{JHUFLuency-ExtendedGUGcorpus(JFLEG)}\shortcite{Napoles:17:EACL}:様々な国籍の非母語話者が書いた英語答案を基に作られた学習者コーパスである．書き手の習熟度，母語，エッセイトピックともに多様性を担保するよう設計されている．また，文法的になるだけでなく流暢な文になるように訂正されていることも本コーパスの特徴の一つである．そのため，最近の研究では，モデルがどれだけ流暢性のある訂正ができているかを評価するためのベンチマークデータセットとして使用されることが多い．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{Konan-JIEMlearnercorpus(KJ)}\shortcite{Nagata:11:ACL}:甲南大学と教育測定研究所(JIEM)が共同で収集，アノテーションを行ったコーパスであり，日本人英語学習者の233エッセイから成る．書き手の習熟度に関しては，公開情報がないため定義することは難しい．エッセイのトピック数は10である．なお，他のコーパスと異なり，綴り誤りの情報と文法誤りの情報が別でアノテーションされていることも特徴の一つである．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{BEA-2019SharedTaskOfficialDevelopmentSet(BEA-2019)\textmd{:}}BEA-2019SharedTaskで公式に提供されたデータセットである．訓練・開発・評価用のデータセットが提供されており\footnote{\url{https://www.cl.cam.ac.uk/research/nl/bea2019st/}}，開発・評価用データセットはW\&I+LOCNESS\shortcite{Yannakoudakis:18:Journal,granger:1998:LEC}のサブセットが使用されている．W\&I+LOCNESSコーパスには，メタ情報として，言語能力を評価する国際指標であるCEFRに対応する書き手の習熟度の情報が付与されているのが特徴の一つである．なお，BEA-2019SharedTaskではCodaLab\footnote{\url{https://competitions.codalab.org/competitions/20228}}上にて評価が行われていたため，公式評価用データセットの参照訂正文は公開されていない．そのため，本評価実験では公式開発用データセットを評価データセットとして使用する．各評価用コーパスの特徴を整理したものを表~\ref{statics}に示す．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table2\begin{table}[b]\input{07table02.tex}\caption{各評価コーパスの概要．公開情報がなく判断が難しいものはN/Aとしている．}\label{statics}\vspace{-0.5\Cvs}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%なお，単語編集率は以下の式により算出した．\[\mbox{単語編集率}=\frac{\sum_{i=1}^{N}d(\bm{X}_i,\bm{Y}_i)}{\sum_{i=1}^{N}\bm{T}_i}\]ここで，$\bm{T}_i$は各入力文における総単語数，$d(\bm{X}_i,\bm{Y}_i)$は入力文$\bm{X}_i$と出力文$\bm{Y}_i$間の単語に基づくレーベンシュタイン距離をそれぞれ示している．各コーパスを概観すると，(1)現在主流であるCoNLL-2014は他のコーパスと比較して書き手の習熟度・母語・トピックに偏りがあること，(2)一方，本評価実験で選定した6つのコーパスを用いることで習熟度・母語・トピックの3つの条件において一定の多様性を確保できていることがわかる．なお，\pagebreak綴り誤りは厳密には文法誤りには含まないが，\begin{itemize}\item既存データセットの多くはそれらを区別せずにまとめてアノテーションしている\itemまた，そのようなデータを用いて訓練した機械翻訳モデルに基づく手法も，それらを区別して訂正できない\end{itemize}という理由から，本評価実験においても従来の慣習に従い綴り誤りを含めて評価を行う．そのため，綴り誤りと文法誤りが別でアノテーションされているKJに関しては，統合処理したものを評価実験に使用する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{訓練用コーパス}\label{subsec:train_datasets}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{NAISTLang-8LearnerCorpora(Lang-8)}\shortcite{Mizumoto:11:IJCNLP,Tajiri:12:ACL}:奈良先端科学技術大学院大学の研究チームが開発した，語学学習のためのSNSLang-8の添削ログからクローリングして作られたデータである．データサイズはおよそ200万文対で，一般利用可能な文法誤り訂正用のデータとしては最大規模のものである．書き手である学習者の母語としては日本語が多いが，他の言語を母語とする学習者の英文も数多く含まれている．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{NUSCorpusofLearnerEnglish(NUCLE)}\shortcite{Dahlmeier:13:BEA}:シンガポール国立大学の研究チームが開発したデータセットであり，シンガポール国立大学の学生が書いたエッセイを基に作られている．データサイズはおよそ6万文対で，Lang-8には劣るが，専門家によってアノテーションされているため，訂正の品質はよいとされている．エラータグも人手で付与されており，CoNLL-2013，CoNLL-2014の両SharedTaskの公式訓練データセットとして採用された．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table3\begin{table}[b]\input{07table03.tex}\caption{各訓練用コーパスの概要．公開情報がなく判断が難しいものはN/Aとしている．}\label{train_statics}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%各訓練用コーパスの特徴を整理したものを表~\ref{train_statics}に示す．NUCLEは，CoNLL-2014およびCoNLL-2013と書き手の属性が同じことから，習熟度および母語の観点で非常にドメインが似ているといえる．また，Lang-8は日本語を母語とする学習者の書いた英文を多く含んでいるため，書き手の母語という観点でKJとドメインが似ているといえる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{訂正モデル}文法誤り訂正モデルの選定については，(1)現在主流であり，かつ複数の誤りを訂正可能な機械翻訳モデルに基づくモデルであること，(2)CoNLL-2014上において各モデルの性能は同程度であること，の2つの要件を設けた．1つ目の要件に関しては，本研究は，現在の文法性誤り訂正の評価の方法論に対する問題提起を行うことを目的としているため，古典的なモデルではなく，現在主流，かつ一般的な設定のモデルを用意することが望ましいからである．2つ目の要件に関しては，コーパス横断評価の必要性に関する着想として，\textbf{入力に様々なバリエーションのある文を想定するタスクの性質がモデルの評価に対して無視できない影響を与えるのではないか}，という考えがあるからである．基準となる現在主流のCoNLL-2014上において各モデルの性能差に大差がある場合，実験結果に対する解釈を行う上でタスクの性質に起因した影響なのかどうかの判断が困難になるため，2つ目の要件を設けた．以下に，評価実験に用いた各モデルの詳細について説明する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{LSTM:}エンコーダは双方向LSTMで構成され，デコーダと注意機構は\shortcite{luong-pham-manning:2015:EMNLP}のseq2seqモデルに準拠している．なお，単語埋め込みの事前学習にはEnglishWikipediaを用いており，ハイパーパラメータは\shortcite{Chollampatt:18:AAAI}と同じものを使用した．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{CNN:}\shortcite{Chollampatt:18:AAAI}の実装\footnote{\url{https://github.com/nusnlp/mlconvgec2018}}を用いた．なお，単語埋め込みの事前学習にはEnglishWikipediaを用いており，ハイパーパラメータは\shortcite{Chollampatt:18:AAAI}と同じものを使用した．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{Transformer:}Transformerは\shortcite{Vaswani:17:NIPS}によって提案された自己注意型モデルである．本研究では，seq2seqモデルのツール{\ttfairseq}の実装\footnote{\url{https://github.com/pytorch/fairseq}}を用いた．なお，単語埋め込みの事前学習にはEnglishWikipediaを用いており，ハイパーパラメータは\shortcite{Vaswani:17:NIPS}と同じものを使用した．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{SMT:}\shortcite{Junczys-Dowmunt:16:EMNLP}によって提案されたモデルを採用した．モデル訓練時に評価尺度である\fscore{}が高くなるようにパラメータのチューニングを行うことで大幅な性能向上が報告されている\shortcite{Junczys-Dowmunt:16:EMNLP}．具体的には，\shortcite{Junczys-Dowmunt:16:EMNLP}の実装\footnote{\url{https://github.com/grammatical/baselines-emnlp2016}}を用いた．なお，\shortcite{Junczys-Dowmunt:16:EMNLP}は，言語モデルの訓練にCommonCrawl\shortcite{buck-etal-2014-n}とEnglishWikipediaを用いていたが，本評価実験ではNMTに基づく各モデルと使用するデータの設定を可能な限り等しくするため，言語モデルの訓練にEnglishWikipediaのみを，翻訳モデルの訓練にNUCLEおよびLang-8を使用した．各モデル共通の実験設定は次の通りである．訓練データとして，Lang-8およびNUCLEの2つのパブリックなデータセットを統合したものを用いた．訓練データセットの前処理および分割は\shortcite{Chollampatt:18:AAAI}に従い，最終的に開発データセットとしてNUCLEのサブセット5,448文対，訓練データとしてNUCLEの残り15,974文対およびLang-81,283,529文対の合計1,299,503文対を使用した．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{評価尺度}評価尺度には，これまで文法誤り訂正タスクで最もよく利用されているM$^2$およびGLEUを用いる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{M$^2$}\shortcite{dahlmeier:2012:M2}:M$^2$によって算出されたF$_{0.5}$値がCoNLL-2013,2014SharedTaskの公式採用されて以降，文法誤り訂正タスクの評価尺度として最も一般的に用いられている（表\ref{tab:existing_eval}参照）．M$^2$が登場する以前の文法誤り訂正の評価では，訂正モデルが行った編集操作がどのくらい参照訂正文の編集と一致しているかをF値で評価していた\shortcite{dale-kilgarriff:2011:ENLG,dale-anisimoff-narroway:2012:BEA}．しかし，長いフレーズの編集が必要な場合などに訂正モデルを過小評価してしまうという問題があった．M$^2$は``editlattice''を用いることにより，モデルが行った編集操作を正解と最大一致するように同定することでこの問題を解決する．ここで，M$^2$を計算するツールとして，M$^2$Scorer\shortcite{dahlmeier:2012:M2}\footnote{\url{https://github.com/nusnlp/m2scorer}}とERRANT\shortcite{bryant:2017:automatic,felice:2016:automatic}\footnote{\url{https://github.com/chrisjbryant/errant}}の2つが存在する．M$^2$Scorerでは，誤りタイプ別の評価においてはrecallしか算出できず，エラー分析が難しいという問題があった．一方で，ERRANTでは入力文とモデル出力のパラレルデータから，モデル出力に対して誤りのタイプを約96\%という高い精度で自動付与することでこの問題を解決する．これにより，誤りタイプ別の訂正性能を評価することができ，モデルがどの誤りタイプに強い・弱いかについてエラー分析可能となる．また，どこからどこまで1つの編集と見なすかという``editextraction''の方法がM$^2$ScorerとERRANTとでは異なるため，算出されるF$_{0.5}$値も異なる．本研究では，評価ツールの違いが横断評価にどのように影響するかについて分析するために，M$^2$Scorerを用いて算出したF$_{0.5}$値（以降，M$^2$と表記する）とERRANTを用いて算出したF$_{0.5}$値（以降，ERRANTと表記する）の両方を用いる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{GLEU}\shortcite{Napoles:15:ACL,napoles:2016:gleu}:機械翻訳タスクで最も一般的な評価尺度であるBLEU\shortcite{papineni-EtAl:2002:ACL}を文法誤り訂正用に改良した評価尺度である．GLEUは，モデル出力文($H$)と参照訂正文($R$)で一致するn-gram数から，入力文($S$)に現れるが参照文に現れないn-gram数を減算することによって計算される．形式的には次式で表される．\begin{eqnarray}{\rmGLEU+}={\rmBP}\cdot\exp(\sum_{n=1}^{4}\frac{1}{n}\log(p_n\prime))\\p_n\prime=\frac{N(H,R)-[N(H,S)-N(H,S,R)]}{N(H)}\end{eqnarray}ただし，$N(A,B,C,...)$は集合間でのn-gram重なり数を表し，BPはBLEUと同様のbravepenalty\footnote{bravepenaltyは入力文に対して出力文が短い場合にn-gram適合率を減点する項である．}を表す．M$^2$を含む，これまでに提案された文法誤り訂正の評価尺度の中では最も人手評価との相関が高いことが知られている\shortcite{Napoles2016}．実験結果として報告するのは4つのランダムシードを用いて訓練したモデル性能の平均値である%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.1\begin{figure}[b]\begin{center}\includegraphics{28-1ia7f1.pdf}\end{center}\caption{$M^2$を用いて算出した\fscore{}に基づき順位付けされたモデル性能．}\label{f05_ranking}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Section4%%%%%%%%%%%%%
\section{コーパス横断評価}
\label{sec:result}図~\ref{f05_ranking}にM$^2$を用いて算出した\fscore{}に基づき順位付けされた各モデルの性能を示す．この図から，モデルの性能順位が各コーパスによって大きく変動していることが確認できる．これまで多くの研究が評価に用いていたCoNLL-2014では，Transformerが48.62ポイントと最も高い性能を出している．一方で，FCEやKJでは順位が全体的に大きく変動しており，Transformerは3位に転じている．順位が逆転した根本原因については，書き手の習熟度や母語，エッセイトピックなど様々な要因が複合的に関係していると予想されるため一概に言えない．しかし本評価実験の結果から，CoNLL-2014上の性能値に基づく議論は特定の条件下でしか成立しない可能性があり，CoNLL-2014での結果を不用意に一般化してしまうと誤った結論を導く危険性があることが示唆される．さらに，図~\ref{f05_ranking}から，モデルの性能はコーパスによって大きく異なることが確認できる．例えば，Transformerの性能は，JFLEGでは60.06ポイントであるのに対し，CoNLL-2013では36.20ポイントと大きく下回っている．このように，コーパスによって性能は大きく変動するため，見た目の性能値の解釈には十分に注意する必要がある．実際のモデル出力を表~\ref{example_Conll-2014}および表~\ref{example_KJ}に示す．Transformerを用いることで正しい訂正ができる場合（表~\ref{example_Conll-2014}）もあれば，逆にTransformerでは正しい訂正に失敗し，LSTMやCNNを用いることで正しい訂正ができている場合（表~\ref{example_KJ}）があることがわかる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table4\begin{table}[t]\input{07table04.tex}\hangcaption{CoNLL-2014におけるモデル出力例．括弧の中の数値はCoNLL-2014におけるモデル順位を示している．また，\textbf{[DEL]}は削除操作を示している．}\label{example_Conll-2014}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table5\begin{table}[t]\input{07table05.tex}\hangcaption{KJにおけるモデル出力例．括弧の中の数値はKJにおけるモデル順位を示している．また，\textbf{[DEL]}は削除操作を示している．}\label{example_KJ}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.2\begin{figure}[t]\begin{center}\includegraphics{28-1ia7f2.pdf}\end{center}\caption{GLEUに基づき順位付けされたモデル性能．}\label{gleu_ranking}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%次に，図~\ref{gleu_ranking}にGLEUに基づき順位付けされた各モデルの性能を示す．GLEUに基づく評価においてもM$^2$を用いたときと同様にコーパスによってモデル順位が変動することが確認できる．一方で，M$^2$を用いたときよりもTransformerが安定的に性能が高い傾向になっていることがわかる．GLEUは，基本的に入力文・モデル出力・参照訂正文の3つにおけるn-gram一致率を基に計算されるが，入力文において変更すべき箇所が変更できていなかったn-gramに対してペナルティを与えている\shortcite{napoles:2016:gleu}．そのため，Recallが高いモデルを高く評価する傾向にあると解釈ができる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.3\begin{figure}[t]\begin{center}\includegraphics{28-1ia7f3.pdf}\end{center}\caption{ERRANTによる\fscore{}に基づき順位付けされたモデル性能．}\label{errant_ranking}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table6\begin{table}[t]\input{07table06.tex}\hangcaption{M$^2$ScorerとERRANTの評価方法の違い．表中のTP/FP/FNはそれぞれ，Truepositive/Falsepositive/Falsenegativeを示している．}\label{example_verbose}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%最後に，図~\ref{errant_ranking}にERRANTを用いて算出した\fscore{}に基づき順位付けされた各モデルの性能を示す．ERRANTに基づき順位付けされたモデル性能をみると，どのコーパスにおいてもLSTMが最も性能が高くなっていることが確認できる．同じ\fscore{}に基づいた評価にも関わらず，評価尺度が異なるだけで傾向が大きく異なるのは着目に値する\footnote{ERRANTを用いれば単一コーパス評価でよいのかについては，\ref{sec:case_study}節に示すケーススタディと合わせて議論する．}．これらの傾向の違いは両評価尺度の計算方法の違いに起因すると考えられる．表~\ref{example_verbose}はCoNLL-2014におけるモデル出力に対するM$^2$およびERRANTで評価したときの実例である．ERRANTでは，連続するスパンで訂正が発生した場合，一単語区切りで評価を行っていることがわかる([your→the],[chance→possibility])．一方，M$^2$では，連続するスパンで訂正が発生した場合，一定のスパン区切りで評価を行っていることがわかる([yourchance→thepossibility])．以上のことから，ERRANTはM$^2$と比較してFPが増えやすい傾向にあるといえる．実際，CoNLL-2014におけるTransformerを評価した場合，M$^2$による評価ではFPは合計713個カウントされていたが，ERRANTによる評価では合計900個カウントされていることを確認した．このように，全く同じデータセットおよびモデルを用いたにも関わらず，評価尺度によってモデルの性能順位の傾向が大幅に異なることがわかる．言い換えると，どういうモデルを得たいか，あるいは，モデルの何を評価したいかといった目的意識によって適切な評価尺度を設計することが重要であると言える．%%%%%%%%%%%%%Section5%%%%%%%%%%%%%%%
\section{分析}
\label{sec:analysis}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{多様性が確保された単一コーパス評価では十分か？}\ref{sec:result}節の評価実験により，既存の単一コーパス評価は不十分であることを示したが，多様性が確保されたコーパスを用いた場合においても同様のことがいえるか，という疑問が残る．表~\ref{statics}に示す通り，FCE・JFLEG・BEA-2019は多様性が確保されたコーパスであるといえる．ここで，もし多様性が確保された単一コーパス評価で十分であれば，モデルの順位変動は起きないことが期待される．しかし，結果をみると，これらの多様性が確保されたコーパス間で，大幅に順位変動が起きていることがわかる（表~\ref{f05_ranking}）．このことは，多様性の確保されたコーパスの設計自体が困難であることを示唆している．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{順位変動はなぜ起きたか？}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{分析1.誤りタイプ別性能評価(CoNLL-2014)：}図~\ref{conll_best}に，ERRANTを用いてCoNNLL-2014における主要な誤りタイプ別のモデル性能\fscore{}を示す\footnote{CoNLL-2014における頻度の高い上位6つの誤りタイプ．}．コーパス横断評価の結果（図~\ref{f05_ranking}）では，CoNLL-2014は他と比べてTransformerが最も高い性能を達成していた．しかし，図~\ref{conll_best}から，モデルによって誤りタイプ別性能が異なることが確認でき，モデル毎に訂正傾向が異なることがわかった．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.4\begin{figure}[p]\begin{center}\includegraphics{28-1ia7f4.pdf}\end{center}%%%%\subcaption{限定詞[this$\rightarrow$these]}\label{fig:DET}%%%%\subcaption{前置詞[for$\rightarrow$with]}\label{fig:PREP}%%%%\subcaption{句読点[.Because$\rightarrow$,because]}\label{fig:PUNCT}%%%%\subcaption{動詞[grow$\rightarrow$bring]}\label{fig:VERB}%%%%\subcaption{名詞の単複[cat$\rightarrow$cats]}\label{fig:NOUN_NUM}%%%%\subcaption{動詞の時制[eat$\rightarrow$haseaten]}\label{fig:VERB_TENSE}\caption{CoNLL-2014における各モデルの誤りタイプ別性能(\fscore{})．}\label{conll_best}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table7\begin{table}[p]\input{07table07.tex}\caption{各コーパスにおける誤りタイプ別に最も性能が高かったモデル．}\label{analysis:cross-corpora}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{分析2.誤りタイプ別性能評価（コーパス横断）：}次に，CoNLL-2014だけでなく，他の全てのコーパスにおける誤りタイプ別性能について分析する．表~\ref{analysis:cross-corpora}は，各コーパスにおいて誤りタイプ別に最も性能が高かったモデルを示している．この表から，各コーパスによって誤りタイプ別性能にばらつきが起きていることがわかる．図~\ref{conll_best}に示したCoNLL-2014上での分析では，例えば動詞の時制誤りに関してはTransformerが他と比べたときに群を抜いて性能が高かった．一方で，コーパス横断的にみてみると，JFLEGとKJではそれぞれLSTM，CNNのほうが性能が高いことが確認できる．これは，コーパス毎に書き手の習熟度や母語などの影響によって誤り傾向が異なるからだと考えられる．\ref{sec:result}節で述べた通り，コーパス毎にモデル順位が変動した根本原因については，書き手の習熟度や母語，エッセイトピックなど様々な要因が複合的に関係していると予想されるため一概に言えない．しかし，分析1および分析2の結果から，モデル順位変動は，\textbf{訂正傾向が異なるモデル}と\textbf{誤り傾向の異なるコーパス}の組み合わせで生じるということがわかった．%%%%%%%%%%Section6%%%%%%%%%%%%%%
\section{横断評価の有用性}
\label{sec:case_study}本研究では，メタ評価方法論として，文法誤り訂正モデルをコーパス横断的に評価することの重要性を示してきた．本節では，より実応用を考えた場合の横断評価の有用性について議論する．実応用では，対象とするユーザーや，着目したいモデルの評価観点がある程度絞られることが考えられる．例えば，文法誤り訂正システムを学習者のライティング支援として学校などの教育現場で用いることを考えた場合，書き手の母語や習熟度はある程度絞られており，また，それらの情報をあらかじめ知っているという設定が多いといえる．その際，評価セグメントは多様な観点が混ざり合ったコーパスというセグメントである必然性はなく，着目したい観点に絞った評価セグメントを用いた横断評価を行うことで，より精緻にモデルの挙動を調査することが可能となる．そこで本節では，横断評価の有用性のケーススタディとして，文法誤り訂正モデルの入力として想定される代表的なバリエーションの一つである，\textbf{書き手の習熟度}を評価セグメントに横断評価を行うことで，書き手の習熟度を変えた場合モデルはどのような挙動をするかについて調査する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{習熟度別データセット}習熟度別に横断評価を行うためにBEA-2019を使用する．\ref{subsec:datasets}節で述べた通り，BEA-2019にはメタ情報として，CEFRに対応した書き手の習熟度情報が付与されている．具体的には，BEA-2019に含まれる各文にはCEFRで定められている3段階のレベル（習熟度が低い順にA・B・Cレベル）および母語話者(N)の合計4レベルの習熟度情報が付与されており，習熟度別の評価が可能となる\footnote{厳密には，習熟度レベル間でトピックが異なり，文長に偏りがあるなど，習熟度レベル以外の要素も含まれる．}．BEA-2019の習熟度別データの特徴を整理したものを表~\ref{bea_statics}に示す．書き手の習熟度が上がるにつれて，文が長くなり（\textbf{平均文長の増加}），コーパス中に含まれる誤りの個数が減少し（\textbf{単語編集率の低下}），使用する語彙サイズが大きくなる（\textbf{異なり語数の増加}），といった傾向があることがわかる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table8\begin{table}[b]\input{07table08.tex}\caption{BEA-2019における習熟度別評価データセットの概要．}\label{bea_statics}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{習熟度横断評価}\label{subsec:bea_proficiency}表~\ref{tab:bea_m2}に，M$^2$を用いて算出したPrecision,Recall,\fscore{}をそれぞれ示す．コーパス横断評価と同様に，モデルの性能順位が各習熟度によって大きく変動していることが確認できる．具体的には，書き手の習熟度が初中級レベル(A,B)に対してはTransformerが他と比べて高い性能を達成している．一方で，習熟度が上級レベル(C,N)に対してはSMTが最も高い性能となり，習熟度間で評価に大きな乖離があることがわかった．また，GLEUを用いて評価した場合も同じような傾向があることが確認できる（表~\ref{tab:bea_gleu}）．最近ではNMTに基づく手法が主流となっているため\shortcite{Chollampatt:18:AAAI,lichtarge2019corpora,zhao2019improving,kiyono-etal-2019-empirical,kaneko-etal-2020-encoder}，SMTに基づくモデルの性能が他の全てのNMTに基づくモデルの性能よりも高い結果となったのは驚くべき結果と言える．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table9\begin{table}[b]\input{07table09.tex}\hangcaption{BEA-2019習熟度別データセットにおいて，$M^2$を用いて算出したPrecision(P),Recall(R),\fscore{}:\textbf{太字}の値は各評価データセットにおける最高精度を示している．}\label{tab:bea_m2}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table10\begin{table}[b]\input{07table10.tex}\hangcaption{BEA-2019習熟度別データセットにおけるGLEUスコア:\textbf{太字}の値は各評価データセットにおける最高精度を示している．}\label{tab:bea_gleu}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%習熟度の高いCおよびNレベルでSMTの性能が高い結果となった要因は，単語編集率と誤りの質という観点から説明できる．書き手の習熟度が高い文の特徴として，単語編集率が低い，すなわち修正すべき誤りの割合が少ない点がある（表~\ref{bea_statics}参照）．また，CやNレベルにおいて，SMTは他と比べてPrecisionが高くRecallが低い傾向にあると言える（表~\ref{tab:bea_m2}参照）．したがって，修正すべき誤りの割合が低いCやNレベルの書き手の文においては，Precisionの高いモデルのほうが高く評価されている．一方で，書き手の習熟度が低いAおよびBレベルの文においては，Recallの高いモデルのほうが高く評価される傾向にある．次に，表~\ref{tab:bea_errant}にERRANTを用いて算出したPrecision,Recall,\fscore{}を示す．表~\ref{tab:bea_errant}から，(1)モデルの性能順位が各習熟度によって大きく変動し，(2)書き手の習熟度が高い文においてはSMTが高く評価される，といったM$^2$を用いたときと一貫性のある結果となった．また，コーパス横断評価（図~\ref{errant_ranking}）とは異なり，習熟度横断評価では順位が大きく変動した．そのため，少なくともERRANTを用いれば単一コーパス評価でも十分というわけでないことがわかる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table11\begin{table}[t]\input{07table11.tex}\hangcaption{BEA-2019習熟度別データセットにおいて，ERRANTを用いて算出したPrecision(P),Recall(R),\fscore{}:\textbf{太字}の値は各評価データセットにおける最高精度を示している．}\label{tab:bea_errant}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%これまで文法誤り訂正分野で用いられてきたCoNLL-2014やJFLEGをはじめ，全ての既存評価コーパスでは，概ね書き手の習熟度が初中級レベルのうえでモデルの良し悪しを議論してきた．しかし，上級レベルの書き手を対象に文法誤り訂正モデルを用いて作文支援などを行う場合は，これまで本分野が蓄積してきた知見をそのまま適用するには注意が必要であることが習熟度横断評価を通して明らかになった．%%%%%%%Section7%%%%%%%%%
\section{おわりに}
本研究では，多様なバリエーションのある入力文を想定した文法誤り訂正の評価の方法論として，既存の単一コーパス評価では不十分であるという仮説を基に，横断コーパス評価の必要性について調査した．具体的には，4種類の訂正モデルを6種類のコーパス上で横断評価を行い，各コーパス間でモデルの性能順位にばらつきが生じるかについて調査を行った．その結果，コーパス毎にモデル順位が大幅に変動したため，既存の単一コーパス評価では不十分であるということがわかった．さらに，文法誤り訂正の応用を見据えて，入力に想定される代表的な条件の一つとして書き手の習熟度を評価セグメントとした横断評価をケーススタディ的に行った．その結果，書き手の習熟度が初中級レベルと上級レベル間でモデルの性能評価に大きな乖離があることがわかった．文法誤り訂正の方向性として，\textbf{目的指向な方向性}と\textbf{汎用指向な方向性}の二通り考えられる．目的指向な方向性は，特定の習熟度レベルのユーザーのみ対象など，ある特定の条件下で誤りを徹底的に訂正できればよいという立場である．一方で，汎用指向な方向性とは，多様な文が入力文として入ってきた場合でも頑健に訂正したいといった立場である．目的指向な方向性においては，本研究で提案するような，モデルの入力に想定される条件に応じた評価セグメントにて横断評価を行うことで，より精緻な評価が実現可能となる．しかし，汎用指向な方向性の立場に立った場合，訂正モデルを開発するユーザー視点において，可能であれば単一コーパス上でモデルの頑健性を評価できる方が好ましいと考えられる．そのため，今後の研究として，頑健性のある新しい評価尺度も同時に検討していく必要がある．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\acknowledgment本論文の査読にあたり，著者の不十分な記述などに対してご意見・ご指摘をくださった査読者の方々へ感謝します．本論文の内容の一部は，言語処理学会第25回年次大会\cite{mita_nlp2019}およびThe17thAnnualConferenceoftheNorthAmericanChapteroftheAssociationforComputationalLinguistics:HumanLanguageTechnologies\cite{mita-etal-2019-cross}で発表したものです．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\bibliographystyle{jnlpbbl_1.6}\bibliography{07refs}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\appendix%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%A
\section{TheBEA-2019公式データセット}
\label{appendix:bea-2019-dataset}BEA-2019SharedTaskでは，参加者に以下のデータセットを公式データセットとして提供した：Lang-8\shortcite{Mizumoto:11:IJCNLP,Tajiri:12:ACL},theNationalUniversityofSingaporeCorpusofLearnerEnglish(NUCLE)\shortcite{Dahlmeier:13:BEA},theFirstCertificateinEnglishcorpus\shortcite{Yannakoudakis:11:ACL},W\&I+LOCNESS\shortcite{Yannakoudakis:18:Journal,granger:1998:LEC}.公式データセットは\url{https://www.cl.cam.ac.uk/research/nl/bea2019st/}にて一般利用可能である．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\begin{biography}\bioauthor{三田雅人}{理化学研究所革新知能統合研究センター自然言語理解チームテクニカルスタッフ．2016年奈良先端科学技術大学院大学情報科学研究科博士前期課程修了．日本マイクロソフト株式会社のエンジニアを経て，2018年より現職．同年，東北大学情報科学研究科博士後期課程に進学．文法誤り訂正を中心とした自然言語処理による言語学習/教育支援に関心がある．言語処理学会，ACL各会員．}\bioauthor{水本智也}{2015年奈良先端科学技術大学院大学情報科学研究科博士後期課程修了．博士（工学）．東北大学情報科学研究科特任助教，理化学研究所AIPセンター特別研究員を経て2019年よりフューチャー株式会社シニアコンサルタント，理化学研究所AIPセンター客員研究員．}\bioauthor{金子正弘}{2016年北見工業大学工学部システム工学科卒業．同年，東京都立大学システムデザイン研究科博士前期課程に進学．2018年博士前期課程修了．同年，東京都立大学システムデザイン研究科博士後期課程に進学．}\bioauthor{永田亮}{甲南大学知能情報学部准教授．2005年三重大学大学院博士後期課程修了．兵庫教育大学助手，甲南大学知能情報学部講師を経て，2012年より現職．言語のモデル化，文書の自動添削，解説文の自動生成などの研究に従事．電子情報通信学会，言語処理学会，ACL各会員．}\bioauthor{乾健太郎}{東北大学大学院情報科学研究科教授．1995年東京工業大学大学院情報理工学研究科博士課程修了．同大学助手，九州工業大学助教授，奈良先端科学技術大学院大学助教授を経て，2010年より現職．2016年より理化学研究所AIPセンター自然言語理解チームリーダー兼任．情報処理学会論文誌編集委員長，同会自然言語処理研究会主査，言語処理学会論文誌編集委員長等を歴任，2020年より言語処理学会副会長．}\end{biography}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\biodate\end{document}