【実施例1】
【0013】
以下、
図1を参照して実施例1の学習効果推定装置の構成を説明する。同図に示すように、本実施例の学習効果推定装置1は、学習データ取得部11と、正解確率生成部12と、モデル記憶部12Aと、正解確率データベース12Bと、範囲データ取得部13と、理解度信頼度生成部14と、レコメンド生成部15を含む。なお、同図に破線で示すように、レコメンド生成部15は必須の構成要件ではなく、場合により割愛してもよい。
【0014】
以下、
図2以降を参照して、各構成要件の詳細な動作を説明する。
【0015】
<学習データ取得部11>
学習データ取得部11は、学習データを取得する(S11)。学習データとは、ユーザがコンテンツを学習したときの学習結果や学習状況のデータであり、コンテンツ、学習データには、学習目的別のカテゴリ(以下、単にカテゴリという)が予め割り振られている。
【0016】
[コンテンツ、学習データ]
図3に示すように、コンテンツにはカリキュラム、アダプティブの二つの種別を設けてもよい。カリキュラムには、例えばシナリオ、練習問題などを含むことができる。アダプティブには、例えば演習問題などを含むことができる。
【0017】
シナリオとは、読む、聴く、図を参照する、動画を見るなど、問題演習以外の形式によって、知識を習得するタイプのコンテンツ(教材)を示す。シナリオの学習データとは典型的には、シナリオの読了、聴講完了、閲覧完了など学習結果を示すデータ(フラグ)や、学習が行われた日時、場所など学習状況を示すデータである。これ以外にもシナリオの読解、聴講、閲覧の回数や頻度をシナリオの学習データとしてもよい。
【0018】
練習問題とは、典型的には、シナリオとシナリオの間に挿入され、あるいはシナリオの後ろに挿入され、直前のシナリオの理解度を問う基本的な例題などを意味している。練習問題の学習データとは典型的には、練習問題の実施、実施の回数、頻度、正誤、正答率、得点、誤答の内容など学習結果を示すデータや、学習が行われた日時、場所など学習状況を示すデータである。
【0019】
演習問題とは、典型的には、テスト形式で出題される問題群のことなどを意味している。演習問題の学習データとは、典型的には、演習問題の実施、実施の回数、頻度、正誤、正答率、得点、誤答の内容など学習結果を示すデータや、学習が行われた日時、場所など学習状況を示すデータである。また、模試の成績データを演習問題の学習データとして用いてもよい。
【0020】
[カテゴリ]
カテゴリとは、ユーザの学習内容を細分化して定義した学習目的を示す。例えば「1次方程式を解くことができる」をカテゴリ01、「連立方程式を解くことができる」をカテゴリ02、などと定義してもよい。また、上記をもっと細分化して、例えば「移項を用いて1次方程式を解くことができる」、「括弧のある1次方程式を解くことができる」、「係数に分数・小数を含む1次方程式を解くことができる」といったカテゴリを定義してもよい。
【0021】
二つのカテゴリの正解確率(または理解度)は場合により密接な関連性を有する場合がある。例えば、三角関数のsinθ,cosθの基本的な性質についての正解確率(または理解度)が高い場合に、同じ三角関数であるtanθの基本的な性質についての正解確率(または理解度)が高くなる傾向があるといえ、これらは密接な関連性を有するといえる。
図4にカテゴリの相関関係の例を示す。同図の例では、カテゴリ01は、カテゴリ02およびカテゴリ03に強く相関している。また、カテゴリ02、03ほどではないものの、カテゴリ04は、カテゴリ01と弱く相関している。また、カテゴリ05は、カテゴリ01とは無相関である。例えばユーザがカテゴリ01を学習中の場合、当然のことながら学習結果に応じて、カテゴリ01の正解確率(または理解度)は変動する。このとき、カテゴリ02,03,04が未学習であったとしても、カテゴリ01と相関があるため、カテゴリ01の学習結果に応じて、カテゴリ02,03,04の正解確率(または理解度)も変動する。このとき、カテゴリ01とは無相関なカテゴリ05の正解確率(または理解度)は変動しない。
【0022】
例えば、
図5に例示するように、カテゴリ01を学習したことにより、カテゴリ01の正解確率が0.20上昇した場合に、カテゴリ01と強く相関するカテゴリ02,03の正解確率は0.10上昇し、カテゴリ01と弱く相関するカテゴリ04の正解確率は0.05上昇するといったケースが考えられる。
【0023】
[カテゴリの先行後続関係]
カテゴリ間に先行後続関係を定義してもよい。先行後続関係とはカテゴリの推奨学習順序を定義するパラメータである。より詳細には、先行後続関係とは、あるカテゴリを先行して学習した場合に、後続して学習するカテゴリの学習効果が高くなるように定めた重み付けパラメータである。例えば上述の例において、カテゴリ「sinθ,cosθの基本的な性質」を先行学習した場合、後続するカテゴリとして、カテゴリ「tanθの基本的な性質」を選択すれば、学習効果が高くなると見込まれる。
【0024】
例えば
図6の例では、カテゴリ01が先行する場合に、後続するカテゴリとして、重み付けパラメータ=0.8を有するカテゴリ02を選択すれば、学習効果が高くなると見込まれる。同様に、カテゴリ02が先行する場合に、後続するカテゴリとして、重み付けパラメータ=0.8を有するカテゴリ03を選択すれば、学習効果が高くなると見込まれる。なお、
図6において、すべてのカテゴリにおいて、順序も含めたすべての学習の関係性を表す連続値として、カテゴリ間の関係性を定義してもよい。
【0025】
[コンテンツに指定されるカテゴリの数]
各コンテンツには、少なくとも一つのカテゴリが付与される。コンテンツに2以上のカテゴリを付与してもよい。
図7の例では、コンテンツ_0101にカテゴリ01,02が、コンテンツ_0102にカテゴリ01が、コンテンツ_0201にカテゴリ02,03,04が、それぞれ付与されている。
【0026】
<モデル記憶部12A>
モデル記憶部12Aは、学習データを入力とし、学習データに基づいてユーザのカテゴリ毎の正解確率を生成するモデル(DKTモデル)を記憶する。
【0027】
[DKTモデル]
DKTとは、Deep Knowledge Tracingの略である。Deep Knowledge Tracingとは、学習者(ユーザ)が知識を獲得していくメカニズムをニューラル・ネットワーク(Deep Learning)を用いてモデル化する技術である。
【0028】
DKTモデルは、大量に収集した訓練データを用いて、教師あり学習により最適化される。一般的に訓練データは、ベクトルとラベルの組を備えるが、本実施例のDKTモデルの場合、ベクトルとして学習データ(カリキュラム、アダプティブの双方のデータを含む)、ラベルとして対応するカテゴリにおける演習問題や模試の問題の正答率、教育関係者が対応するカテゴリについて判断してラベル付けした正答率などを用いることができる。DKTモデルによりカテゴリ間の相関関係は学習されるため、DKTモデルにある教科の一部のカテゴリの学習データのみを入力とした場合であっても、当該教科の全てのカテゴリの正解確率が推定されて出力される。
【0029】
<正解確率生成部12>
正解確率生成部12は、DKTモデルに学習データを入力して、カテゴリ毎の正解確率を生成する(S12)。
【0030】
<正解確率データベース12B>
正解確率データベース12Bは、ステップS12で生成した正解確率の時系列データをユーザ毎、カテゴリ毎に蓄積する。
図8A、
図8B、
図8Cに正解確率(理解度)の時系列データの例を示す。
図8Aは、変動が大きい例を示す。グラフの横軸は、問題数(問と表記する)でもよいし、日数(DAYと表記する)でもよい。グラフの縦軸は正解確率(または後述する理解度)である。
図8Aは例えば、問4、またはDAY4までカリキュラムの学習に取り組み、問4、またはDAY4までの学習データを逐次DKTモデルに入力することにより、正解確率が一時的に上昇したものの、問5、またはDAY5からアダプティブの学習を開始した結果、演習問題の正答率が芳しくなく、問5、またはDAY5以降の学習データを逐次DKTモデルに入力することにより、正解確率が一時的に下降したケースなどに該当する。
図8Bは例えば、問1〜問8、またはDAY1〜DAY8まで継続して、アダプティブの学習に取り組んでおり、逐次学習データをDKTモデルに入力することにより、正解確率が僅かずつ上昇したケースなどが該当する。
図8Cは例えば、問2、またはDAY2までカリキュラムの学習に取り組み、問2、またはDAY2までの学習データを逐次DKTモデルに入力することにより、正解確率がゆるやかに上昇し、問3、またはDAY3からアダプティブの学習に取り組み、学習データを逐次DKTモデルに入力することにより、正解確率がゆるやかに上昇したケースなどが該当する。
【0031】
<範囲データ取得部13>
範囲データ取得部13は、所定のユーザの学習効果推定のためのカテゴリの範囲を指定するデータである範囲データを取得する(S13)。例えば、所定のユーザが学校の中間、期末テストの出題範囲の学習効果を推定したい場合、当該ユーザは、中間、期末テストで指定されている出題範囲をカテゴリに読み替え、読み替えたカテゴリ全てを範囲データとして指定(入力)する。また、所定のユーザが高校受験の数学に関し学習効果を推定したい場合、当該ユーザは、中学1年生〜中学3年生までに学習する数学のカテゴリ全てを範囲データとして指定(入力)する。
【0032】
範囲データの取得に関しては、所定のユーザが教科書のページ数や単元名などのデータを範囲データ取得部13に入力し、範囲データ取得部13が、これらのデータをカテゴリに読み替えて、範囲データを取得してもよい。
【0033】
<理解度信頼度生成部14>
理解度信頼度生成部14は、ステップS13における範囲データを取得し、所定のユーザの範囲データ内の正解確率(例えば直近のデータ)に基づく理解度と、理解度の時系列データの変動が大きいほど小さい値となる信頼度を生成して、カテゴリに対応付けて出力する(S14)。例えば、理解度信頼度生成部14は、範囲データ内の各カテゴリの直近の正解確率を、各カテゴリの理解度として出力してもよい。また例えば、理解度信頼度生成部14は、正解確率が一定値以下であるならば、そのユーザは該当カテゴリを理解していないとみなして、理解度を0としてもよい。また例えば、理解度信頼度生成部14は、正解確率が一定値を超えていれば、正解確率をα倍してβを差し引いて補正した値を、理解度としてもよい。
【0034】
理解度信頼度生成部14は、理解度の時系列データの変動を考慮するため、理解度の時系列データのデータ数が所定の閾値未満である場合に、信頼度を所定値(小さな値とするのが望ましい)と設定することもできる。また、該当カテゴリおよび関連するカテゴリにおいて学習が始まっていない(未学習)と考えられるほど理解度が低い場合、すなわち理解度が予め設定した閾値(小さな値とするのが望ましい)未満である場合には、理解度が安定していたとしても、信頼度を所定値(小さな値とするのが望ましい)と設定することもできる。
【0035】
理解度を上記と異なる定義に基づいて生成、出力してもよい。例えば、カテゴリが何れかのカテゴリ集合に属しており、カテゴリ集合のそれぞれに目標カテゴリが1つずつ存在するものと定義した場合について考える。
【0036】
例えば、
図9に示すように、カテゴリ01,02,03が第1カテゴリ集合5−1に属しており、カテゴリ04,05が第2カテゴリ集合5−2に属しているものとし、第1カテゴリ集合5−1の目標カテゴリをカテゴリ03とし、第2カテゴリ集合5−2の目標カテゴリをカテゴリ05とする。例えば、定期試験の試験範囲において、複数の単元(例えば、ベクトルと複素数の単元)が出題範囲とされている場合、各単元のカテゴリを各カテゴリ集合に含め、各単元に対応する各カテゴリ集合に対して、目標カテゴリを設定すれば好適である。
【0037】
この場合、理解度信頼度生成部14は、範囲データ内に含まれる目標カテゴリの正解確率を対応するカテゴリ集合全体の理解度として生成し、カテゴリ集合全体の理解度に基づいてカテゴリ集合全体の信頼度を生成すれば好適である。
【0038】
また、目標カテゴリは1つのカテゴリ集合に2つ以上存在してもよく、その場合は、2つ以上存在する目標カテゴリの正解確率の平均値などをカテゴリ集合全体の理解度としてもよい。
【0039】
<レコメンド生成部15>
レコメンド生成部15は、理解度と所定の第1の閾値との大小関係、および信頼度と所定の第2の閾値との大小関係に応じた場合分けのうち、少なくとも何れかの場合分けに属するカテゴリを、所定のユーザの次回学習の推奨ターゲットとする情報であるレコメンドを生成して出力する(S15)。
【0040】
例えば
図10に示すように、理解度が第1の閾値T
1を超えており、信頼度が第2の閾値T
2を超えている場合(1)、理解度が第1の閾値T
1を超えており、信頼度が第2の閾値T
2以下である場合(2)、理解度が第1の閾値T
1以下であり、信頼度が第2の閾値T
2を超えている場合(3)、理解度が第1の閾値T
1以下であり、信頼度が第2の閾値T
2以下である場合(4)、の4パターンに場合分けすれば好適である。なお、同図において、理解度>T
1を理解度≧T
1、理解度≦T
1を理解度<T
1とし、信頼度>T
2を信頼度≧T
2、信頼度≦T
2を信頼度<T
2としても同様の場合分けができる。
【0041】
同図の例における場合1は、該当カテゴリにおけるユーザーの理解度が予め設定した水準(T
1、たとえばT
1=0.90)を超えており、該当カテゴリにおける信頼度も予め設定した水準(T
2、たとえばT
2=0.90)を超えている場合である。理解度が高いことは、該当カテゴリにおけるユーザーの正解確率が高いことを意味し、信頼度が高いことは、
図8Bに例示したように、理解度の時系列データの変動が小さいことを意味する。従って、ユーザが該当カテゴリにおいて安定して高得点を取ることができる程度に習熟度が高く、ユーザの学習が十分であると判断できる可能性が高い。
【0042】
同図の例における場合2は、該当カテゴリにおけるユーザーの理解度が予め設定した水準(T
1)を超えているものの、該当カテゴリにおける信頼度が予め設定した水準(T
2)以下となっている場合である。典型的には、該当カテゴリにおける直近の学習データで高い正解確率をマークしたものの、該当カテゴリにおける過去の理解度の時系列データをみれば、正解確率が低い時期があり、変動が大きい場合などが考えられる。
【0043】
同図の例における場合3は、該当カテゴリにおけるユーザーの理解度が予め設定した水準(T
1)以下となっている一方、該当カテゴリにおける信頼度が予め設定した水準(T
2)を超えている場合である。典型的には、該当カテゴリに関連する別のカテゴリの学習を進めることにより、該当カテゴリの理解度がある程度上昇し、さらに安定している場合、該当カテゴリの学習を進めることにより、該当カテゴリの理解度が安定している場合などが考えられる。このような場合に、さらに理解度をあげるためには、該当カテゴリの学習を進め、安定して高得点をマークする必要がある。
【0044】
同図の例における場合4は、該当カテゴリにおけるユーザーの理解度が予め設定した水準(T
1)以下であって、該当カテゴリにおける信頼度もまた予め設定した水準(T
2)以下となる場合である。典型的には、該当カテゴリおよび関連するカテゴリにおいて学習が始まっていない(未学習)と考えられるほど理解度が低い場合に、信頼度を所定の小さな値と設定している場合が考えられる。また、
図8Aに例示したように、カリキュラム学習などがある程度進んでおり、直近のアダプティブ学習において得点が低くなったことにより、直近の理解度が大きく低下し、理解度の時系列データの変動が大きい(すなわち、信頼度が低い)場合などが考えられる。
【0045】
例えば、レコメンド生成部15は、場合4に該当するカテゴリを、該当ユーザの次回学習の推奨ターゲットとする情報であるレコメンドを生成して出力してもよい。レコメンド生成部15は、例えば場合4に該当するカテゴリを最も推奨するターゲット、場合3に該当するカテゴリを二番目に推奨するターゲット、場合2に該当するカテゴリを三番目に推奨するターゲットとして、レコメンドを生成して出力してもよい。
【0046】
上記の例に限らず、レコメンド生成部15は様々な基準でレコメンドを生成してもよい。例えば、レコメンド生成部15は、範囲データ内において理解度が0.5に近いカテゴリを推奨するターゲットとして、レコメンドを生成して出力してもよい。また、例えば、レコメンド生成部15は、直近の学習データにおいてN回(Nは2以上の任意の整数)連続して誤答となっている設問を有するカテゴリを推奨するターゲットとして、レコメンドを生成して出力してもよい。
【0047】
また、レコメンド生成部15は、先行するカテゴリの理解度および信頼度が所定の閾値を超える場合(1)に、予め定めた先行後続関係(
図6の例参照)に基づく後続のカテゴリを次回学習の推奨ターゲットとし、予め定めた先行後続関係に基づく後続のカテゴリの理解度が所定の閾値以下であって、信頼度が所定の閾値を超える場合(3)に、先行するカテゴリを次回学習の推奨ターゲットとして、レコメンドを生成して出力してもよい。
【0048】
例えば
図9に示したカテゴリ集合において、先行するカテゴリ01の理解度および信頼度が場合1に該当する場合、後続のカテゴリ02を次回学習の推奨ターゲットとして、レコメンドを生成し、後続のカテゴリ02の理解度および信頼度が場合3に該当する場合、先行するカテゴリ01を次回学習の推奨ターゲットとして、レコメンドを生成して出力してもよい。
【0049】
レコメンド生成部15が、先行後続関係に基づいて動作することにより、先行して学習したカテゴリと内容的にかけ離れたカテゴリを次回学習の推奨ターゲットとすることを防ぐことができる。
【0050】
また、例えば、
図9に示したように、カテゴリ集合と目標カテゴリが設定されており、範囲データ内に複数のカテゴリ集合が含まれる場合、レコメンド生成部15は、所定の確率で複数のカテゴリ集合のうちの未学習のカテゴリ集合を指定するフラグを発生させ、フラグが指定するカテゴリ集合内の何れかのカテゴリを、所定のユーザの次回学習の推奨ターゲットとする情報であるレコメンドを生成して出力してもよい。
【0051】
レコメンド生成部15は、上記のレコメンド生成規則を複数組み合わせて使用することにより、レコメンドを生成してもよい。
【0052】
また、レコメンド生成部15は、範囲データ内の各カテゴリの理解度、信頼度から、学習終了日を予測し、予測された学習終了日が予め設定された期限に間に合うか否かを判定し、判定結果を進捗度として出力してもよい。進捗度は、たとえば、理解度信頼度生成部14が生成した理解度の時系列データから未来における理解度の変化を推定し、あらかじめ設定された期限までに、理解度があらかじめ設定された閾値を超えると推定されるか否かを表す指標としてもよい。
【0053】
本実施例の学習効果推定装置1によれば、ニューラル・ネットワーク(Deep Learning)を用いたDKTモデルを使用することにより生成した正解確率に基づいて、理解度と信頼度という二つのパラメータを定義したため、当該二つのパラメータに基づいて、人間が物事を理解するメカニズムの様々な側面を反映して、ユーザの学習効果を推定することができる。
【0054】
<補記>
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な取得部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの取得部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
【0055】
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくこととしてもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。
【0056】
ハードウェアエンティティでは、外部記憶装置(あるいはROMなど)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(上記、…部、…手段などと表した各構成要件)を実現する。
【0057】
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
【0058】
既述のように、上記実施形態において説明したハードウェアエンティティ(本発明の装置)における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
【0059】
上述の各種の処理は、
図11に示すコンピュータの記録部10020に、上記方法の各ステップを実行させるプログラムを読み込ませ、制御部10010、取得部10030、出力部10040などに動作させることで実施できる。
【0060】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electrically Erasable and Programmable-Read Only Memory)等を用いることができる。
【0061】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0062】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0063】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。