# 日本語 Wikipedia の編集履歴に基づく 入力誤りデータセットと訂正システムの構築

田中 佑 ${ }^{\dagger}$ 村脇 有吾 ${ }^{\dagger}$ ・河原 大輔 ${ }^{+\dagger}$ - 黒橋 禎夫 ${ }^{\dagger \dagger}$
}

文章執筆時に発生する誤字などの入力誤りは，解析誤りを誘発するため，入力誤り 訂正を行うシステムは重要である。入力誤り訂正システムの実現には, 学習デー夕 として多量の入力誤りとその訂正ぺアが必要であるが，公開されている十分なサイ ズを持つ日本語入力誤りデータセットは存在しない. これまで, Wikipediaの編集履歴からフランス語などで入力誤りデータセットが構築されてきた. 先行研究の手法は, 編集のあった単語の特定を必要とするため, 単語分割が必要な日本語に直接 の適用はできない. 本研究では, Wikipediaの編集履歴から, 単語単位ではなく, 文字単位の編集を手がかりとして入力誤りの候補を取り出し, それらに対しフィルタ リングすることで入力誤りを収集する。この手法で約 70 万文ぺアの大規模なデータ セットを構築し, さらに, 構築手法を評価した. 次に, 得られたデータセットを用 いて, 入力誤り訂正システムを構築する。訂正システムは, 事前学習 seq 2 seq モデル を用い, 入力誤り訂正のみを学習するシステムと, 漢字の読みの推定を同時に学習 するシステムを構築した，前者と比較して，後者は漢字の変換誤りの訂正において 精度が向上した。また, 学習データに疑似入力誤りデータを追加して学習し, その 精度変化を見た．最後に，他の校正システムと入力誤り認識精度の比較を行い，本研究のシステムの精度が高いことを確認した。

キーワード：入力誤り，スペルミス，文法誤り, Wikipedia
## Building a Japanese Typo Dataset and Typo Correction System Based on Wikipedia's Revision History

\author{
Yu Tanaka ${ }^{\dagger}$, Yugo Murawaki ${ }^{\dagger \dagger}$, Daisuke Kawahara ${ }^{\dagger \dagger \dagger}$ and Sadao Kurohashi ${ }^{\dagger \dagger}$
}

Correcting typographical errors (typos) is important to mitigate errors in downstream natural language processing tasks. Although a large number of typo-correction pairs are required to develop typo correction systems, no such dataset is available for the Japanese language. Previous studies on building French and English typo datasets have exploited Wikipedia. To collect typos, the aforementioned methods apply a spell checker to words changed during revisions. As the lack of word delimiters in Japanese hinders the application of a spell checker, these methods cannot be applied directly to


Japanese. In this study, we build a Japanese typo dataset from Wikipedia's revision history. We address the aforementioned problem by combining character-based extraction rules and various filtering methods. We evaluate our construction method using which we obtain over $700 \mathrm{~K}$ typo-correction sentence pairs. Using the new dataset, we also build typo correction systems with a sequence-to-sequence pretrained model. As an auxiliary task for fine-tuning, we train the model to predict the readings of kanji, leading to a higher accuracy in the correction of erroneous kanji conversion. We also investigate the effect of pseudo training data. Finally, we demonstrate the higher accuracy achieved by our system for the typo recognition task compared with other proofreading systems.

Key Words: Typographical Error, Misspelling, Grammatical Error, Wikipedia

## 1 はじめに

近年，SNS 等で一般ユーザーが作成したテキスト (UGC; User Generated Contents) が自然言語処理の重要な研究対象となっている. UGCには, 書籍などの文章にはあまり見られない表現 (Brody and Diakopoulos 2011; Saito et al. 2017; Blodgett et al. 2016; Sasano et al. 2013) が含まれ，誤字などの入力誤りも頻繁に発生している.

入力誤りは，人がスムーズにテキストを読むことを妨げるだけではなく，計算機が正しく解析することを妨げる (Belinkov and Bisk 2018)．図 1 は，日本語から英語への機械翻訳における例である。上の画像に示すように，正しい文を入力すると正しい翻訳結果が得られるのに対し，下の画像に示すように，赤線で示す入力誤りを含む文を入力した場合，翻訳に失敗する。入力誤りを訂正するシステムがあれば，それを事前に適用することで，解析誤りを減らし，種々の解析精度向上が見込める。そのため, 入力誤り訂正システムは自然言語処理において重要である.

入力誤りは典型的にはキーボードの打ち間違いによるスペルミスだが，編集ミスによって発生する文法誤りも含まれる。そのどちらの訂正においてもニューラルモデルは成功を収めてお

図 1 入力誤りによる日英機械翻訳での翻訳失敗例。上の画像は正しい文，下の画像は入力誤りのある文を入力した場合を示す。

り (Sakaguchi et al. 2017; Yuan and Briscoe 2016), 入力誤り訂正システムの構築に有望であると考えられる。ニューラルモデルは多量の学習データを必要とすることが知られており (Koehn and Knowles 2017), ニューラル入力誤り訂正システムの実現には多量の入力誤りとその訂正ぺアを用意することが重要である.

これまでフランス語 (Max and Wisniewski 2010), 英語 (Zesch 2012)のスペルミス訂正データセットは，Wikipediaの編集履歴から構築されてきた．Wikipediaは，多くの人々が日々編集を行い，その編集履歴全てを公開しており，大規模なデータセット構築に適しているためである. ただし，Wikipediaの編集履歴には，編集の分類の情報は必ずしも付与されていない。そのため, 先行研究では，スペルミス訂正のみを取り出すために，編集があった単語を特定し，スぺルチェッカーを適用する等のフィルタリングを行って収集している. このような先行研究の手法は，編集があった単語の特定が容易な，空白文字で単語が区切られているフランス語などの言語を前提としており，単語分割を必要とする日本語には直接適用できない。また，フランス語や英語とは異なり，日本語では一般にインプットメソッドを用いてテキスト入力を行い，漢字の入力には， かな漢字変換 (Kasahara et al. 2011; 山本他 1997) を行う. かな漢字変換では,目的の漢字の読みを入力し，提示されたその読みを持つ漢字のリストから目的の漢字を選択することで入力する。この際に誤った漢字を選択した場合にも，入力誤りは発生する。このような，かな漢字変換時の入力誤り（以後，誤変換と呼ぶ）は，先行研究の手法では対象とされていない.

本研究では, 日本語の入力誤りとその訂正ぺアをWikipediaの編集履歴から収集し, 大規模なデータセット (JWTD; Japanese Wikipedia Typo Dataset) を構築することに取り組む. 本研究では，日本語書き言葉の文として編集前が不自然で編集後が自然となるような局所的な編集を，入力誤り訂正とみなす。より具体的には，スペルミス訂正，文法誤り訂正，誤変換の訂正を入力誤り訂正として収集対象とする。なお，Wikipediaでは，い抜き・ら抜きことばは頻繁に訂正されるが，これらも文法誤り訂正の一種とみなして収集対象とする。Wikipedia の編集履歴には，入力誤り訂正のみでなく，内容の変更などの収集対象外の編集も数多く含むため，入力誤り訂正だけを取り出すことは容易ではない，本研究では，文字単位の編集及び漢字の読みを手がかりとして入力誤り候補を取り出し，それらに対し言語モデルなどを用いてフィルタリングすることで，入力誤りを収集する。この手法を用いて，約 70 万文規模の JWTD を構築した。また，JWTDの構築手法を評価し，本手法の有効性を確認した。

続いて, 本研究では, JWTD を用いて, 入力誤り訂正システムを構築する. ベースラインとなるシステムを，文法誤り訂正において高い精度を得たと報告されているニューラルモデル (Katsumata and Komachi 2020) を用いて構築する. ベースラインの他に, 漢字の読みの推定を
^{1}$ https://www.nhk.or.jp/kokokoza/tv/basickokugo/archive/basic_kokugo_20.pdf
}
同時に学習するシステム，疑似データを学習に用いるシステムも構築し，比較を行う．前者は，誤変換の訂正に役立つと考えられるため，後者は文法誤り訂正において有効であると報告されている (Kiyono et al. 2019) ためである. JWTD を用いて学習した本研究の入力誤り訂正システム（ベースライン）と他の校正システムとで入力誤り認識において精度の比較を行い, 本研究の訂正システムの精度が高いことを確認した。

## 2 関連研究

## 2.1 入力誤り

入力誤りは大きく分けて人間に由来するものと, 機械による自動認識に由来するものに分類できる。前者はキーボードの打ち間違いによって発生するスペルミスや, 非母語話者や編集ミスによって発生する文法誤り, 後者は光学文字認識 (OCR) や音声認識 (ASR) における認識誤りなどがあり，それぞれ訂正システムの研究がなされてきた (Sakaguchi et al. 2017; Yuan and Briscoe 2016; 竹内, 松本 1999; Errattahi et al. 2018). 本研究では, 多くの場合文章入力時にはキーボードが用いられると想定し，スペルミスと文法誤りを対象として扱う。また，特に母語話者の書いたテキストにおける入力誤りを対象として扱う。そのため, 文法誤りに関して本研究では, 非母語話者によって発生する大きな訂正が必要な誤りではなく, 母語話者の編集ミスによって発生するような些細な誤りを想定する.

Damerau はスペルミスを, deletion, insertion, substitution, transposition の 4 カテゴリに分類している (Damerau 1964). 本研究では, 誤変換も日本語においては代表的な入力誤りであると考え, Damerauの分類に対応するカテゴリ（脱字，衍字，誤字，転字）に誤変換を加えた 5 力テゴリの分類を用いる.

## 2.2 Wikipediaを利用した入力誤りデータセット

Max ら (Max and Wisniewski 2010) は Wikipedia の編集履歴からフランス語スペルミスデー タセットを構築している. 彼らの手法は編集前と編集後の差分をとり, 変化のあった単語対を取り出すというものである。この方法は, 編集のあった単語対が容易に特定できることを前提としている.フランス語などの単語区切りが空白文字でなされている言語においては, 編集された単語の特定は容易である。しかし, 単語分割の必要がある日本語などの言語では, スペルミスが単語分割に悪影響を及ぼすことで，結果として複数の単語の編集となる場合がある。その場合, 彼らの手法を日本語に直接適用するだけでは，単語分割に悪影響を及ぼす入力誤りを収集することはできない，本研究では，このような入力誤りも収集できるように，単語単位ではなく文字単位の編集に着目した手法を用いる.

