センター試験を例に、自然言語処理の基礎を解説する本連載。第3回はセンター試験英語の穴埋め問題を自然言語処理で解答し、その結果について考察する。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
前回は、BERTによる文脈理解について説明しました。今回は、BERTの事前学習モデル(bert-base)をそのまま使ってセンター試験英語穴埋め問題にチャレンジします。
センター試験は全ての問題がマークシート形式で出題され、複数の選択肢の中から正解を選んで解答します。2022年10月現在はセンター試験が廃止されており、代わりに大学入学共通テストが実施されています。もちろん現行の試験でも問題なく解くことは可能ですが、センター試験はデータセットが公開されているため、そのデータセットを利用しました(※引用に際し、公開元から許諾を得ています)。本連載ではモデル学習の他にセンター試験の解説のために、問題文を一部引用しています。今回は自然言語処理による読解力を明らかにするために、複数の科目の中から英語を対象にしてセンター試験にチャレンジします。
本記事で使用するソースコード一式はこちらで公開していますので、参考にしていただければと思います(本リポジトリは個人のものであり、筆者が所属する団体とは関係がありません)。
今回は2017年度センター試験英語の大問2に出題される穴埋め問題(以下、穴埋め問題)に対して、BERTを使って解答することにチャレンジします。穴埋め問題とは、文章中の1単語、あるいは複数単語が抜けており、その抜けている単語を選択肢の中から1つ選択する問題です。
穴埋め問題については幾つか種類があるため、今回は説明のために以下の4種類に分類しました。
単語穴埋め問題(1単語)は、4つの選択肢の中から1つを選択して解答する問題です。同様に、単語穴埋め問題(2単語)は穴抜けになっている単語が2つになっている問題文に対して、4つの選択肢から1つを選択して解答する問題です。
Today, in science class, I learned that salt water doesn't freeze [8] 0℃.
(1)at
(2)in
(3)on
(4)with
He (A) his umbrella (B) in the door by accident when he boarded the rush hour train.
(1)A:got B:caught
(2)A:got B:to caught
(3)A:made B:caught
(4)A:made B:to caught
続いて、単語並び替え問題は、一部が穴抜けになっている対話形式の問題文に対して、選択肢の単語を補って文章を完成させる問題です。複数の選択肢を並び替えて、その2単語目および5単語目に該当する選択肢を解答します。
最後に、文章並べ替え問題は、単語並び替え問題と同じく対話形式の文章が与えられています。与えられた複数の選択肢を並び替えて、最も自然な文章となる選択肢の組み合わせを解答します。
今回はこれらの穴埋め問題について、各選択肢をそれぞれ問題文の穴埋め部分に挿入した文章に対してスコアを付け、最も高いスコア(自然な文章ほどスコアが高くなる)になる選択肢を解答として選びます。スコアの算出方法には「pseudo-log-likelihood scores」(以下、PLL)を使用しました。PLLとは、文章中の各単語を[MASK]に置き換えて、[MASK]に置き換えられた元の単語を予測したときの条件付き対数確率の和を示す計算式です。各単語がその文章において予測しやすい=自然な文章と見なすことができるため、PLLのスコアを基にして解答しました。
BERTによって穴埋め問題に取り組んだ結果を以下の表に示します。
解答番号 | 問題文 | 解答 | 答え | 正誤 |
---|---|---|---|---|
8 | 単語穴埋め問題(1単語) | (1) | (1) | ○ |
9 | (2) | (2) | ○ | |
10 | (4) | (4) | ○ | |
11 | (1) | (1) | ○ | |
12 | (1) | (2) | × | |
13 | (3) | (3) | ○ | |
14 | (4) | (4) | ○ | |
15 | 単語穴埋め問題(2単語) | (1) | (1) | ○ |
16 | (1) | (3) | × | |
17 | (1) | (1) | ○ | |
18、19 | 単語並べ替え問題 | (2)(6) | (2)(6) | ○ |
20、21 | (5)(1) | (5)(1) | ○ | |
22、23 | (6)(2) | (6)(2) | ○ | |
24 | 文章並べ替え問題 | (5) | (5) | ○ |
25 | (4) | (2) | × | |
26 | (7) | (7) | ○ | |
16問中13問に正解することができました。約8割の問題に正解できているため、かなり正答率が高い結果といえます。
ここからは正解した問題および間違えた問題を詳しく見ていくことで、BERTが解答しやすい問題の傾向を説明していきたいと思います。
まずは正解した問題について見ていきましょう。
Today, in science class, I learned that salt water doesn't freeze [8] 0℃.
(1)at
(2)in
(3)on
(4)with
解答:(1)
正解:(1)
この問題は、温度を表す数量表現には前置詞"at"が使われることを知っていれば、文章全体を読むことなく解くことができるため、人間にとっては比較的解きやすい問題になります。またBERTは大量の学習データから学習しているため、一般的な文章でも使われる温度表現については学習データにも多く含まれています。つまり、今回使用したBERTはこの問題文に回答することは比較的容易であると思われます。
そのため、この問題文のように前後の単語から解答を推測できる問題については、人間とBERTにとっては比較的解きやすい問題になります。
続いて、正解できなかった問題についても見てみましょう。
[12] as the leading actor in the film, Ramesh soon became a star.
(1)Choosing
(2)Having been chosen
(3)Having chosen
(4)To choose
解答:(1)
正解:(2)
まず、この問題文には接続詞が抜けているため、接続詞を省略することができる分詞構文を使う必要があります。また、動詞"choose"の後ろには目的語が必要になりますが、"as"は前置詞であるため必要な目的語が見当たりません。"as"の直前に目的語が省略されていると考えると、受動態の選択肢を選ぶ必要があります。分詞構文でかつ受動態である選択肢は(2)になります。(1)は分詞構文ではありますが、受動態にはなっていないため不正解です。
この問題は分詞構文などの品詞のルールを知っている人にとっては、先ほどの問題と同様に文章全体の意味を理解していなくても解くことができそうです。それではなぜ、BERTはこの問題を正解できなかったのでしょうか。
BERTが正解できなかった理由を考察する前に知っていただきたいことがあります。実は、筆者にもなぜこの問題をBERTが正解できなかったかという根拠を示すことは難しいのです。BERTのような深層学習モデルは、学習データから自動で学習を進めるため、深層学習モデルが学習データから具体的に何を学んだかはブラックボックス(つまり、説明不可能)になるからです。この問題は深層学習モデル全体が抱えています。
ですが、学習データや深層学習モデルの学習方法を知っていれば、深層学習モデルが学習データからどのような知識を獲得しているか、または獲得した知識の傾向を予測して説明することができます。そこで筆者は、学習データやモデルの学習方法などとひも付けて可能な限り具体的根拠に基づいた解説を目指します。
話を戻しましょう。BERTがこの問題を解けなかった理由については、ネイティブはあまり受動態を使わないことに起因すると筆者は考えています。受動態を不適切に使うと文章が冗長になる場合があるため、必要のない場合には能動態が使われます。大事なことは文の先頭に持ってくるのが英語の特徴なので、受動態を使うことはあまり好まれないのかもしれません。
先ほど説明したように、学習データは能動態が多く含まれるため、今回の問題文に対しては、受動態より能動態の選択肢を入れた方が自然な文章であると判断された可能性があります。その結果、今回用意した事前学習モデルおよび解答方法では不正解でした。
BERTは大量の文章から言語モデルを学習しているため、文法ルールを直接学習しているわけではありません。そのため、仮に学習データに受動態の文章が少ない場合は、能動態の文章をより自然だと見なす場合もあります。機械学習はあくまで、出力は学習データに依存します。今回の問題文の場合は不正解でしたが、学習データに含まれる受動態の割合を増やすことができれば、今回の問題文に対しても正解できるようになる可能性があります。また、今回使用した事前学習モデルよりも大規模なモデルである「bert-large」を使うことで、この問題を正解できるようになるかもしれません。
今回はBERTを使って、センター試験英語の穴埋め問題にチャレンジしました。正解率は約8割と高い性能が出せているため、穴埋め問題のように短い文章に対しては、文脈理解ができている可能性が高いといえます。もちろん、他の自然言語処理タスクでも必ずこのような高い性能を出せるとは限りません。しかし、似たような問題設計がされた実世界の課題に対しては、現在の自然言語処理技術を使うことで人間と同等またはそれ以上の性能が出せることが期待できます。例えば、議事録などの誤字訂正ツールに利用したり、似た単語を用いたより読みやすい文章を推薦してくれる機能に利用したりすることができれば、業務改善につながるでしょう。
次回はセンター試験大問5の長文読解問題にチャレンジします。
センター試験XMLデータ(ロボットは東大に入れるか?プロジェクト)
※引用に際し、公開元から許諾を得ています
ソフトウェア開発企業のNTTテクノクロスで、深層学習モデルを用いた新規ソリューションの検討・開発業務に従事。
NTTテクノクロスは音声認識および自然言語処理技術を用いた製品である「ForeSight Voice Mining」を提供しており、筆者自身も音声音響・画像映像・自然言語といったマルチメディアを統合的に扱いより高度な推論を実現する次世代メディア処理AIを搭載した「SpeechRec」の開発業務に取り組んでいる。
Copyright © ITmedia, Inc. All Rights Reserved.