GLUE(General Language Understanding Evaluation) dataset①|機械学習の有名データセットや評価指標を確認する #4

f:id:lib-arts:20190623111710p:plain

機械学習の研究を読み解いたり実際に取り組んだりする中でデータセットや評価指標について知っておくと良いので、それらについての整理を行うにあたって連載を行なっていきます。
#1〜#3では2005年〜2012年頃の画像認識のデータセットとして有名なPASCAL VOCについて取り扱ってきました。

#4からは言語処理におけるデータセットとして近年用いられているGLUE(General Language Understanding Evaluation)について取り扱っていきます。

GLUE Benchmark

以下目次になります。
1. GLUEデータセットの概要
2. GLUE datasetの各種ベンチマークに関して & CoLA、QQAの詳細
3. まとめ


1. GLUEデータセットの概要
1節ではGLUEデータセットの概要について見ていきます。まずは公式のトップページの概要を簡単に要約します。

f:id:lib-arts:20190623112550p:plain

GLUE Benchmark

要約:
汎用的な言語処理理解評価のためのDataset(GLUE; General Language Understanding Evaluation)は、自然言語処理(NLP; Natural Language Processing)の学習、評価、分析のためのデータセット(resource)を集めたものです。特徴は下記となります。
・既存のデータセットを用い、多様なデータサイズやテキストのジャンル、難易度の度合いをカバーするために選りすぐられた9つの単文または単文のペアの言語理解タスク
自然言語において見られる言語の出現の様々な用法に対するモデルのパフォーマンスを評価、分析するために設計された判断用のdataset
ベンチマークにおけるパフォーマンスを計測するパブリックな順位表(leaderboard)であり、テストデータにおけるモデルのパフォーマンスを可視化することができるダッシュボード
GLUEベンチマークのフォーマットはモデルに依存しないので、任意のシステムを用いて単文や単文の対を処理してそれに対応する予測を生成することができ、試してみることができます。タスクにおけるベンチマークは学習されたパラメータの共有(parameter sharing)やその他の転移学習(transfer learning)を用いてタスク間で情報をシェアするモデルを好むように選別されています。GLUEの究極的なおく表は、自然言語理解のためのシステムに対する汎用的でロバストな発展における研究を主導していくことです。

GLUEの詳細については、下記の論文でも言及されています。

[1804.07461] GLUE: A Multi-Task Benchmark and Analysis Platform for Natural Language Understanding
自然言語理解(NLU; Natural Language Understanding)技術の向上のためのデータセットとして、従来のデータセットなどを組み合わせてベンチマークが作られています。
ここまでの内容でGLUEデータセットについては概ね把握できたので、2節ではそれぞれのベンチマークについて確認していきます。


2. GLUE datasetの各種ベンチマークに関して & CoLA、QQAの詳細
2節ではGLUE datasetのそれぞれのベンチマークについて確認していきます。

f:id:lib-arts:20190623115756p:plain

https://gluebenchmark.com/tasks
まず、上記のページにベンチマークの一覧についてまとまっています。こちらからデータをダウンロードしたりそれぞれの詳細を確認したりできます。More Infoではそれぞれのデータセットへのリンクが貼られているのですが、それぞれフォーマットが違うので目的次第では実際のデータを確認してしまう方が良いかもしれません。以下では実際にGLUEのページから落としてきたデータを確認していきます。

f:id:lib-arts:20190623123507p:plain
ダウンロードしたデータを解凍すると上記のようになります。まずはそれぞれの略称について確認していきます。

・CoLA(The Corpus of Linguistic Acceptability)
・diagnostic(Diagnostics Main)
・MNLI(MultiNLI Matched/Mismatched)
・MRPC(Microsoft Research Paraphrase Corpus)
・QNLI(Question NLI)
・QQP(Quora Question Pairs)
・RTE(Recognizing Textual Entailment)
・SNLI(Standord Natural Language Inference)
SST-2(The Stanford Sentiment Treebank)
STS-B(Semantic Textual Similarity Benchmark)
・WNLI(Winograd NLI)

SNLIがサイトのダッシュボードになかったことと、MNLIがMatchedとMismatchedの二つあることがイレギュラーでしたが、全体としてはそこまで相違がなかったので気にせず進めていければと思います。全て確認するのは大変なので、CoLA(The Corpus of Linguistic Acceptability)、QQP(Quora Question Pairs)の二つに絞って以下確認していきます。
まずCoLAに関してですが、公式ページは下記となります。

f:id:lib-arts:20190623162721p:plain

The Corpus of Linguistic Acceptability (CoLA)
概要の把握にあたって、Introductionを要約します。

要約:
CoLA(The Corpus of Linguistic Acceptability)はAuthorによって専門的にアノテーションされた23の言語学の公開情報からの10,657文で成り立っています。ページで公開されているのは、9,594文の学習用(開発用)のデータセットと1063文のテスト用のデータになります。

大体の内容はつかめたので次に実際のデータを確認してみます。train.tsvとtest.tsvをそれぞれ確認します。
・train.tsv

f:id:lib-arts:20190623164334p:plain
・test.tsv

f:id:lib-arts:20190623172021p:plain
上記を確認すると、データの概要について把握することができます。ここで気になるのがtrain.tsvの仕様ですが、こちらについては公式ページに説明があります。

f:id:lib-arts:20190623173156p:plain
第一列が文(sentence)の出典、第二列がacceptの判定とされています。別途ページなどにも記載のあるコンペティションなども確認した感じだと、主にこの第一列や第二列が重要な役割を果たしていそうだということがわかります。
CoLAについては大体がわかったので、次にQQP(Quara Question Pairs)について取り扱います。まず公式ページについては以下になります。

f:id:lib-arts:20190623173341p:plain
https://data.quora.com/First-Quora-Dataset-Release-Question-Pairs
Q&Aサイトとして有名なQuoraによって公開されているデータセットになります。下記がフォーマットとしてサイトに上がっているものになります。

f:id:lib-arts:20190623173927p:plain
ダウンロードしたデータも確認できればということで、train.tsv、test.tsvも確認してみます。
・train.tsv

f:id:lib-arts:20190623173941p:plain
・test.tsv

f:id:lib-arts:20190623173955p:plain
全体の概要と二つのデータセットについてつかめたので2節はここまでとします。


3. まとめ
#4では言語処理におけるデータセットを取り扱えればということで、GLUE(General Language Understanding Evaluation)について取り扱いました。
#4ではデータセットの中からCoLAとQQPについて確認しましたが、#5ではその他のデータセットについても確認していければと思います。