金山ら (金山，荻野 2011) は日本語 Wikipedia の編集履歴から編集パターンの抽出を行ってい

る. 彼らは編集を, 形式修正・表記修正・内容修正の 3 種類に分類し，その分類器を作成している. このうち表記修正は, 本研究で扱う入力誤り訂正に近いと考えられるが, 両者は異なる.「コンピュータ」と「コンピューター」などのカタカナ語表記を統一する編集を, 彼らは表記修正として扱うが，これは編集前も編集後も日本語書き言葉の文として自然であるため, 本研究では入力誤り訂正として扱わない。そのため, 彼らの分類器を入力誤り訂正の抽出に直接利用するのは難しい。また，彼らのデータは公開されていない.

## 2.3 公開されている日本語入力誤りデータセット

公開されている日本語入力誤りデータセットに, GitHub Typo Corpus (Hagiwara and Mita 2020) がある.これは $\mathrm{GitHub}^{2}$ の commit ログから構築した多言語入力誤りデータセットである. Hagiwara らは commitログ中の編集を, mechanical, spell, grammatical, semantic の 4 種類に分類し, このうち semantic を除く 3 種類の編集を入力誤りとして, 分類器を学習し, それを用いることで，入力誤りデータを取り出している。日本語データのサイズは 1,500 文ほどである. その中には英単語のスペルミスも含まれているため, 日本語の入力誤りに限定すると数はさらに少なく, ニューラルモデルの学習には十分なサイズではない. そのため, 本研究ではテストセットの1つとして利用することにした.

公開されている日本語スペルミスデータに, Babaらのものがある (Baba and Suzuki 2012). Baba らはクラウドソーシングでワーカーにテキストを書かせ，バックスペースを含むキーストロークの情報から英語と日本語のスペルミスデータを得て, スペルミスの頻度を調査している。日本語データが公開されているが，単語単位で収集されている英語デー夕と違い，単位が明確ではなく, 1 単語から複数の節まで幅があり, 利用しづらい. 加えて, データはキーストローク情報であるアルファベット列であり，本研究の誤変換に相当するデータは含まれていない.

公開されている日本語文法誤りデータセットに NAIST Lang-8コーパスがある (Mizumoto et al. 2011). これは言語学習者向けの Web サイトである Lang-83 から構築した多言語文法誤りデータセットである，日本語のデータサイズは約 850,000 文である．Lang-8コーパスは非母語話者が生成したテキストから構築されているため, 文の大部分が訂正されたものが含まれる.本研究で収集する入力誤りに含まれる文法誤りは，助詞の誤りなどの編集距離の小さな, 日本語話者によって書かれた文章でも見られるような文法誤りであり, その点で Lang-8コーパスとは異なっている。


## 2.4 入力誤り訂正システム

かつては, OCR や ASR も含め, 入力誤り訂正は noisy channel model を用いた統計的機械翻訳の枠組みが主流であったが (Hládek et al. 2020; Brill and Moore 2000; 竹内，松本 1999), 近年では，ニューラルモデルを用いた手法が成功を収めている (Sakaguchi et al. 2017; Yuan and Briscoe 2016; Mokhtar et al. 2018; Errattahi et al. 2018).

文法誤り訂正において成功を収めているニューラルモデルの一つに BART (Lewis et al. 2020) がある。 BART は Transformer (Vaswani et al. 2017) を用いた seq2seq モデルであり，大規模な生コーパスで事前学習した後に, 各タスクで fine-tuningするモデルである. BART の事前学習はノイズに加えられたテキストを復元するタスクを行う，現在, 英語の事前学習済みモデルが公開されている ${ }^{4}$. Katsumata らはBART を用いて英語の文法誤り訂正を行っており, 事前学習済み BART を文法誤り訂正タスクで fine-tuning するというシンプルな手法ながら, 既存の SOTA に近い結果が得られたと報告している (Katsumata and Komachi 2020). 本研究では, ベースラインとして, 同様に事前学習済み BART を入力誤り訂正タスクで fine-tuning し, 日本語入力誤り訂正システムを構築する。また, 多言語において BART と同様の事前学習をしたモデルとして mBART (Liu et al. 2020) があり, 日本語を含む 25 ヶ国語で事前学習したモデルが公開されている ${ }^{5}$. Katsumata らが行った実験では，単言語で事前学習済みの BART を用いた英語での結果と比べると, mBART を用いたドイツ語などの言語での文法誤り訂正の精度は低かった。 そのため, 本研究では，事前学習済みモデルとして公開されている mBARTを利用せず，日本語でBART を事前学習し，それを用いて入力誤り訂正システムを構築する。

ニューラルモデルでは, 学習データサイズを大きくすることで精度が向上する傾向がある. そのため, 実際のデー夕に似たデー夕（疑似デー夕）を生成し，学習デー夕に加える手法がこれまでなされてきており (Sennrich et al. 2016a)，スペルミス訂正 (Li et al. 2018)，文法誤り訂正 (Kiyono et al. 2019) においても精度が向上したと報告されている. 本研究においても，疑似入力誤りデータを生成して，学習に用いる実験を行い，精度が向上するか確認する.

## 3 大規模入力誤りデータセット JWTD の構築手法

日本語 Wikipediaの編集履歴から入力誤りとその訂正文ぺアを図 2 に示す流れで収集し, JWTD を構築する。まず, Wikipediaの編集履歴に前処理を行った後, マイニングを行い, 入力誤りとその訂正文ぺアの候補を取り出す。その後, 入力誤り訂正ではないと考えられる編集をフィルタリングすることで，JWTDの誤字・脱字・衍字・転字・誤変換の入力誤りデータを得る．次
^{4}$ https://github.com/pytorch/fairseq/tree/master/examples/bart

 }^{5}$ https://github.com/pytorch/fairseq/tree/master/examples/mbart


図 2 JWTD の構築の流れ。

に，得られた誤字・脱字・衍字・転字・誤変換の入力誤りデータを用いて BART を fine-tuning し（6.1 節で後述 $)$, 得られたモデルの尤度を用いたフィルタリングを行って，JWTDのその他の入力誤りデータを得る.

## 3.1 Wikipedia の前処理

XML ダンプで配布されている Wikipedia の編集履歴から入力誤りとその訂正文ぺアを取り出すために，まず種々の前処理を行う．1 文内に編集のある文ぺアを以下の方法で取り出す.

(1) 全てのページの全ての版を含む XML ダンプの Wikipedia の編集履歴から, 編集コメントを取り出す。荒らしなどの不適切な編集を取り除くため, 編集コメントを基に Wikipedia の版全体から undo や revert されている版を特定し，それらを取り除く。

（2）Wikipedia 特有のマークアップを取り除き，それぞれの版の本文テキストを取り出す.これには WikiExtractor6 6 を用いる。ここで，パラグラフごとに改行されている本文テキストを 1 文ごとに改行する。

（3）それぞれのページのそれぞれの版でその直前の版と行単位で diffをとり，1 文の中に編集のある文ぺアのみを取り出す. 行単位の diffには Python 3 difflibライブラリ 7 を利用する.ここで編集後が 10 文字以下の文と 200 文字以上の文の場合その文ぺアを取り除く. これは，短すぎる文は入力誤り訂正かどうかを判定するには文脈が不足しており，長過


ぎる文は通常の文ではない可能性が高いためである.

(4) $\lceil\mathrm{A} \rightarrow \mathrm{B}\rfloor, 「 \mathrm{~B} \rightarrow \mathrm{A}\rfloor$ というように編集が循環している文ぺアは, 編集者の間で論争が起きている編集8である可能性がある。これらはいずれが適切な編集かを機械的に判断するのが難しいため, 同一ぺージ内に編集が循環している文ぺアが存在する場合, どちらも取り除く。また, 「A $\rightarrow \mathrm{B}\rfloor, 「 \mathrm{~B} \rightarrow \mathrm{C}\rfloor$ というように編集が推移している場合， $\mathrm{B}$ はまだ不適切な文であると考えられる。そのため, 同一ページ内に，このように編集が推移している文ぺアが存在する場合，「A $\mathrm{A} \mathrm{C}\rfloor$ というように編集を統合した文ぺアに変換する。

## 3.2 マイニング

前節で得られた編集のある文ぺアから，入力誤りとその訂正を有している可能性のある文ぺアを取り出す. 対象の入力誤りは誤字・脱字・衍字・転字・誤変換の 5 カテゴリとする．編集箇所が以下に示す条件を満たす文ぺアを，それぞれのカテゴリとして取り出す。ここで，1つの編集箇所が複数の条件を満たすことはない。また，1つの文ぺアが複数の編集箇所を持ち，それらが異なるカテゴリの条件を満たす場合，その文ぺアは複数カテゴリとして取り出す.

## 誤字: 1 文字の入れ替え

(例) 入力誤り兄の部隊の所属していた兵士でもあり、...

訂正兄の部隊に所属していた兵士でもあり、...

条件・編集箇所における文字単位編集距離が 1

・ 編集箇所の文字数変化が 0
- 編集のあった文字は編集前と編集後ともに, ひらがな又はカタカナ

## 脱字: 1 文字の抜け

(例) 入力誤り ... 民間レスキュー組織をもっていること知られる。

訂正 ... 民間レスキュー組織をもっていることで知られる。

条件・編集箇所における文字単位編集距離が 1
- 編集箇所の文字数変化が +1

・ 挿入文字は, ひらがな又はカタカナ
^{8}$ https://ja.wikipedia.org/wiki/Wikipedia:編集合戦
}
衍字

(a): 余分な 1 文字の挿入

(例) 入力誤り特に免疫力の差などがそううである。

訂正特に免疫力の差などがそうである。

条件・編集箇所における文字単位編集距離が 1

$\cdot$ 編集箇所の文字数変化が -1

・ 削除文字は,ひらがな又はカタカナ

(b): 直前の文字列と一致する 2 文字以上の余分な文字の挿入

(例) 入力誤り高校在学中の 1963 年に虫プロに入社に入社。

訂正高校在学中の 1963 年に虫プロに入社。

条件・編集箇所がその直前もしくはその直後の文字列と一致する

・ 編集箇所の文字数変化が -1 以下
- 削除文字は, 編集箇所の文字数変化が -1 ならば漢字, -2 以下ならばひらがな又はカタカナ又は漢字

## 転字: 隣接する 2 文字間の転置

(例) 入力誤り現在のことろ、大滝最後の新曲になっている。

