GECで修士卒業した人間が就職して思ういくつかのこと

この記事はGEC (Grammatical Error Correction) Advent Calendar 2021の21日目の記事です。

まとめ

  • GECで修士卒業した人間が、就職後にこういう研究が世の中にあったらいいなって思ったものを挙げてます
    • ERRANT-Japaneseが欲しい
    • 訂正結果の説明して欲しい
    • 結果の一貫性をいい感じにして欲しい
    • マルチモーダルできるとおもしろいと思いました
  • 欲しいばっかりですいません m(_ _)m
  • アドベントカレンダーの企画ありがとうございました

GECで修士卒業した話

今回の記事は「GECで修士卒業した人間が、GEC研究から足を洗えると思ったら、微妙にそうでもなかったので、自分の視点から、こういう研究が世の中にあったらいいなあ」的な内容(お気持ち的なやつですね)となっております。
ということで、まずは前フリとして、自分の視点について簡単に紹介します。

GECで修士を卒業するまで

始めまして。
記事のタイトル通り、修士の2年間でGECの研究に取り組み、そのまま修士を卒業して就職した者です。
修士では主に、学習データが少量のときのGECについて取り組みました。

自分が修士で取り組んだ内容をざっくり説明すると、学習データを使わない設定のGECに対して、当時流行っていた(と思われる)教師なし機械翻訳を使って取り組んだ的なやつです。
教師なしと言っても、やっていることは、GECでよく使われる誤り文と訂正文のデータを使わず、代わりに単言語データで頑張って学習してGECモデルを作ろう、的な内容になっています。
ちなみに結論としては、単言語データになんらかの誤りを入れて、疑似対訳データを作る方法(今流行っているやつですね)が一番シンプルで性能が高い、となっております。。。
細かい内容については、こちらの修論を確認していただければと思います。

就職の話

自分は自然言語処理を扱う会社に就職しました。
自然言語処理、と言っても色々あるとは思うのですが、残念ながら?就職先は学習者支援に関して腰を入れている、というわけではありませんでした。
「これでGEC研究から離れるかな」とも思ったのですが、弊社のサービスとして校正支援があり、それに関わることとなりました。
先に言っておくのですが、校正支援とGECは、研究的にもそうですが、実世界の問題設定としても全然違うものです。
しかし、全然違う、と言っても、間違った文を訂正する、といった点では(めちゃくちゃ大雑把ですが)同じですし、自分自身、さまざまな問題設定に触ってみたかったこともあり、かなりモチベーションは高めに取り組めていると思います。

今回の記事は、このような、「修士でGECやって、成果を挙げられなかった人間が就職後もちょっとだけ関係するタスクを触った視点」から、GEC研究で使えそうな問題、課題設定を共有させていただくものとなっております。

こういう研究あったらいいなあ一覧

日本語GEC、もっと充実して欲しい

個人の感想になりますが、日本語GECのデータは結構あると思ってるんですよね。
詳細は今回のGECアドベントカレンダーを眺めていただければと思います。
問題は評価の方かなと思っています。
具体的にはERRANT-Japaneseが欲しいって話ですね。

ERRANTの何が良いって、誤りタグの推定もそうなんですが、訂正前後を比較したときのDiffの作成がかなり人間にわかりやすいんですよね。
訂正前後のDiffのAlignment云々については、こちらの論文で紹介されています。
ざっくりかいつまむと、編集距離で文間のDiffとって、人手で決めたマージルールでくっつける的なやつだったと思います。
論文中では、この自動Diff作成結果をCoNLL-2013やCoNLL-2014などの人手で作成したDiffと比較して、一致度合いの検証をしています。

自分の知っている限りではありますが、日本語GEC評価、となったら最近はTEC-JLデータに対してGLEUで評価、とかになるのでしょうか。
あとはNAIST誤用コーパスとか?

