問題テキストからの難易度推定のアルゴリズム解説

サムネイル

こんにちは。 e-learningプロダクト開発部データ活用システム開発セクションでなんとか働いている堀です。

今回は、人工知能学会や EDM 2026(Festival of Learning)で発表した、テキストから問題の難しさを推定する研究について解説します。 詳細は、以下の EDM 2026 のページからご覧いただけます。

また、人工知能学会や Festival of Learning の参加レポートは、以下のリンクからご覧いただけます。

項目反応理論とは

本題に入る前に、テストで測る受検者の能力と正答率の関係について、少し説明します。 現在、N高等学校・S高等学校・R高等学校(以下、N高グループ)では、任意参加型の Web 学内模試である 学力診断キャンペーン や、必修科目にひもづいた 定期テスト が実施されています。 これらのキャンペーンや定期テストの裏側では、項目反応理論を用いた分析が行われており、その結果に基づくフィードバックレポートが生徒(受検者)に返されています。

項目反応理論とは、受検者の正誤結果から「受検者の能力」や「数値化した問題の特徴」を推定するフレームワークです。 「受検者の能力」と「ある問題の正答率」には、どのような関係があるでしょうか。 多くの問題では、次のような仮定が成り立つと考えられます1

  1. 受検者の能力が高くなるほど、正答率は上がる(グラフが単調増加・右肩上がりになる)
  2. 能力が十分に高いと、正答率は 100% に近づく
  3. 能力が十分に低いと、正答率は 0% に近づく

したがって、グラフの概形は次のようになるはずです。

このカーブは 項目特性曲線 と呼ばれます。項目反応理論では、観測された正誤結果がこのカーブにできるだけ従うように、受検者の能力  \theta や、問題ごとの S 字カーブの曲がり方(どこで、どれくらい鋭く曲がるか)を決定します。

この S 字カーブを数式で書くと、次のようになります。

 \displaystyle \Pr(\text{正答}\mid\theta,a,b)=\sigma\!\left(Da(\theta-b)\right)

ここで、

  •  \sigma シグモイド関数
    • S 字カーブを描く関数
    • ロジスティックシグモイド  \sigma(x)=(1+e^{-x})^{-1} を使うことが多い
    • 以前は累積正規分布がよく使われており、その歴史的経緯から、次の近似を満たす定数  D=1.702  a の前に付けることが慣例になっている
 \displaystyle \frac{1}{\sqrt{2\pi}}\int_{-\infty}^{x}\exp\!\left(-\frac{t^2}{2}\right)\,\mathrm{d}t\simeq\sigma(Dx)
  •  \theta 受検者の能力
  •  b 困難度
    • S 字カーブの中心、すなわち正答率が 50% になる地点の位置
    • 問題の難しさを表し、値が大きいほど正答率は低く、小さいほど正答率は高くなる
  •  a 識別力
    • S 字カーブの中心における傾きの鋭さ
    • 能力の違いをどの程度明確に識別できる問題かを表す
    • 値が小さいと、能力の高低によって正答率があまり変わらなくなる

本発表のあらまし

「項目反応理論ならZEN Studyの全ての問題の困難度・識別力を推定できるか?」と言われると、現実問題では厳しいところがあります。 項目反応理論で問題の難しさを推定するには、100人以上の受検者を集めテストを受けてもらう必要があります。 問題数が10000問を超えるZEN Studyで、例えば1回につき40問の問題を出題するとして、全ての問題を推定するためには、前述のようなテストを250回以上実施する必要が出てきます。 これは現実的とは言えません。

このような背景から、すでに推定が行われた一部の問題を手掛かりにして、未推定の問題についてもテキストだけから項目反応理論パラメータを推定する、QDET(Question Difficulty Estimation from Text)というアプローチが提案されています2。 一般的な QDET では、問題テキストを入力、項目反応理論パラメータを出力とする回帰モデルを構築し、推定済みのデータで学習したうえで、未推定の問題のパラメータを予測します。

私たちの論文では、QDET について次の 2 点を示しました。

  • 先行研究で用いられている損失関数(MSE)を、新たな教師あり損失関数に置き換えることで精度が向上すること
  • この教師あり損失関数の考え方を応用し、「2 問を比較したときに、どちらが難しいか」だけが分かっている弱教師ラベルも学習に活用できる、対照学習用の損失関数を提案したこと

