# 数学・確率問題を対象とした条件記述の自動解釈

岩間 純輝†佐藤理史 $\$ \quad$ 小川浩平 $\$$ 宮田玲
†名古屋大学工学部 $\$$ 名古屋大学大学院工学研究科
iwama. junki@h.mbox.nagoya-u.ac.jp

## 1 はじめに

大学入試問題では、言語運用能力をはじめ、多岐 に渡る知識やスキルが問われる。このうち、国語・英語以外の教科の問題では、問題文を分野知識 (科目固有の知識) に基づいて解釈し、何が求められて いるかを理解した上で、その答を分野知識を駆使し て導くことが必要となる。

2011 年から 6 年間に渡って実施された「ロボッ トは東大に入れるか」プロジェクトでは、主要 5 教科 (国語、英語、数学、社会、理科) の大学入試問題 の自動解法が研究された $[1]$ 。このうち、数学では、問題文を実閉体の一階論理式に変換し、得られた論理式に含まれる限量子を RCF-QE アルゴリズムで消去することによって解を求める方法が、中心的な解法として採用された。その一方で、この枠組みに適合しない「確率・期待値」問題の自動解法 $[2,3]$ は、十分には研究されなかった。

「確率・期待値」問題は、次のような特徴を持つ。

1. 問題を解くために必要な数学的概念 (試行、結果、標本空間、事象、確率、期待値) は、それほ ど複雑ではない。

2. サイコロ・玉・カードなどの一般的な素材を用 いて仮想世界が記述され、その世界の中で問題 が記述される。

3. 事象を規定する条件の記述は、かなり複雑にな りうる。

4. 問題の解答に必要な属性 (典型的には、期待値問題における「得点」)の計算方法が、問題文中 で定義される。

これらの特徴のうち、本研究では 3 番目の特徴に 焦点を当て、事象を規定する条件記述を正しく解釈 する問題に取り組む。本研究の特徴は、試行によっ て得られる結果の構造に着目し、この構造に基づい て条件記述を再帰的に解釈する点にある。

(1) 出た目の和が偶数となる確率を求めよ。

(2) 出た目が 2 つとも偶数である確率を求めよ。

例題 2 サイコロを 2 回振る。

1 回目に 2 以下または 5 以上の目が出て、かつ 2 回目に奇数の目が出る確率を求めよ。

図 1 数学・確率問題の具体例

## 2 数学・確率問題の構造

対象とする数学・確率問題の具体例を図 1 に示 す。一般に、問題文は次の 4 種類の記述から構成さ れる。

## 1. 仮想世界の記述

どんなオブジェクトがいくつあるか

## 2. 試行の記述

標本空間はどのように規定されるか

## 3. 確率の計算要求

ある事象が起きる確率を求めることを要求する

## 4. 定義

特定の事象や、結果に対する属性を定義する

大学入試のセンター試験で出題される確率問題 は、おおよそ、次の式で解ける。ここで、|・は、集合の要素の数を表す。

$
\text { 確率 }=\frac{\mid \text { 事象 } \mid}{\mid \text { 標本空間 } \mid}
$

標本空間が有限集合の場合は、要素を列挙すれ ば、この式の分母の値が求まる。さらに、事象を規定する条件を計算可能な形式に翻訳して標本空間の 全要素に適用すれば、事象が求まり、分子の値が求 まる。つまり、解くべき問題は、「出た目の和が偶数 となる」のような日本語の条件記述を、この条件の 成否を判定するプログラムに翻訳することになる。

## 34 種類の結果型

本研究では、条件記述を解釈するために、結果 (標本空間の要素) の内部構造 (階層構造) に着目す る。この内部構造の型として、次に示す 4 種類を設

2. 2個のサイコロを同時に振る。4.2個のサイコロを同時に3回振る。

図 2 結果の内部構造の 4 種類の型

定する (図 2)。以下では、これを結果型と呼ぶ。

1. O 型 (オブジェクト)

オブジェクト 1 個

2. LO 型 (リスト>オブジェクト) $n$ 個のオブジェクトで構成されるリスト

3.SO 型 (シーケンス>オブジェクト)

$k$ 個のオブジェクトで構成されるシーケンス

4. SLO 型 (シーケンス>リスト>オブジェクト) $n$ 個のオブジェクトで構成されるリストの、長 さ $k$ のシーケンス

上記の 4 種類の型は、試行の回数と 1 回の試行に 関与するオブジェクトの個数によって定まる。

## 4 条件記述を構成する要素

条件記述を構成する要素を、すべて関数としてモ デル化する。関数は、以下の 6 種類に分類する。

1. 定数 (属性值)

2. (オブジェクトの) 属性値の取得

3. (数值) 演算

4. (真偽值を返す) 述語

5. 述語の成立 (真值) に対する個数・回数・順序の 制約