一方で、校正支援、となったときに、NAIST誤用コーパスみたいな誤りタグがついたデータはないので、訂正システムの良さを誰かに説明する、となったときに結構困るんですよね。
適当に編集距離のDiffを出しても正直ピンとこないことが多くて。。。(これも校正支援の定義次第だとは思っていて、たとえば入力誤りに限定するなら編集距離でもいいと思います。)
せめてある程度意味を持った単位でのDiffさえ自動で取れれば、誤りタグは説明者が決める、とかもできるのですが、といった悩みがここ数年あったりします。

土日とか暇な時間作って日本語用マージルール作ってみようと思ったこともあったんですけど、全然やらずに2年立ちそうなので。。。

訂正結果の説明タスク、いい感じなものが欲しい

GECって基本的に入力が誤り文で、出力が訂正文ですよね。
そして評価はシステムの訂正文と、リファレンスを評価する、といった形ですよね。
GECの学習者支援のお題目を考えると、「なぜその訂正になったのか」ってめちゃくちゃ知りたいとおもうんですよね、って話です。

形として1つありそうなのは、入力が誤り分と訂正文(リファレンスでもシステムでもどちらでもいいと思います)で、それとは別に文法が網羅されている辞書のようなものがあって、誤り文と訂正文をクエリとして、辞書から該当する文法事項をInfomation Retrievalする的なものとか。
GECやっていると思い付きがちな問題設定の1つだとは思うのですが、自分の知る限り聞いたことないんですよね。(自分のサーベイ力なんてたかが知れているので、すでにあるかもです)

GECの枠組みでこういった出力の説明、どのくらいできるのか知りたいなーと思って2年立ちました。。。

訂正結果の一貫性、保証する研究とかないでしょうか。。。

これはGECというよりは、校正支援的な要求が強いところですね。
サービスとして考えるとある程度、出力が一貫していると助かる的なやつです。
(ルールでやればいいとは思うんですが)

GECで使えそうな問題設定を考えてみると、学習支援の際に一貫性が薄いと嬉しくない、とかですよね。
たとえば、He has apple.に対して、He has an apple.にするのに、He has pen.He has pens.のような、単複の一貫性とかでしょうか。
なにも考えずにやるとおそらく学習データの分布から決定されるので、一貫しない形になると思います。
他にパッと思いつくもので、能動態、受動態だったり、類義語の使い方だったりなど(日本語だったら漢字をひらくかどうかとか)。
学習者の気持ちとしては、ある状況では能動態だけど、別の状況では受動態、とか言われても、混乱の元なのかなあとは思ってます。
ある程度はタグでコントロールできると思うんですけど、包括的な話になると難しい、、、はず。

マルチモーダル、はやると思うんですよね

こちらに関しては正直GEC云々ではないですし、校正支援でもないですね。
単純に自分の興味です。

昨日のGECアドベントカレンダーの記事とかかなりおもしろいと思いましたし、学習者支援と画像や音声はかなり色々できるような気がするんですよね。
たとえば、GECからは離れますが、Web言語学習者フォーラムで日本語学習をしたい人がいて、手元の教科書を使っていたら、読みがわからない単語について質問したいとします。
一番簡単なのはフォーラムにその教科書の該当部分の画像を乗っけて読みを聞くことだと思うのですが、需要として、既存のフォーラムの投稿から回答を得たい場合もあると思います。(俗に言うggrks精神)

つまり、入力として画像と質問文があって、それをもとに既存のフォーラム投稿をInformation Retrievalする的な形、色々できるのでは?とちょっと思ったりはしました(言語学習者向けのVQA?)。

おわりに

長々とGEC要望を垂れ流す記事となってしまい申し訳ないです。。。
自分が学生だったらちょっとやってみたかった感もあるのですが、社会人はちょっと厳しいのでここでお焚き上げさせていただきました(社会人D本当にすごいと思います)。

こういったGECアドベントカレンダーでの環境整備も進み(企画していただきありがとうございます)、次の年次大会でも自分の想像もつかないおもしろい話が聞けるのではないかと楽しみにしております。

最後までご覧下さりありがとうございました。