とある新入社員の修論解説 〜文法誤り訂正〜
こちらの記事は、2020年4月22日にRetrieva TECH BLOGにて掲載された記事を再掲載したものとなります。
こんにちは。
2020年度に新卒でレトリバにリサーチャー職で入社した勝又です。
今回の記事では私の修士論文について説明し、具体的にどのようなテーマを修士で研究したのか簡単にご紹介します。
修論タイトル: 少量のラベルデータを利用した文法誤り訂正
近年、自然言語処理ではニューラルネットワークを用いた手法が盛んに研究されています。 このニューラルネットワークを用いた手法は精度が高く出やすい反面、学習に使用するデータの量や質が重要になっています。 私が発表した修論では、文法誤り訂正と呼ばれる自然言語処理タスクに対して、簡単にたくさん用意できるデータで学習を行う手法について検討、報告しています。
文法誤り訂正とは
文法誤り訂正とは、主に言語学習者支援を目的として研究されるタスクです。 入力として誤りを含む文を想定し、この誤り文を文法的に正しく、より流暢なものに訂正する問題設定となっています。
たとえば、 This is pen. が入力された時、This is a pen. というように、この例の場合、冠詞に関する誤りを訂正できたら正解となっています。
このタスクについての詳細な話は、水本さんのこちらの記事[1]がわかりやすくまとまっているので興味のある方はご覧ください。
できる限り教師データを少なくして学習したい
記事の最初に述べたとおり、ニューラルネットワークを用いた手法には大量のラベルデータが必要になってきます。 文法誤り訂正の場合だと、先ほどの例のように、誤り文とそれを訂正した文がラベルデータとなります。 一般的にニューラル手法を用いた文法誤り訂正モデルを訓練するには、数十万〜数百万のラベルデータが必要となります。
しかし、大量にラベルデータを用意するのは難しいので、少量のラベルデータで学習を行う手法について検討しました。
擬似データを用いた誤り訂正手法
修論では次の2つを提案、検討しました。
1. 擬似データの作成
2. 作成した擬似データを用いた文法誤り訂正モデルの学習
擬似データの作成
文法誤り訂正の学習に必要なデータは誤り文と訂正文です。 実は訂正文(に相当する)データならば、Wikipediaなどの既存のデータ(以下、単言語コーパスと呼称。)で十分補うことが可能です。 問題は誤り文で、こちらは簡単に用意できません。
そこで、修論では誤り文のデータとして、単言語コーパスを機械翻訳を通じて再翻訳したものを使用しました。 具体的には英語で書かれた文を別の言語に翻訳、翻訳後の文を英語に再翻訳することで、機械翻訳の誤りが再翻訳結果に含まれます。 このようにして擬似誤り文を作成しました。
文法誤り訂正モデルの学習
上記の手法を用いて作成した擬似データを利用して文法誤り訂正モデルを訓練します。
具体的には、最初に擬似誤り文と訂正文について分散表現を獲得して、単語レベルの訂正を学習、その後、自己学習を通して訂正モデルを訓練します。 分散表現を利用することで、teh → the といったような対応が学習できると考えられます。
手法の詳細については修論[5]を参照していただければ幸いです。
実験
この記事では英語の文法誤り訂正の実験結果を記載します。 評価用データとして、CoNLL-14と呼ばれるデータを使用しました。評価尺度はPrecision、Recall、F0.5を使用しています。 これらはすべて高い方が良く、とくにF0.5が高いと嬉しい尺度です。
また、次の2つの訂正モデルと精度を比較します。
1. スペルチェッカー
2. ラベルデータを100万文対使用して学習したニューラルモデル(教師ありモデル)
少量のラベルデータはモデルのハイパーパラメーターの調整に使用しています。
実験結果
この結果から、同じくラベルデータを必要としないスペルチェッカーと比較すると、高い訂正精度が得られている一方、 大量のラベルデータを使用したモデルにはまだまだ及ばないことがわかります。
まとめ
結果としてはあまり芳しいものではありませんでしたが、 最近の研究では擬似データだけでも高い訂正性能を得られることが報告されています[2,3,4]。 これらの研究だけでなく、これからもデータ量削減に向けた研究は発展していくと考えられます。 今回の記事を読んで文法誤り訂正に興味を持ってくれる方が増えてくれることを祈っております。
本記事では私の修論について簡単ではありますが説明しました。 修論だけでなく、研究生活を通して得た知識をレトリバで活かしていけるよう、 最新技術のキャッチアップなどに注力していきたいと思います。
参考文献
[1] 人工知能学会 私のブックマーク
[2] Neural Grammatical Error Correction Systems with Unsupervised Pre-training on Synthetic Data
[3] An Empirical Study of Incorporating Pseudo Data into Grammatical Error Correction