6. 論理演算

オブジェクト、リスト、シーケンスのそれぞれの 階層に対して用意した基本関数とその主要な日本語表現 (キーワード)を、表 1、表 2、表 3 に示す。条件記述は、これらの基本関数の合成関数として表現 する。

上記に示した 6 種類のうち、定数 (属性値) と属性值の取得は、オブジェクトに対してのみに適用可能 な関数である ${ }^{1)}$ 。一方、数値演算は、リストとシー

1） オブジェクトとしては、サイコロ、玉、カードの 3 種類を 想定し、それらのオブジェクトの属性として、番号・数字と表 1 オブジェクトに対する基本関数

 \\

表 2 リストに対する基本関数

表 3 シーケンスに対する基本関数

ケンスに対して適用可能であり、述語、論理演算は、 すべての階層において適用可能である。制約は、個数制約がリストに対して、回数制約と順序制約が シーケンスに対して適用可能である。個数制約と回数制約は、抽象的な関数としては同一であるが、日本語表現では異なる接尾辞が用いられるので、区別 する。

## 5 条件記述の解釈手順

本節では、日本語で書かれた条件記述を正しく解釈し、実行可能な条件判定プログラムに変換するア ルゴリズムを示す。入力は、条件記述 (文字列) と結果型であり、出力は、それぞれのレベルに対して定義する合成関数である。

色を想定した。

図 3 例題 1 の解釈

## 5.1 要素への分解

まず、条件記述を文節に分解し、キーワードを手掛かりに結合・分解・並び替えを行って、表 1-3に 示した要素 (日本語表現) の並びに変換する。たとえ ば、図 1 の例題 1 に対しては、以下のような要素の 並びを得る。

(1) a. [出た目の, 和が, 偶数となる]

b. [出た目が, 2 つとも, 偶数である]

これらの要素のうち、「出た目(の・が)」は属性値 の取得 (オブジェクト階層)、「2つとも」は個数制約 (リスト階層) であることが一意に定まる。「和 (が)」 は、リストとシーケンスの両方の階層に対して可能 であるが、例題 1 の結果型は LO 型なので、リスト 階層と定まる。残りの「偶数 (となる・である)」が どの階層に属するかは、この段階では定まらない。

## 5.2 構成要素の並びの解釈と関数の合成

次に、要素の並びを、結果型の階層構造にした がって再帰的に解釈する。それぞれの階層では、与 えられた要素の並びから、その階層の要素を抜き出 し、残りを下位の階層に渡す (再帰呼び出し)。下位階層の処理結果として関数名が得られると、その関数名と抜き出した要素を組み合わせて合成関数を定義し、その関数名を上位の階層に返す。例題 1 に対 して定義される合成関数を図 3 に示す。

要素への分解の過程で階層が一意に定まらなかっ た要素の階層は、以下のルールで決定する。

1. 数値演算の階層決定

SLO 型の場合は、リスト階層と判定する。

2. 述語の階層決定 (a) 要素の並びに数値演算が含まれる場合、そ の数值演算と同じ階層と判定する。

(b) 要素の並びに制約表現が含まれる場合、そ の制約表現よりも下位の階層と判定する。

要素の並び (1a)をリスト階層で解釈する場合、「和 (が)」が数値演算 (リスト階層) なので、「偶数 (となる)」もリスト階層と判定する (ルール 2a)。残 りの「出た目 (の)」は、下位のオブジェクト階層に 渡される。一方、要素の並び (1b) をリスト階層で解釈する場合、個数制約「2つとも」がリスト階層な ので、残りの「出た目 (が)」と「偶数 (である)」を 下位のオブジェクト階層に渡す (ルール 2b)。

## 5.3 論理演算を含む場合

条件記述に論理演算子 (AND と OR) に相当する記述が含まれる場合は、5.2 節の処理を行う前に、その 論理演算が結びつける引数の範囲を決定する。AND と OR の引数は、必ず同じ階層の要素である。この 制約に基づき、以下のように引数の範囲を定める。

1. 直前と直後の要素が同一種類の関数であれば、 その両者を論理演算の引数とみなす。

2. そうでなければ、先頭から直前までと、直後か ら末尾までを、論理演算の引数とみなす。

たとえば、図 1 の例題 2 は、要素への分解によっ て、次のような並びが得られる。

(2) [1 回目に, 2 以下, または, 5 以上の, 目が, 出て, かつ, 2 回目に, 奇数の, 目が, 出る]

この並びに含まれる「または」の直前は「2 以下 (述語)」で、直後は「5 以上の (述語)」なので、この OR の引数は、これらの要素と解釈する。一方、「か つ」の直前は「出て (述語)」で、直後は「2 回目に (回数制約)」なので、トップレベルの AND と解釈す る。以上により、