以降の章では、まず先行研究で用いられている損失関数(MSE)の課題を説明し、次に提案した教師あり損失関数と、弱教師ラベルを使った対照学習について解説します。

MSEの課題

MSE は回帰モデルでよく用いられる損失関数で、予測値と真値の差の二乗平均として定義されます。 困難度  b と識別力  a の場合は、次のように書けます3

 \displaystyle \mathcal{L}_{\mathrm{MSE}}=\mathbb{E}_i\!\left[(b_i-\tilde b_i)^2+(a_i-\tilde a_i)^2\right]

この MSE は、 b  a の誤差を別々の座標上の距離として足し合わせています。 複数のパラメータを個別に扱っても問題がない場合には使いやすい一方で、 b  a が共同で決める構造を直接考慮するものではありません。 項目反応理論では、 b  a が共同で項目特性曲線を定義するため、この点に注意が必要です。

その影響が分かりやすく表れる具体例を見てみます。 左の図は  a が小さいときの項目特性曲線で、右の図は  a が大きいときの項目特性曲線です。 左の図ではオレンジと青の線がかなり異なって見える一方、右の図では 2 本の差がわずかで、ほとんど変わらないと感じる人が多いのではないでしょうか。

しかし、左右の図では、青とオレンジに対応するパラメータ間の MSE が同じ値になります。 この図からも分かるように、パラメータ間の MSE を項目特性曲線の近さの代理として使うことは、必ずしも最適ではなさそうです。 受検者の正答率が項目特性曲線に基づいて算出されることを考えると、QDET によるパラメータ推定でも、項目特性曲線の近さをより適切に表現できる損失を使うのが筋がよさそうです。

どんな教師あり損失関数を提案したか

項目反応理論の数式は、ロジスティックシグモイドと累積正規分布が似ていることから、次のように近似できます4

 \displaystyle \sigma\!\left(Da(\theta-b)\right)\simeq\operatorname{Pr}\!\left\{z<\theta\mid z\sim\mathcal{N}(b,a^{-2})\right\}

この式はシンプルに解釈できます。 「潜在変数  z 」と「受検者の能力値  \theta 」の大小関係によって、正誤が決まると考えられます。 ここでの潜在変数  z は困難度  b に似た量ですが、困難度とは異なり、運や受検時の状況などの確率的な影響も含み、確率分布  \mathcal{N}(b,a^{-2}) からサンプリングされます。

この  z\sim\mathcal{N}(b,a^{-2}) の分布を、 b  a が共同で定める項目特性曲線を表す分布とみなし、モデルが予測した分布を教師データの分布に近づけるように学習させました。 具体的には、2 分布間の隔たりを測ることができ、閉形式5で記述できるコーシー・シュワルツダイバージェンス(以下、CSD)6を損失関数に採用しました。

 \displaystyle \begin{aligned} \mathcal{L}_{\mathrm{CS}} &=-\mathbb{E}_i\!\left[\log\frac{\int \mathcal{N}(z\mid\tilde b_i,\tilde a_i^{-2})\mathcal{N}(z\mid b_i,a_i^{-2})\,\mathrm{d}z}{\sqrt{\int\mathcal{N}(z\mid b_i,a_i^{-2})^2\,\mathrm{d}z\int\mathcal{N}(z\mid\tilde b_i,\tilde a_i^{-2})^2\,\mathrm{d}z}}\right] \\ &=\frac{1}{2}\mathbb{E}_i\!\left[\frac{(b_i-\tilde b_i)^2}{a_i^{-2}+\tilde a_i^{-2}}+\log\frac{a_i^{-2}+\tilde a_i^{-2}}{2a_i^{-1}\tilde a_i^{-1}}\right] \end{aligned}

先ほど MSE で比較した 2 つのケースを、CSD でも見てみます。 この図の左上と右下が、先ほどの 2 つのケースに対応しています。 項目特性曲線が大きく異なる左上では CSD が 0.11 と大きくなっており、項目特性曲線がほとんど変わらない右下では CSD が 0.0023 と小さくなっています。

また、CSD が同じ値で  a が異なる場合(グラフの左右)でも、項目特性曲線の離れ具合は同程度になっています。 このことから、項目特性曲線の近さを CSD で見積もることが妥当であると、直感的にも確認できます。

教師ラベルと弱教師ラベル