訂正現在のところ、大滝最後の新曲になっている。

条件・編集箇所における文字単位編集距離が 2
- 編集箇所における文字単位ダメラウ・レーベンシュタイン距離 (Damerau 1964) が 1

・編集のあった文字は編集前と編集後ともに，ひらがな又はカタカナ

## 誤変換

(a): 同一の読みを持つ漢字の入れ替え

(例) 入力誤りまだ、全学全てが大学院に以降していないため、...訂正また、全学全てが大学院に移行していないため、...

条件・編集箇所における編集前後の読みが一致
- 編集のあった文字は編集前と編集後ともに, 漢字を含む
(b): 近い読みを持つ漢字の入れ替え

(例) 入力誤り交代龍が戦死ではなく、「アメリカに旅立つため」...訂正交代理由が戦死ではなく、「アメリカに旅立つため」...

条件・編集箇所における編集前後の読みが，誤字または脱字または衍字 (a) または転字を含む

・編集のあった文字は編集前と編集後ともに，漢字を含む

編集箇所は Juman++ (Tolmachev et al. 2018) ${ }^{9}$ の形態素単位での差分箇所とする．差分の計算には Python 3 difflibライブラリを用いる。ここで，差分箇所が隣接している場合はそれらをひ

収集できる。漢字の読みの解析には Juman++と IPA 辞書を用いた MeCab (Kudo et al. 2004) ${ }^{10}$ を用い，どちらか一方において条件を満たせばよいことにする。文字の種類（ひらがな・カ夕カナ・漢字）の判定には，Python3 regex ${ }^{11}$イブラリを用いる.

## 3.3 フィルタリング

前節のマイニングで得られた文ぺアには，入力誤り訂正とは関係ないと考えられる編集も含まれる。それらを取り除くため，以下の方法でフィルタリングを行う。

品詞・形態素解析マイニングで得られた文ぺアには，以下のような人名・時制・Wikipedia 特有のスタイルに関する編集が多く見られる。

（1）編集前これに対し、若き科学者・芹沢大介の発明したオキシジェン...

編集後これに対し、若き科学者・芹沢大助の発明したオキシジェン...

(2) 編集前白浜町に設置されるインターチェンジは以下のようになる。編集後白浜町に設置されたインターチェンジは以下のようになる。

（3）編集前絵画とは、基本的には、線や色彩をもちいて、物の形や姿を...

編集後絵画は、基本的には、線や色彩をもちいて、物の形や姿を...

(1)はフイクションでの登場人物の人名に関する編集, (2) は時制に関する編集, (3) は Wikipedia で特に頻繁に見られたスタイル統一のための編集である。これらは，文脈によっては編集後が
^{9}$ https://github.com/ku-nlp/jumanpp

10 https://taku910.github.io/mecab/

11 https://pypi.org/project/regex/
}
内容として適切な文かもしれないが，この 1 文においては, 編集前も編集後も書き言葉の文として自然である. そのため, これらは入力誤り訂正ではないと考え, 形態素解析器 Juman++の解析結果を用いて取り除く，編集箇所の解析結果に品詞細分類が人名であるものを含む場合，人名に関する編集として取り除く，編集箇所の解析結果の原型が編集前後で同一であり，活用形が基本形と夕形のペアの場合，時制に関するものとして取り除く．編集箇所が「と/は」と「は」 のペアであり「と」の品詞が格助詞の場合, (3)のようなスタイル統一の編集として取り除く.

リダイレクトデータマイニングで得られた文ぺアには，記事内で用いる用語を統一するための編集が多く見られる。

$
\begin{aligned}
& \text { 編集前 } 1840 \text { 年 - ジョージ・ウォルフ、ペンシルバニア州知... } \\
& \text { 編集後 } 1840 \text { 年 - ジョージ・ウォルフ、ペンシルベニア州知... }
\end{aligned}
$

「ペンシルバニア」「ペンシルベニア」のような単語は表記は異なるが，どちらも書き言葉の文として自然であり，この編集は入力誤り訂正ではないといえる．Wikipediaではこのような単語を検索すると，どちらも同一ぺージに遷移するリダイレクト機能 ${ }^{2}$ がある。この情報を用いて,このような単語間での編集を含む文ぺアを取り除く。

言語モデルマイニングで得られた文ぺアには，以上に挙げた以外にも，以下のような本研究の定義する入力誤りとは関係のない些細な編集が多い.

編集前 ...を受けた後に大幹部に抜擢されて、日本支部長に就任した。編集後 ...を受けた後に大幹部に抜擢され、日本支部長に就任した。

（6）編集前 $\ldots$ て「フェニックス」を掲げ、新たに都市開発に取り組んだ。編集後 $\ldots$ て「フェニックス」を掲げ、新たな都市開発に取り組んだ。

また，記事によっては，日本語の通常の文ではない文字列で編集が見られることがある．以下は，漢文の引用中で見られた編集である.

（7） 入力誤り ... 數法日月星辰，敬授民時，分命羲仲居鬱夷曰：暘谷，敬道日出，...訂正 ... 數法日月星辰，敬授民時，分命羲仲居嵎夷曰：暘谷，敬道日出，... このような文字列は，日本語文として編集前も編集後も不自然であるため, 取り除くことが望ましい.


 &  \\

表 1 「今日はいい【転機 $\rightarrow$ 天気】だ。」を事前学習済みの BART モデルで尤度計算する際に与える入出力.

これらのような編集のパターンは無数に存在し，それらをフィルタリングするルールを包括的に記述するのは困難である，そこで， BART と LSTM モデルを用いて，2つの方法でフィルタリングを行い上記のような編集を取り除く。

1つ目は 6.1.1 節で後述する事前学習済み BART での尤度をもとにフィルタリングを行う。これは，(5)，（6）のような編集を持つ文ぺアを対象としたフィルタリングである．表 1 のように訂正箇所を $[\mathrm{mask}]$ トークンで置換した文を入力して, 編集前・編集後の文が出力される尤度をそれぞれ計算する。尤度が大きいほどその言語モデルにとってその文が自然なものであるといえるため，編集による尤度の増加が大きいものは入力誤り訂正である可能性が高いと考えられる。それぞれの入力誤りの種類で閾値を定め, 編集による尤度の差が閥値より小さい文ぺアを取り除く.ここで, 衍字 (b)・転字・誤変換 (a) にはこのフィルタリングは行わない. 衍字 (b) においては精度が十分高い，転字においてはデー夕量が少ない，誤変換 (a)においては「若干 $\rightarrow$弱冠」などの高頻度語から低頻度語への正しい訂正が取り除かれるためである. 閥値は, 4.3.1 節で後述の入力誤り評価データの作成方法と同様の方法で収集した入力誤りかどうかのラベル付きデータ 10,000 文ペアを基に，F 值を最大化するように決定する．

2 つ目は，訂正後の文を文字単位 LSTM 言語モデルに入力した際に出力される，文字単位尤度の平均をもとにフィルタリングを行う．これは，(7)のような文ぺアを対象としたフィルタリングである。文字単位 LSTM 言語モデルの学習データには日本語 Wikipedia の最新ぺージ全てを使う，編集後の文の文字単位尤度平均が小さい場合, 編集後の文が不自然な文と考えられる。閾値を定め, 文字単位尤度平均が閾値より小さい文ぺアを取り除く。閾値はヒューリスティックに決定する。

以上の, 品詞・形態素解析, リダイレクトデータ，言語モデルを用いたフィルタリングを通過したものを，誤字・脱字・衍字・転字・誤変換の入力誤りデータとする.

## 3.4 その他の入力誤りデータ収集

前節までの方法は特定のカテゴリを対象として入力誤りを収集するため，収集できない入力誤りが存在すると考えられる，例えば，誤字カテゴリでは文字単位編集距離が 1 である入力誤りのみを対象としており，編集距離 2 以上の誤字は収集できない。また, 編集距離 2 以上の編

 &  \\

出力 & 今日はいい天気だ。 \\

表 2 「今日はいい【転機 $\rightarrow$ 天気】だ。」を入力誤り訂正タスクで fine-tuning 済みの BART モデルで尤度計算する際に与える入出力.

集は, 編集距離 1 のものに比べて，入力誤り訂正以外の編集の割合が高いため, 3.2 節のマイニングの編集距離条件を 2 以上に緩め, 3.3 節のフィルタリングを同様に行う方法では不十分な質のデータしか得られない。そこで, 編集距離 2 以上の誤字などの入力誤りの収集では，入力誤り訂正を学習したモデルを用いて，入力誤り訂正である可能性が高い編集をその他の入力誤りとして収集する。この入力誤り訂正モデルには, 誤字・脱字・衍字・転字・誤変換の入力誤りデータで fine-tuning した BART モデルを用いる（6.1.2 節で後述）。表 2 のように編集前の文を入力に与え, 編集前・編集後の文が出力される尤度をそれぞれ計算する．編集による尤度の増加が大きいものは, その編集が入力誤り訂正である可能性が高いと考えられる。閾値を決めて,訂正による尤度の差が間値より大きいものをその他として収集する。閾値決定には, 4.3.1 節で後述の入力誤り評価データの作成方法と同様の方法で収集した入力誤りかどうかのラベル付きデータのうち，マイニング（3.2 節）を適用した際にふるい落とされる 7,962 文ぺアを用いる.適合率がフィルタリング（3.3 節）までのデータセット構築手法の適合率（4.3.2 節で後述）以上であり，かつ，再現率を最大化するように闇值を決定する。その他の収集対象例を以下に示す. その他では, 編集距離が 2 文字以上の誤字の他にも, 漢字の脱字など様々なものが対象となる.

## その他

(例 1) 入力誤りダイオキシン類は、非意図的に発生しまう物質であり、主に...

訂正ダイオキシン類は、非意図的に発生する物質であり、主に...

(例 2) 入力誤り登場人については、魔導物語及びぷよぷよシリーズの...

訂正登場人物については、魔導物語及びぷよぷよシリーズの...

## 4 JWTD の分析と評価

## $4.1 \mathrm{JWTD$ の分析}

3 章の手法を 2019 年 6 月の日本語 Wikipedia に適用し, JWTD を構築した. JWTD のデー タサイズを表 3 に示す. ここで，複数カテゴリの入力誤りを有する文ぺアはそれぞれのカテゴリで重複してカウントしている。そのため, 各カテゴリの文ぺア数の合計と全ての文ぺア数は