(3) [[1 回目に, [2 以下, OR, 5 以上の], 目が, 出て], AND, [2 回目に, 奇数の, 目が, 出る]]

が得られる。その後、括弧をはずし、以下のような 論理演算を含まない形式に展開する。

(4) a. [1 回目に, 2 以下の, 目が, 出る]

b. [1 回目に, 5 以上の, 目が, 出る]

c. [2 回目に, 奇数の, 目が, 出る]

この際、分割後の条件記述が自然になるように、整形する。たとえば、「5 以上の」より、「の」を補完 して「2以下の」とする。

図 4 例題 2 の解釈 (一部)

表 4 実験結果

これらの条件記述のそれぞれに、5.2 節の処理を 適用し、最後に論理演算で結合すれば、図 4 に示す 合成関数が得られる。

## 6 実験と検討

アルゴリズムの開発に使用しなかった評価用デー タを用いて、作成したアルゴリズムの評価を行っ た。評価用データの出典を以下に示す。

実験 1 市販の問題集 2 冊 [4,5]

実験 2 センター試験 (2000 年から 2020 年のうち、偶数年の本試験と追試験 22 回分)

対象とする問題は、問題の記述に使われるオブ ジェクトがサイコロ、玉、カードのいずれかで、か つ、結果型が 3 節に示した 4 種類のいずれかに該当 する問題である。それぞれの問題からは、

1. 試行におけるオブジェクトの個数と回数

2. 確率を求める事象の条件記述

を抜き出し、これを入力とした。アルゴリズムが出力する解釈—どの階層にどのような合成関数を定義したか—を目視にて確認し、解釈の成否を判定 した。

まず、実験 1 を行い、アルゴリズムの不備を修正 した後、実験 2 を行った。実験結果を表 4 に示す。 この表の分数の分母は条件記述の数、分子は正しく 解釈できた数を表す。

表 4 に示すように、両方の実験で 8 割以上の正解率が得られた。この結果より、本アルゴリズムは、確率問題に現れる条件記述の大半を正しく解釈でき
ると考えられる。結果型は、LO 型、SO 型の順に多 く、SLO 型は 1 例も存在しなかった2)。

解釈に失敗した原因として最も多い (13 件中 9 件) のは、基本関数の不足である。たとえば「 $u$ が整数 になる (確率)」という条件記述は、「整数 (になる)」 という関数 (述語) を用意していなかったため、解釈 できなかった。

本アルゴリズムにおいて、基本関数を追加するこ と自身は容易である。しかしながら、必要となる基本関数を、前もってすべて予想することは、かなり 難しい。

特に問題となるのは、 6 種類の基本関数の中の述語である。今回は、オブジェクトの属性値として 色と番号を扱うので、非数値 (色)を対象とする述語と整数 (数字) を対象とする述語を用意した。し かし、先にあげた述語「整数 (になる)」は、試行に よって得られた 2 つの数字 $a, b$ から、(結果に対す る) 新たな属性として分数 $u=a / b$ を定義し、「 $u$ が 整数となる」確率を求める問題として出現した。試行によって得られる結果の構造をそのまま使うので はなく、結果にある写像を施し、その出力の確率を 問う場合、あらかじめ用意すべき述語が十分に限定 できない。

評価用データの条件記述のうち、軽微な修正では 対処できないのは、次の 2 件である。

(5) a. 8 回目が終わった時点で赤玉がすべて取り 出されている

b. 赤玉がちょうど 8 回目ですべて取り出さ れる

前者は「 $n$ 回目までに個数制約が満たされた状態に なっている」ことを、後者は「ちょうど $n$ 回目で個数制約が満たされた状態となる」ことを意味する が、これらの解釈を現在の枠組みに組み込むのは、 それほど単純ではない。

## 参考文献

[1]新井紀子, 東中竜一郎（編）. 人工知能プロジェクト「ロ ボットは東大に入れるか」. 東京大学出版会, 2018.

[2]神谷翼, 松崎拓也, 佐藤理史. 数学確率文章題の自動解答 システムの開発. 言語処理学会第 21 回年次大会発表論文集, pp. 365-368, 2015.

[3]神谷翼, 松崎拓也, 佐藤理史. 題材となるオブジェクトの 抽象化による確率文章題の自動解答. 人工知能学会第 30 回全国大会論文集, 4B1-2, 2016.

[4]森谷慎司. 数学場合の和・確率 分野別 標準問題精講.旺文社, 2016 .

2）開発用データには、 1 例存在した。

[5]松田聡平. 単元攻略 場合の数・確率 解法のパターン 30 .技術評論社, 2015.
 岩間 純輝†佐藤理史 $\$ \quad$ 小川浩平 $\$$ 宮田玲 †名古屋大学工学部 $\$$ 名古屋大学大学院工学研究科 iwama. junki@h.mbox.nagoya-u.ac.jp  