(57)【要約】  本発明は、サービスサーバにおいて、ユーザカスタマイズ型学習コンテンツを提供する方法に関し、特定科目に関して、少なくとも１つ以上の選択肢を含む選択式問題を少なくとも１つ以上含む問題データベースを構成し、前記問題をユーザデバイスに提供し、前記ユーザデバイスから前記問題に関するユーザの選択肢選択データを収集するａステップと、前記各ユーザの前記選択肢選択データを用いて、前記各ユーザの前記問題に対する正解率を推定するｂステップと、任意のユーザが任意の問題に対して各選択肢を選択したと仮定して、前記問題データベースに含まれる問題全体において前記ユーザの正解率の変更率を各問題について計算し、前記問題データベースに含まれる問題を前記変更率が高い順に並び替えて前記ユーザに推薦するステップとを含むことを特徴とする。【選択図】図１
2021508065.tif 000002
【特許請求の範囲】
【請求項１】
サービスサーバにおいてユーザを分析する方法であって、
特定科目に関して、少なくとも１つ以上の選択肢を含む選択式問題を少なくとも１つ以上含む問題データベースを構成し、前記問題をユーザデバイスに提供し、前記ユーザデバイスから前記問題に関するユーザの選択肢選択データを収集するａステップと、
前記各ユーザの前記選択肢選択データを用いて、前記各ユーザの前記問題に対する正解率を推定するｂステップと、
前記科目に関して、前記問題データベースを用いることなく出題された外部試験点数データが存在する第１のユーザグループを確認し、前記外部試験点数データが存在しない第２のユーザグループの前記外部試験点数を予測するための模擬試験問題セットを前記問題データベースから構成し、前記模擬試験問題セットは、前記正解率を用いて計算した前記第１のユーザグループに対する推定点数が前記第１のユーザグループの外部試験点数データと同程度になるように構成されるｃステップと、
前記模擬試験問題セットを前記第２のユーザグループに提供せず、前記正解率を用いて前記第２のユーザの前記模擬試験問題セットの予測点数を推定し、前記模擬試験問題セットの予測点数を前記外部試験に対する予測点数として推定するｄステップとを含む、ユーザ分析方法。
【請求項２】
前記ｄステップの後に、
任意のユーザが前記問題データベースに含まれる任意の問題に対して任意の選択肢を選択したと仮定して、前記ユーザに関して推定された前記外部試験に対する予測点数の上昇率を各問題について計算し、前記問題データベースに含まれる問題を前記上昇率が高い順に並び替えて前記ユーザに推薦するステップを含むことを特徴とする、請求項１に記載のユーザ分析方法。
【請求項３】
前記ｄステップは、
前記第１のユーザグループの外部試験点数データを用いて、前記第１のユーザグループの前記データベースに含まれる各問題に対する正解率と前記外部試験点数との関係を示すモデリング関数を計算するステップと、
前記モデリング関数を用いて、前記第１のユーザグループに属さない前記第２のユーザグループの前記問題データベースに含まれる各問題に対する正解率を外部試験点数に変換するステップとを含むことを特徴とする、請求項２に記載のユーザ分析方法。
【請求項４】
前記ｃステップは、
前記模擬試験問題セットを構成する各問題の全ユーザにおける平均正解率を用いて、前記全ユーザにおける前記模擬試験問題セットの平均点数が予め設定された範囲に留まるように前記模擬試験問題セットを構成するステップを含むことを特徴とする、請求項１に記載のユーザ分析方法。
【請求項５】
前記ｃステップは、
予め計算しておいた前記外部試験問題セットの問題タイプ分布情報に従うように前記模擬試験問題セットを構成するステップを含むことを特徴とする、請求項２に記載のユーザ分析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データに基づいてユーザカスタマイズ型コンテンツを提供する方法に関する。さらに詳しくは、本発明は、収集した問題解答結果データを機械学習フレームワークに適用して問題に対するユーザの学習効率を推定し、それに基づいて教育コンテンツを推薦する方法に関する。
【背景技術】
【０００２】
現在までの教育コンテンツは、一般にパッケージで提供されていた。例えば、紙に記録されている問題集は１冊当たり少なくとも７００問収録されており、オンラインまたはオフライン講座も１〜２時間単位で少なくとも１カ月間勉強する量をまとめて一度に販売される。
【０００３】
しかしながら、教育を受ける学生の立場では、人によって苦手な科目や苦手な問題タイプが異なるので、パッケージの形態ではなく個人カスタマイズ型コンテンツに対するニーズが存在する。限られた時間に最も効率的に学習するためには、学習効率が最も高い問題を選んで学習することが問題集の７００問全部を解くよりもはるかに効率的だからである。
【０００４】
しかしながら、被教育者である学生自身が自らに適した問題を選ぶことは非常に難しい。また、塾、出版社などの従来の教育業界においても、主観的経験や勘に頼って学生や問題を分析するので、各学生に最適化された問題を提供することは容易ではない。
【０００５】
このように、従来の教育環境においては、被教育者が最も効率的に学習結果を得ることのできる個人カスタマイズ型コンテンツを提供することが容易ではなく、学生は一律に提供される教育コンテンツに対して達成感や興味をすぐに失うという問題がある。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、前記問題を解決することを目的とする。さらに詳しくは、本発明は、大量の問題解答結果データに基づいてユーザ及び／または問題を分析し、そこから各ユーザの問題別学習効率を計算し、学習効率に応じて学習コンテンツを推薦する方法に関する。
【課題を解決するための手段】
【０００７】
本発明の実施形態に係るサービスサーバにおいて、ユーザカスタマイズ型学習コンテンツを提供する方法は、特定科目に関して、少なくとも１つ以上の選択肢を含む選択式問題を少なくとも１つ以上含む問題データベースを構成し、前記問題をユーザデバイスに提供し、前記ユーザデバイスから前記問題に関するユーザの選択肢選択データを収集するａステップと、前記各ユーザの前記選択肢選択データを用いて、前記各ユーザの前記問題に対する正解率を推定するｂステップと、任意のユーザが任意の問題に対して各選択肢を選択したと仮定して、前記問題データベースに含まれる問題全体において前記ユーザの正解率の変更率を各問題について計算し、前記問題データベースに含まれる問題を前記変更率が高い順に並び替えて前記ユーザに推薦するステップとを含むことを特徴とする。
【発明の効果】
【０００８】
本発明の実施形態によれば、ユーザ及び／または問題の分析結果に基づいてユーザに最適化された学習コンテンツを提供することができ、ユーザの学習効果を最大化させるという効果がある。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態によりユーザカスタマイズ型コンテンツを推薦する過程について説明するためのフローチャートである。
【図２】本発明の実施形態によりユーザの問題別学習効率を計算する過程について説明するためのフローチャートである。
【図３】本発明の他の実施形態によりユーザの問題別学習効率を計算する過程について説明するためのフローチャートである。
【発明を実施するための形態】
【００１０】
本発明は、以下に記載される実施形態の説明内容に限定されるものではなく、本発明の技術的要旨を逸脱しない範囲で様々な変形が加えられることは言うまでもない。また、実施形態について説明するにあたり、本発明の属する技術分野において広く知られており、本発明の技術的要旨と直接関連のない技術内容については説明を省略する。
【００１１】
なお、添付図面において、同一の構成要素には同一の符号を付す。また、添付図面において、一部の構成要素は誇張されたり、省略されたり、概略的に示される。これは、本発明の要旨に関連のない不要な説明を省略することにより、本発明の要旨を明確に説明するためである。
【００１２】
近年、ＩＴデバイスの普及が拡大し、ユーザ分析のためのデータ収集が容易になっている。ユーザデータを十分に収集することができれば、ユーザについての分析がより精密になり、当該ユーザに最も適した形態のコンテンツを提供することができる。
【００１３】
このような流れの中で、特に教育業界において、ユーザカスタマイズ型教育コンテンツの提供に対するニーズが高まっている。
【００１４】
簡単な例を挙げると、あるユーザが英語科目において「動詞の時制」に対する理解度が低い場合、「動詞の時制」に関する概念を含む問題を推薦することができれば、学習効率はさらに高くなる。しかしながら、このようにユーザカスタマイズ型教育コンテンツを提供するためには、各コンテンツ及び各ユーザについての精密な分析が必要である。
【００１５】
従来は、コンテンツとユーザを分析するために、当該科目の概念を専門家が手作業で定義し、当該科目の各問題がいかなる概念を含むか専門家が個別に判断してタギングする方法を用いていた。次に、各ユーザが特定概念に関してタギングされた問題に解答した結果情報に基づいて学習者の実力を分析していた。
【００１６】
ユーザが問題に解答する過程において、問題出題者の意図は１つか２つであるが、ユーザが当該問題を間違える理由は数十にもなる。例えば、ある問題タイプが「仮定法過去」であり、出題者の意図は「助動詞の過去形と仮定法を区別することができるか」であると仮定する。
【００１７】
この場合、ユーザが当該問題を間違える理由は、出題意図と同じく「助動詞の過去形と仮定法を区別できないから」であることもあるが、問題文の特定単語を知らないからであることもある。そうすると、当該ユーザに最も効率的な問題は、前記単語を学習するための問題である。
【００１８】
しかしながら、専門家が全ての場合の数を考慮して当該ユーザについて分析することは不可能であるので、一般に問題タイプタグ及び出題者意図タグに基づいて「仮定法過去」、「助動詞過去」、「仮定法」などの概念に対する学習がユーザに必要であると判断し、それに関する問題を推薦する。
【００１９】
このように、専門家が予め定義したタグ情報に基づいてユーザについて分析する方法は、タグ情報が人の主観に依存しており、人の行動の様々な場合の数が考慮されないという不具合がある。人の主観が介入せずに数学的に生成されたタグ情報が数学的に問題に与えられるわけではないので、結果データの信頼性が高くなり得ないという不具合がある。
【００２０】
よって、本発明の実施形態に係るデータ分析サーバは、学習データ分析にマシンラーニングフレームワークを適用してデータ処理過程における人の介入を排除することを目的とする。
【００２１】
そうすることにより、当該科目の概念を事前に別途定義することなく（すなわち、問題に含まれる概念に関するタグ情報を生成せず）、ユーザの問題解答結果ログに基づいてユーザ及び問題について分析することができる。例えば、データ分析サーバは、ユーザの問題解答結果ログを収集し、ユーザと問題とから構成される多次元空間を構成し、ユーザが問題に正解したか否かに基づいて前記多次元空間に値を与え、各ユーザ及び各問題ベクトルを計算する方法でユーザ及び／または問題をモデリングすることができる。
【００２２】
この場合、ユーザモデルは全問題に対する各ユーザの特性に関する情報を含んでもよく、問題モデルは全ユーザに対する各問題の特性に関する情報を含んでもよい。さらに、問題モデルは、特定問題の当該科目を構成する概念の包含度で表されてもよく、ユーザモデルは、特定ユーザの当該科目を構成する概念の理解度で表されてもよい。
【００２３】
さらに、本発明の実施形態によれば、前記問題モデルと前記ユーザモデルを用いて、任意のユーザが任意の問題に対して正解の選択肢を選択する確率、すなわちユーザの問題別正解率を計算することができる。ここで、本発明において、前記ユーザベクトル、前記問題ベクトルがいかなる属性やフィーチャーを含むかについて制限して解されてはならないことに留意されたい。
【００２４】
例えば、本発明の実施形態によれば、前記ユーザベクトルは、前記ユーザが任意の概念について理解している程度、すなわち概念の理解度を含んでもよい。さらに、前記問題ベクトルは、前記問題がいかなる概念で構成されているか、すなわち概念の構成度を含んでもよい。
【００２５】
また、本発明の実施形態によれば、特定ユーザに関する問題データベースに含まれる各問題に対する学習効率を計算することができ、学習効率が高い順にユーザに問題を推薦することができる。
【００２６】
例えば、本発明の第１の実施形態によれば、正解率が低い問題は学習効率が高いと仮定する。そうすると、特定ユーザが既に理解して正解した問題は排除し、間違った問題のみ選んで推薦する。前記実施形態によれば、ユーザは確実に間違う問題から学習することができる。
【００２７】
本発明の第２の実施形態によれば、ユーザがある問題に正解すると、当該問題を含めて新たに学習したモデルが予測する問題全体において前記ユーザの正解率の増加率が高い問題は学習効率が高いと仮定する。そうすると、問題データベース全体においてより容易に解答できる問題がユーザに推薦される。そうすると、ユーザは全問題の正解率を高めることのできる問題から学習することになる。
【００２８】
さらに、本発明の第３の実施形態によれば、ユーザの実際の試験点数を上げることができる問題は、学習効率が高いと仮定する。そうすると、問題データベースの外部から出題される同じ科目の実際の試験点数をユーザ別に推定し、前記実際の試験点数を上げることができる問題が推薦される。そうすると、ユーザは実際の試験点数を上げることができる問題から学習することになる。
【００２９】
図１は、本発明の実施形態によりユーザカスタマイズ型コンテンツを推薦する過程について説明するためのフローチャートである。
【００３０】
ステップ１１０及びステップ１３０は、本発明の実施形態に係るデータ分析システムにおいて、学習データを収集して問題とユーザをモデリングするステップである。
【００３１】
ステップ１１０において、データ分析サーバは、問題データベース及びユーザデータベースを生成する。
【００３２】
例えば、データ分析サーバは、市販されている各種問題を収集することにより問題データベースを生成することができる。前記問題にはリスニング問題が含まれ、テキスト、画像、オーディオ及び／または動画像の形態である。さらに、データ分析サーバは、ユーザ識別情報を含むユーザデータベースを生成する。
【００３３】
ステップ１２０において、データ分析サーバは、前記問題データベースをユーザデバイスに提供し、ユーザが当該問題を解答した結果データを収集する。
【００３４】
ここで、データ分析サーバは、収集した問題解答結果データをユーザ、問題、結果に関するリストの形態で構成する。例えば、Ｙ（ｕ，ｉ）は、ユーザｕが問題ｉに解答した結果を意味し、正解であれば１の値を与え、不正解であれば０の値を与える。
【００３５】
さらに、本発明の実施形態に係るデータ分析サーバは、ユーザと問題とから構成される多次元空間を構成し、ユーザが問題に正解したか否かに基づいて前記多次元空間に値を与え、各ユーザ及び各問題のベクトルを計算する。ここで、前記ユーザベクトルと前記問題ベクトルが含むフィーチャーは特定されないものと解されるべきである（ステップ１３０）。
【００３６】
例えば、本発明の実施形態に係るデータ分析サーバは、Ｙが十分な大きさであれば概念を別途定義せず、Ｙからユーザの概念理解度Ｌ、問題の概念構成度Ｒを推定する。ここで、本発明の実施形態によれば、前記Ｌの各要素は０〜１の値を有し、Ｒの各行の要素の合計は１となる。
【００３７】
例えば、Ｌの第１行の値が［０，０，１，０．５，１］であれば、それは、第１のユーザが第１の概念及び第２の概念は全く理解しておらず、第３の概念及び第５の概念は完全に理解しており、第４の概念は半分ぐらい理解していると解される。
【００３８】
例えば、Ｒの第１行の値が［０，０．２，０．５，０．３，０］であれば、第１問題には第２の概念が約２０％含まれ、第３の概念が約５０％含まれ、第４の概念が約３０％含まれると解される。
【００３９】
なお、本発明の実施形態に係るデータ分析システムは、ＬとＲが十分な信頼性で推定されると、ユーザと問題の相互関係を低い係数行列により数学的に結合することができる。
【００４０】
例えば、サービスサーバは、分析対象のユーザ総数がｎ、分析対象の問題総数がｍであれば、当該科目を構成する未知の概念の数をｒと想定し、ユーザの概念別理解度の行列Ｌをｎ  ｂｙ  ｒ行列と定義し、問題の概念別包含度の行列Ｒをｍ  ｂｙ  ｒ行列と定義する。この場合、ＬをＲの転置行列ＲＴに連結すると、概念または概念の数を別途定義せずにユーザと問題の相互関係を分析することができる。
【００４１】
これを適用すると、Ｌの第１行の値が［０，０，１，０．５，１］、Ｒの第１行の値が［０，０．２，０．５，０．３，０］である前記例において、第１のユーザの第１問題に対する理解度Ｘ（１，１）は、Ｘ（１，１）＝０．５＋０．５×０．３＝０．６５のように計算される。すなわち、第１のユーザは、第１問題を６５パーセント理解していると推定される。
【００４２】
しかしながら、ユーザの特定問題に対する理解度と特定問題に正解する確率が同一であるとはいえない。前記例において、第１のユーザが第１問題を６５パーセント理解しているなら、第１問題に実際に解答した場合に正解である確率はどの程度であろうか。
【００４３】
よって、本発明は、心理学、認知科学、教育学などに用いられる項目反応理論（Ｉｔｅｍ  Ｒｅｓｐｏｎｓｅ  Ｔｈｅｏｒｙ）の方法論を導入した。項目反応理論は、評価項目に対する応答を用いて、被験者の特性、例えば、認知能力、物理的能力、技術、知識、態度、人格特徴や評価項目の難易度を測定する検査理論である。
【００４４】
前記理論を適用して、十分に大きなデータを用いて実験した結果、問題理解度Ｘと問題に正解する確率Ｐはリニアでないと分析された。問題理解度Ｘと問題に正解する確率Ｐを十分に大きなデータを用いて実験した結果、２次元グラフが得られた。これを説明できる関数を従来の数学的方法により計算すると、ユーザが問題に正解する確率Ｐを推定するための関数Φとして数式１を導くことができる。すなわち、問題正解率Ｐは、関数Φに問題理解度Ｘを適用すると計算される。
【００４５】
【数１】
2021508065.tif 000003
【００４６】
第１のユーザの第１問題に対する理解度が６５パーセントである前記例において、第１のユーザが第１問題に正解する確率は
Ｐ（１，１）＝Φ（Ｘ（１，１））＝０．８６３２
のように計算され、８６％となる。すなわち、第１のユーザは、第２、第４の概念を全く理解しておらず、第３の概念を完全に理解しており、第１問題は、第２の概念が２０％、第３の概念が５０％、第４の概念が３０％で構成されている問題であるので、前記公式によれば、第１のユーザが第１問題に解答すると８６パーセントの確率で正解となるものと推定される。
【００４７】
一方、ユーザの概念理解度Ｌ、問題の概念構成度Ｒを推定するために、以下に例示する方法を用いることができる。その方法は、確率的勾配降下法に基づいてユーザｉの概念理解度Ｌｉ及び問題ｊの概念構成度Ｒｊを推定する方法であるが、これは例示にすぎず、本発明はこれに限定されるものではない。
【００４８】
本発明の実施形態に係るデータ分析システムは、ユーザｉの概念理解度Ｌｉ、問題ｊの概念構成度Ｒｊの初期値を任意の値にすることができる。例えば、データ分析システムは、ユーザｉの任意の概念理解度Ｌｉの初期値及び問題ｊの任意の概念構成度Ｒｊの初期値を０〜１の任意の値にすることができる。
【００４９】
さらに、問題解答結果データとして、各ユーザｉ、各問題ｊが正解であれば１、不正解であれば０にｖａｌを設定したリストを生成することができる。例えば、ユーザ別問題解答結果データセットを、ユーザｉが問題ｊに解答した場合に、正解であれば（ｉ，ｊ，１）、不正解であれば（ｉ，ｊ，０）の形態のリストに変換することができる。
【００５０】
次に、データ分析システムは、問題解答結果リストのデータをランダムに１つずつローディングすることができる。さらに詳しくは、データ分析システムは、当該時点のユーザｉの概念理解度Ｌｉ、問題ｊの概念構成度Ｒｊを適用して、特定ユーザｉが特定問題ｊに正解する確率Ｐ（ｉ，ｊ）の臨時値ｔｍｐを計算することができる。
【００５１】
これは、当該時点のユーザｉの概念理解度Ｌｉ、問題ｊの概念構成度Ｒｊを適用して計算した確率Ｐ（ｉ，ｊ）、すなわち特定ユーザｉが特定問題ｊに正解する確率と、当該ユーザｉの当該問題ｊに対する実際の問題解答結果値であるｖａｌ（正解であれば１，不正解であれば０）の差を用いて、Ｌ及びＲを更新するためである。
【００５２】
選択したデータが（ｉ，ｊ，ｖａｌ）であれば、データ分析システムは、当該時点のＬｉ（ユーザｉの概念理解度）、Ｒｊ（問題ｊの概念構成度）を用いて、ユーザｉが問題ｊに正解する確率の臨時値ｔｍｐ＝Φ（ｘ（ｉ，ｊ））＝Φ（Ｌｉ，ＲｊＴ））を計算することができる。
【００５３】
例えば、選択したデータが（１，１，０）であれば、第１のユーザが第１問題に解答して間違ったという意味である。しかしながら、当該時点のＬ１、Ｒ１を用いて計算した結果、第１のユーザが第１問題に解答すれば８６パーセントの確率で正解するであろうという、すなわちＰ＝０．８６の結果が得られた場合、Ｌ１、Ｒ１はデータ（１，１，０）を反映して更新する必要がある。
【００５４】
このために、本発明の実施形態に係るデータ分析システムは、ユーザｉが問題ｊに正解する確率の臨時値ｔｍｐと、ユーザｉが問題ｊを実際に解答したデータであるｖａｌの差を用いて、選択したデータ（ｉ，ｊ，ｖａｌ）に対する近似勾配降下ｇｒａｄを計算することができる。これは、次の数式２により計算することができる。
【００５５】
【数２】
2021508065.tif 000004
【００５６】
さらに、ｇｒａｄと共に、当該ユーザが解答した問題の数ｕｉ、当該問題が解答された回数ｖｊを反映して、次の数式３によりユーザｉの概念理解度Ｌｉ、問題ｊの概念構成度Ｒｊを更新することができる。
【００５７】
【数３】
2021508065.tif 000005
【００５８】
ここで、前記ｍｕは、前記数式の性能を左右するパラメータであり、従来技術により実験を通して選択することができ、前記ｓｔｅｐは、前記数式が新たなデータを受け取る速度に関するパラメータであり、従来技術により実験を通して選択することができる。
【００５９】
本発明の実施形態によれば、全データに対して前記過程を繰り返し、全データが反映されると、再びランダムにリストをシャッフルして前記過程を十分に繰り返すことにより、Ｌ、Ｒを高い信頼性で推定することができる。
【００６０】
しかしながら、本発明の実施形態に係るデータ分析フレームワークにおいて、ユーザと問題をモデリングベクトルで表現する理由は、究極的には特定ユーザが特定問題に正解するか否かを精密に予測するためである。
【００６１】
ユーザの問題に対する正解率は、前述したようにユーザの正解または不正解の結果を収集して分析する方法により推定することができるが、選択肢の選択確率を用いて推定することもできる。
【００６２】
例えば、第１のユーザの特定問題に対する選択肢選択確率が（０．１，０．２，０，０．７）であれば、ユーザは高い確率で選択肢４番を選択し、当該問題の正解が４番であれば、第１のユーザはその問題に正解する確率が高いものと予想することができる。
【００６３】
一方、問題の難易度は、全ユーザの正解または不正解の結果を収集して分析する方法により推定することができるが、選択肢の選択確率を用いて推定することもできる。
【００６４】
例えば、４肢選択式で構成された特定問題に対するユーザの選択肢選択確率が（０．５，０．１，０．３，０．６）であれば、ユーザが第２問題で選択肢１番を選択する確率と、選択肢４番を選択する確率が同程度であるので、第２問題は難易度が高いと分類することができる。
【００６５】
このために、データ分析サーバは、全問題と全ユーザに関する解答結果データにユーザが選択した選択肢要素が含まれるように収集することができる。
【００６６】
さらに詳しくは、データ分析サーバは、問題データベースに属する全問題に対してユーザが当該問題でどの選択肢を選択したかの選択肢選択結果を収集する方法で解答結果ログを収集することができ、さらに当該問題に対する正解または不正解の結果を収集することもできる。ここで、データ分析サーバは、ユーザ、問題、当該ユーザが当該問題で選択した選択肢に関するリストを構成することができる。
【００６７】
次に、データ分析サーバは、１つの問題を選択肢単位に拡張してデータ分析処理を行うことができる。
【００６８】
例えば、問題ｉが４肢選択式問題であれば、問題ｉは（ｉ，１）（ｉ，２）（ｉ，３）（ｉ，４）の４つの変数に拡張され、各問題−選択肢を各ユーザが選択したか否かが値として与えられる。
【００６９】
例えば、Ｅ（ｉ，ｊ）は、問題ｉの選択肢ｊを意味し、Ｙ’（ｕ，Ｅ）は、ユーザｕが問題ｉの選択肢ｊを選択したか否かを意味し、本発明の実施形態においては、選択すれば１、選択しなければ０の値を与える。
【００７０】
さらに、データ分析サーバは、ユーザ及び問題−選択肢を変数とする多次元空間を構成し、ユーザが当該問題−選択肢を選択したか否かに基づいて前記多次元空間に値を与え、各ユーザ及び問題−選択肢のベクトルを計算することができる。
【００７１】
次に、データ分析サーバは、前記ユーザベクトルと前記問題−選択肢ベクトルを用いて、任意のユーザが任意の問題−選択肢を選択する確率、すなわち選択率を推定することができる。
【００７２】
ここで、前記ユーザベクトルと前記問題−選択肢ベクトルに様々なアルゴリズムを適用して前記選択率を推定することができ、本発明において選択率を計算するためのアルゴリズムは限定されるものではない。
【００７３】
例えば、本発明の実施形態によれば、次の数式４のシグモイド関数を適用すると、ユーザの問題−選択肢選択率を推定することができる（ｘは問題−選択肢ベクトル、θはユーザベクトル。
【００７４】
【数４】
2021508065.tif 000006
【００７５】
さらに、本発明の実施形態に係るデータ分析サーバは、ユーザの選択肢選択率を用いて問題の正解率を推定することができる。
【００７６】
しかしながら、例えば、４肢選択式で構成された特定問題に対する特定ユーザの選択肢選択確率が（０．５，０．１，０．３，０．６）であり、正解の選択肢が１番であれば、前記ユーザが当該問題に正解する確率はいくらになるかが争点となる。そこで、当該問題に対する複数の選択肢選択率を用いて当該問題の正解率を推定する方法も考えられる。
【００７７】
本発明の実施形態により選択肢選択率を問題正解率に還元する簡単な方法としては、全選択肢の選択率と、正解の選択肢の選択率を比較する方法も考えられる。
【００７８】
この場合、前記例においては、当該ユーザの当該問題に対する正解率を０．５／（０．５＋０．１＋０．３＋０．６）で計算する。しかしながら、ユーザは問題に解答する際に選択肢単位に区分して当該問題を理解するのではなく、全選択肢に対する構成及び問題の出題意図を含めて問題単位で理解するので、選択肢選択率と正解率を単純に組み合わせることはできない。
【００７９】
よって、本発明の実施形態によれば、当該問題の全選択肢選択率を平均化し、正解の選択肢の平均化した選択率を全選択肢の選択率に適用する方法により、選択肢選択率から当該問題の正解率を推定することができる。
【００８０】
前記例において、選択肢の選択確率が（０．５，０．１，０．３，０．６）であれば、これを全選択肢に対して平均化すると、それぞれの選択肢選択率は（０．３３，０．０７，０．２０，０．４１）にスケールが変更される。正解の選択肢が１番であれば、選択肢１番の平均化した選択率は０．３３であるので、当該ユーザの当該問題に対する正解率は３３％であると推定される。
【００８１】
さらに、本発明の実施形態に係るサービスサーバは、ユーザの問題−選択肢選択確率を用いて問題の正解率を推定することができるので、特定概念に対するユーザの理解度を推定することができる。
【００８２】
さらに、データ分析サーバは、問題モデル及びユーザモデルに基づいて当該ユーザの特定問題に対する学習効率を計算することができる（ステップ１４０）。
【００８３】
本発明の実施形態に係るデータ分析サーバは、前述したように、問題の選択肢単位のモデルとユーザモデルを用いて、各ユーザに関して問題の選択肢単位の選択確率及び当該ユーザの問題単位の正解率を計算することができる。
【００８４】
本発明の第１の実施形態によれば、正解率が低い問題は学習効率が高いと仮定する。そうすると、サービスサーバは、正解率が高い問題はユーザが既に理解しているとみなし、ユーザが正解するはずの問題は排除し、間違うはずの問題のみ選んで推薦する。
【００８５】
さらに詳しくは、サービスサーバは、問題データベースセットからユーザが既に解答した問題を除き、残りの問題を特定ユーザの正解率が低い順に並び替えて当該ユーザに関する推薦問題リストを作成し、それを提供することができる（ステップ１５０）。
【００８６】
例えば、ユーザ−問題正解率Ｐの第１行の値が［０．３，０．４，０．１，０．９，０．７］であれば、ユーザ１が問題１、２、３、４、５に正解する確率がそれぞれ３０％、４０％、１０％、９０％、７０％であると解される。サービスサーバは、問題３、１、２、５、４の順に優先順位を付与した問題推薦リストをユーザに提供することができる。ここで、問題５をユーザ１が既に解答した場合、サービスサーバは問題５を除いて問題推薦リストを作成することができる。
【００８７】
前記実施形態によれば、サービスサーバは、問題データベースに含まれる問題をユーザの正解率が低い順に並び替えてユーザに推薦することができる。ユーザは、確実に間違う問題から学習することになる。
【００８８】
一方、データ分析サーバは、ユーザベクトル、問題−選択肢ベクトル、選択肢選択率、問題の正解率、ユーザの概念理解度、問題の概念構成度のうち少なくとも１つ以上を用いてユーザカスタマイズ型コンテンツを推薦することができる（ステップ１５０）。
【００８９】
一例として、サービスサーバは、特定概念に対する理解度が低いユーザに当該概念に関する深化講座を推薦する。他の例として、サービスサーバは、複数の概念を含む問題に対する正解率が低いユーザに前記複数の概念を含むように構成された問題を推薦する。
【００９０】
一方、本発明の第２の実施形態によれば、ユーザがある問題に正解すると、問題全体において前記ユーザの正解率の変更率が高い問題は学習効率が高いと仮定する。そうすると、ユーザに問題データベース全体においてより容易に解答できる問題が推薦され、ユーザは全問題の正解率を高めることのできる問題から学習することになる。
【００９１】
第２の実施形態によりユーザの問題別学習効率を計算する過程については、図２を参照して説明する。図２は、本発明の実施形態によりユーザの問題別学習効率を計算する過程について説明するためのフローチャートである。
【００９２】
任意の時点でのユーザの問題別正解率または任意の問題の選択肢別選択確率は、当該ユーザの解答結果データがさらに収集されると、それを反映して更新される。これを考慮すると、特定問題に関して当該ユーザが問題データベースに含まれる任意の問題に対して正解の選択肢を選択したと仮定すると、他の問題に対する当該ユーザの正解率が少しずつ変更される（ステップ２１０〜ステップ２３０）。
【００９３】
次に、サービスサーバは、全問題データベースに含まれる各問題に関して当該ユーザが正解の選択肢を選択したと仮定し、他の各問題について正解率の増加値を計算し、正解率の変更値の総合計または正解率の変更値の平均を当該問題の学習効率として計算する（ステップ２４０）。
【００９４】
さらに詳しくは、本発明の実施形態に係るデータ分析サーバは、特定ユーザの任意の問題の選択肢別選択確率に、前記ユーザが当該選択肢を選択すると、他の問題の正解率変更値の平均値を適用することにより、当該問題の学習効率を計算する。
【００９５】
例えば、ユーザＡの特定問題ａの選択肢１番に対する選択率をａ１、選択肢２番に対する選択率をａ２、選択肢３番に対する選択率をａ３、選択肢４番に対する選択率をａ４とする。
【００９６】
ここで、ユーザＡが当該問題に対して選択肢１番を選択したと仮定すると、ユーザＡのモデル及び全問題のモデルは、ユーザＡの選択肢１番選択イベントが適用されて多少変更され、変更されたモデルに応じて各問題の正解率が多少変更される。
【００９７】
よって、データ分析サーバは、ユーザＡの選択肢１番選択の仮想イベントを適用することにより、全問題の正解率変更平均値ＡＶＣ＿ａ１を計算することができる。
【００９８】
同様に、データ分析サーバは、ユーザＡが選択肢２板を選択したと仮定してＡＶＣ＿ａ２を計算することができ、選択肢３番を選択したと仮定してＡＶＣ＿ａ３を計算することができ、選択肢４番を選択したと仮定してＡＶＣ＿ａ４を計算することができる。
【００９９】
次に、データ分析サーバは、ユーザＡの問題ａによる学習効率Ｅ（Ａ，ａ）を次の数式により計算することができる。
【０１００】
【数５】
2021508065.tif 000007
【０１０１】
さらに、データ分析サーバは、全問題のＥ（Ａ）を計算し、Ｅ（Ａ）を当該問題の学習効率として活用することができる。
【０１０２】
次に、サービスサーバは、学習効率が高い順に全問題を並び替える。すなわち、当該問題をユーザが学習して正解すると、他の問題全体の正解率が変更されるが、前記正解率の変更値が高いと、ユーザは問題データベース全体をより容易に解答できるようになるので、学習効率が高いとみなされ、ユーザに推薦される（ステップ２５０）。
【０１０３】
一方、本発明の第３の実施形態によれば、ユーザの実際の試験点数を上げることができる問題は学習効率が高いと仮定する。そうすると、問題データベースの外部から出題される同じ科目の実際の試験点数をユーザ別に推定し、前記実際の試験点数を上げることができる問題が推薦される。そうすると、ユーザは実際の試験点数を上げることができる問題から学習することになる。
【０１０４】
第３の実施形態によりユーザの問題別学習効率を計算する過程については、図３を参照して説明する。図３は、本発明の第３の実施形態により実際の試験点数を上げることができる問題別学習効率を計算する過程について説明するためのフローチャートである。
【０１０５】
前記実施形態によれば、問題モデルとユーザモデルを用いて、実際の試験点数を推定する過程が必ず要求される。問題データベースの外部から出題される実際の試験点数をいかにして推定するか。
【０１０６】
従来の特定試験に対する被試験者の予想点数は、専門家のノウハウにより推定されるのが一般的であった。例えば、大学修学能力試験においては、専門家のノウハウにより実際の大学修学能力試験と同程度の模擬試験を構成し、学生が模擬試験を受けた結果に基づいて大学修学能力試験の予想点数が予測される。
【０１０７】
しかしながら、前記方法は、専門家の主観的経験や勘に頼ったものなので、実際の試験結果と大きく異なることが多い。専門家は各自の経験と勘に頼って模擬試験を作成するので、このような模擬試験によっては学生の実力や実際の試験点数を正確に予測することはできない。
【０１０８】
さらに、受験生が模擬試験を受ける行為自体が能率的な勉強であるとはいいがたい。模擬試験は、実際の試験と問題タイプが似ているかに基づいて構成されるので、受験者の実力とは関係なく出題される。すなわち、模擬試験は試験点数を推定して学生全体における自分の位置を確認することに目的があるだけであり、受験者の学習のために構成された問題ではなく、まして学習効率を高める方法でもない。
【０１０９】
これを解決するための本発明の実施形態によれば、実際の試験点数データが存在するユーザグループの実際の試験点数データを用いて、問題データベースの外部から出題される実際の試験点数を推定し、実際の試験点数の推定値を上げるのに必要な問題が推薦される。
【０１１０】
さらに詳しくは、本発明の実施形態によれば、前記ユーザグループの実際の試験点数データを用いて（ステップ３２０）、前記ユーザグループの問題データベースに含まれる全問題に対する正解率の平均と実際の試験点数の関係を示すモデリング関数を各ユーザ別に計算することができる。すなわち、実際の試験点数データを用いて、全問題の正解率の平均を実際の点数に変換するモデリング関数を計算することができる（前記モデリング関数を計算する具体的な方法については後述する）。
【０１１１】
前記モデリング関数が計算されると、前記ユーザグループに属さないユーザ、すなわち実際の試験点数データが存在しないユーザの前記問題データベースに含まれる全問題に対する正解率の平均を実際の試験点数に変換することができる（ステップ３３０）。
【０１１２】
さらに詳しくは、外部試験点数データが存在しない他のユーザに対して、ステップ３１０でユーザモデルが十分な信頼性で計算された場合、前記ユーザモデルを用いると、問題データベースに含まれる問題に対する正解率を予測することができ、予測した正解率を前記モデリング関数に適用すると、正解率を外部試験点数に変換することができる。
【０１１３】
次に、任意のユーザが任意の問題に対して任意の選択肢を選択したと仮定すると（ステップ３４０）、ユーザモデル及び問題モデルは当該ユーザの選択肢選択イベントが適用されて多少変更され、変更されたモデルに応じて各問題の正解率が多少変更され、前記モデリング関数を適用して変換した実際の試験点数予測値も変更される（ステップ３５０）。
【０１１４】
すなわち、サービスサーバは、全問題データベースに含まれる各問題に対して当該ユーザが各選択肢を選択したと仮定し、実際の試験点数予測の変更値を計算し、実際の試験点数予測の変更値の総合計または変更値の平均を当該問題の学習効率として計算することができる。
【０１１５】
一方、本発明の他の実施形態によれば、前記ユーザグループ、すなわち実際の試験点数データが存在するユーザグループの実際の試験点数データを用いて（ステップ３２０）、前記ユーザグループに関する推定点数が前記実際の試験点数データに近似するように、模擬試験問題セットを問題データベースから構成することができる（前記模擬試験問題セットを構成する具体的な方法については後述する）。
【０１１６】
前記模擬試験問題セットは、専門家により実際の試験と同じ問題タイプで構成される従来の模擬試験とは異なり、推定点数が実際の試験点数と同程度であるかに基づいて構成されるという特徴がある。
【０１１７】
前記模擬試験問題セットが構成されると、前記ユーザグループに属さないユーザのユーザモデルを用いて、前記模擬試験問題セットの推定点数を計算することができる（ステップ３３０）。前記模擬試験問題セットは、推定点数が実際の試験点数と同程度に構成されているので、実際の試験点数データが存在しないユーザの前記模擬試験問題セットに対する推定点数を実際の試験点数の予測値として代替することができる。
【０１１８】
次に、任意のユーザが任意の問題に対して各選択肢を選択したと仮定すると（ステップ３４０）、ユーザモデル及び問題モデルは、当該ユーザの選択肢選択イベントが適用されて多少変更され、変更されたモデルに応じて各問題の正解率が多少変更され、前記模擬試験問題セットに対する推定点数も変更される（ステップ３５０）。
【０１１９】
すなわち、サービスサーバは、全問題データベースに含まれる各問題に対して当該ユーザが各選択肢を選択したと仮定し、実際の試験点数予測（すなわち、模擬試験問題セットに対する推定点数）の変更値を計算し、実際の試験点数予測の変更値の総合計または変更値の平均を当該問題の学習効率として計算することができる。
【０１２０】
次に、サービスサーバは、実際の試験点数予測値の上昇率が高い順に問題データベースを並び替えてユーザに推薦する（ステップ３６０）。
【０１２１】
一方、問題データベースに含まれる各問題に対する正解率と外部試験点数の関係を示すモデリング関数を計算する過程は次の通りである。
【０１２２】
前述したように、データ分析サーバは、全ユーザのうち外部試験点数データが存在するユーザグループを確認する。これは、前記ユーザグループの外部試験点数データと、各ユーザモデル、問題−選択肢モデルから求めることのできる正解率の関係を用いて、外部試験点数予測効率が高い問題セットを構成するためである。
【０１２３】
さらに、本発明の実施形態に係るデータ分析サーバは、問題セットの性能、すなわち問題セットにおける外部試験点数の予測効率が高いか否かを検査したり、前記問題セットの点数を外部試験点数に変換するモデリング関数の性能を検査するために、前記ユーザグループの一部をテストグループに分割することができる。
【０１２４】
例えば、データベースに属する全ユーザのうち外部試験データが存在するユーザが｛Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈ｝であれば、データ分析サーバは｛Ａ，Ｂ，Ｃ，Ｄ，Ｅ｝をトレーニングセットに区分し、｛Ｆ，Ｇ，Ｈ｝をテストセットに区分する。
【０１２５】
さらに詳しくは、データ分析サーバは、外部試験点数データが存在するユーザグループを任意に２グループに分け、一方のグループは、データ分析フレームワークに前記問題セット及び試験点数変換モデリング関数を構成するためのデータを提供するトレーニングセットにグルーピングし、他方のグループは、前記問題セット及びモデリング関数の性能を検査するためのデータを提供するテストセットにグルーピングする。
【０１２６】
すなわち、外部試験点数データが存在するユーザグループのうち、前記トレーニングセットに属するユーザのデータは、問題セット及び試験点数変換モデリング関数の構成に用いられ、前記テストセットに属するユーザのデータは、前記問題セット及び試験点数変換モデリング関数の性能を検査するために用いられる。
【０１２７】
次に、データ分析サーバは、前記ユーザグループの外部試験点数データ及びユーザモデリングベクトルを用いて、問題データベースから外部試験点数予測効率が高い問題セットを構成する。
【０１２８】
特に、本発明の実施形態に係る問題セットは、従来の模擬試験のように外部試験に似ているかに基づいて構成されるのではなく、外部試験点数に対する予測効率が高いかに基づいて構成されるので、問題数及び／または問題タイプなどが外部試験に従属する必要はないという特徴がある。
【０１２９】
さらに詳しくは、特にデータ分析サーバは、問題データベースに含まれる各問題について、外部試験点数データが存在するユーザグループのモデリングベクトルを用いて計算した正解率と、前記ユーザグループの外部点数データの関係を多次元平面に表現する。
【０１３０】
例えば、問題データベースに含まれる問題が１００問であれば、データ分析サーバは、ｘ軸を問題数に応じて１００個生成し、ｙ軸を外部試験点数で構成することにより、多次元平面を生成することができる。
【０１３１】
例えば、外部試験点数データが存在するユーザのうち、トレーニングセットに属するユーザがＡ、Ｂ、Ｃ、Ｄ、Ｅの５人であれば、データ分析サーバは、ユーザＡに対して予め計算しておいたモデリングベクトルを用いて第１問題の正解率を計算し、これを第１ｘ軸（ｘ１）のｘ値に設定し、ユーザＡの外部試験点数をｙ値に設定することにより、ユーザＡの第１平面の座標を決定する。
【０１３２】
データ分析サーバは、同様にユーザＢ〜ユーザＥの第１平面の座標を決定することにより、第１問題（ｘ１）の外部試験点数との関係を多次元空間のうちｘ１平面に表現する。
【０１３３】
さらに、データ分析サーバは、同様に第２問題〜第１００問題についての平面を形成し、各問題の平面におけるユーザＡ〜Ｅのｘ，ｙ座標を決定することにより、第２問題〜第１００問題の外部試験点数との関係を多次元空間に表現する。
【０１３４】
この場合、前記ユーザグループの個別問題に対する推定正解率と外部試験点数は実質的に２次元平面に表現され、本発明の実施形態に係るデータ分析サーバは、２次元平面に表現された値の関係を数学的に表現するモデリング関数に変更する。
【０１３５】
例えば、本発明の実施形態に係るデータ分析サーバは、トレーニングセットに属するユーザＡ、Ｂ、Ｃ、Ｄ、Ｅの外部試験点数と、ユーザＡ、Ｂ、Ｃ、Ｄ、Ｅのユーザモデリングベクトルを用いて計算した第１問題に対する正解率の関係を数学的に表現するモデリング関数ｆ１（ｘ１）を計算することができる。
【０１３６】
さらに、第２問題〜第１００問題に関するデータを同様に処理することにより、モデリング関数ｆ１（ｘ２）〜ｆ１（ｘ１００）を求める。ここで、ｆ１（ｘ１）〜ｆ１（ｘ１００）は同じ基準で決定しなければならない。
【０１３７】
すなわち、問題セットを構成するために計算されるモデリング関数の形態は、データベースに属する全問題において同じ形態に決定されることが好ましい。例えば、第１問題のモデリング関数ｆ１（ｘ１）がａｘ＋ｂの形態の１次元関数で表現される場合、第２問題〜第１００問題のモデリング関数ｆ１（ｘ２）〜ｆ１（ｘ１００）も１次元関数の形態で表現されることが好ましい。
【０１３８】
問題セットは、問題データベースに属する問題のうち外部試験点数予測効率が高い問題で構成されるので、比較基準が同一でなければならないからである。
【０１３９】
さらに、本発明の実施形態に係るモデリング関数は、全問題において同じ基準さえ適用されれば、その形態が限定されるものではない。すなわち、モデリング関数は、トレーニングセットのデータを表現するのに最適化された形態に作成されればよく、従来の様々なアルゴリズムを用いて計算することができる。
【０１４０】
各問題のモデリング関数が全問題において同じ形態に決定されると、本発明の実施形態に係るデータ分析サーバは、当該問題のモデリング関数及びテストセットに属するユーザの外部試験点数の偏差を用いて、外部試験点数予測効率が高い問題セットを構成する。
【０１４１】
例えば、データ分析サーバは、テストセットに属するユーザＦ、Ｇ、Ｈのユーザモデリングベクトルを用いて計算した第１問題（ｘ１）の正解率を第１問題のモデリング関数ｆ（ｘ１）に適用した値と、ユーザＦ、Ｇ、Ｈの外部試験点数の差値の平均を計算し、前記平均値ｅが小さければ、外部試験点数予測効率が高いと判断する。
【０１４２】
前記平均値ｅを求める数学式を次に示す。ｅは、問題セットの外部試験点数推定効率を示す。さらに詳しくは、ｅの値が小さいほど当該問題セットの外部試験点数推定効率が高いものと解される。
【０１４３】
【数６】
2021508065.tif 000008
【０１４４】
次に、データ分析サーバは、同じ基準でｅ２〜ｅ１００を計算し、ｅの値が最も小さい問題の外部試験点数予測効率が最も高いと判断する。
【０１４５】
例えば、第４問題のｅ４がｅ１、ｅ２、ｅ３、ｅ５〜ｅ１００の中で最も小さければ、第４問題の外部試験予測効率が最も高いと判断することができるので、データ分析サーバは、第４問題を問題セットに最初に含ませる。
【０１４６】
次に、データ分析サーバは、第４問題と共に分析されることを前提に、第１、第２、第３及び第５〜第１００問題のうち外部試験予測効率が高い問題を抽出する。
【０１４７】
このために、本発明の実施形態に係るデータ分析サーバは、第４問題についての平面を固定し、残りの第１、第２、第３及び第５〜第１００問題についての平面を形成し、トレーニングセットに属するユーザＡ、Ｂ、Ｃ、Ｄ、Ｅの外部試験点数及びユーザＡ、Ｂ、Ｃ、Ｄ、Ｅのユーザモデリングベクトルを用いて計算した残りの第１、第２、第３及び第５〜第１００問題に対する正解率の関係を数学的に表現するモデリング関数ｆ（ｘ４，ｘ１）、ｆ（ｘ４，ｘ２）、ｆ（ｘ４，ｘ３）、ｆ（ｘ４，ｘ５）〜ｆ（ｘ４，ｘ１００）を再度計算する（第２のモデリング関数）。
【０１４８】
前記第２のモデリング関数値は、第４問題と当該問題に対する外部試験点数推定値と解される。
【０１４９】
ここで、前述した２次元モデリング関数ｆ（ｘ４，ｘ１）、ｆ（ｘ４，ｘ２）、ｆ（ｘ４，ｘ３）、ｆ（ｘ４，ｘ５）〜ｆ（ｘ４，ｘ１００）は、第４問題のみでモデリング関数を構成する場合と同じ基準で決定しなければならない。
【０１５０】
例えば、第４問題と共に提供される第１問題のモデリング関数ｆ（ｘ４，ｘ１）は、ｃｘ４＋ｄｘ１＋ｅの形態で、前述したｆ（ｘ４）のａｘ４＋ｂのように線形モデルの基準をそのまま用いて、ｘ１の変数を追加して次元のみ増やした２次元関数で表現しなければならない。第４問題と共に提供される第２問題、第３問題、第５問題〜第１００問題のモデリング関数ｆ２（ｘ４，ｘ２）、ｆ２（ｘ４，ｘ３）、ｆ２（ｘ４，ｘ５）〜ｆ２（ｘ４，ｘ１００）も、前述したｆ（ｘ４）と同じ線形モデルで、各問題ｘが変数として追加された２次元関数の形態で表現されることが好ましい。
【０１５１】
第４問題が問題セットに含まれることを前提に、残りの問題の２次元モデリング関数が決定されると、本発明の実施形態に係るデータ分析サーバは、当該問題の２次元関数及びテストセットに属するユーザの外部試験点数の偏差を用いて、外部試験点数予測効率が高い問題セットを構成する。
【０１５２】
例えば、データ分析サーバは、テストセットに属するユーザＦ、Ｇ、Ｈのユーザモデリングベクトルを用いて計算した第１問題（ｘ１）の正解率、第４問題（ｘ４）の正解率を２次元モデリング関数ｆ（ｘ４，ｘ１）に適用した値（これは、第４問題と第１問題の外部試験点数推定値と解される）と、ユーザＦ、Ｇ、Ｈの外部試験点数の差値の平均を計算し、前記平均値が小さければ外部試験点数予測効率が高いと判断する。これを数学式で表現すると次のようになる。
【０１５３】
【数７】
2021508065.tif 000009
【０１５４】
次に、データ分析サーバは、同じ基準でｅ４，２〜ｅ４，１００を計算し、ｅの値が最も小さい問題の外部試験点数予測効率が最も高いと判断する。
【０１５５】
例えば、第１問題のｅ４，１がｅ４，２、ｅ４，３、ｅ４，５〜ｅ４，１００の中で最も小さければ、第４問題と共に提供される場合に第１問題の外部試験予測効率が最も高いと判断することができるので、データ分析サーバは第１問題を問題セットに含ませる。
【０１５６】
次に、データ分析サーバは、第１、４問題と共に分析されることを前提に、第２、第３及び第５〜第１００問題のうち外部試験予測効率が高い問題を前記方法と同じ論理で抽出する。
【０１５７】
一方、前記方法によりｅの値が最小である問題で問題セットを構成する場合、問題セット構成の完了時点が争点となる。問題セットに含まれる問題の数が多いほど推定の精度は高くなるが、問題セットを構成するために個別問題のモデリング関数を計算し、優先順位を計算するために必要なリソース使用量が増加する。よって、外部試験点数推定に最適化された数で問題セットを構成することが効率的である。
【０１５８】
本発明の実施形態によれば、テストセットに属するユーザのモデリングベクトルを用いて計算した問題セットに対する正解率を当該問題セットのモデリング関数に適用した値と、テストセットに属するユーザの外部試験点数の差値の平均、すなわちｅを計算し、問題セットの更新によるｅの変更推移に応じて問題セット構成の終了を決定することができる。
【０１５９】
本発明の実施形態に係るデータ分析サーバは、問題セットのｅの更新推移を確認することにより問題セット更新の終了を決定する。さらに詳しくは、問題セット更新を終了するケースは主に２つ考えられる。
【０１６０】
第一に、当該時点の問題セットでテストグループに属するユーザの外部試験点数を十分に推定できる場合である。すなわち、特定問題セットのみで外部試験点数推定を十分に行うことができる場合である。これは、当該時点の問題セットのｅが閾値以下であるかを確認することにより判断することができる。
【０１６１】
第二に、問題セットに他の問題を追加したとしても外部試験点数推定の効率がそれ以上高くならない場合である。すなわち、問題追加の効果がない場合であり、問題を追加したとしても外部試験の点数推定効率の変化がないものと予想される場合である。これは、問題セットの更新にもかかわらず、更新問題セットの推定効率、すなわちｅが変更されずに任意の範囲に留まっているかを確認することにより判断することができる。
【０１６２】
まとめると、本発明の実施形態に係るデータ分析サーバは、問題セットの更新を行いながら、問題セットの外部試験点数推定効率、すなわちｅの変更推移を確認し、特定時点の問題セットの推定効率が予め設定された閾値を下回ったり、前記推定効率が任意の範囲に留まっていると、問題セットの更新を終了して問題セットを構成する。
【０１６３】
一方、本発明の実施形態に係るモデリング関数は、問題セットに含まれる問題が同一形態であることを前提に、様々なアルゴリズムにより決定される。しかしながら、様々なアルゴリズムを適用して生成した複数のモデリング関数から、外部試験点数推定に最も効率的な関数を選択するという解決すべき課題が残る。
【０１６４】
本発明の実施形態によれば、モデリング関数の効率性は、ｅ、すなわち問題セットの外部試験点数予測効率を用いて計算する。
【０１６５】
例えば、トレーニングセット｛Ａ，Ｂ，Ｃ，Ｄ，Ｅ｝に属するユーザのデータを用いて第１基準で第１のモデリング関数ｆ１が抽出され、前記第１のモデリング関数を適用して構成した問題セットが｛第３問題（ｘ３），第４問題（ｘ４），第５問題（ｘ５）｝である場合が考えられる。
【０１６６】
さらに、同じトレーニングセット｛Ａ，Ｂ，Ｃ，Ｄ，Ｅ｝に属するデータを用いて第２基準で第２のモデリング関数ｆ２が抽出され、前記第２のモデリング関数を適用して構成した問題セットが｛第１問題（ｘ１），第３問題（ｘ３），第５問題（ｘ５）｝である場合が考えられる。
【０１６７】
前記例において、本発明の実施形態に係るデータ分析サーバは、テストセット｛Ｆ，Ｇ，Ｈ｝のデータを用いて各問題セット及び各モデリング関数のｅ、すなわち問題セットの外部試験点数予測効率を計算し、ｅの値がさらに小さいモデリング関数を選択する。
【０１６８】
さらに詳しくは、まずデータ分析サーバは、テストセットに属するユーザＦ、Ｇ、Ｈのユーザモデリングベクトルを用いて第１問題セットの｛第３問題（ｘ３），第４問題（ｘ４），第５問題（ｘ５）｝の正解率を第１のモデリング関数ｆ１に適用した値と、ユーザＦ、Ｇ、Ｈの外部試験点数の差値の平均、すなわち第１のモデリング関数のｅ１を計算する。
【０１６９】
次に、データ分析サーバは、テストセットに属するＦ、Ｇ、Ｈのユーザモデリングベクトルを用いて第２問題｛第１問題（ｘ１），第３問題（ｘ３），第５問題（ｘ５）｝の正解率を第２のモデリング関数ｆ２に適用した値と、ユーザＦ、Ｇ、Ｈの外部試験点数の差値の平均、すなわち第２のモデリング関数のｅ２を計算する。
【０１７０】
次に、データ分析サーバは、ｅの値がさらに小さいモデリング関数及び問題セットを選択し、ユーザの外部試験点数を推定する後続手順を行う。
【０１７１】
一方、ユーザに関する推定点数が問題データベースを用いることなく出題された実際の試験点数データと同程度になるように模擬試験問題セットを構成する過程は次の通りである。
【０１７２】
本発明の実施形態によれば、模擬試験は次の方法で構成することができる。
【０１７３】
一例として、データベースの各問題の全ユーザにおける平均正解率を用いて、全ユーザにおける模擬試験の平均点数が任意の範囲に留まるように問題セットを構成する。
【０１７４】
例えば、語学能力試験の統計を参照して当該試験の全受験者の平均点数が６７点〜６９点であれば、データ分析サーバは、模擬試験も平均点数が６７点〜６９点の範囲に留まるように問題セットを構成する。
【０１７５】
ここで、当該試験の問題タイプ分布を考慮して模擬試験の問題セットを構成することができる。例えば、語学能力試験の統計を参照して、実際の試験に第１のタイプが２０パーセント、第２のタイプが約３０パーセント、第３のタイプが約４０パーセント、第４のタイプが約１０パーセント出題される場合、模擬試験も問題タイプ分布が実際の試験に類似するように構成する。
【０１７６】
このために、本発明の実施形態によれば、問題タイプに関するラベルを予め生成しておき、問題データベースにインデックス情報を追加することができる。
【０１７７】
例えば、データ分析サーバは、任意のタイプに分類できる問題のラベルを予め定義しておき、当該問題タイプによる問題モデルの特性を学習して問題をクラスタリングし、クラスタリングした問題グループに問題タイプに関するラベルを付与する方法でインデックス情報を生成することができる。
【０１７８】
他の例として、データ分析サーバは、問題タイプに関するラベルを予め定義せず、問題のモデリングベクトルを用いて問題をクラスタリングし、クラスタリングした問題グループの意味を解釈して問題タイプに関するラベルを付与する方法でインデックス情報を生成することもできる。
【０１７９】
本発明の実施形態により模擬試験を構成する他の方法は、当該試験における任意のユーザの実際の点数情報を用いるものである。
【０１８０】
例えば、語学能力試験についての前記例において、当該試験を受験したユーザＡ、Ｂ、Ｃの実際の点数がそれぞれ６０、７０、８０点であれば、予め計算しておいたユーザＡ、Ｂ、Ｃの正解率を適用して計算した模擬試験推定点数がそれぞれ６０、７０、８０点になるように模擬試験問題セットを構成することができる。
【０１８１】
模擬試験推定点数が実際の点数と同程度になるように問題セットを構成する前記実施形態によれば、模擬試験と実際の試験の類似度は、実際の試験を受験したユーザの点数情報を用いて数学的に計算される。よって、模擬試験の信頼性、すなわち模擬試験点数が実際の試験点数と同程度になる信頼性を高めることができる。
【０１８２】
ここで、本発明の実施形態によれば、当該試験の問題タイプ分布情報を適用して模擬試験問題セットを構成することができ、統計的に分析される他の情報を適用することもできる。
【０１８３】
一方、データ分析サーバは、模擬試験問題セットを構成する過程において、問題の配点を調整することができる。これは、問題データベースに属する問題には別途の配点情報が与えられないが、実際の試験では各問題に異なる配点が与えられるからである。
【０１８４】
一般に、実際の試験では難しい問題に高い配点が与えられ、簡単な問題に低い配点が与えられる。要するに、問題の平均正解率、問題を構成する概念の数、問題文の長さなどを考慮して実際の問題に配点が与えられ、問題タイプによって予め特定された配点が与えられる。
【０１８５】
よって、本発明の実施形態に係るデータ分析サーバは、当該問題の平均正解率、問題を構成する概念の数、問題文の長さ、及び問題タイプ情報のうち少なくとも１つ以上を反映して模擬試験問題セットを構成する各問題に配点を与える。
【０１８６】
このために、データ分析サーバは、問題の概念に関するラベルを生成すべく、当該科目の学習要素及び／またはテーマを木構造に羅列して最小学習要素に関するメタデータセットを生成し、前記最小学習要素の分析に適したグループ単位に分類して問題を構成する概念に関するインデックス情報を生成することもできる。
【０１８７】
特に、本発明の実施形態によれば、当該試験を実際に受験したユーザの実際の点数と、当該ユーザの模擬試験問題セットの推定点数が同程度になるように、問題セットを構成する各問題に配点を与えることもできる。
【０１８８】
実際の試験と類似度が高い模擬試験問題セットが構成されると、本発明の実施形態に係るデータ分析サーバは、各ユーザの模擬試験に対する予測点数を推定することができる。実際の試験と模擬試験が同程度であることを前提に、模擬試験の点数を実際の試験の点数として推定することになる。
【０１８９】
特に、本発明の実施形態は、ユーザが模擬試験に直接解答することなく、模擬試験の点数を高い信頼性で推定できることを特徴とする。
【０１９０】
本発明の実施形態に係る模擬試験は、問題データベースに含まれる問題から構成され、データベースに属する各問題に対するユーザの正解率は前述したように予め計算されている。よって、模擬試験を構成する全問題に対する個別ユーザの正解率を用いて、当該ユーザの模擬試験予想点数を推定することができる。
【０１９１】
ここで、本発明の実施形態によれば、任意の試験点数を推定するための模擬試験問題セットを複数構成し、特定ユーザの複数の模擬試験に対する推定点数を平均化することにより、当該ユーザの実際の試験に対する予測点数を推定することができる。
【０１９２】
本明細書と図面に示した本発明の実施形態は、本発明の技術内容を説明するにあたって理解を助けるために特定例を示したものにすぎず、本発明の範囲を限定する意図ではない。ここに示した実施形態以外にも、本発明の技術的思想に基づく様々な変形が可能であることは、本発明の属する技術分野における通常の知識を有する者にとって自明である。
【図１】
2021508065.tif 000010
【図２】
2021508065.tif 000011
【図３】
2021508065.tif 000012
【国際調査報告】
2021508065.tif 000013
2021508065.tif 000014
2021508065.tif 000015
2021508065.tif 000016