(57)【要約】【課題】ユーザの理解度に合う解説を出力すること。【解決手段】記憶部は、複数のカテゴリそれぞれに対応づけられた設問に対する不正解の累計回数及び／又は不正解の割合をカテゴリ毎に、ユーザに対応づけて記憶する。処理部は、複数のカテゴリそれぞれに対応づけられた設問を出力する。処理部は、出力した設問に対するユーザから入力される回答が正解であるか不正解であるかを判定する。処理部は、設問に対する回答が不正解の場合に、設問に対応づけられたカテゴリにおける該当のユーザの不正解の累計回数及び／又は不正解の割合に応じた解説を出力する。【選択図】図１２
2020134753.tif 000002
【特許請求の範囲】
【請求項１】
複数のカテゴリそれぞれに対応づけられた設問を出力し、
前記設問に対するユーザから入力される回答が正解であるか不正解であるかを判定し、
前記設問に対する回答が不正解の場合に、前記設問に対応づけられたカテゴリにおける前記ユーザの不正解の累計回数及び／又は不正解の割合に応じた解説を出力する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項２】
前記設問に対する回答が正解の場合に、前記設問に対応づけられた前記カテゴリにおける連続正解数に応じて前記ユーザに対する前記カテゴリに対応づけられた前記設問の出題を制御する処理をコンピュータに実行させることを特徴とする請求項１記載の情報処理プログラム。
【請求項３】
前記設問の出題の制御では、前記連続正解数が所定回数以上となった場合に、前記カテゴリの前記設問の出題を停止する処理をコンピュータに実行させることを特徴とする請求項２記載の情報処理プログラム。
【請求項４】
前記設問に対する回答が不正解の場合に、前記設問に対応づけられた前記カテゴリにおける前記ユーザの不正解の累積回数及び／又は不正解の割合が大きいほど、文字数の多い解説を出力する処理をコンピュータに実行させることを特徴とする請求項１乃至３の何れか１項に記載の情報処理プログラム。
【請求項５】
前記設問に対する回答が不正解の場合に、前記設問に対応づけられた前記カテゴリにおける前記ユーザの不正解の累計回数及び／又は不正解の割合と、今回不正解となるまでの前記カテゴリにおける連続正解数とに応じた解説を出力する処理をコンピュータに実行させることを特徴とする請求項１乃至４の何れか１項に記載の情報処理プログラム。
【請求項６】
コンピュータが、
複数のカテゴリそれぞれに対応づけられた設問を出力し、
前記設問に対するユーザから入力される回答が正解であるか不正解であるかを判定し、
前記設問に対する回答が不正解の場合に、前記設問に対応づけられたカテゴリにおける前記ユーザの不正解の累計回数及び／又は不正解の割合に応じた解説を出力する、
ことを特徴とする情報処理方法。
【請求項７】
複数のカテゴリそれぞれに対応づけられた設問に対する不正解の累計回数及び／又は不正解の割合をカテゴリ毎に、ユーザに対応づけて記憶する記憶部と、
前記複数のカテゴリそれぞれに対応づけられた前記設問を出力し、前記設問に対する前記ユーザから入力される回答が正解であるか不正解であるかを判定し、前記設問に対する回答が不正解の場合に、前記記憶部に記憶された、前記設問に対応づけられた前記カテゴリにおける前記ユーザの不正解の累計回数及び／又は不正解の割合に応じた解説を出力する処理部と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理プログラム、情報処理方法及び情報処理装置に関する。
【背景技術】
【０００２】
情報処理技術を用いてユーザの学習を支援することが考えられている。例えば、過去数回の回答の正誤状況を記録し、正答が少ない問題ほど高い確率で出題する電子学習機の提案がある。
【０００３】
また、所定数の学習問題を順次ディスプレイに表示し、この表示内容に対する解答を入力端末を介して受け付け、その正解の有無をもって学習者の習熟クラスを決定する学習装置の提案もある。提案の学習装置は、習熟クラスの判定に応じて決定した出題数によりテストを行い、テスト結果を基に学習内容を決定し、更に、学習の成果を基に練習内容を設定する。
【０００４】
更に、試験の合計得点の同じ又は類似した受験生グループ毎に各問題の正答率又は問題分野別の正答率もしくは得点率を算出する試験結果分析装置の提案もある。提案の試験結果分析装置は、合計得点と各問題の正答率との関係、又は合計得点と問題分野別の正答率もしくは得点率との関係に基づいて、各受験生の能力評価を行う。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−３２８４５９号公報
【特許文献２】特開平９−１０１７３７号公報
【特許文献３】国際公開第２００３／０４９０６３号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
情報処理装置によりユーザに出題した後、出題内容に対応する解説を情報処理装置によりユーザに提示する場合に、全てのユーザに対して同じ解説を提示すると、ユーザ毎の知識の有無の違いにより、提示された解説がユーザの円滑な学習を妨げる可能性がある。例えば、比較的長文の詳細な解説を全ユーザに対して一律に提示すると、知識の少ないユーザにとっては理解の助けとなるが、知識の多いユーザにとっては読解に余計な時間がかかることがある。また、例えば、比較的短文の簡略化された解説を全ユーザに対して一律に提示すると、知識の多いユーザにとっては読解の負担が軽減されるが、知識の少ないユーザにとっては知識の定着には不十分であることがある。
【０００７】
１つの側面では、本発明は、ユーザの理解度に合う解説を出力することができる情報処理プログラム、情報処理方法及び情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
１つの態様では、情報処理プログラムが提供される。この情報処理プログラムは、複数のカテゴリそれぞれに対応づけられた設問を出力し、設問に対するユーザから入力される回答が正解であるか不正解であるかを判定し、設問に対する回答が不正解の場合に、設問に対応づけられたカテゴリにおけるユーザの不正解の累計回数及び／又は不正解の割合に応じた解説を出力する、処理をコンピュータに実行させる。
【０００９】
また、１つの態様では、情報処理方法が提供される。
また、１つの態様では、情報処理装置が提供される。
【発明の効果】
【００１０】
１つの側面では、ユーザの理解度に合う解説を出力することができる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施の形態の情報処理装置を示す図である。
【図２】第２の実施の形態の学習支援システムを示す図である。
【図３】サーバのハードウェア例を示すブロック図である。
【図４】サーバの機能例を示すブロック図である。
【図５】問題テーブルの例を示す図である。
【図６】解説テーブルの例を示す図である。
【図７】制御テーブルの例を示す図である。
【図８】学習支援例を示すフローチャートである。
【図９】出題処理例を示すフローチャートである。
【図１０】回答処理例を示すフローチャートである。
【図１１】出題処理の例を示す図である。
【図１２】レベルに応じた解説の出力例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本実施の形態について図面を参照して説明する。
［第１の実施の形態］
第１の実施の形態を説明する。
【００１３】
図１は、第１の実施の形態の情報処理装置を示す図である。
情報処理装置１０は、ユーザによる学習を支援する。ユーザは、端末装置２０を操作する。情報処理装置１０と端末装置２０とは、例えば、ネットワークにより接続される。
【００１４】
情報処理装置１０は、記憶装置３０に接続される。記憶装置３０は、情報処理装置１０に内蔵されてもよいし、情報処理装置１０に外付けされてもよい。情報処理装置１０は、記憶装置３０とネットワークを介して接続されてもよい。記憶装置３０は、設問テーブル３１及び解説テーブル３２を記憶する。設問テーブル３１は、カテゴリ毎に分類された設問の情報を保持する。解説テーブル３２は、設問に対応する解説の情報を保持する。
【００１５】
情報処理装置１０は、記憶装置３０に記憶された設問テーブル３１に基づいて、端末装置２０に設問を出力する。端末装置２０は、表示装置を内蔵しており、又は、表示装置に接続されており、設問の内容を表示装置により表示させる。端末装置２０は、設問に対するユーザによる回答の入力を受け付け、入力された回答を情報処理装置１０に出力する。情報処理装置１０は、解説テーブル３２に基づいて、設問で問われた内容に対する理解を促すための解説を、端末装置２０に出力する。端末装置２０は、解説の内容を表示装置により表示させる。
【００１６】
情報処理装置１０は、ユーザによる円滑な学習を支援する機能を提供する。情報処理装置１０は、記憶部１１及び処理部１２を有する。
記憶部１１は、ＲＡＭ（Random Access Memory）などの揮発性記憶装置でもよいし、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性記憶装置でもよい。処理部１２は、ＣＰＵ（Central Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）などを含み得る。処理部１２はプログラムを実行するプロセッサであってもよい。ここでいう「プロセッサ」には、複数のプロセッサの集合（マルチプロセッサ）も含まれ得る。
【００１７】
記憶部１１は、制御テーブル１３を記憶する。制御テーブル１３は、複数のカテゴリそれぞれに対応づけられた設問に対する不正解の累計回数及び／又は不正解の割合をカテゴリ毎に、ユーザ（例えば、ユーザの識別情報）に対応づけて保持する。第１の実施の形態の例では、制御テーブル１３はユーザ毎に設けられる。
【００１８】
例えば、制御テーブル１３は、カテゴリ、出題回数、連続正解数、不正解の累計回数、不正解の割合及び合格の項目を含む。カテゴリの項目には、カテゴリの名称又は識別情報が登録される。出題回数の項目には、該当のカテゴリの出題回数が登録される。連続正解数の項目には、連続正解数が登録される。不正解の累計回数の項目には、不正解の累計回数が登録される。不正解の割合の項目には、出題回数に対する不正解の割合（＝不正解の累計回数／出題回数）が登録される（制御テーブル１３の例では割合を百分率で表している）。合格の項目には、該当のカテゴリについて合格したか否かを示す情報が登録される。合格は「ＴＲＵＥ」、不合格は「ＦＡＬＳＥ」である。例えば、合格の項目は、該当のカテゴリの設問の出力制御に用いられる。出題回数、連続正解数及び不正解の累計回数の各項目の初期値は０である。不正解の割合の項目の初期値は０％である。合格の項目の初期値は、「ＦＡＬＳＥ」である。
【００１９】
ここで、記憶装置３０に記憶される設問テーブル３１及び解説テーブル３２のデータ構造例についても説明する。設問テーブル３１は、カテゴリの名称又は識別情報と設問ＩＤ（IDentifier）と問題内容と解説ＩＤとを対応づけて保持する。設問テーブル３１は、設問ＩＤに対応する正答の情報を更に保持してもよい。解説テーブル３２は、解説ＩＤとレベルと解説内容とを対応づけて保持する。ここで、レベルは、解説内容の読解の難易度又は記述量の多さなどを表す指標である。一例では、レベルが高いほど、解説が詳細であり、解説内容の読解の難易度が低く（あるいは文字数が多く）、レベルが低いほど、解説が簡略化されており、解説内容の読解の難易度が高い（あるいは文字数が少ない）。
【００２０】
処理部１２は、設問テーブル３１に基づいて、複数のカテゴリそれぞれに対応づけられた設問を出力する。例えば、処理部１２は、設問テーブル３１に基づいてカテゴリ「Ａ」に対応する設問ＩＤ「ｐ１」の設問を、端末装置２０に出力する。処理部１２は、出力した設問に対応するカテゴリに関して、制御テーブル１３の該当のカテゴリの出題回数をインクリメントする。処理部１２は、ユーザによる設問ＩＤ「ｐ１」の設問に対する回答の入力結果を、端末装置２０から受信する。
【００２１】
処理部１２は、出力した設問に対する、ユーザから入力される回答が正解であるか不正解であるかを判定する。処理部１２は、正解又は不正解の判定結果に応じて、制御テーブル１３の該当のカテゴリに関するレコードを更新する。例えば、処理部１２は、設問ＩＤ「ｐ１」の設問に対する回答を受け付けると、記憶装置３０（設問テーブル３１など）に予め登録された正答と合致するか否かを判定する。処理部１２は、予め登録された正答と、入力された回答とが合致する場合、回答が正解であると判定する。処理部１２は、予め登録された正答と、入力された回答とが合致しない場合、回答が不正解であると判定する。
【００２２】
処理部１２は、正解の場合、制御テーブル１３の該当のカテゴリの連続正解数をインクリメントする。処理部１２は、不正解の場合、制御テーブル１３の該当のカテゴリの連続正解数を０にリセットし、不正解の累計回数をインクリメントする。処理部１２は、正解／不正解に拘わらず、該当のカテゴリの不正解の割合を計算し、制御テーブル１３の該当のカテゴリの不正解の割合を更新する。処理部１２は、連続正解数に基づいて、合格の項目を、「ＦＡＬＳＥ」又は「ＴＲＵＥ」に設定する。図１の例では、処理部１２は、連続正解数が「７」に達したカテゴリについて、合格の項目を「ＴＲＵＥ」とし、それ以外のカテゴリについて、合格の項目を「ＦＡＬＳＥ」とする。
【００２３】
処理部１２は、設問に対する回答が不正解の場合に、設問に対応づけられたカテゴリにおける該当のユーザの不正解の累計回数及び／又は不正解の割合に応じた解説を出力する。例えば、処理部１２は、不正解の累計回数又は不正解の割合により、解説のレベルを決定し、決定したレベルに応じた解説の内容を解説テーブル３２から取得して、端末装置２０に出力する。
【００２４】
例えば、不正解の累計回数の範囲毎、又は、不正解の割合の範囲毎のレベルを定めた第１のレベル情報を記憶部１１に予め記憶させておき、処理部１２は、第１のレベル情報に基づいて、解説のレベルを決定してもよい。より具体的には、第１のレベル情報では、不正解の累計回数又は不正解の割合が小さいほど低レベル（簡略化した解説）とし、不正解の累計回数又は不正解の割合が大きいほど高レベル（詳細な解説）とするようにレベルを定めておくことが考えられる。
【００２５】
あるいは、不正解の累計回数の範囲毎、及び、不正解の割合の範囲毎のレベルを定めた第２のレベル情報を記憶部１１に予め記憶させておき、処理部１２は、第２のレベル情報に基づいて、解説のレベルを決定してもよい。より具体的には、第２のレベル情報では、不正解の累計回数の範囲と不正解の割合の範囲との組毎に、解説のレベルとの対応関係を定めておくことが考えられる。例えば、第２のレベル情報では、不正解の累計回数及び不正解の割合が小さいほど低レベル（簡略化した解説）とし、不正解の累計回数及び不正解の割合が大きいほど高レベル（詳細な解説）とするようにレベルを定めておくことが考えられる。
【００２６】
制御テーブル１３の例では、カテゴリ「Ａ」に対して、不正解の割合が「５０％」である。例えば、この場合、処理部１２は、カテゴリ「Ａ」に対する解説のレベルを「２」と判定する。すると、処理部１２は、カテゴリ「Ａ」に属する設問ＩＤ「ｐ１」の設問について、解説テーブル３２における解説ＩＤ「ｃ１」のレベル「１」、「２」、「３」の解説内容のうち、レベル「２」の解説内容を出力する。
【００２７】
こうして、情報処理装置１０により、ユーザの理解度に応じて出力された解説が端末装置２０に出力される。端末装置２０は、解説の内容を表示装置により表示させ、ユーザに提示する。
【００２８】
情報処理装置１０によれば、複数のカテゴリそれぞれに対応づけられた設問が出力される。出力した設問に対する、ユーザから入力される回答が正解であるか不正解であるかが判定される。設問に対する回答が不正解の場合に、設問に対応づけられたカテゴリにおける該当のユーザの不正解の累計回数及び／又は不正解の割合に応じた解説が出力される。
【００２９】
これにより、設問に対する回答に応じて、解説を出力することができる。また、ユーザの理解度に合う解説を出力することができる。
ここで、情報処理装置１０により全てのユーザに対して同じ解説を提示すると、ユーザ毎の知識の有無の違いに応じて、提示された解説がユーザの円滑な学習を妨げる可能性がある。例えば、比較的長文の詳細な解説では、知識の少ないユーザにとっては理解の助けとなるが、知識の多いユーザにとっては読解に余計な時間がかかることがある。また、比較的短文の簡略化された解説では、知識の多いユーザにとっては読解の負担が軽減されるが、知識の少ないユーザにとっては十分な理解がなされないことがある。
【００３０】
そこで、情報処理装置１０は、設問に対する回答が不正解の場合に、設問に対応づけられたカテゴリにおける該当のユーザの不正解の累計回数及び／又は不正解の割合に応じた解説を出力することで、ユーザによる学習が円滑に行われるようにする。
【００３１】
例えば、情報処理装置１０は、あるカテゴリにおける不正解の累計回数及び／又は不正解の割合が低い場合には、該当のカテゴリに対するユーザの理解度が高いと推定し、簡略化された解説を出力する。これにより、該当のカテゴリに対する知識の多いユーザに対し、解説の読解の所要時間を短縮させることができ、円滑に学習を進められるようになる。
【００３２】
また、例えば、情報処理装置１０は、あるカテゴリにおける不正解の累計回数及び／又は不正解の割合が高い場合には、該当のカテゴリに対するユーザの理解度が低いと推定し、詳細な解説を出力する。これにより、該当のカテゴリに対する知識の少ないユーザに対し、適切に知識の習得を促すことができる。
【００３３】
更に、情報処理装置１０は、設問に対する回答が正解の場合に、設問に対応づけられたカテゴリにおける連続正解数に応じて当該カテゴリの設問の出題を制御することもできる。例えば、処理部１２は、連続正解数が所定値に達した（あるいは、合格の項目が「ＴＲＵＥ」である）カテゴリの設問の出題を停止するように制御してもよい。これにより、出題する設問をユーザの知識が乏しいと推定されるカテゴリに絞り込むことができ、ユーザによる知識の定着に要する時間を短縮できる。
【００３４】
［第２の実施の形態］
次に、第２の実施の形態を説明する。
図２は、第２の実施の形態の学習支援システムを示す図である。
【００３５】
第２の実施の形態の学習支援システムは、サーバ１００及びクライアント２００を有する。サーバ１００及びクライアント２００は、ネットワーク５０に接続されている。ネットワーク５０は、ＬＡＮ（Local Area Network）でもよいし、ＷＡＮ（Wide Area Network）やインターネットなどでもよい。
【００３６】
サーバ１００は、ユーザによる学習を支援するサーバコンピュータである。サーバ１００は、クライアント２００に対して問題の送信及び解説の送信を行う。第２の実施の形態の学習支援システムのように、情報処理技術を用いて行われる学習は、ｅラーニングと呼ばれることがある。サーバ１００は、第１の実施の形態の情報処理装置１０の一例である。
【００３７】
クライアント２００は、ユーザにより操作されるクライアントコンピュータである。クライアント２００は、サーバ１００から受信した問題をクライアント２００のディスプレイに表示させることで、問題をユーザに提示する。クライアント２００は、ユーザによる問題に対する回答の入力を受け付け、サーバ１００に送信する。クライアント２００は、サーバ１００から問題に対する解説を受信すると、受信した解説をディスプレイに表示させることで、解説をユーザに提示する。クライアント２００は、第１の実施の形態の端末装置２０の一例である。
【００３８】
図３は、サーバのハードウェア例を示すブロック図である。
サーバ１００は、ＣＰＵ１０１、ＲＡＭ１０２、ＨＤＤ１０３、画像信号処理部１０４、入力信号処理部１０５、媒体リーダ１０６及びＮＩＣ（Network Interface Card）１０７を有する。なお、ＣＰＵ１０１は、第１の実施の形態の処理部１２に対応する。ＲＡＭ１０２又はＨＤＤ１０３は、第１の実施の形態の記憶部１１に対応する。
【００３９】
ＣＰＵ１０１は、プログラムの命令を実行するプロセッサである。ＣＰＵ１０１は、ＨＤＤ１０３に記憶されたプログラムやデータの少なくとも一部をＲＡＭ１０２にロードし、プログラムを実行する。なお、ＣＰＵ１０１は複数のプロセッサコアを含んでもよい。また、サーバ１００は複数のプロセッサを有してもよい。以下で説明する処理は複数のプロセッサ又はプロセッサコアを用いて並列に実行されてもよい。また、複数のプロセッサの集合を「マルチプロセッサ」又は単に「プロセッサ」と言うことがある。
【００４０】
ＲＡＭ１０２は、ＣＰＵ１０１が実行するプログラムやＣＰＵ１０１が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、サーバ１００は、ＲＡＭ以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
【００４１】
ＨＤＤ１０３は、ＯＳ（Operating System）やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、及び、データを記憶する不揮発性の記憶装置である。なお、サーバ１００は、フラッシュメモリやＳＳＤ（Solid State Drive）などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
【００４２】
画像信号処理部１０４は、ＣＰＵ１０１からの命令に従って、サーバ１００に接続されたディスプレイ１１１に画像を出力する。ディスプレイ１１１としては、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）、プラズマディスプレイ、有機ＥＬ（ＯＥＬ：Organic Electro-Luminescence）ディスプレイなど、任意の種類のディスプレイを用いることができる。
【００４３】
入力信号処理部１０５は、サーバ１００に接続された入力デバイス１１２から入力信号を取得し、ＣＰＵ１０１に出力する。入力デバイス１１２としては、マウス・タッチパネル・タッチパッド・トラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、サーバ１００に、複数の種類の入力デバイスが接続されていてもよい。
【００４４】
媒体リーダ１０６は、記録媒体１１３に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体１１３として、例えば、磁気ディスク、光ディスク、光磁気ディスク（ＭＯ：Magneto-Optical disk）、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク（ＦＤ：Flexible Disk）やＨＤＤが含まれる。光ディスクには、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）が含まれる。
【００４５】
媒体リーダ１０６は、例えば、記録媒体１１３から読み取ったプログラムやデータを、ＲＡＭ１０２やＨＤＤ１０３などの他の記録媒体にコピーする。読み取られたプログラムは、例えば、ＣＰＵ１０１によって実行される。なお、記録媒体１１３は可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体１１３やＨＤＤ１０３を、コンピュータ読み取り可能な記録媒体と言うことがある。
【００４６】
ＮＩＣ１０７は、ネットワーク５０に接続され、ネットワーク５０を介して他のコンピュータと通信を行うインタフェースである。ＮＩＣ１０７は、例えば、スイッチやルータなどの通信装置とケーブルで接続される。
【００４７】
なお、クライアント２００もサーバ１００と同様のハードウェアにより実現される。
図４は、サーバの機能例を示すブロック図である。
サーバ１００は、問題記憶部１２０、解説記憶部１３０、制御情報記憶部１４０、出題部１５０及び解説出力部１６０を有する。問題記憶部１２０、解説記憶部１３０及び制御情報記憶部１４０は、ＲＡＭ１０２又はＨＤＤ１０３の記憶領域を用いて実現される。出題部１５０及び解説出力部１６０は、ＲＡＭ１０２に記憶されたプログラムをＣＰＵ１０１が実行することで実現される。
【００４８】
問題記憶部１２０は、問題テーブルを記憶する。問題テーブルは、カテゴリ毎に分類された問題の内容が登録される情報である。カテゴリは、例えば、学習対象となる知識の分野に相当する。一例として、技術者などの教育を挙げれば、「法務」、「生産管理」、「品質管理」、「製造技術」及び「製品技術」などのカテゴリが考えられる。
【００４９】
解説記憶部１３０は、解説テーブルを記憶する。解説テーブルは、問題に対する解説の内容が登録される情報である。１つの問題に対して、ユーザの解説のレベルに応じた複数の解説の内容が、解説テーブルに登録される。
【００５０】
制御情報記憶部１４０は、制御テーブルを記憶する。制御テーブルは、カテゴリ毎の出題数、累積正解数、連続累積正解数、不正解の累計回数（累積不正解数）及び正解率などが登録される情報である。制御テーブルは、出題部１５０による出題の制御や、解説出力部１６０による解説の出力制御に用いられる。
【００５１】
出題部１５０は、問題テーブル及び制御テーブルに基づいて、出題処理を行う。出題部１５０は、問題テーブルに登録されている問題を選択して、クライアント２００に送信する。出題部１５０は、問題の出題数、正解数及び連続正解数などを制御テーブルにカテゴリ毎に記録し、連続正解数や正解率に応じて、出力する問題を選択する。
【００５２】
解説出力部１６０は、解説テーブル及び制御テーブルに基づいて、解説の出力処理を行う。解説出力部１６０は、制御テーブルに記録されたカテゴリ毎のユーザの正解率に基づいて、出力すべき解説のレベルを判定し、解説テーブルに登録された解説のうち、判定したレベルに適合した解説を選択する。解説出力部１６０は、選択した解説をクライアント２００に送信する。
【００５３】
図５は、問題テーブルの例を示す図である。
問題テーブル１２１は、問題記憶部１２０に予め格納される。問題テーブル１２１は、カテゴリＩＤ、問題ＩＤ、問題内容、正答及び解説ＩＤの項目を含む。
【００５４】
カテゴリＩＤの項目には、カテゴリの識別情報（カテゴリＩＤ）が登録される。問題ＩＤの項目には、問題の識別情報（問題ＩＤ）が登録される。問題内容の項目には、問題の内容が登録される。問題の内容は、テキストで記述される。問題の内容は、画像情報を含んでもよい。また、問題の内容は、回答に関する情報（例えば、回答の選択肢など）を含む。正答の項目には、問題に対する正答を示す情報が登録される（例えば、回答が複数の選択肢の中から１つを選択して入力される場合、正答である選択肢）。解説ＩＤの項目には、該当の問題に対する解説の識別情報（解説ＩＤ）が登録される。
【００５５】
例えば、問題テーブル１２１には、カテゴリＩＤが「Ｘ」、問題ＩＤが「１」、問題内容が「（・・・）」、正答が「ａ」、解説ＩＤが「１」というレコードが登録されている。このレコードは、カテゴリＩＤ「Ｘ」のカテゴリに、問題ＩＤ「１」の問題が属しており、当該問題の内容が「（・・・）」、当該問題の正答が「ａ」、当該問題の解説が解説ＩＤ「１」の解説であることを示す。
【００５６】
ここで、例えば、サーバ１００がＷｅｂサーバとして機能し、クライアント２００がＷｅｂブラウザとして機能する場合、サーバ１００は、問題の内容をＨＴＭＬ（HyperText Markup Language）ファイルによりクライアント２００に提供し得る。その場合、問題テーブル１２１の問題内容の項目には、問題の内容を表すＨＴＭＬファイルや当該ＨＴＭＬファイルを示すポインタ（あるいはパス）が格納されてもよい。
【００５７】
図６は、解説テーブルの例を示す図である。
解説テーブル１３１は、解説記憶部１３０に予め格納される。解説テーブル１３１は、解説ＩＤ、レベル及び解説内容の項目を含む。
【００５８】
解説ＩＤの項目には、解説ＩＤが登録される。レベルの項目には、解説のレベルが登録される。一例として、レベルは、低いほど解説の内容が簡略化されており、高いほど解説の内容が詳細化されているものとする。解説内容の項目には、解説の内容が登録される。解説の内容は、テキストで記述される。解説の内容は、画像情報を含んでもよい。
【００５９】
例えば、解説テーブル１３１には、解説ＩＤが「１」、レベルが「１」、解説内容が「（・・・）」というレコードが登録されている。このレコードは、解説ＩＤ「１」の解説のレベル「１」に対応する解説の内容が「（・・・）」であることを示す。解説テーブル１３１には、解説ＩＤ「１」に対して、レベル「２」及び「３」の解説内容も登録されている。
【００６０】
なお、問題テーブル１２１と同様に、解説テーブル１３１の解説内容の項目には、解説の内容を表すＨＴＭＬファイルや当該ＨＴＭＬファイルを示すポインタ（あるいはパス）が格納されてもよい。
【００６１】
図７は、制御テーブルの例を示す図である。
制御テーブル１４１は、ユーザ毎に設けられ、出題部１５０により更新される。制御テーブル１４１は、カテゴリＩＤ、出題数、累積正解数、連続累積正解数、累積不正解数、出題フラグ、正解率、レベル及び出題率の項目を含む。
【００６２】
カテゴリＩＤの項目には、カテゴリＩＤが登録される。出題数の項目には、該当のカテゴリの問題の出題数が登録される。累積正解数の項目には、該当のカテゴリの問題に対する累積正解数が登録される。連続累積正解数の項目には、該当のカテゴリの問題に対する連続の累積正解数が登録される。累積不正解数の項目には、該当のカテゴリの問題に対する累積不正解数が登録される。出題フラグの項目には、該当のカテゴリの問題を出題するか否かを制御するためのフラグが登録される。例えば、出題フラグ「０」は出題することを示し、出題フラグ「１」は出題しないことを示す。正解率の項目には、該当のカテゴリの問題に対する正解率が登録される。レベルの項目には、該当のカテゴリの問題に対して出力すべき解説のレベルが登録される。出題率の項目には、レベルに応じた出題率を示すパラメータが登録される。出題率におけるパラメータは、数値が大きいほど、優先的に出題する（出題頻度を上げる）ことを示す。
【００６３】
出題数、累積正解数、連続累積正解数、累積不正解数の初期値は「０」である。出題フラグの初期値は「０」である。正解率の初期値は「０％」である。レベルの初期値は、「３」である。出題率の初期値は、「１」である。
【００６４】
例えば、制御テーブル１４１には、カテゴリＩＤが「Ｘ」、出題数が「５０」、累積正解数が「２０」、連続累積正解数が「５」、累積不正解数が「３０」、出題フラグが「０」、正解率が「４０％」、レベルが「３」、出題率が「１」というレコードが登録されている。このレコードは、あるユーザに対して、カテゴリＩＤ「Ｘ」のカテゴリについての出題数が５０回、累積正解数が２０回、連続累積正解数が５回、累積不正解数が３０回であることを示す。また、このレコードは、該当のユーザに対して、当該カテゴリが出題対象であり（出題フラグ「０」）、正解率が４０％であり、出力すべき解説のレベルが「３」であり、出題率のパラメータが「１」であることを示す。
【００６５】
制御テーブル１４１には、他のカテゴリに関するレコードも登録される。
なお、制御テーブル１４１では、正解率に代えて、不正解の累計回数（不正解率）が登録されてもよい。不正解率は、（１００％−正解率）、または、「（累積不正解数／出題数）＊１００％」により求まる。不正解率を用いる場合、制御テーブル１４１の不正解率の項目の初期値として「１００％」を用いてもよい。
【００６６】
次に、サーバ１００の処理手順を説明する。
図８は、学習支援例を示すフローチャートである。
（Ｓ１０）出題部１５０は、ユーザによる学習開始の指示をクライアント２００から受け付けると、初期設定処理を実行する。具体的には、出題部１５０は、該当のユーザに対する制御テーブル１４１の生成や、制御テーブル１４１の各項目に対する初期値の設定を行う。
【００６７】
（Ｓ１１）出題部１５０は、制御テーブル１４１を参照して、全てのカテゴリが合格であるか否かを判定する。全てのカテゴリが合格である場合、ステップＳ１７に処理が進む。全てのカテゴリが合格でない場合、ステップＳ１２に処理が進む。「合格」とは、制御テーブル１４１の出題フラグが「１」であることを示す。
【００６８】
（Ｓ１２）出題部１５０は、制御テーブル１４１に基づいて出題処理を行う。出題処理では、あるカテゴリの問題が１つ選択され、出題される。出題処理の詳細は後述される。
（Ｓ１３）出題部１５０は、ステップＳ１２の出題に応じた回答を、クライアント２００から受け付ける。
【００６９】
（Ｓ１４）出題部１５０は、回答の正否に応じた回答処理を行い、制御テーブル１４１を更新する。回答処理の詳細は、後述される。
（Ｓ１５）解説出力部１６０は、ステップＳ１４における出題部１５０による回答の正否の判定結果の通知に基づいて、今回出題された問題に対する回答が不正解であるか否かを判定する。不正解の場合、ステップＳ１６に処理が進む。正解の場合、ステップＳ１１に処理が進む。
【００７０】
（Ｓ１６）解説出力部１６０は、レベルに応じた解説を出力する。具体的には、解説出力部１６０は、制御テーブル１４１を参照して、今回出題された問題が属するカテゴリのレベルを取得する。解説出力部１６０は、今回出題された問題の問題ＩＤに対応する解説ＩＤを問題テーブル１２１から検索する。解説出力部１６０は、取得したレベルと、検索した解説ＩＤに対応する解説内容を解説テーブル１３１から取得し、クライアント２００に出力する。そして、ステップＳ１１に処理が進む。
【００７１】
（Ｓ１７）出題部１５０は、学習の終了を示す終了画面をクライアント２００に出力する。そして、学習支援の処理が終了する。
このように、サーバ１００は、問題に対する回答が不正解の場合に、問題に対応づけられたカテゴリにおける該当のユーザの不正解の累計回数及び／又は不正解の割合（あるいは、正解率）に応じた解説を出力することで、該当のユーザによる学習が円滑に行われるようにする。複数のユーザが存在するのであれば、各ユーザそれぞれに対して上記処理が行われるので、各ユーザそれぞれによる学習の円滑化を図ることができる。なお、後述されるように、解説出力部１６０は、ステップＳ１６において、今回の問題に対する回答が不正解の場合に、問題に対応づけられたカテゴリにおける不正解の累計回数及び／又は不正解の割合と今回不正解となるまでの当該カテゴリにおける連続正解数とに応じた解説を出力してもよい。
【００７２】
図９は、出題処理例を示すフローチャートである。
出題処理は、ステップＳ１２に相当する。
（Ｓ２０）出題部１５０は、制御テーブル１４１を参照して、連続正解数が所定回数以上のカテゴリ（すなわち、合格のカテゴリ）があるか否かを判定する。連続正解数が所定回数以上のカテゴリ（合格のカテゴリ）がある場合、ステップＳ２１に処理が進む。連続正解数が所定回数以上のカテゴリ（合格のカテゴリ）がない場合、ステップＳ２２に処理が進む。
【００７３】
（Ｓ２１）出題部１５０は、連続正解数が所定回数以上のカテゴリ（合格のカテゴリ）を、今回の出題候補から除外する。
（Ｓ２２）出題部１５０は、出題候補のカテゴリのうち正答率が低いカテゴリを優先して選択する。具体的には、出題部１５０は、制御テーブル１４１を参照して、出題候補の各カテゴリの出題率を参照する。出題部１５０は、出題候補の各カテゴリのうち、出題率が大きいカテゴリを優先して１つ選択する。出題部１５０は、制御テーブル１４１において、選択したカテゴリの出題数に１を加算する。ここで、ステップＳ２１で出題候補のカテゴリの除外がない場合、例えば、問題テーブル１２１に登録された全てのカテゴリが出題候補となる。
【００７４】
（Ｓ２３）出題部１５０は、ステップＳ２２で選択したカテゴリの問題を１つ選択する。例えば、該当のカテゴリに属する複数の問題のうち、未出題の問題を、出題済の問題よりも、優先的に選択することが考えられる。
【００７５】
（Ｓ２４）出題部１５０は、ステップＳ２３で選択した問題をクライアント２００に出力する。そして、出題処理が終了する。
図１０は、回答処理例を示すフローチャートである。
【００７６】
回答処理は、ステップＳ１４に相当する。
（Ｓ３０）出題部１５０は、問題テーブル１２１を参照して、クライアント２００から受け付けた回答が正解であるか否かを判定する。回答が正解である場合、ステップＳ３１に処理が進む。回答が不正解である場合、ステップＳ３５に処理が進む。ここで、受け付けた回答が、今回出題した問題に対して問題テーブル１２１に登録された正答の設定値と一致する場合に正解であり、一致しない場合に不正解である。なお、出題部１５０は、回答の正否の判定結果を、解説出力部１６０に通知する。
【００７７】
（Ｓ３１）出題部１５０は、制御テーブル１４１において、今回出題した問題が属するカテゴリの累積正解数に１を加算する。
（Ｓ３２）出題部１５０は、制御テーブル１４１において、今回出題した問題が属するカテゴリの連続累積正解数に１を加算する。
【００７８】
（Ｓ３３）出題部１５０は、制御テーブル１４１を参照して、今回出題した問題が属するカテゴリの連続累積正解数が所定値に達したか否かを判定する。当該カテゴリの連続累積正解数が所定値に達した場合、ステップＳ３４に処理が進む。当該カテゴリの連続累積正解数が所定値に達していない場合、ステップＳ３７に処理が進む。ここで、所定値は、問題記憶部１２０に予め設定される。例えば、所定値は、学習内容に応じて５回、１０回などの値が設定される。
【００７９】
（Ｓ３４）出題部１５０は、制御テーブル１４１において、該当のカテゴリの出題フラグを１に設定する。すなわち、該当のカテゴリが「合格」となり、以後、ステップＳ２１により、出題候補から除外される。そして、ステップＳ３７に処理が進む。
【００８０】
（Ｓ３５）出題部１５０は、制御テーブル１４１において、今回出題した問題が属するカテゴリの累積不正解数に１を加算する。
（Ｓ３６）出題部１５０は、制御テーブル１４１において、今回出題した問題が属するカテゴリの連続累積正解数を０にリセットする。そして、ステップＳ３７に処理が進む。
【００８１】
（Ｓ３７）出題部１５０は、今回出題した問題が属するカテゴリの正解率を計算し、制御テーブル１４１に登録する。なお、正解率は、出題数が所定数以上（例えば５回以上など）の場合に算出し、それ以外の場合に算出しなくてもよい。正解率を算出しなかった場合、ステップＳ３８をスキップしてよい。
【００８２】
（Ｓ３８）出題部１５０は、ステップＳ３７で計算した正解率に応じて、解説のレベル（又は、ユーザの知識のレベル（理解度））を判定する。レベルの判定基準の情報は、問題記憶部１２０に予め格納される。一例では、正解率が７０％よりも大きい場合にレベル「１」とし、正解率が５０％よりも大きく７０％以下の場合にレベル「２」とし、正解率が５０％以下の場合にレベル「３」とすることが考えられる。出題部１５０は、判定したレベルを制御テーブル１４１に登録する。上記の例を不正解率で示せば、不正解率が３０％以下の場合にレベル「１」とし、不正解率が３０％よりも大きく５０％以下の場合にレベル「２」とし、不正解率が５０％よりも大きい場合にレベル「３」とすることになる。
【００８３】
（Ｓ３９）出題部１５０は、ステップＳ３８で判定したレベルに応じて、該当のカテゴリの出題率を決定する。例えば、レベル「３」のときに出題率「１」、レベル「２」のときに出題率「２」、レベル「１」のときに出題率「３」とする。出題部１５０は、決定した出題率を、制御テーブル１４１に登録する。そして、回答処理が終了する。
【００８４】
図１１は、出題処理の例を示す図である。
ここで、出題候補のカテゴリは「Ｘ」、「Ｙ」、「Ｚ」であるとする。また、正解を「Ｔ（True）」、不正解を「Ｆ（False）」と表す。更に、カテゴリＸの連続累積正解数ａを、「Ｘ：ａ」のように表す。図１１では上側から下側へ向かう方向が時間の正方向である。
【００８５】
表３００は、カテゴリ「Ｘ」、「Ｙ」、「Ｚ」それぞれに属する問題の出題と、各問題に対する回答と、連続累積正解数との時系列を表す。連続累積正解数の初期値は、「Ｘ：０」、「Ｙ：０」、「Ｚ：０」である。図１１の例では、出題部１５０は、連続累積正解数の閾値を「３」とし、あるカテゴリについて連続累積正解数が閾値「３」に達したら、当該カテゴリを合格と決定し、制御テーブル１４１における当該カテゴリの出題フラグを「１」に設定するものとする。ユーザがクライアント２００を用いてサーバ１００にログインし、学習を開始すると、サーバ１００により、カテゴリ「Ｘ」、「Ｙ」、「Ｚ」に属する問題の出題が開始される。
【００８６】
なお、各問題の出題及び回答が行われるたびにサーバ１００からクライアント２００へ解説が送信され、クライアント２００により解説の内容がユーザに提示されるが、ここでは、解説の出力処理については説明を省略している。
【００８７】
第１問は、カテゴリ「Ｘ」の問題である。第１問に対するユーザの回答は正解である。連続累積正解数は「Ｘ：１」、「Ｙ：０」、「Ｚ：０」となる。
第２問は、カテゴリ「Ｙ」の問題である。第２問に対するユーザの回答は不正解である。連続累積正解数は「Ｘ：１」、「Ｙ：０」、「Ｚ：０」となる。
【００８８】
第３問は、カテゴリ「Ｚ」の問題である。第３問に対するユーザの回答は正解である。連続累積正解数は「Ｘ：１」、「Ｙ：０」、「Ｚ：１」となる。
第４問は、カテゴリ「Ｘ」の問題である。第４問に対するユーザの回答は不正解である。連続累積正解数は「Ｘ：０」、「Ｙ：０」、「Ｚ：１」となる。すなわち、カテゴリ「Ｘ」に対する連続累積正解数の記録（連続記録）がクリアされる。
【００８９】
第５問は、カテゴリ「Ｙ」の問題である。第５問に対するユーザの回答は正解である。連続累積正解数は「Ｘ：０」、「Ｙ：１」、「Ｚ：１」となる。
第６問は、カテゴリ「Ｚ」の問題である。第６問に対するユーザの回答は不正解である。連続累積正解数は「Ｘ：０」、「Ｙ：１」、「Ｚ：０」となる。すなわち、カテゴリ「Ｚ」に対する連続累積正解数の記録（連続記録）がクリアされる。
【００９０】
第７問は、カテゴリ「Ｘ」の問題である。第７問に対するユーザの回答は正解である。連続累積正解数は「Ｘ：１」、「Ｙ：１」、「Ｚ：０」となる。
第８問は、カテゴリ「Ｙ」の問題である。第８問に対するユーザの回答は不正解である。連続累積正解数は「Ｘ：１」、「Ｙ：０」、「Ｚ：０」となる。すなわち、カテゴリ「Ｙ」に対する連続累積正解数の記録（連続記録）がクリアされる。
【００９１】
第９問は、カテゴリ「Ｚ」の問題である。第９問に対するユーザの回答は正解である。連続累積正解数は「Ｘ：１」、「Ｙ：０」、「Ｚ：１」となる。
第１０問は、カテゴリ「Ｘ」の問題である。第１０問に対するユーザの回答は正解である。連続累積正解数は「Ｘ：２」、「Ｙ：０」、「Ｚ：１」となる。
【００９２】
第１１問は、カテゴリ「Ｙ」の問題である。第１１問に対するユーザの回答は不正解である。連続累積正解数は「Ｘ：２」、「Ｙ：０」、「Ｚ：１」となる。
第１２問は、カテゴリ「Ｚ」の問題である。第１２問に対するユーザの回答は不正解である。連続累積正解数は「Ｘ：２」、「Ｙ：０」、「Ｚ：０」となる。すなわち、カテゴリ「Ｚ」に対する連続累積正解数の記録（連続記録）がクリアされる。
【００９３】
第１３問は、カテゴリ「Ｘ」の問題である。第１３問に対するユーザの回答は正解である。連続累積正解数は「Ｘ：３」、「Ｙ：０」、「Ｚ：０」となる。カテゴリ「Ｘ」は、連続累積正解数が閾値「３」に達したため合格となり、これ以降は出題されない。
【００９４】
第１４問は、カテゴリ「Ｙ」の問題である。第１４問に対するユーザの回答は正解である。連続累積正解数は「Ｘ：３」、「Ｙ：１」、「Ｚ：０」となる。
第１５問は、カテゴリ「Ｚ」の問題である。第１５問に対するユーザの回答は正解である。連続累積正解数は「Ｘ：３」、「Ｙ：１」、「Ｚ：１」となる。
【００９５】
第１６問は、カテゴリ「Ｚ」の問題である。第１６問に対するユーザの回答は正解である。連続累積正解数は「Ｘ：３」、「Ｙ：１」、「Ｚ：２」となる。
第１７問は、カテゴリ「Ｙ」の問題である。第１７問に対するユーザの回答は正解である。連続累積正解数は「Ｘ：３」、「Ｙ：２」、「Ｚ：２」となる。
【００９６】
第１８問は、カテゴリ「Ｚ」の問題である。第１８問に対するユーザの回答は不正解である。連続累積正解数は「Ｘ：３」、「Ｙ：２」、「Ｚ：０」となる。すなわち、カテゴリ「Ｚ」に対する連続累積正解数の記録（連続記録）がクリアされる。
【００９７】
第１９問は、カテゴリ「Ｙ」の問題である。第１９問に対するユーザの回答は正解である。連続累積正解数は「Ｘ：３」、「Ｙ：３」、「Ｚ：０」となる。カテゴリ「Ｙ」は、連続累積正解数が閾値「３」に達したため合格となり、これ以降は出題されない。
【００９８】
第２０問は、カテゴリ「Ｚ」の問題である。第２０問に対するユーザの回答は正解である。連続累積正解数は「Ｘ：３」、「Ｙ：３」、「Ｚ：１」となる。
第２１問は、カテゴリ「Ｚ」の問題である。第２１問に対するユーザの回答は正解である。連続累積正解数は「Ｘ：３」、「Ｙ：３」、「Ｚ：２」となる。
【００９９】
第２２問は、カテゴリ「Ｚ」の問題である。第２２問に対するユーザの回答は正解である。連続累積正解数は「Ｘ：３」、「Ｙ：３」、「Ｚ：３」となる。カテゴリ「Ｚ」は、連続累積正解数が閾値「３」に達したため合格となる。出題候補のカテゴリ「Ｘ」、「Ｙ」、「Ｚ」の全てが合格となったためユーザの学習が終了する。
【０１００】
このように、サーバ１００は、連続正解数が所定値に達した（あるいは、合格済の）カテゴリの出題を停止する。これにより、出題する問題をユーザの知識が乏しいと推定されるカテゴリに属する問題に絞り込むことができ、ユーザによる知識の定着に要する時間を短縮できる。
【０１０１】
図１２は、レベルに応じた解説の出力例を示す図である。
サーバ１００は、制御テーブル１４１に登録されたカテゴリに対する正解率に応じて、当該カテゴリに属する問題に対する解説の内容を制御する。
【０１０２】
レベル１の解説４１０は、該当のカテゴリに対する知識が比較的多いと推定されるユーザをターゲットとした解説である。レベル１の解説４１０の理解しやすさは普通（知識があるユーザであれば比較的短時間で理解可能な程度）である。例えば、レベル１の解説４１０の文字数の平均はαである。
【０１０３】
レベル２の解説４２０は、該当のカテゴリに対する知識がやや少ないと推定されるユーザをターゲットとした解説である。レベル２の解説４２０の理解しやすさは簡単（レベル１よりも平易な用語や説明文を含むなど）である。レベル２の解説４２０の文字数の平均はβである。例えば、β＞αである。レベル２の解説４２０は、レベル１よりも平易な用語や説明文を含むので、その分、レベル１の解説４１０よりも文字数が多い傾向となる。
【０１０４】
レベル３の解説４３０は、該当のカテゴリに対する知識が少ないと推定されるユーザをターゲットとした解説レベルである。レベル３の解説４３０の理解しやすさはとても簡単（レベル２よりも平易な用語や説明文を含むなど）である。レベル３の解説４３０の文字数の平均はγである。例えば、γ＞βである。レベル３の解説４３０は、レベル２よりも平易な用語や説明文を含むので、その分、レベル２の解説４２０よりも文字数が多い傾向となる。
【０１０５】
なお、上記の例では、サーバ１００は、カテゴリ毎に、問題に対する正解率を算出して、解説のレベルやカテゴリ毎の出題率を決定するものとした。一方、前述のように、サーバ１００は、カテゴリ毎に、問題に対する不正解率（不正解の割合）や不正解の累積回数に応じて、解説のレベルやカテゴリ毎の出題率を決定してもよい。
【０１０６】
例えば、不正解の累計回数の範囲毎、又は、不正解の割合の範囲毎のレベルを定めた第１のレベル情報を解説記憶部１３０に予め記憶させておき、解説出力部１６０は、第１のレベル情報に基づいて、解説のレベルを決定してもよい。より具体的には、第１のレベル情報では、不正解の累計回数又は不正解の割合が小さいほど低レベル（簡略化した解説）とし、不正解の累計回数又は不正解の割合が大きいほど高レベル（詳細な解説）とするようにレベルを定めておくことが考えられる。
【０１０７】
あるいは、不正解の累計回数の範囲毎、及び、不正解の割合の範囲毎のレベルを定めた第２のレベル情報を解説記憶部１３０に予め記憶させておき、解説出力部１６０は、第２のレベル情報に基づいて、解説のレベルを決定してもよい。より具体的には、第２のレベル情報では、不正解の累計回数の範囲と不正解の割合の範囲との組毎に、解説のレベルとの対応関係を定めておくことが考えられる。例えば、第２のレベル情報では、不正解の累計回数及び不正解の割合が小さいほど低レベル（簡略化した解説）とし、不正解の累計回数及び不正解の割合が大きいほど高レベル（詳細な解説）とするようにレベルを定めておくことが考えられる。
【０１０８】
ところで、ユーザに解説を提示する場合、全ての問題の解説を提示して、出題数分、再度学習させることが考えられる。しかし、この方法では、問題数が多い場合、読む量が多く、解説をじっくり読むことが難しく、会得すべき項目（不正解の箇所）の知識がなかなか身につかないことがある。また、問題を全て解いた後に解説を提示すると、どの問題だったのか思い出さなくてはならず、タイムリーな学習とならない。更に、知識の少ないユーザの場合、解説内容が難解だと理解できず、知識の習得を十分に支援できないことがある。
【０１０９】
そこで、サーバ１００は、問題に対する回答が不正解の場合に、問題に対応づけられたカテゴリにおける不正解の累計回数及び／又は不正解の割合（あるいは、正解率）に応じた解説を出力することで、それぞれのユーザによる学習が円滑に行われるようにする。このとき、例えば、サーバ１００は、該当の設問に対応づけられたカテゴリにおける不正解の累計回数及び／又は不正解の割合が大きいほど、文字数の多い解説を出力する。
【０１１０】
すなわち、サーバ１００は、あるカテゴリにおける不正解の累計回数及び／又は不正解の割合が低い場合（正解率が高い場合）には、処理対象としているユーザの該当のカテゴリに対する理解度が高いと推定し、簡略化された解説（例えば、解説４１０）を出力する。これにより、該当のカテゴリに対する知識の多いユーザに対し、解説の読解の所要時間を短縮させることができ、円滑に学習を進められるようになる。
【０１１１】
また、例えば、サーバ１００は、あるカテゴリにおける不正解の累計回数及び／又は不正解の割合が高い場合（正解率が低い場合）には、処理対象としているユーザの該当のカテゴリに対する理解度が低いと推定し、詳細な解説（例えば、解説４２０又は解説４３０）を出力する。これにより、該当のカテゴリに対する知識の少ないユーザに対しても、適切に知識の習得を促すことができる。
【０１１２】
こうして、サーバ１００は、設問に対する回答に応じて、解説を出力することができる。また、サーバ１００は、ユーザの理解度に合う解説を出力することができる。
更に、解説出力部１６０は、ステップＳ１６において、今回の問題（設問）に対する回答が不正解の場合に、問題に対応づけられたカテゴリにおける不正解の累計回数及び／又は不正解の割合と今回不正解となるまでの当該カテゴリにおける連続正解数とに応じた解説を出力してもよい。具体的には、解説出力部１６０は、該当のカテゴリにおける不正解の累計回数及び／又は不正解の割合（あるいは正解率）と今回不正解となるまでの当該カテゴリにおける連続正解数とを基に、該当のカテゴリに対するユーザの理解度を推定する。そして、解説出力部１６０は、当該推定の結果に応じた解説を出力する。
【０１１３】
例えば、解説出力部１６０は、該当のカテゴリにおける不正解の累計回数及び／又は不正解の割合（あるいは正解率）により推定したユーザの理解度を、今回不正解となるまでの当該カテゴリにおける連続正解数により補正することが考えられる。すなわち、解説出力部１６０は、連続正解数が比較的多かった場合、ユーザの理解度は高まってきていると推定し、ユーザの理解度が１段階高くなるように（解説のレベルが１段階低くなるように）補正してもよい。一方、解説出力部１６０は、連続正解数が比較的少なかった場合、ユーザの理解度は低いままであると推定し、ユーザの理解度が１段階低くなるように（解説のレベルが１段階高くなるように）補正してもよい。
【０１１４】
これにより、それぞれのユーザの理解度をより適切に推定し、理解度に一層適合した解説を出力できるようになり、それぞれのユーザの学習を更に円滑に進められるようになる。
【０１１５】
ここで、例えば、サーバ１００は、意識を定着させる教育システムに適用可能である。すなわち、サーバ１００では、たまたま正解した回答が多いということで理解しているという判断を防ぐため、１回でも不正解すると、対象のカテゴリについて、まだしっかり理解できていないと判断して累積正解数をクリアし、０からリスタートさせる。これによって、着実に、また、効率的に、ユーザに知識を習得させることができる教育（あるいは試験）を行えるようになる。
【０１１６】
なお、第１の実施の形態の情報処理は、処理部１２にプログラムを実行させることで実現できる。また、第２の実施の形態の情報処理は、ＣＰＵ１０１にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体１１３に記録できる。
【０１１７】
例えば、プログラムを記録した記録媒体１１３を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体１１３に記録されたプログラム又は他のコンピュータから受信したプログラムを、ＲＡＭ１０２やＨＤＤ１０３などの記憶装置に格納し（インストールし）、当該記憶装置からプログラムを読み込んで実行してもよい。
【符号の説明】
【０１１８】
１０  情報処理装置
１１  記憶部
１２  処理部
１３  制御テーブル
２０  端末装置
３０  記憶装置
３１  設問テーブル
３２  解説テーブル
【図１】
2020134753.tif 000003
【図２】
2020134753.tif 000004
【図３】
2020134753.tif 000005
【図４】
2020134753.tif 000006
【図５】
2020134753.tif 000007
【図６】
2020134753.tif 000008
【図７】
2020134753.tif 000009
【図８】
2020134753.tif 000010
【図９】
2020134753.tif 000011
【図１０】
2020134753.tif 000012
【図１１】
2020134753.tif 000013
【図１２】
2020134753.tif 000014