表 3 JWTDのサイズ.

一致していない. 合計約 70 万文ぺアの入力誤りデータが得られた ${ }^{13}$.

JWTD における各入力誤りの上位 10 個の訂正を表 4 に示す。訂正の単位は Juman++で訂正前・後の文をそれぞれ形態素分割した形態素列での最小編集である.

脱字に「る $\rightarrow$ いる」「+い」が見られるが，それらは主に以下のような，い抜きことばの訂正であった.

（8） 入力誤り ... 基本的に C Dデビューをしてない人を指す。

訂正 $\quad .$. 基本的に C Dデビューをしていない人を指す。

い抜きことばは話し言葉で用いられるが，書き言葉においては一般に不適切とされる。百科事典である Wikipediaでは書き言葉が適切であり，1 章で述べたように本研究ではい抜きことばも入力誤りとしている.

転字は他と違い，カタカナ文字での訂正が多い傾向が見られた。また，表にあるような「シュミレーター $\rightarrow$ シュレーター」は， 入力誤りによってではなく，前後の音が入れ替わる音位転換 (斎藤 2010) と呼ばれる言語現象によって生じている可能性がある．JWTD の転字は音位転換の言語資源としての活用も考えられる.

誤変換 (a) では, 「製作 $\rightarrow$ 制作」「運行 $\rightarrow$ 運航」のように意味が似ている漢字間の訂正が見られた。これらの漢字は使い分けの判断が難しく，また，入力誤りとは言えないものも含まれる.また, 誤変換 (b) では, 「声優 $\rightarrow$ 俳優」のように入力誤り訂正ではなく, 意味的な訂正であると考えられるものが見られる。このようなものを取り除くことは今後の課題である.

その他では, 他のカテゴリがカバーしていない, 「月 $\rightarrow$ 年」といった漢字における誤字などや,「+する」といった 2 文字以上の脱字といった多様な入力誤りが収集できていることがわかる.次に JWTD における各入力誤りでの品詞における上位 5 個の訂正を表 5 に示す.


表 4 上位 10 個の入力誤り（値は各カテゴリにおける総編集箇所数に対する\%）。｣は左から右への編集，「十」は追加する編集，「一」は削除する編集を表す.

誤字・脱字・衍字 (a) の 1 位は助詞に関するものであった。これより，JWTD は文法誤り訂正のデータも多く含んでいることがわかる.

誤字・転字に「未定義語 $\rightarrow$ 名詞」が見られるが，これらは以下のような，カタカナ文字での編集が多かった.

(9) 入力誤りマイクロソフトのエクセツなどの商用ソフトウェアは、この...訂正マイクロソフトのエクセルなどの商用ソフトウェアは、この...

(10） 入力誤り ... 本人の頭が一瞬だけ拡大で映ってしまうハプンニグが起きた。訂正．.. 本人の頭が一瞬だけ拡大で映ってしまうハプニングが起きた。

また，誤字・転字・誤変換 $(\mathrm{b})$ には「(名詞, 名詞 $) \rightarrow$ 名詞」が見られる.これらは入力誤りによって, Juman++の形態素解析における形態素数が変化した例である。実例は以下である.

表 5 上位 5 個の品詞（値は各カテゴリにおける総編集箇所数に対する\%）。「」」は左から右への編集,「十」は追加する編集，「一」は削除する編集を表す。また，「(名詞, 名詞)」等は 2 形態素の編集があった場合のそれらの品詞を表す.

(11) 入力誤り ... 因島市のヘッドタウン的な立場であった。

訂正．.. 因島市のベッドタウン的な立場であった。

(12) 入力誤りメモ付きのポロライド写真

訂正メモ付きのポラロイド写真

（13）入力誤りモンスターズ現代アメリカ決算句短編集 B ・ J・ホラーズ編...

訂正モンスターズ現代アメリカ傑作短編集 B ・ J・ホラーズ編...

それぞれの形態素単位の編集は, (11)「ヘッド/タウン $\rightarrow$ ベッドタウン」, (12)「ポロ/ライド $\rightarrow$ ポラロイド」, (13)「決算/句 $\rightarrow$ 傑作」であり，2 形態素（単語）の訂正が行われたことになる.複数単語に渡る入力誤り訂正は, 単語分割の必要のないフランス語や英語での先行研究 (Max and Wisniewski 2010; Zesch 2012) では収集対象にされておらず，それらの手法では収集できないものである.

## 4.2 クラウドソーシングによる評価

クラウドソーシングを用いて, JWTD の評価を行った. 評価対象はランダムに選んだ記事 3,000 ページ中から得られた文ぺアを用いた. 同じ訂正が数多く存在しているぺージが存在したため，データの偏りを避けるために，選ばれたぺージ内に同一の訂正が 4 つ以上含まれていた場合，そのうちの 3 つのみをランダムに採用した。評価対象となった文ぺア数を表 6 に示す.

## 4.2.1 タスク内容

編集前と編集後の文を同時に提示して，それぞれ書き言葉として自然かどうかを質問した。 このとき，提示する際は単に文 $\mathrm{A}$ ，文 B として提示し，どちらが編集前か編集後かをわからないようにした，選択肢は「Aは書き言葉として自然な文であるが，B は不自然な文である」，「B は書き言葉として自然な文であるが，A は不自然な文である」，「どちらの文も自然である」，「どちらの文も不自然である」，「わからない」の 5 とした。 それぞれの文ぺアにつき 10 人のワー カーに回答してもらった。

## 4.2.2 結果

文ぺアのうち，1つの選択肢が過半数の票を持つ編集を，その回答によって分類した. 過半数を超えている回答が「A は書き言葉として自然な文であるが，B は不自然な文である」もしくは「B は書き言葉として自然な文であるが，A は不自然な文である」の場合は，編集前の文が不自然・編集後の文が自然という回答のとき「正しい訂正」，編集前の文が自然・編集後の文が不自然という回答のとき「間違った訂正」と分類した，過半数を超えている回答が，「どちらの文も自然である」の場合「どちらも自然」「どちらの文も不自然である」の場合「どちらも不自然」,「わからない」の場合「わからない」と分類した. どの選択肢も過半数の票を持たないものは「その他」に分類した。このようにして得られた分類結果を表 7 に示す.

表 6 クラウドソーシングの評価対象データサイズ.

表 7 クラウドソーシングによる JWTD 評価結果（値は\%）.

ここで，過半数を超えている回答が，編集前の文が不自然・編集後の文が自然という回答のペアを「正しい訂正」，編集前の文が自然・編集後の文が不自然という回答のペアを「間違った訂正」と分類している.

全体では $72.7 \%$ のぺアが「正しい訂正」と分類された．脱字の「どちらも自然」が $19.7 \%$ と他と比較して高いが, このうち $27.2 \%$ が以下のような「の」の抜けであった.

$
\begin{array}{ll}
\text { 入力誤り } & \text { 播磨国龍野藩 } 10 \text { 代 (最後) 藩主。 } \\
\text { 訂正 } & \text { 播磨国龍野藩 } 10 \text { 代 (最後) の藩主。 }
\end{array}
$

「の」の抜けの編集は，「どちらも自然」に分類されたものが $44.6 \%$ に対して，以下の (15)のような「正しい訂正」に分類されたものも $37.9 \%$ り，「の」の抜けが入力誤りであるかどうかは，文脈によるといえる。

（15） 入力誤り ... 降伏条件の実施ため必要と認める措置を執る...

訂正 ... 降伏条件の実施のため必要と認める措置を執る...

このような「どちらも自然」な編集を取り除く方法として, 3.3 節の言語モデルフィルタの改良などの方法が考えられ，今後の課題である.

転字の「わからない」「その他」の割合が他より高い，転字では，以下のようなカタカナ文字での編集が多く，入力誤りかどうかの判断には知識が必要とされるためだと考えられる.

(16) 入力誤り六本木一丁目にあるカリーヴスルトを食べられるインビス訂正六本木一丁目にあるカリーヴルストを食べられるインビスこれらの中には例のような,「正しい訂正」と分類されるべきものも多く見られたため，転字の
「正しい訂正」の実際のスコアは表よりも高い可能性がある.

誤変換 (a) は「その他」の割合が高いことから，ワーカーの判断が分かれていることがわかる.これは, 誤変換 (a) の訂正は他と違い漢字の知識を必要とするためだと考えられる。また,誤変換 (a)の「間違った訂正」と分類された中には以下の (17)のような「正しい訂正」とされるべきものが含まれていた。そのため，誤変換 (a)の「正しい訂正」の実際のスコアは表よりも高い可能性がある.

入力誤り E S I E は若干２０歳にして単なるアーティストではなく...

訂正E E I E 弱冠 20 歳にして単なるアーティストではなく...

## 4.3 入力誤り評価データによる評価

3 章の手法で構築した JWTD は主に特定のカテゴリの入力誤りを対象として収集するため,収集から漏れた入力誤りが存在すると考えられる。そのため, 適合率だけではなく再現率も含めた評価を行うことが望ましい，再現率を評価するためには，カテゴリの制限のない網羅的な入力誤りデータが必要である。そのような入力誤りデータを収集し，それを用いて JWTD 構築手法を評価した。

## 4.3.1 入力誤り評価データの作成

クラウドソーシングを用いて網羅的に入力誤りデータを収集し，それを入力誤り評価データとした。クラウドソーシングに用いたデータは， 3.1 節で取り出した編集箇所を持つ文ぺアからランダムに選んだ 11,000 文ペアである.

タスク内容質の良い評価データを作るために，2 段階の方法でクラウドソーシングを行った. どちらもそれぞれ 5 人のワーカーに回答してもらった.

1 段階目のタスクは，編集がどのような編集かを分類するタスクである。編集前と編集後の文を提示して，「内容の変更・追加・削除」，「表現の変更 ・追加・削除」，「誤字・脱字・衍字 $\cdot$漢字の変換ミスの修正」「その他・わからない」の 4 つの選択肢の中から 1 つ選んでもらった.「誤字・脱字・衍字・漢字の変換ミスの修正」が過半数を得た文ぺアを入力誤りに関係するぺアとし，2 段階目のタスクの対象データとした。

2 段階目のタスクは 4.2.1 節のタスクと同じく, 編集前後の文が自然かどうかを問うタスクである。

結果 1 段階目のタスクにおいて,「誤字・脱字・衍字・漢字の変換ミスの修正」が過半数を占めた文ぺアは 1,773 個であった。それらを対象に行った 2 段階目のタスクで，編集前の文が不自然・編集後の文が自然という回答が過半数を占めた文ぺアは 1,127 個であった. この 1,127 個の文ぺアを入力誤り評価データとした。

## 4.3.2 評価結果

入力誤り評価データを含む，4.3.1節でクラウドソーシングに用いた 11,000 文ぺアに対し， 3 章の手法を適用して JWTD の構築手法を評価した。JWTD 構築手法を適用して得られた文ぺアを $J$, 入力誤り評価データを $G$ とし, $|J \cap G| /|J|$ を適合率, $|J \cap G| /|G|$ を再現率として計算する（|X| はX の文ぺア数を表す)，結果を表 8 に示す.

