文法誤り訂正タスクの情報源

本記事は,GEC (Grammatical Error Correction) Advent Calendar 2021 の7日目の記事です.

はじめに

文法誤り訂正タスク(GEC, Grammatical Error Correction)は翻訳や情報抽出などのタスクに比べるとマイナータスクですが,最近は研究する人が増えている印象です.これに伴って,情報収集に役立つようなページの需要も高まっていると思いますので,いくつか紹介したいと思います.その後,個人的にこういう情報がまとまっていたら嬉しいなという気持ちを書きます.

既存の情報源

web上では,次のような資料が情報源として有用です.

NLP-progress

nlpprogress.com

言語処理関係のタスクにおいてSoTAをまとめたリポジトリです.GECも含まれており,現状の性能が高いモデルを知ることができます.論文とコードのリンクが貼られているのもありがたいです.一方で,性能ベースで文献が追加されるため網羅性は低いです.基本的にSoTAな論文でないとマージされにくい印象があります.しかしながら,ターニングポイントというか,「この手法により性能が上がった」という流れを追うには十分だと思います.

サーベイ論文

arxiv.org

GECはサーベイ論文がほとんど無い印象なのですが,2020年にサーベイ論文が出ています.2019年くらいまでのデータセットやGECモデル,評価指標について重要な研究がまとまっている印象です(まだ全部読んで無いんですけど...).定期的にサーベイ論文が出ると助かりますね.

私のブックマーク「自然言語処理による文法誤り訂正」

www.ai-gakkai.or.jp

2018年までの話題について,重要な文献がまとまっています.日本語で書かれたGECのまとめ記事はこれしか無いのでは?というくらい貴重な記事だと思っています.pdf版とweb版があって,web版のほうが直接各種リンクに飛べるので便利です.

A Crash Course in Automatic Grammatical Error Correction

github.com

国際会議COLING2020におけるGECのチュートリアルです.GECのタスク説明から始まり,ルールベースの手法→SMT→DNNといった流れを追うことができます.個人的にはニューラル以降から参入した身なので,ルールベースのような古典的なアプローチを知ることも重要だよなと思うなどしました(古典的と表現していいのか分かりませんが).

著者もRoman Grundkiewicz, Christopher Bryant, Mariano Feliceと豪華です.例えば,Christopher Bryant氏とMariano Felice氏はERRANT([Felice+ 2016], [Bryant+ 2017])の著者です.また,Roman Grundkiewicz氏は多数のモデル提案系の論文に関わっていますし,システムの人手評価の研究([Grundkiewicz+ 2015])でも有名だと思います.

Chunngai/gec-papers

github.com

2019-2020あたりの期間について,GECの論文がまとまっています.論文の簡単な要約も書かれています.

GEC-Info(ステマ

github.com

主にニューラル以降の手法について,論文やツールがまとまっています.性能は一切関係なく,手法別で分類するようなポリシーでまとめられています.論文が中心ですが,関連するツールや資料なども一部掲載されています.今後もジャンジャン追加予定です.分類形態も模索中です.

今後の展望(お気持ち)

実装

実装はどうしても分散するので,まとまった情報源というものはないですかね....翻訳でいうfairseqのようにGECの実装も同じフレームワークの元でまとまってくれたらなあとはよく思います.フレームワークが分散していると,何かを拡張したいときにそのフレームワークをそれぞれ学ぶ必要があるので,個人的には大変に感じます.例えば,コピー機[Zhao+ 2019]公式実装は2年前のfairseqを直置き&書き換えて実装しているので,これをベースに拡張するには2年前のfairseqのアレコレを学ぶ必要があります.他方でGECToR [Omelianchuk + 2019]公式実装に目をやるとAllenNLPを使っていて,やーなかなか大変だなと思うなどします.もちろんコードを整備して公開してくれているだけで神なんですが,人は欲張りなのでこういうことを思ってしまいます(僕だけなのかもしれない).実装力を鍛えねば....

何か統一的なもの,できないですかねえ 壁|▱°)

システム出力

他の要素としては,システム出力がまとまった場所があると嬉しいなと思います.気軽に色々な手法の出力を引っ張ってこれるようになると,分析が簡単に始められます.個人的には,難易度を考慮した評価尺度([Gotou+ 2020])を研究したとき,その手法からたくさんのシステム出力を必要としたこともあります.(ところで,たまにCoNLL-2014のシステム出力がGitHubに上がっているのを見ますが,データのライセンス的には大丈夫なんでしょうか?見方によっては改変しての再配布になりそうですが...)

おわり

情報がまとまっていれば嬉しいよね〜〜という話を書いてみました.