(57)【要約】  本発明は、データ分析サーバにおいて、ユーザを分析する方法であって、複数の問題が含まれた問題データベースを構成し、前記問題に対するユーザの解答結果データを収集し、前記解答結果データを用いて前記ユーザをモデリングするためのデータ分析モデルを生成するステップＡと、前記データ分析モデルの機械学習に必要なデータを提案する専門家モデルを生成するステップＢと、前記専門家モデルの推薦に基づいて、前記問題データベースから少なくとも一つ以上の問題を抽出し、抽出された問題に対するユーザの解答結果データを用いて前記データ分析モデルを更新するステップＣと、前記データ分析モデルの更新情報に、前記データ分析モデルの予測精度が向上する方向に設定されたリワードを適用して前記専門家モデルを更新するステップＤと、を含むことを特徴とする。【選択図】図２Ａ
2021520529.tif 000002
【特許請求の範囲】
【請求項１】
データ分析サーバにおいて、ユーザを分析する方法であって、
複数の問題が含まれた問題データベースを構成し、前記問題に対するユーザの解答結果データを収集し、前記解答結果データを学習して前記ユーザをモデリングするためのデータ分析モデルを生成するステップＡと、
前記データ分析モデルとは独立して動作し、前記データ分析モデルと異なるデータに基づいて学習され、任意の時点の前記データ分析モデルの性能を高めるために、前記データ分析モデルに必要な学習データを推薦する専門家モデルを生成するステップＢと、
前記専門家モデルの推薦に基づいて、前記問題データベースから少なくとも一つ以上の問題を抽出し、抽出された問題に対するユーザの解答結果データを用いて前記データ分析モデルを更新するステップＣと、
前記データ分析モデルの更新情報に、前記データ分析モデルの予測精度が向上する方向に設定されたリワード（補償）を適用して前記専門家モデルを更新するステップＤと、を含み、
前記ステップＢは、前記データ分析モデルの第１の状態情報、第２の状態情報と前記第１の状態が前記第２の状態に変更された原因となるデータ情報を学習し、前記専門家モデルを生成するステップを含むことを特徴とする、ユーザ分析方法。
【請求項２】
前記ステップＡは、前記問題に対する各ユーザの特性を説明するユーザモデリングベクトルを計算し、前記ユーザモデリングベクトルを利用して、問題に対するユーザの正解率を推定するステップを含み、
前記ステップＤは、実際にユーザが問題に解答した結果と、前記ユーザモデリングベクトルを用いて推定した前記問題の正解率との差であるユーザモデリングベクトルの予測性能を高めるように設定されたリワードを適用して前記専門家モデルを更新するステップを含むことを特徴とする、請求項１に記載のユーザ分析方法。
【請求項３】
前記ステップＡは、前記問題に対する各ユーザの特性を説明するユーザモデリングベクトルを計算し、前記ユーザモデリングベクトルを用いて、前記問題データベースを用いずに出題された外部試験におけるユーザの予測点数を推定するステップを含み、
前記ステップＤは、前記データ分析モデルの更新情報に、前記予測点数の標準偏差が小さくなる方向に設定されたリワードを適用して前記専門家モデルを更新するステップを含むことを特徴とする、請求項１に記載のユーザ分析方法。
【請求項４】
前記ステップＣは、前記ユーザモデリングベクトルの予測性能の変更率が予め設定された値以内であれば、前記データ分析モデルに対する追加学習の効果がないと判断し、前記専門家モデルの推薦を終了するステップを含むことを特徴とする、請求項２または３に記載のユーザ分析方法。
【請求項５】
前記ステップＣは、前記ユーザモデリングベクトルの予測性能が予め設定された範囲以上であれば、前記データ分析モデルが追加学習をしなくても、前記ユーザの分析に十分であると判断し、前記専門家モデルの推薦を終了するステップを含むことを特徴とする、請求項２または３に記載のユーザ分析方法。
【請求項６】
前記ステップＣは、前記専門家モデルが推薦する問題の解答結果データが前記ユーザモデリングベクトルに既に反映されている場合、前記専門家モデルの推薦を終了するステップを含むことを特徴とする、請求項２または３に記載のユーザ分析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ分析フレームワークを利用し、ユーザカスタマイズ型コンテンツを提供する方法に関する。さらに詳しくは、本発明は、大量のユーザのコンテンツ消費結果データを利用し、問題及び／またはユーザに対する分析モデルを生成し、前記分析モデルを効率的に学習させるために必要なデータを選別する専門家モデルを運用する方法に関する。
【背景技術】
【０００２】
今まで教育コンテンツは、一般にパッケージで提供されてきた。例えば、紙に記録されている問題集は、１冊当たり少なくとも７００問収録されており、オンラインまたはオフライン講座もまた、１〜２時間単位で少なくとも１ヶ月分の勉強量をまとめて一度に販売される。
【０００３】
しかしながら、教育を受ける学生の立場では、人によって苦手な科目と苦手な問題タイプがそれぞれ異なるため、パッケージの形態ではなく、個人カスタマイズ型コンテンツに対するニーズが存在する。自分の苦手な科目の苦手な問題タイプのみを選んで学習することが、問題集の７００問全部を解くよりもはるかに効率的だからである。
【０００４】
しかしながら、被教育者である学生自ら自分の苦手な点を把握することは非常に難しい。さらに、学習塾、出版社などの従来の教育業界においても、主観的経験や勘に頼って学生及び問題を分析するため、個々の学生に最適化された問題を提供することは容易ではない。
【０００５】
このように、従来の教育環境においては、被教育者が最も効率的に学習結果を得ることのできる個人カスタマイズ型コンテンツを提供することが容易ではなく、学生は、パッケージ形態の教育コンテンツに対して達成感や興味をすぐ失うといった問題が生じる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、前記問題を解決することを目的とする。さらに詳しくは、本発明は、ユーザ及び／または問題モデルを効率的に生成するために必要なデータを選別する専門家モデルを運用する方法に関する。
【課題を解決するための手段】
【０００７】
本発明の実施形態に係るデータ分析サーバにおいて、ユーザを分析する方法は、複数の問題が含まれた問題データベースを構成し、前記問題に対するユーザの解答結果データを収集し、前記解答結果データを用いて前記ユーザをモデリングするためのデータ分析モデルを生成するステップＡと、前記データ分析モデルの機械学習に必要なデータを提案する専門家モデルを生成するステップＢと、前記専門家モデルの推薦に基づいて、前記問題データベースから少なくとも一つ以上の問題を抽出し、抽出された問題に対するユーザの解答結果データを用いて前記データ分析モデルを更新するステップＣと、前記データ分析モデルの更新情報に、前記データ分析モデルの予測精度が向上する方向に設定されたリワード（補償）を適用して前記専門家モデルを更新するステップＤと、を含むことを特徴とする。
【発明の効果】
【０００８】
本発明によると、機械学習の分野において、データ分析モデルとは別に、前記分析モデルの性能を効率的に高めるためのデータ選別モデルを運用することができる。これによると、データ選別モデルがデータ分析モデルの学習のためのデータを提案するため、データ分析モデルの学習に必要なコンピュータリソースを減らすことができ、データ分析モデルの信頼性を効率的に獲得し、データ選別の問題を解決することができるといった効果がある。
【図面の簡単な説明】
【０００９】
【図１】機械学習のためのデータセットの問題点を説明するための図である。
【図２Ａ】本発明の実施形態に係るデータ分析フレームワークにおいて、学習データ分析モデル及びデータコーチングモデルを運用する方法を説明するためのフローチャートである。
【図２Ｂ】本発明の実施形態に係るデータ分析フレームワークにおいて、学習データ分析モデル及びデータコーチングモデルを運用する方法を説明するためのフローチャートである。
【図３】問題理解度Ｘと問題に正解する確率Ｐの関係を説明するための図である。
【図４】本発明の実施形態により、データ分析モデルの学習のためのデータ提案を終了する方法を説明するための図である。
【発明を実施するための形態】
【００１０】
本発明は、以下に記載される実施形態の説明内容に限定されるものではなく、本発明の技術的要旨を逸脱しない範囲で様々な変形が加えられることは言うまでもない。そして、実施形態について説明するにあたり、本発明の属する技術分野において広く知られており、本発明の技術的要旨と直接関連のない技術内容については説明を省略する。
【００１１】
なお、添付図面において、同一の構成要素には同一の符号を付す。また、添付図面において、一部の構成要素は誇張されたり、省略されたり、概略的に示される。これは、本発明の要旨に関連のない不要な説明を省略することにより、本発明の要旨を明確に説明するためである。
【００１２】
近年、ＩＴデバイスの普及が拡大し、ユーザ分析のためのデータ収集が容易になっている。ユーザデータを十分に収集することができれば、ユーザについての分析がより精密になり、当該ユーザに最も適した形態のコンテンツを提供することができる。
【００１３】
このような流れと共に、特に教育業界において、ユーザカスタマイズ型教育コンテンツの提供に対するニーズが高まっている。ところが、このようにユーザカスタマイズ型教育コンテンツを提供するためには、各コンテンツ及び各ユーザについての精密な分析が必要である。
【００１４】
従来は、コンテンツとユーザを分析するために、当該科目の概念を専門家が手作業で定義し、当該科目の各問題がいかなる概念を含むか専門家が個別に判断してタグ付けする方法を用いていた。次に、各ユーザが特定概念に関してタグ付けされた問題に解答した結果情報に基づいて学習者の実力を分析していた。
【００１５】
しかしながら、このような方法は、タグ情報が人の主観に依存するといった不具合があった。人の主観が介入することなく数学的に生成されたタグ情報が問題の概念包含度に応じて与えられるわけではないので、結果データの信頼性が高くなり得ないという不具合があった。
【００１６】
従って、本発明は、学習データの処理過程に人の介入を排除するために、ビッグデータ処理及び機械学習のためのデータ分析フレームワークを適用し、前記データ分析フレームワークを用いてユーザ及び／または問題を分析する方法を提供することを目的とする。
【００１７】
これによると、ユーザのコンテンツ適用結果のログを収集し、ユーザ及び／または問題で構成される多次元空間を構成し、問題、解説、講義などのコンテンツをユーザが消費した結果データ、問題ごとの正解／不正解のデータまたは問題の選択肢ごとの選択データなどを基準に、前記多次元空間に値を与え、各ユーザ及び問題のベクトルを計算する方法でユーザ及び／または問題をモデリングし、ユーザモデリングベクトル及び問題モデリングベクトルを計算することができる。
【００１８】
この場合、ユーザモデリングベクトルは、全問題に対する各ユーザの特性をベクトル値で表現したものであり、問題モデリングベクトルは、全ユーザに対する各問題の特性をベクトル値で表現したものと解され得る。さらに、前記ユーザモデリングベクトル及び／または前記問題モデリングベクトルを計算する方法は限定されず、これを計算するために用いられるビッグデータ分析フレームワークに適用された従来技術に従ってもよい。
【００１９】
さらに、本発明において、前記ユーザモデリングベクトル、前記問題モデリングベクトルがいかなる属性やフィーチャーを含むかについて制限して解されてはならないことに留意されたい。例えば、ユーザモデリングベクトルは、全ユーザのうち各ユーザの特性を表現するように表現され、問題モデリングベクトルは、全問題のうち各問題の特性を表現するように表現されてもよい。
【００２０】
また、本発明の実施形態をよると、前記ユーザモデリングベクトルは、前記ユーザが任意の概念について理解している程度、すなわち概念の理解度に関する情報を含んでもよい。さらに、前記問題モデリングベクトルは、前記問題がいかなる概念で構成されているか、すなわち、概念の構成度に関する情報を含んでもよい。さらに、本発明の実施形態によると、ユーザモデリングベクトル及び問題モデリングベクトルを利用して、特定ユーザの特定問題に対する正解率を推定することができる。
【００２１】
さらに、本発明の実施形態をよると、問題モデリングの過程で、該問題の選択肢に対するパラメータを追加して、問題ベクトルが、問題−選択肢ベクトルに拡張されてもよく、前記ユーザモデリングベクトルと前記問題−選択肢モデリングベクトルとを用いて、特定ユーザが任意の問題の特定選択肢を選択する確率を計算することができる。
【００２２】
ところが、データ分析フレームワークを利用してユーザ及び問題を数学的にモデリングするためには、学習データ選別の問題を解決しなければならない。
【００２３】
図１は、従来の機械学習モデリングに適用されるデータセットの問題点を説明するための図である。
【００２４】
大量のコンテンツデータベースが大量のユーザに提供された場合、ユーザがすべてのコンテンツを一定の頻度で消費する訳ではない。例えば、ユーザが流入した初期に提供される問題や、各章の基本問題は、他の問題に比べてはるかに多く解答されるはずである。従って、解答頻度数に対する問題数は、図１に示されたグラフのとおりである。つまり、問題データベースにおいて、ほとんどのユーザが複数回解答した問題は、全問題のうち非常に少なく（１００）、ほとんどの問題は、少数のユーザに何回か解答される傾向（２００）を見せ、ロングテール分布を示すことになる。
【００２５】
しかしながら、問題に対する解答頻度数が図１のような分布を示す場合、つまり、頻繁に解答される問題の数があまりにも少なく、稀に解答される問題の数があまりにも多い場合、該データを用いて生成したデータ分析モデルは、データ不均衡の問題が起こりかねない。
【００２６】
例えば、英語科目で動名詞の問題が頻繁に解答された場合、該解答データを適用して学習した分析モデルは、英語科目全体ではなく、動名詞概念に偏ったモデルが生成されるはずである。つまり、動名詞に対する問題解答データに偏ったデータセットに基づいて学習して生成されたユーザモデルは、英語科目を構成する全体概念ではなく、動名詞概念に対する理解度を支配的に反映することになる。
【００２７】
また、動名詞に対する問題解答データに偏ったデータセットに基づいて学習して生成された問題モデルは、英語科目を構成する全体概念ではなく、動名詞概念に対する包含度を支配的に反映することになるはずである。この場合、ユーザ／問題モデルの性能は高く評価され難い。例えば、前記ユーザモデルを用いて計算された、該ユーザが不定詞の問題に正解する確率と、該ユーザが同じ問題に実際解答した結果は、大きな差を見せかねない。
【００２８】
従って、機械学習モデルの性能を高めるためには、重複情報を有するデータを選別し、必要な情報を有するデータを区別する作業が必要不可欠である。
【００２９】
このため、従来では、データセット全体をなすそれぞれのデータを分析モデル生成のための機械学習のインプット（入力）としてすべて用いる受動的学習（ｐａｓｓｉｖｅ  ｌｅａｒｎｉｎｇ）方式に従っていた。これは機械学習フレームワークにおいて、データセット全体を一度に学習するのに適切なサイズに分割し、すべてインプットとして用いる場合をいい、よって、データに対する何の選別もなく分析モデルで受動的にすべて受け入れて学習することになる。
【００３０】
しかしながら、このような方法は、分析モデルを生成するために用いられるデータの量が非常に膨大で、データ分析モデルの生成のためのリソースが過剰に必要とされるといった問題が生じる。動名詞に偏ったデータセットに関する前記例において、英語科目を構成する全体概念を反映するモデルを構成するためには、他の概念に関するデータまで十分に含まれている非常に大きなサイズのデータセットが必要である。つまり、分析モデルの性能を一定レベル以上担保するためには、非常に大きなサイズのデータセットを収集し、これを処理しなければならないため、学習に時間がかかり、データ分析フレームワークの運用にかかるコストが大きいといった問題が生じる。
【００３１】
従って、本発明は、前記問題を解決するために、データ分析モデルとは別に、前記データ分析モデルの学習に必要なデータをコーチングする専門家モデルを運用する方法を提供することを目的とする。
【００３２】
本発明の実施形態をよると、前記専門家モデルは、その時点のデータ分析モデルの状態に応じて、予め設定された方向にデータ分析モデルが更新されるために必要なデータを提案してもよい。さらに、本発明の実施形態に係るデータ分析モデルは、前記専門家モデルの提案データに近いモデリングベクトルを有する問題に対する解答結果データを学習してもよい。この場合、データ分析モデルは、性能を高めるために、特定の時点の状態に最も適したデータに基づいて学習することができるので、最低限のデータを処理することで要求されるレベルの性能に迅速に到達することができる。
【００３３】
例えば、動名詞に偏ったデータセットに対する前記の例において、本発明の実施形態に係る専門家モデルは、動名詞以外の別の概念の値を有するベクトルを抽出して、データ分析モデルに通知してもよい。さらに、データ分析モデルは、前記ベクトルに近いモデリングベクトルを有する問題を選別してユーザに提供し、前記問題解答結果データをユーザベクトルの生成に適用することで、英語科目の全体概念の理解度をユーザモデリングベクトルに反映する方法でデータ偏重の問題を解決してもよい。
【００３４】
図２は、本発明の実施形態に係るデータ分析フレームワークにおいて、学習データ分析モデル及びデータコーチングモデルを運用する方法を説明するためのフローチャートである。図２Ａにおいて、ステップ２１０、２２０、２２５、２３0、及び２４０は、本発明の実施形態に係るデータ分析フレームワークにおいて、コンテンツ消費結果に関するデータを利用し、ユーザ及び／または問題分析モデルを生成する過程を説明するためのものであり、ステップ２６０、２６５、２７０、２７５、２８０、及び２８５は、本発明の実施形態に係るデータ分析フレームワークにおいて、前記分析モデルを効率的に生成するために必要なデータを推薦する専門家モデルを生成する過程を説明するための図である。
【００３５】
本発明の実施形態に係ると、図２Ａに示すように、ユーザ及び／または問題モデルと専門家モデルは、異なるデータに基づいて学習され、別途の機能を行うソフトウェアであるといえるが、二つのモデルは、互いに有機的に結合されてデータ分析フレームワーク全体の性能向上に寄与する。
【００３６】
本発明の実施形態に係ると、図２Ａのステップ２１０において、全コンテンツと全ユーザに対するコンテンツ消費結果データが収集され、ステップ２２０において、前記コンテンツ消費結果データを利用し、全ユーザ及び／またはコンテンツに対する分析モデルＭを生成してもよい。
【００３７】
例えば、データ分析サーバは、テキスト、画像、オーディオ、及び／または動画の形態の問題、解説、講義などの学習コンテンツに対するデータベースを構成し、前記コンテンツデータベースに対するユーザのアクセス結果データを収集してもよい。
【００３８】
例えば、データ分析サーバは、全ユーザに対する問題解答結果データ、解説照会データ、または講義動画学習データなどを収集してもよい。さらに詳しくは、データ分析サーバは、市販されている各種問題に対するデータベースを構築し、ユーザデバイスに問題データベースを提供し、前記ユーザデバイスを介してユーザが該問題に解答した結果を収集する方法で解答結果データを収集してもよい。
【００３９】
さらに、データ分析サーバは、収集した問題解答結果データを、ユーザ、問題、結果に関するリストの形態で構成する。例えば、Ｙ（ｕ，ｉ）は、ユーザｕが問題ｉに解答した結果を意味し、正解であれば１の値を与え、不正解であれば０の値を与える。
【００４０】
ところが、選択式問題は、問題文だけでなく、選択肢要素が含まれて構成されるが、分析のソースとして正答か誤答かだけを反映する場合、二人の学生が同じ問題に誤答を出したものの、互いに異なる選択肢を選択した場合、二人の学生のベクトル値の計算に該問題が及ぼす影響が同じであるので、該問題が分析結果に及ぼす影響が低減する虞がある。
【００４１】
例えば、ある学生が特定問題で動名詞に対する選択肢を選んで間違えた場合と、動詞の時制に対する選択肢を選んで間違えた場合、従来の方式によると、該問題のベクトル値の計算に学生の解答結果が十分に反映されず、実質的に影響が低減する。
【００４２】
従って、本発明の他の実施形態に係るデータ分析サーバは、収集された問題解答結果データをユーザが選択した選択肢パラメータを適用して拡張することができる。
【００４３】
この場合、データ分析サーバは、収集された解答結果データを、ユーザ、問題、選択肢に対するリストの形態で構成してもよい。例えば、Ｙ（ｕ，ｉ，ｊ）は、ユーザｕが問題ｉの選択肢ｊを選んだ結果を意味し、選択すれば１の値を与え、不正解であれば０の値を与える。
【００４４】
ステップ２２０において、本発明の実施形態に係るデータ分析サーバは、ユーザと問題とから構成される多次元空間を構成し、ユーザが問題に正解したか否かに基づいて前記多次元空間に値を与え、各ユーザ及び各問題に対するモデリングベクトルを計算する。
【００４５】
別の例として、本発明の実施形態に係るデータ分析サーバは、ユーザと問題の選択肢とから構成される多次元空間を構成し、ユーザが該選択肢を選択したかに基づいて前記多次元空間に値を与え、各ユーザ及び問題の選択肢に対するモデリングベクトルを計算する。
【００４６】
本発明の実施形態により、ユーザ及び問題をモデリングベクトルで表現すると、特定ユーザが特定問題に正解するか誤解するか、つまり、特定ユーザの特定問題に対する正解率を数学的に計算することができる。
【００４７】
例えば、データ分析サーバは、前記ユーザモデリングベクトル及び前記問題モデリングベクトルを利用して、特定ユーザの特定問題に対する理解度を推定し、前記理解度を利用して、特定ユーザが特定問題に正解する確率を推定する。
【００４８】
例えば、ユーザモデリングベクトルの第１行の値が［０，０，１，０．５，１］であれば、それは、第１のユーザが第１の概念及び第２の概念は全く理解しておらず、第３の概念及び第５の概念は完全に理解しており、第４の概念は半分ぐらい理解していると解される。
【００４９】
さらに、問題ベクトルの第１行の値が［０，０．２，０．５，０．３，０］であれば、それは、第１の問題が第１の概念を全く含んでおらず、第２の概念が約２０％含まれ、第３の概念が約５０％含まれ、第４の概念が約３０％含まれると解される。
【００５０】
なお、本発明の実施形態に係るデータ分析システムは、ユーザの概念理解度Ｌ、問題の概念包含度Ｒが十分な信頼性で推定されると、ユーザと問題の相互関係を低い係数行列により数学的に結合することができる。
【００５１】
例えば、サービスサーバは、分析対象のユーザ総数がｎ、分析対象の問題総数がｍであれば、該科目を構成する未知の概念の数をｒと想定し、ユーザの概念別理解度の行列Ｌをｎ  ｂｙ  ｒ行列と定義し、問題の概念別包含度の行列Ｒをｍ  ｂｙ  ｒ行列と定義する。この場合、ＬをＲの転置行列ＲＴに連結すると、概念または概念の数を別途定義せずにユーザと問題の相互関係を分析することができる。
【００５２】
つまり、ユーザごとの問題理解度の行列Ｘは、ＬとＲの転置行列の積（Ｘ＝ＬＲＴ）で表現される。
【００５３】
これを適用すると、Ｌの第１行の値が［０，０，１，０．５，１］、Ｒの第１行の値が［０，０．２，０．５，０．３，０］である前記例において、ユーザ１の問題１に対する理解度Ｘ（１，１）は、Ｘ（１，１）＝０．５−０．５×０．３＝０．６５のように計算される。つまり、ユーザ１は、問題１を６５％理解していると推定される。
【００５４】
しかしながら、ユーザの特定問題に対する理解度と、特定問題に正解する確率が同一であるとはいえない。前記例において、第１のユーザが第１の問題を６５％理解しているなら、第１の問題に実際解答した場合に正解である確率はどの程度であろうか。
【００５５】
そのため、心理学、認知科学、教育学などで用いられる方法論を導入して理解度と正解率との関係を推定してもよい。例えば、Ｒｅｃｋａｓｅ及びＭｃＫｉｎｅｌｙが考案したＭ２ＰＬ（ｍｕｌｔｉｄｉｍｅｎｓｉｏｎａｌ  ｔｗｏ−ｐａｒａｍｅｔｅｒ  ｌｏｇｉｓｔｉｃ）潜在特性理論（Ｌａｔｅｎｔ  Ｔｒａｉｔ  Ｍｏｄｅｌ）などを考慮して理解度と正解率を推定することができる。
【００５６】
前記理論を適用して、十分に大きなデータを用いて実験した結果、問題理解度Ｘと問題に正解する確率Ｐはリニアではなく、図３のような形の結果が観測された。
【００５７】
図３は、問題理解度Ｘと問題に正解する確率Ｐを十分に大きなデータを用いて実験した結果に対する２次元グラフであり、Ｘ軸は理解度、Ｙ軸は正解率を意味する。
【００５８】
前記グラフにより、ユーザが問題に正解する確率Ｐを推定するための関数Φとして、次の数式を導くことができる。つまり、問題正解率Ｐは、関数Φに問題理解度Ｘを適用すると計算される。
【００５９】
Φ（ｘ）＝０．２５＋０．７５／（１＋ｅ−１０（ｘ−０．５））
【００６０】
ユーザ１の問題１に対する理解度が６５％である前記例において、ユーザ１が問題１に正解する確率は、Ｐ（１，１）＝Φ（ｘ（１，１））＝０．８６３２のように計算され、８６％となる。つまり、ユーザ１は、概念２、概念４を全く理解しておらず、概念３を完全に理解しており、問題１は、概念２が２０％、概念３が５０％、概念４が３０％で構成されている問題であるので、前記公式によると、ユーザ１が問題１に解答すると８６％の確率で正解となるものと推定される。
【００６１】
ただし、本発明は、合理的な方法で理解度と正解率との関係を推定できる従来技術を適用し、問題に対するユーザの正解率を計算することができれば十分であり、本発明は、理解度と正解率との関係を推定する方法論に制限して解されるべきではないことに留意されたい。
【００６２】
前記のような実施形態により、ユーザモデリングベクトルと問題モデリングベクトルを計算すると、ユーザモデリングベクトルと問題モデリングベクトルとの関係を利用して、ユーザモデリングベクトルが特定問題の正解率を意味するように提供されることができる。
【００６３】
一方、本発明の他の実施形態をよると、問題に対するユーザの正解率は、問題の選択肢ごとの選択確率を用いて推定することもできる。例えば、第１のユーザの特定問題に対する選択肢選択確率が（０．１，０．２，０，０．７）であれば、ユーザは、高い確率で選択肢４番を選択し、該問題の正解が４番であれば、第１のユーザは、その問題に正解する確率が高いものと予想することができる。
【００６４】
そのため、データ分析サーバは、ユーザ及び問題−選択肢を変数とする多次元空間を構成し、ユーザが該問題−選択肢を選択したか否かに基づいて前記多次元空間に値を与え、各ユーザ及び問題−選択肢のベクトルを計算することができる。
【００６５】
そのとき、前記ユーザモデリングベクトルと前記問題−選択肢モデリングベクトルに様々なアルゴリズムを適用して前記選択率を推定することができ、本発明において選択率を計算するためのアルゴリズムは限定されるものではない。つまり、ユーザモデリングベクトルと問題−選択肢モデリングベクトルとの関係を利用して、ユーザモデリングベクトルが特定問題の特定選択肢に対する選択確率を意味するように提供されてもよい。
【００６６】
例えば、本発明の実施形態によると、次の数式のシグモイド関数を適用すると、ユーザの問題−選択肢選択率を推定することができる（ｘは問題−選択肢ベクトル、θ  はユーザベクトル）。
【００６７】
ｈθ（ｘ）＝１／（１＋ｅ（−θ＊Ｔ＊Ｘ））
【００６８】
さらに、本発明の実施形態に係るデータ分析サーバは、ユーザの選択肢選択率を用いて問題の正解率を推定することができる。
【００６９】
しかしながら、例えば、４肢選択式で構成された特定問題に対する特定ユーザの選択肢選択確率が（０．５，０．１，０．３，０．６）であり、正解の選択肢が１番であれば、前記ユーザが該問題に正解する確率はいくらになるかが争点となる。そこで、該問題に対する複数の選択肢選択率を用いて該問題の正解率を推定する方法も考えられる。
【００７０】
本発明の実施形態により選択肢選択率を問題正解率に還元する簡単な方法としては、全選択肢の選択率と、正解の選択肢の選択率とを比較する方法も考えられる。この場合、前記例においては、該ユーザの該問題に対する正解率を０．５／（０．５＋０．１＋０．３＋０．６）で計算する。しかしながら、ユーザは、問題に解答する際に選択肢単位に区分して該問題を理解するのではなく、全選択肢に対する構成及び問題の出題意図を含めて問題単位で理解するので、選択肢選択率と正解率を単に組み合わせることはできない。
【００７１】
従って、本発明の実施形態によると、当問題の全選択肢選択率を平均化し、正解の選択肢の平均化した選択率を全選択肢の選択率に適用する方法により、選択肢選択率から該問題の正解率を推定することができる。
【００７２】
前記例において、選択肢の選択確率が（０．５，０．１，０．３，０．６）であれば、これを全選択肢に平均化すると、それぞれの選択肢選択率は（０．３３，０．０７，０．２０，０．４０）にスケールが変更される。正解の選択肢が１番であれば、選択肢１番の平均化した選択率は０．３３であり、全体の選択肢選択率は（０．５＋０．１＋０．３＋０．６）であるので、該ユーザの該問題に対する正解率は、０．３３／（０．５＋０．１＋０．３＋０．６）＝２２％であると推定される。
【００７３】
さらに、本発明の実施形態に係るサービスサーバは、ユーザの問題−選択肢選択確率を用いて問題の正解率を推定することができるので、特定概念に対するユーザの理解度を推定することができる。
【００７４】
さらに、本発明の実施形態に係るデータ分析モデルは、ステップ２６０において、ユーザ、問題分析モデルＭを効率的に更新するために必要なデータをコーチングする専門家モデルＴを生成してもよい。例えば、専門家モデルＴは、分析モデルＭの状態情報、更新情報、及び前記更新の原因となるデータ情報に基づいて行動をとり、それに伴うモデルの変化状態に応じてその行動に対する補償を受け、全体補償の合計を最大化する方向に学習する強化学習によって生成されてもよい。
【００７５】
例えば、データ分析サーバは、専門家モデルＴの初期値Ｔｉｎｔを任意の形で与え、分析モデルＭに提案するための少なくとも一つ以上の任意のベクトル値を抽出してもよい（ステップ２６５）。前記ベクトルは、分析モデルＭが計算したユーザベクトルの性能、例えば、分析モデルＭに基づいて計算された、任意の問題に対する任意のユーザの正解率の信頼性を高めるために必要なデータを収集するための問題を意味する。
【００７６】
その後、専門家モデルＴｉｎｔから抽出されたベクトル値は、分析モデルＭに提案されてもよい（ステップ２６７）。それから分析モデルＭは、前記ベクトル値に近いモデリングベクトルを有する問題を少なくとも一つ以上確認し（ステップ２２５）、該問題をユーザに提供することで（ステップ２３０）問題解答結果データを収集することができ、それを反映して更新する（ステップ２４０）。
【００７７】
また、専門家モデルＴｉｎｔの提案に基づいて更新された分析モデルの状態情報は、専門家モデルＴｉｎｔの学習に用いられてもよい。さらに詳しくは、専門家モデルＴは、更新前の分析モデルＭと更新後の分析モデルＭ’の予測性能を比較して学習し、分析モデルの予測性能の変更値に基づいて自分の提案に対する評価を受け、リワードを受け取ってもよい（ステップ２７０）。そして、リワードを最大化する方向に専門家モデルＴを更新してもよい（ステップ２７５）。
【００７８】
図２Ａのステップ２７０において、本発明の実施形態に係るリワードは、分析モデルＭの学習方向または指向点を意味するものと解される。例えば、リワードは、分析モデルＭに基づいて予測した特定問題に対する特定ユーザの正解率または選択肢選択確率が実際の解答結果と一致する方向に分析モデルＭを更新し、分析モデルＭの予測精度が上昇するように設定される。
【００７９】
例えば、ユーザＡが第１、第２、第３、第４、第５の問題に解答したデータを適用して生成したユーザＡのモデリングベクトルＵＡを考慮してもよい。そのとき、ＵＡを、全問題に対するユーザＡの正解率を意味するベクトルとすれば、データ分析モデルＭはＵＡの予測精度、すなわちそれぞれの問題に対してユーザＡが実際に解答した結果と、データ分析モデルＭが推定するそれぞれの問題に対するユーザＡの正解率との差を低減する方向に更新されることが好ましく、専門家モデルＴは、データ分析モデルＭが前記方向に更新されるために必要なデータを推薦するように更新されるべきである。
【００８０】
例えば、専門家モデルＴは、その時点におけるＵＡの予測精度を高めるために、解答結果データが必要な問題に対するベクトルを推薦してもよい。この場合、データ分析サーバは、推薦されたベクトル値に近いモデリングベクトルを有する第６の問題を抽出し、ユーザＡに第６の問題を提供して、第６の問題に対するユーザＡの解答結果データを収集してもよい。前記解答結果データは、ユーザＡが第６の問題に解答する際に選択した選択肢、第６の問題の正解の選択肢、及び解答時点の情報を含んでもよく、データ分析モデルＭは、前記解答結果データを適用して更新される。ユーザＡのモデリングベクトルＵＡが△ＵＡだけ変更されてＵＡ’に更新された場合、専門家モデルＴは、データ分析モデルＭから△ＵＡ、ＵＡ’、及び第６の問題のモデリングベクトルＱ６の対する情報を受信する。
【００８１】
この場合、専門家モデルＴは、データ分析モデルＭの更新方向に関する情報を意味する△ＵＡ及びデータ分析モデルＭのその時点の状態情報を意味するＵＡ’に基づき、第６の問題を推薦したのが適切であったか否か、つまり第６の問題の解答結果データを適用して更新されたデータ分析モデルＭの性能が良くなったか否かを判断してリワードを生成し、前記リワードを適用して更新される。
【００８２】
例えば、第６の問題を推薦したのが適切でない場合、Ｔは、分析モデルＭがＵＡの状態であれば、Ｑ６と異なるベクトルを抽出するように学習される。
【００８３】
例えば、ユーザＡが第１、第２、第３、第４、第５の問題に解答したデータに基づいて形成したユーザモデリングベクトルＵＡ及び第６の問題のベクトルＱ６から推定した正解率と、ユーザＡが実際に第６の問題に解答した結果との差が、ユーザＡが第１、第２、第３、第４、第５、第６の問題に解答したデータに基づいて形成したユーザモデリングベクトルＵＡ’及びＱ６から推定した正解率と、ユーザＡが実際に第６の問題に解答した結果との差よりも小さい場合、第６の問題の解答データを適用して分析モデルＭの予測精度が低くなったものと解される。この場合、専門家モデルＴは、（△ＵＡ，ＵＡ’，Ｑ６）に負のリワードを適用して更新する。この場合、専門家モデルＴは、類似のデータ分析モデルＭの状態では、第６の問題に類似していない問題を推薦する方向、すなわち、Ｑ６と類似していないベクトルを抽出するように学習される。
【００８４】
その一方で、第６の問題を推薦したのが適切であった場合、Ｔは、分析モデルＭがＵＡの状態であれば、Ｑ６と類似したベクトルを抽出するように学習される。
【００８５】
例えば、ユーザモデリングベクトルＵＡ及び第６の問題のベクトルＱ６から推定した正解率と、ユーザＡが実際に第６の問題に解答した結果との差が、ＵＡ’及びＱ６から推定した正解率と、ユーザＡが実際に第６の問題に解答した結果との差よりも大きい場合、第６の問題の解答データを適用して分析モデルＭの予測精度が高くなったものと解される。この場合、専門家モデルＴは、（△ＵＡ，ＵＡ’，Ｑ６）に正のリワードを適用して更新する。この場合、専門家モデルＴは、類似のデータ分析モデルＭの状態では、第６の問題に類似した問題を推薦する方向、すなわち、Ｑ６と類似したベクトルを抽出するように学習される。
【００８６】
このように、専門家モデルＴの学習に適用されるリワードは、前述したように、データ分析モデルＭの予測精度を高める方向に設定することができるが、本発明の他の実施形態をよると、予測点数の分散範囲を狭める方向に設定することもできる。この場合、専門家モデルＴは、分析モデルＭの予測が精巧になる方向に学習されるためのデータを抽出する方向に形成される。
【００８７】
その後、ステップ２７５において、専門家モデルＴは、分析モデルＭから受信したデータ（△ＵＡ，ＵＡ’，Ｑ）をリワードに基づいて学習して更新される。
【００８８】
なお、分析モデルＭ及び／または専門家モデルＴの学習範囲が大きいほどモデルの性能は高くなるが、データ分析フレームワークを運用するためのリソースが上昇する。従って、学習の最適化範囲を考慮する必要がある。
【００８９】
ステップ２８０は、分析モデルＭ及び／または専門家モデルＴが最適化された水準で学習するためのステップである。専門家モデルＴは、その時点で形成された分析モデルＭの性能が十分でなければ、分析モデルＭの学習のためのデータ提案を続けるが、分析モデルＭの性能が十分であれば、データ提案を終了する。そしてデータ分析サーバは、その時点における分析モデルＭでユーザ及び／またはコンテンツを分析することが好ましい。
【００９０】
専門家モデルＴがデータ提案を終了する場合、すなわち、分析モデルＭ及び／または専門家モデルＴが十分に学習された状況は、大きく３つの場合が考えられる。図４は、分析モデルＭ及び／または専門家モデルＴの更新を終了する場合を説明するための図である。
【００９１】
第一は、その時点における分析モデルＭでユーザ及び／問題を十分に診断することができる場合である。例えば、分析モデルＭがユーザＡの問題解答結果データを追加学習しなくても、ユーザベクトルＵＡによって十分な精度で全問題に対するユーザＡの正解率を推定できる場合、または十分な精度でユーザＡの外部試験の点数を推定できる場合である。これは、その時点における分析モデルが計算した推定値の精度が閾値以上であるか否かを確認して判断することができる（図４の４５０）。
【００９２】
第二は、解答結果データを追加学習しても、ユーザ及び／または問題の特性をそれ以上把握することができない場合である。つまり、学習の効果がない場合であるが、専門家モデルＴの推薦に基づいてデータを追加学習しても、分析モデルＭの変化がないことが予想される場合である。例えば、ユーザＡの解答結果データの追加にもかかわらず、ユーザベクトルＵＡによって計算した推定値の精度が変更されることなく任意の範囲内に止まる場合、これに該当する（図４の４６０）。
【００９３】
第三は、専門家モデルＴが推薦したデータが分析モデルＭに既に反映されている場合である。例えば、ユーザＡが第１の問題から第２０の問題に解答した結果のデータを利用してユーザベクトルＵＡが生成されたが、専門家モデルＴが計算した推薦問題が第１の問題から第２０の問題のいずれかである場合が考えられる。
【００９４】
終了条件が満たされると、専門家モデルＴはデータ提案を終了し、専門家モデルＴ及び分析モデルＭの学習もまた終了される。その一方、終了条件が満たされていない場合、専門家モデルＴは、その時点の分析モデルＭの学習に必要なデータを抽出して分析モデルＭに推薦する。
【００９５】
特に、本発明の実施形態によると、ステップ２４５において、専門家モデルＴが取得した分析モデルＭの状態情報、更新情報、及び更新の原因となる問題モデリングベクトル情報は、専門家モデルＴの学習に用いられるのはもちろん（ステップ２７５）、更新された専門家モデルにおいて次の提案データを決定するためのインプットとして活用されているといった特徴がある（ステップ２８５）。
【００９６】
つまり、専門家モデルＴは、従来提案により変更された分析モデルの状態情報を参考に、分析モデルＭの性能を高めるために必要な次のデータを提案してもよい。
【００９７】
ユーザＡに対する前記例において、専門家モデルＴの提案に基づき、ユーザＡのモデリングベクトルＵＡが第６の問題の解答結果データを適用してＵＡ’に更新された場合、専門家モデルＴは、△ＵＡ、ＵＡ’、及び第６の問題のモデリングベクトルＱ６の情報を参考に、ＵＡ’の性能を高めるために提案すべき次のベクトル値を計算してもよい。前記ベクトルは、分析モデルＭが計算したユーザベクトルＵＡの性能、例えば、分析モデルＭに基づいて計算された、任意の問題に対するユーザＡの正解率の信頼性を高めるために必要なデータを収集するための問題を意味する。
【００９８】
その後、分析モデルＭは、専門家モデルＴから受信したベクトルと、あらかじめ設定された範囲の類似度を有する問題のベクトルを抽出してユーザに提供し、該問題の解答結果データを学習する。
【００９９】
さらに、本発明の実施形態によって専門家モデルＴを運用すると、新たに流入したユーザを分析するために必要な最適化された診断用の問題セットを効率的に構成することができる。
【０１００】
新規流入したユーザまたは問題の場合、該ユーザまたは問題に対するデータが蓄積されるまでは分析結果を提供することができないといった問題がある。従って、データ分析フレームワークにおいて初期の分析結果を任意の信頼性で導出するために、新規ユーザまたは新規問題に対する学習結果データを効率的に収集する必要がある。一般的には、新規ユーザに診断問題を提供し、診断問題に対する解答結果を利用して新規ユーザの初期分析モデルを形成する。
【０１０１】
この場合、診断用の問題は、多ければ多いほど新規ユーザに対するより精密な分析が可能になる。しかしながら、ユーザの立場からすると、少ない診断問題に解答しただけでも信頼性の高い分析結果を提供してもらうことを所望するはずである。従って、ユーザ分析結果の信頼性が任意の範囲以上確保できる最低限の問題数で診断用の問題を構成する必要がある。そこで、本発明の実施形態に係る専門家モデルＴを運用すると、新規ユーザが解答すべき問題セットを効率的に抽出することができ、多くの問題に解答してもらう必要なく、信頼性の高い分析結果を提供できるといった効果がある。
【０１０２】
新規ユーザが流入した場合、本発明の実施形態に係るデータ分析サーバは、問題データベースから少なくとも１つ以上の問題を任意に抽出して新規ユーザに提供し、解答結果データを適用して新規ユーザのユーザモデリングベクトルＵｉｎｔを設定し、これを専門家モデルＴに通知（ノーティス）してもよい。
【０１０３】
例えば、特定の新規ユーザに、ａ、ｂ、ｃの選択肢から構成された第１の問題を提供し、該新規ユーザが第１の問題のａ選択肢を選択した場合、データ分析サーバは（ｕｎｅｗ，１，ａ）＝１、（ｕｎｅｗ，１，ｂ）＝０、（ｕｎｅｗ，１，ｃ）＝０のデータをデータ分析フレームワークに適用し、新規ユーザｕｎｅｗの初期モデリングベクトルを計算することができる。
【０１０４】
その後、本発明の実施形態に係る専門家モデルＴは、新規ユーザの診断のために必要な任意の問題ベクトルを少なくとも一つ以上推薦してもよい。
【０１０５】
この場合、データ分析サーバは、専門家モデルＴの推薦に応じた問題を診断問題として新規ユーザに提供する。分析モデルＭは、診断問題に対するユーザの解答結果データを適用してユーザベクトルを更新し、更新されたユーザベクトル、ユーザベクトルの変更値、及び診断問題ベクトルに関する情報を専門家モデルＴに通知する。
【０１０６】
専門家モデルＴは、ユーザモデルＵの性能が良くなった場合、正のリワードを適用して情報を学習し、ユーザモデルＵの性能が悪くなった場合、負のリワードを適用して情報を学習する。それから専門家モデルＴは、ユーザモデルＵの性能が十分であるか否かを判断し、ユーザモデルの性能が予め設定された範囲以上になるまでＵの性能向上に必要な問題ベクトルを推薦する。
【０１０７】
さらに、前述した図２Ａの例示は、分析モデルＭがユーザに推薦問題を提供すると共に、分析モデルＭと専門家モデルＴがデータ収集結果を反映して更新される場合のものである。また、本発明の他の実施形態をよると、ユーザに問題を推薦するために分析モデルを運用するフレームワークと、専門家モデルを学習するフレームワークとが論理的及び／または物理的に分離されたコンピューティングデバイスで具現されてもよい。さらに詳しくは、ユーザに問題を推薦するシステムと、専門家モデルの学習のためのシステムとが論理、物理的に分離されて運用されてもよい。
【０１０８】
図２Ｂは、本発明の前記実施形態を説明するためのフローチャートである。図２Ｂの説明において、図２Ａと重複する部分は説明を省略する。
【０１０９】
図２Ｂのステップ２７０において、専門家モデルＴを運用するフレームワークは、分析モデルの更新情報に関する履歴を記録してもよい。つまり、分析モデルＭの状態情報、更新Ｍ’情報、及び更新の原因となる問題モデリングベクトル情報に関する履歴を記録してもよい。さらに、図２Ａとは異なり、専門家モデルＴを更新せずに、終了条件を満たしていない限り（ステップ２８０）、専門家モデルＴを用いて分析モデルＭに問題ベクトルを提案してもよい（ステップ２６５）。
【０１１０】
また、専門家モデルＴの運用フレームワークは、任意の時点で分析モデルの更新履歴情報を反映し、専門家モデルＴを更新してもよい（ステップ２７５）。そのとき、専門家モデルＴの更新方向を設定するためのリワードが適用され（ステップ２７０）、これは、図２Ａの実施形態と実質的に同一である。
【０１１１】
本明細書と図面に示した本発明の実施形態は、本発明の技術内容を説明するにあたって理解を助けるために特定例を示したものにすぎず、本発明の範囲を限定する意図ではない。ここに示した実施形態以外にも、本発明の技術的思想に基づく様々な変形が可能であることは、本発明の属する技術分野における通常の知識を有する者にとって自明である。
【図１】
2021520529.tif 000003
【図２Ａ】
2021520529.tif 000004
【図２Ｂ】
2021520529.tif 000005
【図３】
2021520529.tif 000006
【図４】
2021520529.tif 000007
【国際調査報告】
2021520529.tif 000008
2021520529.tif 000009
2021520529.tif 000010
2021520529.tif 000011