JWTD の構築手法の評価結果は適合率 $73.4 \%$, 再現率 $62.4 \%$ となった. また, 表からマイニング，フィルタリング，その他カテゴリの入力誤りの収集を経ることで， $\mathrm{F}$ 值が向上していることが確認できる。

入力誤り評価データのうち, JWTD の構築手法で取り出せなかったものは, 3.3 節の事前学習済み BART モデルを用いたフィルタによって取り除かれたものが多かった. 実際, 表 8 のマイニング後とフィルタリング後の間での, 再現率低下の $70 \%$ BART モデルフィルタによるものであった. 以下に BART モデルフィルタによって取り除かれた入力誤り例を示す.

$
\begin{array}{ll}
\text { 入力誤り } & \ldots \text { 売買を阻止、地域の健康プログラムを支援と、自身の縄張り ... } \\
\text { 訂正 } & \ldots \text { 売買を阻止、地域の健康プログラムの支援と、自身の縄張り ... }
\end{array}
$

一方で，BART モデルを用いたフィルタは以下の (19)のような入力誤り訂正ではない編集を取り除くことで，適合率の向上に大きく貢献している。実際, 表 8 のマイニング後とフィルタリング後の間での, 適合率向上の $88 \%$ が BART モデルフィルタによるものであった.

（19）編集前 ...のでは」との憶測を抱いたファンが多かったらしく、鈴木自...

編集後 ...ののては」との憶測を抱いたファンは多かったらしく、鈴木自...

BART モデルフィルタは適合率の向上とともに再現率の低下をもたらしており，その再現率の低下を抑えることが今後の課題といえる。

また，数は少ないながら，以下のような漢字の読みに関するもの $(20)$, 似た見た目の漢字 $(21)$ の入力誤りも JWTD の構築手法では取り出せていなかった. このような入力誤りは, 3.4 節のその他カテゴリの収集に用いるモデルを改良することによって, 収集できる可能性があり，今

表 8 データセット構築手法の評価（適合率・再現率・F 値の値は\%）.
後の課題である.

入力誤り米津玄師（こめつけんし、1991 年（平成 3 年） 3 月 10 日 - ）...

訂正米津玄師（よねづけんし、1991年（平成 3 年） 3 月 10 日-）...

（21） 入力誤り B I Mの中に空気や鹿が吸い込まれていく真空モードに入る。

訂正BIMの中に空気や塵が吸い込まれていく真空モードに入る。

## 5 入力誤り訂正システム

本研究では入力誤り訂正システムに用いるニューラルモデルとして, seq2seq 事前学習モデル BART を採用する. BART を日本語テキストで事前学習し, その後, JWTDを用いた入力誤り訂正タスクで fine-tuning することで, 入力誤り訂正システムを構築する. 本研究では入力誤り訂正タスクのみで fine-tuning する方法の他に, fine-tuning 時に漢字の読みの推定を同時に学習を行う方法, fine-tuning 時に JWTD に加えて疑似データを用いて学習する方法を提案する.

## 5.1 BART

BART は Transformer をべースとした seq2seq 事前学習モデルである．事前学習モデルは，大規模な生コーパスで自己教師学習を行い (事前学習), その後目的のタスクで fine-tuning を行うモデルである. seq2seq モデルである BART の他には, 言語モデルの BERT (Devlin et al. 2019) などがある．BARTで行う事前学習のタスクは，ノイズを加えられたテキストから元のテキストを生成するものであり, token masking, token infilling, token deletion, sentence permutation, document rotation の 5 種類がある。例を表 9 に示す. token masking と token infilling はテキスト内のトークンを maskトークンに置き換えるノイズである。両者の違いは，前者は 1 個のトー

表 9 「A B C.D E.」に対して BART の事前学習タスクのノイズを加えた例（_は maskトークンを表す).

クンを 1 個の maskトークンに置き換え，後者は 0 個以上のトークンを 1 個の maskトークンに置き換える点である. token deletion はトークンを削除するノイズ, sentence permutation は文章中の文を入れ替えるノイズ， document rotation は文章を転回させるノイズである. Lewis ら (Lewis et al. 2020) が NLI どのいくつかのタスクでBART を fine-tuning した実験では, text infilling のみで事前学習を行ったモデル, text infilling と sentence permutation で事前学習を行ったモデルの精度が高かった. 本研究では, 本研究の入力誤り訂正タスクは 1 文単位で行うことから, sentence permutationのノイズは不必要であると考え, text infilling のみで事前学習をする。また，本研究では事前学習済み BART をJWTD の入力誤り訂正タスクで fine-tuning したものをべースラインとする.

## 5.2 読み推定の同時学習

本研究で扱う入力誤りのうち, 誤変換は漢字の読みが同一または近い誤りである。そのため,漢字の読みの情報は，誤変換の訂正に役立つことが予想される，本研究では， 入力誤り訂正夕スクと同時に漢字の読みを推定するタスクを学習する手法を提案する．漢字の読みを推定するタスクは，原文からその読みを出力するタスクと原文の読みから元の原文を出力するタスクの 2 種類とする．表 10 に原文からその読みを出力するタスクの例を示す。それぞれ及びそれら両方のタスクを入力誤り訂正タスクとを同時に学習するモデルを作成し, ベースラインと精度比較する。

## 5.3 疑似データ

ニューラルモデルはデータを増やすと精度が向上する傾向があり, 文法誤り訂正や機械翻訳ではデータセットサイズを大きくするために，疑似的なデータを生成し，そのデータを学習デー 夕に加える手法が成功を収めている。疑似データを生成する代表的な手法に, 逆翻訳 (Sennrich et al. 2016a) がある。逆翻訳は, 原言語から目的言語への変換である翻訳の学習において, 原言語と目的言語の対データサイズが小さいが，目的言語のデータは十分にある場合に用いられる手法である．翻訳とは逆向きである，目的言語から原言語への変換を学習したモデルを用いて, 目的言語データから原言語データを生成し, それらを疑似的に原言語と目的言語の対デー 夕とすることで, 翻訳の学習データサイズの拡張を行う.

本研究でも, 疑似データを作成し, 学習データサイズを増やすことによって精度が向上する

表 10 原文から読みを出力する漢字の読み推定タスクの入出力例.

かを確認する，疑似データは，ランダムに入力誤りを生成する方法と，逆翻訳によって生成する方法で生成する。以下に同一の文から前者で生成した入力誤り $(22)$ と後者の方法で生成した入力誤り $(23)$ の例を示す.

入力誤り ...ナカムラ大統領の手腕が試されぴ大事な新年がスタートした

訂正 ...ナカムラ大統領の手腕が試される大事な新年がスタートした