ZEN Study には、問題タイトルに含まれる「【難】」のようなマーカーや、「ハイレベル問題集」のようなコース名など、難易度推定の手掛かりになる情報が問題文以外にも存在します。 このような情報をうまく活用すれば、問題難易度推定の精度をさらに向上できるのではないかと考えました。

しかし、先行研究を調査した限り、従来の QDET では、困難度や識別力の数値を直接与えない補助情報、すなわち弱教師ラベルを用いたアプローチは見つかりませんでした。 そこで本研究では、先ほどの潜在変数  z と弱教師ラベルを組み合わせるフレームワークも新たに提案しました。

先ほどの潜在変数  z は、次の性質を持つ確率変数でした。

  1. 受検者の能力値が  z を上回ると正解すると解釈できる、問題ごとの正答・誤答の閾値である
  2.  \mathcal{N}(b,a^{-2}) という確率分布からサンプリングされる

性質 1 から、難しい問題では  z の高い値が、簡単な問題では  z の低い値がサンプリングされやすいと考えられます。 したがって、難しい問題の潜在変数  z_+ と簡単な問題の潜在変数  z_- について、 z_+>z_- となる確率を高くすればよさそうです。

難しい問題と簡単な問題

 z_+>z_- という関係に対する負の対数尤度は、次のように書けます。

 \displaystyle \begin{aligned} \mathcal{L}_{\mathrm{con}} &=-\mathbb{E}_{i_\pm}\!\left[\log\operatorname{Pr}\!\left\{z_+>z_-\mid z_\pm\sim\mathcal{N}(\tilde b_{i_\pm},\tilde a_{i_\pm}^{-2})\right\}\right] \\ &\simeq-\mathbb{E}_{i_\pm}\!\left[\log\sigma\!\left(D\frac{\tilde b_{i_+}-\tilde b_{i_-}}{\sqrt{\tilde a_{i_+}^{-2}+\tilde a_{i_-}^{-2}}}\right)\right] \end{aligned}

ここでも、シグモイド関数と累積正規分布の近似を使っています。

今回のアプローチでは、この負の対数尤度を、先ほどの CSD を使った教師あり損失と重み付き和として組み合わせて学習しました。

実験と結果

ZEN Study のデータを使い、損失関数の構成をさまざまに変えて実験したところ、次の結果が得られました。

  • CSD を使った教師あり学習は、従来の MSE よりも高い精度を示した
  • 弱教師ラベルを使うことで、さらに精度が向上した
    • この結果は、困難度  b だけを使った対照学習(実験では pairwise logistic loss を使用)よりも優れていた

まとめ

従来の QDET には、次の課題がありました。

  • 教師あり学習の損失関数が、困難度  b と識別力  a を個別に扱っており、両者が共同で定める項目特性曲線を直接考慮していない
  • 教師ラベルだけを用いており、弱教師ラベルが学習に活用されていない

本研究では、項目特性曲線を潜在変数  z と能力値  \theta の大小関係として再解釈することで、次の 2 つの損失項を提案しました。

  •  z の分布間の近さに基づく教師あり損失
  • 弱教師ラベルから得られる  z の大小関係が成立する確率を最大化する対照損失

そして、これら 2 つの損失項が、いずれも精度向上に寄与することを示しました。

このアプローチに興味を持っていただけたら、ぜひ論文(PDF / HTML)も読んでいただけるとうれしいです。

また、ドワンゴの教育事業に興味がある方に向けて、メンバー募集やカジュアル面談も行っています。ぜひ、以下の採用情報もご覧ください。

採用情報


  1. 3 を仮定しないモデルとして 3 パラメータロジスティックモデル、2 と 3 の両方を仮定しないモデルとして 4 パラメータロジスティックモデルがありますが、今回は割愛します。
  2. A survey on recent approaches to question difficulty estimation from text
  3. チルダはモデルによる推定値を表します。 \mathbb{E}_i は、項目  i について平均を取ることを表します。
  4.  \operatorname{Pr}\{A\mid B\} は、 B が成り立つ条件のもとで  A が起こる確率を表します。 \mathcal{N}(b,a^{-2}) は、平均  b 、分散  a^{-2} の正規分布です。
  5. 積分や無限級数を計算過程に残さず、明示的に表せる形式。ニューラルネットワークで学習する場合、誤差逆伝播法で計算しやすい閉形式は特に便利です。
  6. KL ダイバージェンスや Hellinger 距離など、閉形式で記述できる分布間の隔たりの指標はほかにもありますが、予備実験では CSD の精度が最も高くなりました。