AI2 Reasoning Challenge (ARC) - 質問応答のための新たなデータセット

2018年3月付で、[arXiv](https://arxiv.org/)に下記の論文が発表されていました。

[Think you have Solved Question Answering? Try ARC, the AI2 Reasoning Challenge](https://arxiv.org/abs/1803.05457)

ARCは、英語で記述された、テキストオンリーの質問応答(Question Answering)のためのデータセットのようです。

これまで、質問応答のための質問データセットといえば、下記のようなものがありました。（参考：[GitHub arXivTimes/datasets/](https://github.com/arXivTimes/arXivTimes/tree/master/datasets#qa)）

* 英語
    * [SQuAD (The Stanford Question Answering Dataset)](https://rajpurkar.github.io/SQuAD-explorer/)
    * [The bAbI project](https://research.fb.com/downloads/babi/)
* 日本語
    * [NTCIR QA Lab PoliInfo](https://poliinfo.github.io/) （2018年タスク実施予定）
    * [NTCIR QAC](http://research.nii.ac.jp/ntcir/permission/ntcir-6/perm-ja-QAC.html)
    * [NIILC Question Answering Dataset](http://mynlp.github.io/niilc-qa/j_index.html)

本記事では、上記論文及び[公式サイト](http://data.allenai.org/arc/)をもとに、データセットの情報を記述していきます。基本的にはただの翻訳…。随時更新していくかも。

# ARC Questions

本データセットは、様々なソースから抽出された全7787件の科学分野の質問から構成されています。これには、AI2の研究パートナーよりライセンスを受けた質問も含まれています。図形を使わないテキストオンリーの質問で、英語で記述されており、いくつかの学年レベルにまたがって出題されています。各質問には、正解を選ぶ選択肢が存在します（通常は4択です）。データセットは、**検索**や**単語共起**に基づく手法では答えることのできない2590件の難しい質問を集めた**チャレンジセット**と、5197件の**イージーセット**に分類されています。具体的には、下記表のように分類されます。

| | チャレンジセット | イージーセット | 合計 |
|:--|--:|--:|--:|
| 学習用データ | 1119 | 2251 | **3370** |
| 評価用データ | 299 | 570 | **869** |
| テストデータ | 1172 | 2376 | **3548** |
| **合計** | **2590** | **5197** | **7787** |

データセットに関するディスカッションに参加するには、[ARCディスカッショングループ](https://groups.google.com/a/allenai.org/forum/#!forum/arc-discussion)をご覧ください。

注意：本データは、Allen Institute of Artificial Intelligence (AI2)以外では配布しないでください。データセットに興味がある方は、全員、[AI2](http://data.allenai.org/arc/)からダウンロードしてください。データセットは、非営利の研究目的でのみ使用することができます。

## チャレンジセットとイージーセットの違い

以下の2つのソルバーを用意して、どちらのソルバーでも誤答してしまった質問が、チャレンジセットに振り分けられています。どちらも、[Clark et al. (2016)](https://www.aaai.org/ocs/index.php/AAAI/AAAI16/paper/view/11963)で述べられているソルバーです。

* Information Retrieval (IR) Solver - 情報検索に基づくソルバー
* The Pointwise Mutual Information (PMI) Solver

### Information Retrieval (IR) Solver

コーパスとして、ClarkらのWaterlooコーパス（$5 \times 10^{10}$トークン）を用意しておきます。

検索エンジン[^1]に対して、質問$q$と、$i$番目の選択肢$a_i$をクエリとして入力すると、コーパス上で検索が行われ、最も関連の高いセンテンス$s$の関連度のスコアが返されます。なお、$s$には、$q$内の少なくとも1つの単語（ストップワードを除く）と、$a_i$が含まれています。

同じ質問で、上記の処理を選択肢の分だけ繰り返し、もっともスコアの良かったものを回答とみなすソルバーです。

[^1]: 検索エンジンには、[Elasticsearch](https://www.elastic.co/jp/products/elasticsearch)を使用

## データフォーマット

各セットは、**CSV**と**JSON**の2つの形式で提供されます。CSV形式のファイルには、質問の全文と、回答の選択肢が、1つのセルに含まれています。JSON形式のファイルには、質問文と回答を分けて格納しています。

### JSONの構造

JSONファイルには、**stem**(質問文)と、A～Dのラベルに該当する様々な**choices**(選択肢)が含まれています。questionIDも、併せて振られています。

```json
{
    "id":"MCAS_2000_4_6",
    "question":{
        "stem":"Which technology was developed most recently?",
        "choices":[
            {"text":"cellular telephone","label":"A"},
            {"text":"television","label":"B"},
            {"text":"refrigerator","label":"C"},
            {"text":"airplane","label":"D"}
        ]
    },
    "answerKey":"A"
}
```

* ``id`` - 質問固有の識別子
* ``question``
    * ``stem`` - 質問文
    * ``choices`` - 回答の選択肢
        * ``label`` - 回答ラベル(``A``,``B``,``C``,``D``)
        * ``text`` - 回答ラベルに関連付けられたテキスト
* ``answerKey`` - 正解の選択肢

### CSVの構造

```csv
questionID,originalQuestionID,totalPossiblePoint,AnswerKey,isMultipleChoiceQuestion,includesDiagram,examName,schoolGrade,year,question,subject,category
MCAS_2000_4_6,6,1,A,1,0,MCAS,4,2000,Which technology was developed most recently? (A) cellular telephone (B) television (C) refrigerator (D) airplane,,Dev
```

以下のカラムが存在します。

* ``questionID`` - 質問固有の識別子
* ``originalQuestionID`` - テストの質問番号
* ``totalPossiblePoint`` - 採点する場合の配点
* ``AnswerKey`` - 正解の選択肢
* ``isMultipleChoiceQuestion`` - 多肢選択問題かどうか ``1``=多肢選択問題 ``0``=その他
* ``includesDiagram`` - 図を含むかどうか ``1``=図を含む ``0``=その他
* ``examName`` - ソースとなったテストの名前
* ``schoolGrade`` - 学年レベル
* ``year`` - テストの発行年
* ``question`` - 質問と選択肢が1つになったテキスト
* ``subject`` - 一般的な質問トピック
* ``category`` - ``Test``、``Train``、または``Dev``

# ベースライン

配布元より公式で、3種類のベースライン（ニューラルベース）が提供されています。

* DecompAttn, based on the Decomposable Attention model - [Parikh et al. (2016)](https://aclweb.org/anthology/D16-1244)
* BiDAF, based on the Bidirectional Attention Flow model - [Seo et al. (2017)](https://arxiv.org/pdf/1611.01603.pdf)
* DGEM, based on the Decomposable Graph Entailment Model - [Khot et al. (2018)](http://ai2-website.s3.amazonaws.com/publications/scitail-aaai-2018_cameraready.pdf)

それぞれのモデルの、ARC（テストデータ）に対する正答率は以下の通りです。

| モデル名 | チャレンジセット(%) | イージーセット(%) |
|:---|---:|---:|
| DGEM | 27.11 | 58.97 |
| BiDAF | 26.54 | 50.11 |
| DecompAttn | 24.34 | 58.27 |

もし、自身で開発されたモデルを評価する際には、次の点に注意してください。モデルが、質問に対して、正解を含む複数個（$k$個）の回答を解答をした場合、その質問のスコアは$1/k$としてください。