(23） 入力誤り ...ナカムラ大統領が手腕が試される大事な新年がスタートした

訂正．..ナカムラ大統領の手腕が試される大事な新年がスタートした

このように，ランダムに生成するデータは多様なデータであり，逆翻訳で生成するデー夕は実際の入力誤りらしいデータである。このような 2 種類の疑似データを JWTD に加えて，学習を行う.

## 6 入力誤り訂正システム実験

## 6.1 実験設定

JWTD を利用して，入力誤り訂正システムの実験を行った. BART を事前学習し，JWTDを用いて，入力誤り訂正タスクで fine-tuning する。JWTDの入力誤り訂正タスクのみを学習するモデル (ベースライン), JWTDの入力誤り訂正タスクと漢字の読み推定タスクを同時に学習するモデル（読みの同時学習），JWTD に加え疑似データを用いて入力誤り訂正タスクを学習するモデル（疑似データ）を作成し，これら 3 つのモデルで精度比較を行った。また， ベースラインと Microsoft Word 等の他の校正システムとで精度比較を行った. 精度比較は, 入力誤りのカテゴリごとでの性能，カテゴリを限定しない入力誤り全般での性能，入力誤りを含まない文において不必要な編集を行わないかの 3 種類の観点で行った.

## 6.1.1 BART の事前学習

BART モデルを日本語テキストで事前学習した ${ }^{14}$. 公開されている事前学習済み BART モデルは英語のみである。また，日本語を含む多言語で事前学習した mBART が公開されているが，本研究のタスクでは日本語以外の言語の情報は必要なく, 加えて, mBART の日本語分割基準は我々とは異なり不整合が生じる。そのため, 独自に日本語で事前学習した。事前学習の学習デー 夕には，日本語 Wikipediaの約 1,800万文を用いた。トークン単位は，テキストをJuman++で形態素分割した後にそれらを subword 分割 (Sennrich et al. 2016b) したものを用いた. subword

分割には SentencePiece (Kudo and Richardson 2018) を利用し, 語彙サイズは 32,000 とした.事前学習では text infilling タスクを行った. encoder と decoder がそれぞれ 6 層のモデル (base) とそれぞれ 12 層のモデル (large) で事前学習した。隠れ層の次元は, base は 768 , large は 1,024 である。バッチサイズは 512 とし, baseでは 50 万 step, largeでは 25 万 step 学習した。事前学習に Wikipediaを利用したため，入力誤り訂正評価に用いる，入力誤り評価デー夕と 6.1.2 節で後述の JWTD テストセットのデータの一部が事前学習データにリークしていると考えられる. そのため, これらのデータを用いた評価は厳密な評価ではないことに注意されたい.

## 6.1.2 入力誤り訂正タスク

入力誤り訂正タスクでは, JWTD を以下のように学習・検証・テストセットの 3 種類に分割して得た，学習・検証セットを用いて，各カテゴリの入力誤りデータ，及び，全ての入力誤りデータで fine-tuningを行う.

まず， 4.2 節の評価で正しい訂正と分類された文ぺアを JWTD テストセットとする．次に， JWTD から，JWTD テストセット・入力誤り評価データ（4.3.1 節）を含む記事ページから得られた文ぺアを取り除く，それらのうち，それぞれのカテゴリで 1,000 文ぺアを検証セットとし，他を学習セットとする。なお, このような分割により, 学習に用いる JWTD の学習・検証セットと，評価に用いる JWTD テストセット・入力誤り評価データは, どちらも Wikipedia が収集元であるものの，収集元の記事ぺージは異なる．また，JWTD テストセットはカテゴリごとに分類された入力誤りデータであるため, 入力誤り訂正のカテゴリごとの評価が可能である点が,入力誤り評価データと異なる。JWTDの学習・検証・テストセットのサイズを表 11 に示す.

## 6.1.3漢字の読みの推定タスク

漢字の読み推定タスクでは, 現代日本語書き言葉均衡コーパス (BCCWJ; Balanced Corpus

表 $11 \mathrm{JWTD}$ の学習・検証・テストセットサイズ
of Contemporary Written Japanese (Maekawa et al. 2014)) のコアデータ 40,584 文を学習データとして用いた． 5.2 節で述べたように，漢字の読み推定タスクは，原文を入力して読みを出力するタスクと，その逆向きである，読みを入力して原文を出力するタスクの 2 種類であり，それに加えて両方のタスクを同時に学習するモデルも作成した。ここで，原文は BCCWJ の原文文字列，読みは BCCWJ の発音形出現形を用いた。なお BCCWJ の発音出現形は，例えば「将棋」は「ショーギ」が対応するように，必ずしもキーボードで入力する読みとは一致していない. 本研究では，キーボード入力時の誤り訂正が対象であるため, キーボードで入力する読みが望ましいと考えられる。発音出現形をキーボードで入力する読みに変換したデー夕を用いた実験は今後の課題である。読み推定タスクの入力単位は BCCWJ の短単位を subword 分割したものとした。同時学習を行うモデルでは，まず，入力誤り訂正タスクと漢字の読み推定タスクで fine-tuning した後, 入力誤り訂正タスクのみで fine-tuning した。入力誤り訂正タスクにおいては，JWTDの全ての入力誤りデータを用いた.

## 6.1.4 疑似データ

疑似データを作成し，JWTD と混合したデータで fine-tuning を行う。

疑似データ作成方法疑似データは 5.3 節で述べたようにランダムに入力誤りを生成する方法 （ランダム）と，逆翻訳を行って生成する方法（逆翻訳）の 2 種類である。どちらの方法でも，疑似データを作成するソースデータは読売新聞データを用いた ${ }^{15}$.

ランダムでは， 3.2 節のマイニングの条件を満たすようなノイズをランダムに加えて，誤字・脱字・衍字・転字・誤変換の疑似入力誤りデータを作成する。ここで，ランダムに生成することが困難なその他の入力誤りの生成は行わなかった。誤変換に関しては, Wikipedia 全体の本文テキストを Juman++で形態素解析した読みの情報をもとに，文中の漢字を含む形態素を同一の/近い読みを持つ形態素に置換する方法で生成した。

逆翻訳では，JWTDのその他を除く誤字・脱字・衍字・転字・誤変換の入力誤りを用いて， fine-tuning で訂正後の文から訂正前の文を学習させた BART をもとに逆翻訳を行い，疑似デー 夕を作成する。ここで，ランダムな生成方法と条件を揃えるため，その他の生成は行わなかった. 生成されたテキストに再度マイニング（3.2 節）を行って得られた文ぺアを疑似データとした.

疑似データと JWTD の混合方法fine-tuning に用いる JWTD の入力誤りデータはその他を抜いた誤字・脱字・衍字・転字・誤変換である。JWTD と疑似データを混合したものに対して，疑似データ割合が $0.0 \sim 1.0$ になるように混合した．疑似データの割合が 1.0 の場合は JWTD の学習データと同じサイズとした。混合する際には, それぞれのカテゴリのデータサイズの比率


は JWTD と同様になるようにした，疑似データはランダムのみ，逆翻訳のみ，混合とした．混合はランダムで生成した疑似データと逆翻訳で生成した疑似データをそれぞれ 0.5 の割合で混ぜたものである.

fine-tuning 方法モデルは BART baseを用い，疑似データと JWTD を混合したデータで fine-tuning した後, JWTDのみで fine-tuning を行った.

## 6.2 評価方法

## 6.2.1 入力誤り訂正

評価指標は入力誤り訂正の適合率・再現率・ $\mathrm{F}$ 値を用いた. 入力誤り訂正の適合率・再現率は次の定義で計算した。各文において, 訂正前の文と訂正後の文の文字単位の最小編集 $G$ と,訂正前の文とシステム出力文の文字単位の最小編集 $O$ を求め, $|G \cap O|$ を求める．全ての文における $|G \cap O|$ の合計を $N_{T},|G|$ の合計を $N_{G},|O|$ の合計を $N_{O}$ として, 適合率 $=N_{T} / N_{O}$, 再現率 $=N_{T} / N_{G}$ とした. ここで最小編集の計算には python-Levenshtein ライブラリ16を用いた.

評価には, JWTD テストセット・入力誤り評価データ・GitHub Typo Corpusの３つを用いた. GitHub Typo Corpus は, Hagiwara らの分類器での入力誤りである確率 (prob_typo) が 0.9 より大きい日本語データから, 英語のスペルミス訂正を除いた, 557 文を用いた.

## 6.2.2 他の校正システムとの比較

本研究で構築した入力誤り訂正システムと他の校正システムとで精度比較を行った. 他の校正システムは, Microsoft Word ${ }^{17}$ と Yahoo! 校正支援 API ${ }^{18}$ の 2 つを用いた. 精度比較は, 入力誤りを含む文におけるシステムの入力誤り認識精度と，入力誤りを含まない文におけるシステムの振舞いの 2 つの尺度で行った.

Microsoft Word の設定日本語における入力誤り認識のみの評価に限定するために，校正結果のうち言語設定が日本語とされている箇所のみを評価に用いた. 校正の設定は,「文書のスタイル」を「通常の文」に設定し，他は初期設定のままとした。利用した Word のバージョンは Microsoft Word for Mac 16.48 である.

Yahoo！校正支援 API の設定 Yahoo！校正支援 API は，校正のカテゴリを 17 種類に分けて出力を行う．本研究においては，それら 17 種類のうち, $\mathrm{F}$ 值が最大となるようなカテゴリを選択して，評価を行った， API 利用時期は 2021 年 5 月である.

評価方法二つの校正システムの出力の多くが, 訂正箇所の指摘のみであったため, 入力誤り訂正ではなく，訂正すべき箇所を推定する夕スク（入力誤り認識）で評価した．校正システムが出力した訂正箇所（区間）が，正解の訂正箇所（区間）を含むかどうかを数え上げ，適合率・再現率・ $\mathrm{F}$ 値を計算する，前章で作成した訂正システムにおいては，入力とシステム出力の差分箇所を訂正箇所とした。評価には，入力誤り評価データと GitHub Typo Corpus を用いた。この 2 つを評価に用いたのは，前者はWikipedia，後者は GitHubにおける入力誤りの分布を反映したデータであり，入力誤り認識の総合的な性能の比較に適切なためである. Word においてはそれぞれランダムに 100 個サンプルしたもので我々が人手で評価した.

また，入力誤りを含まない文を入力したときの評価も行った。校正システムは入力誤りのない文での不必要な訂正の提案は行わないことが望ましく，その観点での評価のためである。入力誤りを含まないと考えられる読売新聞データ 100 文を与えて, システムの訂正箇所の数を数えて，比較する。読売新聞データは，記事の見出しを除いた本文のみを用いた。この評価における Yahoo! 校正支援 API で訂正箇所を数え上げる校正カテゴリは，入力誤り評価データでの入力認識誤りの F 值を最大化するカテゴリであり，かつ, GitHub Typo Corpusでの入力誤り認識の $\mathrm{F}$ 值を最大化するカテゴリとした.

## 6.3 結果と考察

## 6.3.1 入力誤り訂正タスク (ベースライン)

JWTD の各カテゴリで fine-tuning し，各カテゴリの JWTD のテストセットで評価した結果を表 12 に示す.ここで,「全て」は JWTD 全てのカテゴリで fine-tuning したモデルを，全てのカテゴリのテストセットを用いて評価した結果を表す.

全体を通して，BART base よりも BART largeの方が高いスコアが得られた．BART baseの転字では正解が 1 も得られなかった。これは学習データ・テストデータ数が不十分であることが理由として考えられる。衍字 (b) は BART base, BART largeとも高いスコアであり，比較的簡単な訂正タスクであるといえる。一方で, 誤変換 (b) は衍字 (b) より学習データサイズが大きいが，スコアが最も低く，最も難しいタスクであるといえる.

入力誤り評価データと GitHub Typo Corpusにおける結果を表 13 に示す.

BART large モデルは適合率 $71.4 \%$, 再現率 $58.6 \%$ であった。表 8 のデータセット構築手法の適合率，再現率と比較して，十分高いスコアだと考えられる。GitHub Typo Corpus におけるスコアは入力誤り評価データに比べて低かった. これは Wikipedia と GitHub の commit ログではテキストのドメインが大きく異なることが原因であると考えられる。

また，正解データの訂正とは異なるため不正解と扱われているが，正しい訂正だと考えられるものがいくつか見られた。それらを以下に示す.

表 12 各カテゴリで fine-tuning したモデルの, 各カテゴリの JWTD テストセットにおける評価結果 (値は\%).

表 13 入力誤り評価データと GitHub Typo Corpusにおける入力誤り訂正評価結果（値は\%）.

(24) 入力誤り造物主であるフォルトゥナが存在する限り、何度もでも復活する。正解造物主であるフォルトゥナが存在する限り、何度でも復活する。 システム造物主であるフォルトゥナが存在する限り、何度も復活する。

（25）入力誤りレオンが不在の間は帝国を守ってていたが、クジンシーの襲撃の受け、...正解レオンが不在の間は帝国を守っていたが、クジンシーの襲撃の受け、... システムレオンが不在の間は帝国を守っていたが、クジンシーの襲撃を受け、...

(24) は，訂正が異なるものの，システムの訂正も妥当な訂正だと考えられる．(25) は，正解デー 夕に入力誤りが残っており，その入力誤りを訂正した例である。このような例が存在するため,実際の入力誤り訂正のスコアは表 13 のものより高い可能性がある.

## 6.3.2読みの同時学習

表 13 に読みの同時学習を行ったモデルの入力誤り評価データと GitHub Typo Corpusでの評価結果を示す.ここで,「BART base (large)」はJWTDの全ての入力誤りデータを用いた入力誤り訂正タスクのみで学習したモデル,「BART base (large) w/ 原文 $\rightarrow$ 読み」は原文から読みを推定するタスク，「BART base (large) w/ 読み $\rightarrow$ 原文」は読みから原文を推定するタスク，「BART base (large) w/ 両方向」はその両方を, 入力誤り訂正タスクと同時に学習したモデルの結果を示している，漢字の読み推定タスクを同時学習したモデルは, ベースラインの結果に比べ，概ね，適合率は下がるが，再現率は上がる傾向が見られる。また，F 值においても向上が見られる箇所もある。ただし, GitHub Typo Corpus における BART baseの結果では, 同時学習したモデルのスコアが下がっている。同時学習したモデルはベースラインのモデルよりも，アルファベット文字列での不必要な編集が多く見られた。そのため，アルファベット文字列を多く含む GitHub Typo Corpusにおいてその影響が大きく現れたのだと考えられる．読み推定の学習に用いた BCCWJ のデータには, RADIO とラジオのように，アルファベット文字列にカタカナの読みが対応する場合があった。それらのデータによって，アルファベット文字列を編集するような学習がなされ，生成能力に悪影響が出たのではないかと考えられる．「w/ 原文 $\rightarrow$読み」「 $\mathrm{w} /$ 読み $\rightarrow$ 原文」間で大きな差は見られず,これらと「 $\mathrm{w} /$ 両方向」の間にも大きな差は見られなかった。

次に表 14,15 にベースラインと漢字の読み推定を同時学習したモデルの, JWTD テストセットの誤変換カテゴリにおける評価結果を示す。ほぼ全てのスコアにおいて, ベースラインよりも読み推定を同時学習したモデルが高いスコアとなった. これより読み推定を同時に学習することは誤変換の訂正に有効であることがわかる.

ベースラインモデルが間違え, 読み推定を同時学習したモデルが正解した入力誤りを以下に

表 14 JWTD テストセットの誤変換 (a)における入力誤り訂正評価結果（値は\%）.

表 15 JWTD テストセットの誤変換 (b)における入力誤り訂正評価結果（値は\%）.

示す.ここで,「w/o 読み」は「BART large」,「w/ 読み」は「BART large w/ 原文 $\rightarrow$ 読み」の出力結果を表している.

(26) 入力誤り ...山頂、火口付近から、待つの木のような形の暗い雲を見た。

w/o 読み ... 山頂、火口付近から、待つ木のような形の暗い雲を見た。

$\mathrm{w} /$ 読み ... 山頂、火口付近から、松の木のような形の暗い雲を見た。

(27) 入力誤り XD a r w i nのより細菌のバージョンはルートレース...

w/o 読み XDarwinのより新しいバージョンはルートレース...

w/ 読み XDarwinのより最近のバージョンはルートレース...

正解の訂正である「待つ $\rightarrow$ 松」「細菌 $\rightarrow$ 最近」という訂正をする文ぺアは, 誤変換 (a)の学習データに含まれていた。しかし, ベースラインは $(26)$ では誤変換ではなく 1 文字を削除する衍
字としての編集を行い，(27)では正解とは異なる漢字へと編集を行ってしまっている ${ }^{19}$.一方で, 読み推定を同時に学習したモデルはどちらも正解していた。読み推定の学習デー夕には,「待つ」「松」「細菌」「最近」の読みを推定するデータが含まれていた。これらの読み推定の学習が，誤変換訂正の学習の手助けとなり，正解に繋がったのではないかと考えられる.

以下のような，読み推定の学習データでは学習できない読みに関する誤変換訂正は, ベースラインが不正解の場合，同時学習したモデルにおいても不正解のままであった.

（28） 入力誤り ... 彼は警察にも全量市民と評判の人物だったことから、...

正解 $\ldots$ 彼は警察にも善良市民と評判の人物だったことから、...

w/o 読み ... 彼は警察にも全米市民と評判の人物だったことから、...

$\mathrm{w} /$ 読み ... 彼は警察にも全米市民と評判の人物だったことから、...

モデルの入力トークン単位分割では,「全量」は「全量」,「善良」は「善良」,「全米」は「全/米」と分割される。読み推定の学習データに「善良」の読みを推定するデータは含まれていたが,「全量」の読みを推定するデータは含まれていなかった. この対処としては, 読み推定の学習データを増やすことが考えられる。また，読み推定の学習データに「全量」の読みを推定するデータは含まれていないものの，「全」と「量」の読みを推定するデータは含まれていた。そのため, モデルの入力トークン単位が文字単位である場合は, 本実験の読み推定の学習デー夕のままで全量の読みを学習できる。入力トークン単位が文字単位である入力誤り訂正システムの構築は今後の課題である.

## 6.3.3疑似データの利用

実験結果を図 3 に示す。評価には入力誤り評価データを用いた。図の実線を見ると，疑似デー 夕の利用による再現率の向上が見られる。しかし, 適合率は疑似データの利用により低下し, $\mathrm{F}$ 值にはあまり変化は見られないため, 適合率と再現率はトレードオフになっているといえる. これらから，適合率より再現率を優先させたい場合には疑似データを利用することが有効であるといえる。また，疑似データを含むデータのみで fine-tuning Lたモデルと，その後 JWTD で fine-tuning したモデルでは，適合率・再現率において両者のスコアに差がみられるが，F 值においては大きな変化は見られなかった，点線の結果を見ると，疑似入力誤りの生成方法では，疑似入力誤りの割合が大きいとき，混合の結果がよいことが読み取れる。


## 逆翻訳 ○ $\triangle$ 混合 $\triangle$ ランダム \\ 実線: 「JWTD + 疑似」でfine-tuning後,「JWTD」でfine-tuning 点線: 「JWTD + 疑似」でfine-tuningのみ

適合率

再現率

F値

図 3 疑似デー夕実験結果．縦軸が適合率・再現率・F 値，横軸が学習データ中の疑似デー夕の割合を表す（值は\%）。

## 6.3.4 他の校正システムとの比較

入力誤り認識結果を表 16 に示す. 本研究のシステムが入力誤り評価データだけではなく, テキストドメインの異なる GitHub Typo Corpusにおいても, 再現率・F 值において高いスコアであることが確認できる。しかし, 適合率においては, Wordよりも低い.より適合率の高いシステムを構築することは今後の課題である.

入力誤り認識結果の例を表 17 に示す. 誤変換以外の (29)のような衍字などの入力誤りは, Word が指摘できているものがあったが, (30)のような誤変換は, 本研究のシステムのみが指摘できているものが多かった。(31)は JWTD では収集していない編集距離の大きい入力誤りで

あり, 本研究のシステムは指摘できておらず，今後の課題である.

新聞データを与えたときの訂正箇所数を表 18 に示す. Word に比べて，本研究のシステムの訂正箇所が多かった. 本研究のシステムである BART large が行った訂正は, 半数が文字の抜けを指摘するものであった。 それらは，以下のような，間違いではないが不必要な訂正であった.

(32) 新聞 $\quad .$. 個別に栄養・食事指導した場合などは加算する。 システム ... 個別に栄養・食事を指導した場合などは加算する。

(33) 新聞 ... 同署は、状況などからひき逃げされたと断定、逃げた車を探している。 システム ... 同署は、状況などからひき逃げされたと断定し、逃げた車を探している。

表 16 入力誤り評価データと GitHub typo corpusにおける入力誤り認識評価結果（値は\%）.

 &  & 0 & $x$ & 0 \\

表 17 入力誤り認識結果の実例.

表 18 新聞データでの訂正箇所数.
本研究のシステムは, 実用の観点では, このような不必要な訂正の提案を減らすことが今後の課題といえる. これは, 学習データに入力誤りを含まない文を用いることなどで改善すると考えられる。

## 7 おわりに

本研究では日本語 Wikipedia の編集履歴から, 入力誤りデータセットを構築する手法を提案した，文字単位の編集と漢字の読みを手がかりに，誤字・脱字・衍字・転字・誤変換の入力誤り候補をマイニングし，言語モデル等を用いたフィルタリングを行うことで，これらカテゴリの入力誤りを収集した. さらに，入力誤り訂正を学習したモデルを用いて，追加でその他の入力誤りを収集し，合計約 70 万文規模のデータセット (JWTD; Japanese Wikipedia Typo Dataset) を構築した. JWTDの構築手法を評価し，その質を確認した。

入力誤り訂正システムにおいては, 入力誤り訂正タスクと同時に漢字の読み推定タスクを学習する手法を提案した。入力誤り訂正タスクのみで学習したシステムと提案手法のシステムを比較して, 提案手法のシステムが誤変換の訂正において高い精度であることであることを確認した．また，JWTDの他に疑似データを学習データに追加したときのシステムの精度変化を確認した.

今後の課題としては，まず，データセットの質をさらに高めることが挙げられる。これにより, 同時に, 訂正システムの精度向上につながると期待できる. データセットの質の向上には, フィルタリングの方法やその他の入力誤りの収集方法をより洗練することが有効であると考えられる。入力誤り訂正システムに関しては，異なるドメインのテキストにおいても頑健に振る舞うシステムの構築と不必要な編集の抑制が挙げられる。前者は事前学習時に多様なドメインのテキストを用いる方法, 後者は fine-tuning 時の学習データに入力誤りのないデータを加える方法が考えられる。

## 謝 辞

本論文の内容の一部は, Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics: Student Research Workshop で発表したものである (Tanaka et al. 2020).

## 参考文献

Baba, Y. and Suzuki, H. (2012). "How Are Spelling Errors Generated and Corrected? A Study of Corrected and Uncorrected Spelling Errors Using Keystroke Logs." In Proceedings of the
50th Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers), pp. 373-377.

Belinkov, Y. and Bisk, Y. (2018). "Synthetic and Natural Noise Both Break Neural Machine Translation." In International Conference on Learning Representations.

Blodgett, S. L., Green, L., and O'Connor, B. (2016). "Demographic Dialectal Variation in Social Media: A Case Study of African-American English." In Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing, pp. 1119-1130, Austin, Texas. Association for Computational Linguistics.

Brill, E. and Moore, R. C. (2000). "An Improved Error Model for Noisy Channel Spelling Correction." In Proceedings of the 38th Annual Meeting of the Association for Computational Linguistics, pp. 286-293, Hong Kong. Association for Computational Linguistics.

Brody, S. and Diakopoulos, N. (2011). "Cooooooooooooooollllllllllllll!!!!!!!!!!!!! Using Word Lengthening to Detect Sentiment in Microblogs." In Proceedings of the 2011 Conference on Empirical Methods in Natural Language Processing, pp. 562-570, Edinburgh, Scotland, UK. Association for Computational Linguistics.

Damerau, F. J. (1964). "A Technique for Computer Detection and Correction of Spelling Errors." Communications of the ACM, $\mathbf{7}$ (3), pp. 171-176.

Devlin, J., Chang, M.-W., Lee, K., and Toutanova, K. (2019). "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding." In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers), pp. 4171-4186, Minneapolis, Minnesota. Association for Computational Linguistics.

Errattahi, R., Hannani, A. E., and Ouahmane, H. (2018). "Automatic Speech Recognition Errors Detection and Correction: A Review." Procedia Computer Science, 128, pp. 32-37. 1st International Conference on Natural Language and Speech Processing.

Hagiwara, M. and Mita, M. (2020). "GitHub Typo Corpus: A Large-Scale Multilingual Dataset of Misspellings and Grammatical Errors." In Proceedings of the 12th Language Resources and Evaluation Conference, pp. 6761-6768, Marseille, France. European Language Resources Association.

Hládek, D., Staš, J., and Pleva, M. (2020). "Survey of Automatic Spelling Correction." Electronics, 9 (10).

金山博, 荻野紫穂 (2011). Wikipediaの編集履歴を用いた書き換えパターンの抽出. 言語処理学会第 17 回年次大会発表論文集, pp. 13-16. [H. Kaneyama and S. Ogino (2011). Wikipedia no henshurireki o mochiita kakikaepatan no chushutsu. Proceedings of the 17th Annual Meeting
for the Association for Natural Language Processing, pp. 13-16.].

Kasahara, S., Komachi, M., Nagata, M., and Matsumoto, Y. (2011). "Error Correcting Romajikana Conversion for Japanese Language Education." In Proceedings of the Workshop on Advances in Text Input Methods (WTIM 2011), pp. 38-42, Chiang Mai, Thailand. Asian Federation of Natural Language Processing.

Katsumata, S. and Komachi, M. (2020). "Stronger Baselines for Grammatical Error Correction Using a Pretrained Encoder-Decoder Model." In Proceedings of the 1st Conference of the Asia-Pacific Chapter of the Association for Computational Linguistics and the 10th International Joint Conference on Natural Language Processing, pp. 827-832, Suzhou, China. Association for Computational Linguistics.

Kiyono, S., Suzuki, J., Mita, M., Mizumoto, T., and Inui, K. (2019). "An Empirical Study of Incorporating Pseudo Data into Grammatical Error Correction." 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. 1236-1242, Hong Kong, China. Association for Computational Linguistics.

Koehn, P. and Knowles, R. (2017). "Six Challenges for Neural Machine Translation." In Proceedings of the 1st Workshop on Neural Machine Translation, pp. 28-39, Vancouver. Association for Computational Linguistics.

Kudo, T. and Richardson, J. (2018). "SentencePiece: A Simple and Language Independent Subword Tokenizer and Detokenizer for Neural Text Processing." In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing: System Demonstrations, pp. 66-71.

Kudo, T., Yamamoto, K., and Matsumoto, Y. (2004). "Applying Conditional Random Fields to Japanese Morphological Analysis." In Proceedings of the 2004 Conference on Empirical Methods in Natural Language Processing, pp. 230-237, Barcelona, Spain. Association for Computational Linguistics.

Lewis, M., Liu, Y., Goyal, N., Ghazvininejad, M., Mohamed, A., Levy, O., Stoyanov, V., and Zettlemoyer, L. (2020). "BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension." In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, pp. 7871-7880, Online. Association for Computational Linguistics.

Li, H., Wang, Y., Liu, X., Sheng, Z., and Wei, S. (2018). "Spelling Error Correction Using a Nested RNN Model and Pseudo Training Data." arXiv preprint arXiv:1811.00238.

Liu, Y., Gu, J., Goyal, N., Li, X., Edunov, S., Ghazvininejad, M., Lewis, M., and Zettlemoyer,

L. (2020). "Multilingual Denoising Pre-training for Neural Machine Translation." arXiv preprint arXiv:2001.08210.

Maekawa, K., Yamazaki, M., Ogiso, T., Maruyama, T., Ogura, H., Kashino, W., Koiso, H., Yamaguchi, M., Tanaka, M., and Den, Y. (2014). "Balanced Corpus of Contemporary Written Japanese." Language Resources and Evaluation, 48 (2), pp. 345-371.

Max, A. and Wisniewski, G. (2010). "Mining Naturally-occurring Corrections and Paraphrases from Wikipediais Revision History." In Proceedings of the 7th Conference on International Language Resources and Evaluation (LREC'10), pp. 3143-3148.

Mizumoto, T., Komachi, M., Nagata, M., and Matsumoto, Y. (2011). "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, Chiang Mai, Thailand. Asian Federation of Natural Language Processing.

Mokhtar, K., Bukhari, S. S., and Dengel, A. (2018). "OCR Error Correction: State-of-the-Art vs an NMT-based Approach." In 2018 13th IAPR International Workshop on Document Analysis Systems (DAS), pp. 429-434.

斎藤純男 (2010). 言語学入門. 三省堂. [Y. Saito (2010). Gengogaku nyumon. Sanseido.].

Saito, I., Suzuki, J., Nishida, K., Sadamitsu, K., Kobashikawa, S., Masumura, R., Matsumoto, Y., and Tomita, J. (2017). "Improving Neural Text Normalization with Data Augmentation at Character- and Morphological Levels." In Proceedings of the 8th International Joint Conference on Natural Language Processing (Volume 2: Short Papers), pp. 257-262, Taipei, Taiwan. Asian Federation of Natural Language Processing.

Sakaguchi, K., Duh, K., Post, M., and Van Durme, B. (2017). "Robsut Wrod Reocginiton via Semi-Character Recurrent Neural Network." In Proceedings of the 31st AAAI Conference on Artificial Intelligence, pp. 3181-3287.

Sasano, R., Kurohashi, S., and Okumura, M. (2013). "A Simple Approach to Unknown Word Processing in Japanese Morphological Analysis." In Proceedings of the 6th International Joint Conference on Natural Language Processing, pp. 162-170, Nagoya, Japan. Asian Federation of Natural Language Processing.

Sennrich, R., Haddow, B., and Birch, A. (2016a). "Improving Neural Machine Translation Models with Monolingual Data." In Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pp. 86-96, Berlin, Germany. Association for Computational Linguistics.

Sennrich, R., Haddow, B., and Birch, A. (2016b). "Neural Machine Translation of Rare Words
with Subword Units." In Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pp. 1715-1725.

竹内孔一, 松本裕治 (1999). 統計的言語モデルを用いた OCR 誤り訂正システムの構築. 情報処理学会論文誌, 40 (6), pp. 2679-2689. [K. Takeuchi and Y. Matsumoto (1999). OCR Error Correction Using Stochastic Language Models. Transactions of Information Processing Society of Japan, 40(6), pp. 2679-2689.].

Tanaka, Y., Murawaki, Y., Kawahara, D., and Kurohashi, S. (2020). "Building a Japanese Typo Dataset from Wikipedia's Revision History." In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics: Student Research Workshop, pp. 230-236, Online. Association for Computational Linguistics.

Tolmachev, A., Kawahara, D., and Kurohashi, S. (2018). "Juman++: A Morphological Analysis Toolkit for Scriptio Continua." In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing: System Demonstrations, pp. 54-59, Brussels, Belgium. Association for Computational Linguistics.

Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, Ł., and Polosukhin, I. (2017). "Attention Is All You Need." In Advances in Neural Information Processing Systems, pp. 5998-6008.

山本喜大, 久保田淳市, 庄田幸恵, 白井豊 (1997). かな漢字変換における誤入力の訂正. 情報処理学会研究報告, 109 (1997-NL-122), pp. 105-111. [Y. Yamamoto et al. (1997). Input Error Correction on Kana-Kanji Conversion. The Special Interest Group Technical Reports of IPSJ, 109 (1997-NL122), pp. 105-111.].

Yuan, Z. and Briscoe, T. (2016). "Grammatical Error Correction using Neural Machine Translation." In Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, pp. 380-386, San Diego, California. Association for Computational Linguistics.

Zesch, T. (2012). "Measuring Contextual Fitness Using Error Contexts Extracted from the Wikipedia Revision History." In Proceedings of the 13th Conference of the European Chapter of the Association for Computational Linguistics, pp. 529-538. Association for Computational Linguistics.

## 略歴

田中佑：2019 年京都大学工学部情報学科卒業. 2021 年同大学院情報学研究

科修士課程修了。2021 年より NTT コミュニケーションズ株式会社に在職.

村脇有吾：2011 年京都大学大学院情報学研究科博士後期課程修了, 博士（情
報学). 同年京都大学学術情報メディアセンター特定助教, 2013 年九州大学大学院システム情報科学研究院助教, 2016 年京都大学大学院情報学研究科助教， 2020 年同講師，現在にいたる.テキスト解析および計算言語学に関する研究に従事. 言語処理学会, 情報処理学会各会員.

河原大輔：1997 年京都大学工学部電気工学第二学科卒業. 1999 年同大学院修士課程修了. 2002 年同大学院博士課程単位取得認定退学. 東京大学大学院情報理工学系研究科学術研究支援員, 独立行政法人情報通信研究機構主任研究員, 京都大学大学院情報学研究科准教授を経て, 2020 年より早稲田大学基幹理工学部情報通信学科教授. 自然言語処理, 知識処理の研究に従事. 博士 (情報学). 情報処理学会, 言語処理学会, 人工知能学会, 電子情報通信学会, ACL，各会員。

黒橋禎夫：1994 年京都大学大学院工学研究科電気工学第二専攻博士課程修了.

博士 (工学). 2006 年 4 月より京都大学大学院情報学研究科教授. 自然言語処理, 知識情報処理の研究に従事. 言語処理学会 10 周年記念論文賞, 同 20 周年記念論文賞, 第 8 回船井情報科学振興賞, 2009 IBM Faculty Award 等を受賞. 2014 年より日本学術会議連携会員.