(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-15
(45)【発行日】2022-02-24
(54)【発明の名称】教育支援システム、教育支援方法および教育支援プログラム
(51)【国際特許分類】
G09B 19/00 20060101AFI20220216BHJP
G06Q 50/20 20120101ALI20220216BHJP
【FI】
G09B19/00 Z
G06Q50/20
(21)【出願番号】P 2019206484
(22)【出願日】2019-11-14
【審査請求日】2021-09-10
【早期審査対象出願】
(73)【特許権者】
【識別番号】517193523
【氏名又は名称】株式会社SIGNATE
(74)【代理人】
【識別番号】100134430
【氏名又は名称】加藤 卓士
(72)【発明者】
【氏名】齊藤 秀
【審査官】岸 智史
(56)【参考文献】
【文献】米国特許出願公開第2018/0137525(US,A1)
【文献】James Jordan, Jinsung Yoon, Mihaela van der Schaar,"Measuring the quality of Synthetic data for use in competitions",arXiv:1806.11345 [online],2018年06月29日,https://arxiv.org/pdf/1806.11345.pdf,[2021年10月25日検索]
(58)【調査した分野】(Int.Cl.,DB名)
G09B 1/00-9/56
17/00-19/26
G06Q 50/20
(57)【特許請求の範囲】
【請求項1】
AI(artificial intelligence)人材教育におけるプログラミング学習を支援する教育支援システムであって、
収集されたデータから表の形に整形された整形済データを取得する整形済データ取得部と、
前記整形済データに対して
、プログラミング学習の成果を判定するための問題の難易度に影響を与える加工を加えることによって、
前記問題に含まれる入力データを生成する入力データ生成部と、
を備える教育支援システム。
【請求項2】
前記入力データ生成部は、前記整形済データに変換操作を加えた被操作データを前記入力データとして生成する被操作データ生成部を含む請求項1に記載の教育支援システム。
【請求項3】
前記被操作データの
前記問題の難易度への影響を評価する被操作データ評価部
と、
前記被操作データの評価結果を反映させて、前記プログラミング学習の成果を判定する成果判定部と、
をさらに備える請求項2に記載の教育支援システム。
【請求項4】
前記被操作データ評価部は、前記被操作データに所定のアルゴリズムを適用した場合に、所定の評価関数を用いて前記被操作データを評価する請求項3に記載の教育支援システム。
【請求項5】
前記所定のアルゴリズムは重回帰分析を含み、前記所定の評価関数は二乗平均平方根誤差を求める関数を含む請求項4に記載の教育支援システム。
【請求項6】
前記被操作データ生成部は、前記整形済データに対して、予測または分類アルゴリズムに不用なデータを追加する、または、前記予測または分類アルゴリズムに有用なデータを除去したり変更したりする請求項2乃至
5のいずれか1項に記載の教育支援システム。
【請求項7】
前記被操作データ生成部は、前記整形済データが行列である場合、行数および列数の少なくともいずれかを拡張または縮小して前記被操作データを生成する請求項
6に記載の教育支援システム。
【請求項8】
前記被操作データ生成部は、前記整形済データに含まれる複数データのうち、ランダムに選んだデータを欠損とし、または、ランダムに選んだ欠損部分をデータで補完して、前記被操作データを生成する請求項
6に記載の教育支援システム。
【請求項9】
前記被操作データ生成部は、前記整形済データに含まれる複数データのうち、ランダムに選んだデータにノイズを付加して、前記被操作データを生成する請求項
6に記載の教育支援システム。
【請求項10】
前記被操作データ生成部は、前記整形済データが行列である場合、ランダムに選んだ行およびランダムに選んだ列の少なくともいずれかにノイズを付加する請求項
9に記載の教育支援システム。
【請求項11】
前記被操作データ生成部は、前記整形済データに所定データを追加して、前記被操作データを生成する請求項
6に記載の教育支援システム。
【請求項12】
前記被操作データ生成部は、前記整形済データが行列である場合、ランダムに生成したデータを含む列を追加、あるいは、列中からランダムに選んだデータを含む行を追加して、前記被操作データを生成する請求項
11に記載の教育支援システム。
【請求項13】
前記被操作データ生成部は、前記整形済データの分布を変換して、前記被操作データを生成する請求項
6に記載の教育支援システム。
【請求項14】
前記被操作データ生成部は、前記問題が分類問題である場合、正例率を維持しながらクラスまたはラベルの分布を変換することで前記被操作データを生成する請求項
13に記載の教育支援システム。
【請求項15】
前記被操作データ生成部は、前記問題が回帰問題である場合、ターゲット変数の分布形を変換することで前記被操作データを生成する請求項
13に記載の教育支援システム。
【請求項16】
前記入力データ生成部は、前記整形済データに変形操作を加えた未整形データを前記入力データとして生成する未整形データ生成部を含む請求項1または2に記載の教育支援システム。
【請求項17】
前記未整形データ生成部は、前記整形済データに含まれたダミー変数のいずれかを前記ダミー変数が表すデータに置換して、前記未整形データを生成する請求項
16に記載の教育支援システム。
【請求項18】
前記未整形データ生成部は、前記整形済データが行列である場合、前記ダミー変数で表された複数の行または複数の列を1行または1列のデータに置換して、前記未整形データを生成する請求項
17に記載の教育支援システム。
【請求項19】
前記未整形データ生成部は、前記整形済データを複数のブロックに分割して、前記未整形データを生成する請求項
16に記載の教育支援システム。
【請求項20】
前記未整形データ生成部は、前記整形済データが行列である場合、列または行を複数の行または列からなるブロックに分割して、前記未整形データを生成する請求項
19に記載の教育支援システム。
【請求項21】
AI(artificial intelligence)人材教育におけるプログラミング学習を支援する教育支援方法であって、
整形済データ取得部が、収集されたデータから表の形に整形された整形済データを取得する整形済データ取得ステップと、
入力データ生成部が、前記整形済データに対して
、プログラミング学習の成果を判定するための問題の難易度に影響を与える加工を加えることによって、
前記問題に含まれる入力データを生成する入力データ生成ステップと、
を含む教育支援方法。
【請求項22】
AI(artificial intelligence)人材教育におけるプログラミング学習を支援する教育支援プログラムであって、
収集されたデータから表の形に整形された整形済データを取得する整形済データ取得ステップと、
前記整形済データに対して
、プログラミング学習の成果を判定するための問題の難易度に影響を与える加工を加えることによって、
前記問題に含まれる入力データを生成する入力データ生成ステップと、
をコンピュータに実行させる教育支援プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを介した教育を支援する技術に関する。
【背景技術】
【0002】
上記技術分野において、特許文献1には、インターネットを介してオンラインで学生が受講できるコースを生成して、オンライン教育を実施する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、AI(artificial intelligence)人材教育におけるプログラミング学習の問題で用いる入力データを生成するには多大な労力を必要とする。上記文献に記載の技術では、かかる課題に対処することができなかった。
【0005】
本発明の目的は、上述の課題を解決する技術を提供することにある。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明に係る教育支援システムは、
AI(artificial intelligence)人材教育におけるプログラミング学習を支援する教育支援システムであって、
収集されたデータから表の形に整形された整形済データを取得する整形済データ取得部と、
前記整形済データに対して、プログラミング学習の成果を判定するための問題の難易度に影響を与える加工を加えることによって、前記問題に含まれる入力データを生成する入力データ生成部と、
を備える。
【0007】
上記目的を達成するため、本発明に係る教育支援方法は、
AI(artificial intelligence)人材教育におけるプログラミング学習を支援する教育支援方法であって、
整形済データ取得部が、収集されたデータから表の形に整形された整形済データを取得する整形済データ取得ステップと、
入力データ生成部が、前記整形済データに対して、プログラミング学習の成果を判定するための問題の難易度に影響を与える加工を加えることによって、前記問題に含まれる入力データを生成する入力データ生成ステップと、
を含む。
【0008】
上記目的を達成するため、本発明に係る教育支援プログラムは、
AI(artificial intelligence)人材教育におけるプログラミング学習を支援する教育支援プログラムであって、
収集されたデータから表の形に整形された整形済データを取得する整形済データ取得ステップと、
前記整形済データに対して、プログラミング学習の成果を判定するための問題の難易度に影響を与える加工を加えることによって、前記問題に含まれる入力データを生成する入力データ生成ステップと、
をコンピュータに実行させる。
【発明の効果】
【0009】
本発明によれば、AI人材教育におけるプログラミング学習の問題で用いる入力データを効率的に生成することができる。
【図面の簡単な説明】
【0010】
【
図1】本発明の第1実施形態に係る教育支援システムの構成を示すブロック図である。
【
図2A】本発明の第2実施形態に係る教育支援システムの概要を示す図である。
【
図2B】本発明の第2実施形態に係る教育支援システムに参加したクライアントの通信端末の表画面を示す図である。
【
図2C】本発明の第2実施形態に係る教育支援システムに参加したクライアントの通信端末の表画面を示す図である。
【
図2D】本発明の第2実施形態に係る教育支援システムに参加したクライアントの通信端末の表画面を示す図である。
【
図3A】本発明の第2実施形態に係る教育支援システムの構成を示すブロック図である。
【
図3B】本発明の第2実施形態に係る教育支援システムの動作手順を示すシーケンス図である。
【
図4】本発明の第2実施形態に係る教育支援サーバの機能構成を示すブロック図である。
【
図5A】本発明の第2実施形態に係る学習情報データベースの構成を示す図である。
【
図5B】本発明の第2実施形態に係る受講者情報データベースの構成を示す図である。
【
図5C】本発明の第2実施形態に係るコンペティション用データベースの構成を示す図である。
【
図5D】本発明の第2実施形態に係るコンペティションの一例を示す図である。
【
図5E】本発明の第2実施形態に係るコンペティションの他例を示す図である。
【
図6】本発明の第2実施形態に係る問題生成部および問題評価部の機能構成を示すブロック図である。
【
図7】本発明の第2実施形態に係る被操作データ生成部の機能構成を示すブロック図および処理手順を示すフローチャートである。
【
図8】本発明の第2実施形態に係る被操作データ生成部への入力データおよび出力データの構成を示す図である。
【
図9】本発明の第2実施形態に係る誤差算出部の機能構成を示すブロック図と、誤差算出、問題評価および成果評価の処理手順を示すフローチャートとである。
【
図10】本発明の第3実施形態に係る被操作データ生成部の機能構成を示すブロック図および処理手順を示すフローチャートである。
【
図11】本発明の第3実施形態に係る被操作データ生成部への入力データおよび出力データの構成を示す図である。
【
図12】本発明の第4実施形態に係る被操作データ生成部の機能構成を示すブロック図および処理手順を示すフローチャートである。
【
図13】本発明の第4実施形態に係る被操作データ生成部への入力データおよび出力データの構成を示す図である。
【
図14】本発明の第5実施形態に係る被操作データ生成部の機能構成を示すブロック図および処理手順を示すフローチャートである。
【
図15】本発明の第5実施形態に係る被操作データ生成部への入力データおよび出力データの構成を示す図である。
【
図16】本発明の第6実施形態に係る被操作データ生成部の機能構成を示すブロック図および処理手順を示すフローチャートである。
【
図17】本発明の第6実施形態に係る被操作データ生成部への入力データおよび出力データの構成を示す図である。
【
図18】本発明の第7実施形態に係る教育支援サーバの機能構成を示すブロック図である。
【
図19】本発明の第7実施形態に係る問題生成部の機能構成を示すブロック図である。
【
図20】本発明の第7実施形態に係る未整形データ生成部の機能構成を示すブロック図および処理手順を示すフローチャートである。
【
図21】本発明の第7実施形態に係る未整形データ生成部への入力データおよび出力データの構成を示す図である。
【
図22】本発明の第8実施形態に係る未整形データ生成部の機能構成を示すブロック図および処理手順を示すフローチャートである。
【
図23】本発明の第8実施形態に係る未整形データ生成部への入力データおよび出力データの構成を示す図である。
【
図24】本発明の第9実施形態に係る問題生成部の機能構成を示すブロック図である。
【
図25】本発明の第9実施形態に係る選択テーブルの構成を示す図である。
【
図26】本発明の第9実施形態に係る未整形データ生成部への入力データおよび出力データの構成を示す図である。
【発明を実施するための形態】
【0011】
以下に、図面を参照して、本発明の実施の形態について例示的に詳しく説明する。ただし、以下の実施の形態に記載されている構成要素は単なる例示であり、本発明の技術範囲をそれらのみに限定する趣旨のものではない。
【0012】
本実施形態において、「整形済データ」は、種々の予測または分類モデル生成のために収集された目的変数(ターゲット)と説明変数とを含む生データを、予測または分類アルゴリズムを適用可能に整形したデータを意味する。また、「被操作データ」は、「整形済データ」を所定の変換アルゴリズムに従って変換して性質を変化させたデータである。「被操作データ」は、その分析結果のユニーク性を担保するために生成され、その変換は予測または分類アルゴリズムを適用した場合に分析結果の精度に影響する。「被操作データ」を生成する変換アルゴリズムは、整形済データに対して、予測または分類アルゴリズムに不用なデータを追加する、または、予測または分類アルゴリズムに有用なデータを除去あるいは変化する。変換アルゴリズムとしては、次元数変換、欠損率制御、ノイズ付加、冗長化、あるいは、ターゲット分布の変換などが含まれるが、これらに限定されるものではない。また、「未整形データ」は、「整形済データ」に対してデータの内容や性質を変化させずに変形したものであり、その変形操作は予測または分類アルゴリズムを適用した場合に分析結果の精度に影響しない。「未整形データ」を生成する変形操作には、非ダミー化やテーブル分割などが含まれるが、これらに限定されるものではない。
【0013】
[第1実施形態]
本発明の第1実施形態としての教育支援システム100について、
図1を用いて説明する。教育支援システム100は、AI(artificial intelligence)人材教育におけるプログラミング学習を支援するシステムである。
【0014】
図1に示すように、教育支援システム100は、整形済データ取得部101と、入力データ生成部102と、を含む。整形済データ取得部101は、予測または分類アルゴリズム110を適用可能に整形された整形済データ111を取得する。入力データ生成部102は、整形済データ111に対して加工を加えることによって、プログラミング学習の成果を判定するための問題120に含まれる入力データ112を生成する。
【0015】
本実施形態によれば、整形済データに加工を加えて問題に含まれる入力データを生成するので、人材教育におけるプログラミング学習の問題で用いる入力データを効率的に生成することができる。
【0016】
[第2実施形態]
次に、本発明の第2実施形態に係る教育支援システムについて説明する。本実施形態に係る教育支援システムは、AI人材教育におけるプログラミング学習の講座の受講者に対して、プログラミング能力の習得度が可視化され、習得技術が種々の課題に応用できるよう受講者を支援する。例えば、様々な産業分野のクエスト(分析課題)を分析担当者の視点で経験できる。また、クエストで出題されるミッション(要素技術)をゲーム感覚でクリアしていくように設計されている。そして、各テーマの学習のラストミッションはコンペティション問題に解答する形式になっているため、本当の習得度が定量的にわかる。その上、他の参加者とのレベルを比較可能である。
【0017】
このような教育支援システムにおいて、各テーマの学習のラストミッションにおけるコンペティション問題を生成する場合に、コンペティション問題の入力データを参加する受講者ごとに異ならせる必要がある。例えば、同時に受講する受講者が100名であれば100通り、1000名であれば1000通りの入力データを生成する必要がある。そして、その入力データが異なることによりコンペティション問題の難易度が相違することは、コンペティションの公平公正の観点から避けなければならない。そのため、異なる入力データを生成することに多くの労力が裂かれることになる。
【0018】
本実施形態は、この問題を解決して簡単な処理でコンペティション問題の多くの異なる入力データを簡単に生成でき、かつ、コンペティション問題の難易度が相違しないように、あるいは、相違した場合に評価に反映できるようにした。
【0019】
《教育支援システム》
以下、
図2A~
図3Bを参照して、教育支援システムの構成および動作を説明する。
【0020】
(概要)
図2Aは、本実施形態に係る教育支援システムの概要を示す図である。
【0021】
本実施形態に係る教育支援システムは、1つのテーマについての予測または分類モデルの学習をクエスト210として、各クエスト210を複数のミッション211~213から構成する。各ミッションとしては、予測または分類モデルを学習するための前処理のミッション211と、例えば回帰問題では回帰処理のミッション212と、クエスト210の最終段階のコンペティションを行うラストミッション213と、が含まれる。各ミッション211と212では、動画による作業の説明としてのタスクがあって、各ミッションの終わりは演習問題が提供される。また、エクストラエミッション220として、各ミッション211と212での習得を補助するミッション221や222が用意されている。
【0022】
(通信端末の表示画面)
図2B~
図2Dは、本実施形態に係る教育支援システムに参加したクライアントの通信端末の表示画面を示す図である。
図2B~
図2Dのような情報の提示によって、受講者への受講を促進している。
【0023】
図2Bは、受講者が問題を解いている時の、通信端末の表示画面230である。表示画面230の領域231は、問題を解くに当たって受講者が必要とする基礎知識を表示する領域である。表示画面230の領域232は、受講者が予測または分類プログラムを作成しながら入力する領域である。表示画面230の領域233は、受講者が入力した予測または分類プログラムを実行した結果を表示する領域である。表示画面230の領域234は、受講者が入力した予測または分類プログラムを分析し、その分析結果を通知する領域である。
【0024】
図2Cは、受講者が選択したテーマの学習をクリアした場合の、通信端末の表示画面240である。表示画面240の表示241は、クリアを受講者に伝えている。表示画面240の表示242は、かかるクリアにおいて100スコア(ポイント)を獲得したことを伝えている。表示画面240の表示243は、学習結果の評価および課題を通知している。
【0025】
図2Dは、受講者(本例では、山田太郎)の現在の受講状態を通知する、通信端末の表示画面250である。表示画面250の表示251は、受講者の獲得スコア、クリアしたクエスト数、ランキング、レベルを示す。表示画面250の表示252は、現在受講中のコースやテーマ、および、その進捗状況を示す。表示画面250の表示253は、最近クリアしたクエストの履歴や獲得スコアを示す。表示画面250の表示254は、最近の活動(受講状態)をカレンダーで示す。
【0026】
(システム構成)
図3Aは、本実施形態に係る教育支援システム300の構成を示すブロック図である。
【0027】
教育支援システム300は、教育支援サーバ310と、クライアントの通信端末321~32nと、ネットワーク330と、管理者の通信端末340と、を備える。教育支援サーバ310は、受講制御部311と、受講者管理部312と、課題設定部313と、成果判定部314と、受講管理用データベース315と、を有する。受講制御部311は、教育支援サーバ310が提供するAI人材教育におけるプログラミング学習を支援するための講座のコースやテーマの実施を制御する。受講者管理部312は、教育支援サーバ310が提供する講座を受講する受講者の受講状態や進捗状況などを管理する。課題設定部313は、講座のコースやテーマに対応して受講の成果を自他共に評価するための課題を設定する。成果判定部314は、受講者の受講状態や進捗状況、あるいは、課題設定部313が設定した課題の解答レベルを参照して、受講者による受講の成果を判定して受講者に通知する。受講管理用データベース315は、上述の各部が参照するデータ、あるいは、各部が生成したデータを格納する。
【0028】
クライアントの通信端末321~32nは、ネットワーク330を介して教育支援サーバ310に接続され、教育支援サーバ310が提供する講座へ参加登録して、講座を受講する。管理者の通信端末340は、教育支援サーバ310の状態を監視すると共に、教育支援サーバ310を操作する。本実施携帯における入力データの生成は、教育支援サーバ310で自動的に行われても、管理者の通信端末340からの管理者とのインタラクションを通じて行われてもよい。なお、
図3Aについての説明では、教育支援サーバ310が提供する一般にオープンされた課題解決のコンペティションについての説明は省略されている。
【0029】
(動作シーケンス)
図3Bは、本実施形態に係る教育支援システム300の動作手順を示すシーケンス図である。なお、
図3Bにおいても、教育支援サーバ310が提供する一般にオープンされた課題解決モデルのコンペティションについての説明は省略されている。また、
図3Bにおいて、通信端末321~32nはWebブラウザにより教育支援サーバ310とリンクするものとする。
【0030】
通信端末321~32nは、ステップS301において、受講者の属性および受講するコースなどの情報を入力して受講者の登録を行う。教育支援サーバ310は、ステップS303において、通信端末321~32nからの情報を受信して受講管理用データベース315に登録する。まず、受講者がプログラミングトレーニングのコースを選択すると、教育支援サーバ310は、ステップS305において、プログラミングトレーニングの内容を提供し、通信端末321~32nは、ステップS307において、プログラミングトレーニングを実行する。
【0031】
受講者がプログラミング実践のコースを選択すると、教育支援サーバ310は、ステップS311において、実社会で解決すべき複数のテーマを通信端末321~32nに送信する。通信端末321~32nは、ステップS313において、複数のテーマから受講者が解答を目指すテーマを選択する。教育支援サーバ310は、ステップS315において、選択されたテーマについてその解答手順を複数の工程(受講者のミッション)に分けて、最初のミッションについての情報を通信端末321~32nに提供する。通信端末321~32nは、ステップS317において、最初のミッションについての作業を受講者に説明する。かかる説明は動画を含んだ理解容易なものが望ましい。作業の説明が終了すると、教育支援サーバ310は、ステップS319において、最初のミッションを完了するための演習問題を提供する。通信端末321~32nは、ステップS321において、提供された演習問題を表示し、ステップS323において、受講者の入力に従って解答を教育支援サーバ310に送信する。教育支援サーバ310は、ステップS325において、演習問題に対する受講者の解答を評価する。そして、受講者の解答が所定レベルを超えている場合、教育支援サーバ310は、ステップS327において、受講者にスコア(あるいはポイント)を与えると共に、選択されたテーマについて解決するための次の工程の情報を通信端末321~32nに提供する。通信端末321~32nは、ステップS329において、次のミッションについての作業を受講者に説明する。このようにして、最後の工程までの演習が行われる。なお、演習問題への解答評価において問題点があれば、その部分についてのさらに詳細な説明や演習を行うことができる。
【0032】
通信端末321~32nは、ステップS331において、最後の工程での演習問題への受講者の解答を送信する。教育支援サーバ310は、ステップS333において、受講者の解答を評価する。最後の工程での演習問題の評価が所定レベルを超えている場合、教育支援サーバ310は、ステップS335において、受講者の受講成果を判定するための、予備知識や解答支援の無いコンペティション問題を生成する。なお、かかるコンペティション問題の生成は、テーマに対応した同じ問題であっても入力データが受講者によって異なる問題であるのが、平等なコンペティションを実現する上で必要である。本実施形態においては、かかる異なる入力データの生成を自動的に行い、かつ、異なる入力データ間の問題難度の差を少なく、あるいは、問題難度の差をコンペティションの結果に反映できるようにした。かかる問題生成は、管理者の通信端末340からの管理者とのインタラクションを通じて行われてもよい。教育支援サーバ310は、ステップS337において、受講者ごとに対応して生成したコンペティション問題を通信端末321~32nに送信する。通信端末321~32nは、ステップS339において、受講者ごとに異なるコンペティション問題を表示する。
【0033】
通信端末321~32nは、ステップS341において、受講者ごとの解答を教育支援サーバ310に送信し、教育支援サーバ310は、ステップS343において、上述した異なる入力データ間の問題難度の差を反映させながら、解答を評価してランキングを付す。その評価結果として、教育支援サーバ310は、ステップS345において、各受講者に進捗状況、ランキング、課題などを送信する。通信端末321~32nは、ステップS347において、受信した各受講者に進捗状況、ランキング、課題などを表示する。
【0034】
《教育支援サーバの機能構成》
図4は、本実施形態に係る教育支援サーバ310の機能構成を示すブロック図である。
【0035】
教育支援サーバ310は、通信制御部401を備える。通信制御部401は、ネットワーク330を介した通信端末321~32nとの通信を制御する。
【0036】
教育支援サーバ310は、受講者管理部312として、受講者情報受信部427と受講者登録部422とを備える。なお、受講者管理部312には、受講管理用データベース315の受講者情報データベース452も含まれる。受講者情報受信部427は、ネットワーク330を介して接続された通信端末321~32nからの受講者情報を受信する。受講者登録部422は、受講者情報を受講者情報データベース452に登録する。
【0037】
教育支援サーバ310は、受講制御部311として、受講シーケンス制御部411と、作業説明部412と、演習送信部413と、演習解答受信部414と、解答評価部415と、を備える。なお、受講制御部311には、受講管理用データベース315の各データベースも含まれる。受講シーケンス制御部411は、受講者が受講するコースやテーマに対応して受講シーケンスを制御する。作業説明部412は、各テーマあるいは各テーマの各ミッションにおける作業について動画を含む説明を、通信端末321~32nに送る。演習送信部413は、各テーマの各ミッションにおいて、そのミッションをクリアしたことを判定する演習問題を通信端末321~32nに送信する。演習解答受信部414は、通信端末321~32nからの受講者の演習問題への解答を受信する。解答評価部415は、受講者の演習問題への解答を評価する。各ミッションをクリアしたと評価すれば、次のミッションへの移行を受講シーケンス制御部411に通知する。
【0038】
教育支援サーバ310は、課題設定部313として、問題生成部431と、問題送信部432と、を備える。なお、課題設定部313には、受講管理用データベース315の学習情報データベース451やコンペティション用データベース453も含まれる。問題生成部431は、受講シーケンス制御部411が各テーマの最終ミッションを完了したと判断した場合、受講したテーマについてのコンペティション問題を生成する。なお、かかるコンペティション問題はテーマに対応して同様であるが、その入力データは受講者によって異なるデータを自動的に生成する。問題送信部432は、受講者によって異なる入力データを含むコンペティション問題を通信端末321~32nに送信する。
【0039】
教育支援サーバ310は、成果判定部314として、問題評価部441と、問題解答受信部442と、解答判定部443と、解答判定送信部444と、を備える。なお、成果判定部314には、受講管理用データベース315の各データベースも含まれる。問題評価部441は、問題生成部431で生成したコンペティション問題の入力データに基づいて、コンペティション問題の難易度を評価し、問題解答に対する評価に反映させる。問題解答受信部442は、通信端末321~32nからの受講者のコンペティション問題への解答を受信する。解答判定部443は、コンペティション問題への受講者の解答に問題評価部441が評価した問題の難易度を反映させて、受講テーマにおける受講者の受講成果として解答を判定する。なお、受講成果には、ランキング、レベル、提供するスコアなどが含まれる。解答判定送信部444は、受講者の受講成果を含む解答判定を通信端末321~32nに送信する。
【0040】
教育支援サーバ310の受講管理用データベース315には、学習情報データベース451と、受講者情報データベース452と、コンペティション用データベース453と、が含まれる。なお、受講管理用データベース315内の構成は
図4に限定されず、複数のデータベースが合体されても、1つのデータベースが分割されても、一部同士が合体されてもよい。学習情報データベース451は、AI人材教育におけるプログラミング学習を支援する講座のコースやテーマ、その実施手順などを格納する。受講者情報データベース452は、講座を受講している受講者の登録、および、その受講者の受講内容や進捗情報、獲得スコア、ランキング、レベルなどを格納する。コンペティション用データベース453は、コンペティション問題に関する状況を格納する。なお、コンペティション問題には、各テーマの受講の最後に行われるコンペティション問題と、一般にオープンされて種々の課題についてのモデル提案を競うコンペティション問題とが含まれる。
【0041】
(学習情報データベース)
図5Aは、本実施形態に係る学習情報データベース451の構成を示す図である。学習情報データベース451は、講座のコースやテーマ、その実施手順などを格納する。
【0042】
学習情報データベース451は、テーマ511に対応付けて複数のミッション512を記憶する。例えば、テーマ511が売上予測モデルであれば、複数のミッション512として、データ読み込みおよびデータ整形、検索・分析、モデリング、モデリング高度化、の4つのミッションが記憶される。そして、各ミッション512に対応して、作業動画解説を含むタスク513と、解決に必要な関数の演習問題514と、演習問題の解答515と、解答の評価方法516と、を記憶する。
【0043】
なお、各テーマ511には、受講の成果を判定するためのテーマ別のコンペティション問題520を記憶する。なお、テーマ別のコンペティション問題520としては、コンペティション問題骨子521と、受講者により異なる入力データ522と、問題解答としての出力データ523と、を記憶する。受講者により異なる入力データ522としては、入力データ生成の元となる整形済データと、対象受講者IDと、生成された入力データである被操作データまたは未整形データと、生成された擬似未整形データの二乗平均平方根誤差と、が記憶される。
【0044】
(受講者情報データベース)
図5Bは、本実施形態に係る受講者情報データベース452の構成を示す図である。受講者情報データベース452は、受講中の受講者の受講内容や進捗情報、獲得スコア、ランキング、レベルなどを格納する。
【0045】
受講者情報データベース452は、受講者ID531に対応付けて、登録された受講者情報532と、受講コース533と、選択テーマ534と、各テーマ別の進捗情報535と、受講者の進捗情報535と、を記憶する。なお、受講コース533としては、初級者向けのプログラミングトレーニングのコースと、中上級者向けの実践モデリングのコースとが含まれる。そして、受講者の進捗情報535には、例えば、獲得スコア、クリアしたテーマ数、現在のランキング、現在のレベルなどが含まれる。
【0046】
(コンペティション用データベース)
図5Cは、本実施形態に係るコンペティション用データベース453の構成を示す図である。コンペティション用データベース453は、コンペティション問題に関する状況を格納する。
【0047】
コンペティション用データベース453は、コンペティションID541に対応付けて、コンペティション種類542と、コンペティション内容543と、を記憶する。コンペティション種類542には、各テーマの受講の最後に成果を判定するためのテーマ別成果判定用のコンペティション問題と、オープンに一般からのモデル提案を競うオープンモデル提案用のコンペティション問題とがある。テーマ別成果判定用のコンペティション問題の場合は、各コンペティション問題に対して、解答情報544として、受講者IDと解答内容とを記憶する。オープンモデル提案用のコンペティション問題の場合は、各コンペティション問題に対して、解答情報544として、提案者IDと解答内容とを記憶する。さらに、コンペティション用データベース453は、各解答情報544に対応付けて、解答精度545と、解答順位546とを記憶する。
【0048】
図5Cには、コンペティション内容として、テーマ別成果判定用のコンペティション問題である「売上予測モデル」547が図示されている。また、オープンモデル提案用のコンペティション問題である「豆腐の生産・売上予測モデル」548と、オープンモデル提案用のコンペティション問題である「新幹線走行場所の着雪量予測モデル」549と、が図示されている。
【0049】
(コンペティション例)
図5Dは、本実施形態に係るコンペティションの一例548を示す図である。
図5Dのコンペティションの一例548は、
図5Cのオープンモデル提案用のコンペティション問題である「豆腐の生産・売上予測モデル」のコンペティション実行結果を示す。
【0050】
図5Eは、本実施形態に係るコンペティションの他例549を示す図である。
図5Eのコンペティションの他例549は、
図5Cのオープンモデル提案用のコンペティション問題である「新幹線走行場所の着雪量予測モデル」のコンペティション実行結果を示す。
【0051】
(問題生成部および問題評価部)
図6は、本実施形態に係る問題生成部431および問題評価部441の機能構成を示すブロック図である。
図6において、
図4と同様の構成要素は同じ参照番号を付している。
【0052】
問題生成部431は、整形済データ取得部611と、被操作データ生成部612と、問題取得部613と、入力データ設定部614と、を有する。整形済データ取得部611は、例えば、学習情報データベース451から整形済データを取得する。なお、整形済データは、既存のデータ収集管理サイトなどからデータを取得して、予測または分類アルゴリズムを適用可能に整形したものであってもよい。
【0053】
被操作データ生成部612は、入力データとして整形済データを入力し、出力データとして被操作データを出力する。受講者はかかる被操作データを入力データとして含むコンペティション問題の解答を予測または分類アルゴリズムを適用して得ようとする。例えば、被操作データ生成部612は、予測または分類アルゴリズムに不用なデータを追加する、または、予測または分類アルゴリズムに有用なデータを除去したり変更したりすることで、整形済データを被操作データに変換する。
【0054】
問題取得部613は、各テーマについての最後のコンペティション問題骨子521を取得する。入力データ設定部614は、コンペティション問題骨子521の入力データを被操作データ生成部612で生成した被操作データに置き換えて、各受講者に特有の入力データを用いたコンペティション問題とする。なお、受講者ごとに異なる被操作データに置き換えることによっても、受講の成果評価が平等になるように調整する。
【0055】
問題評価部441は、被操作データ取得部621と、誤差算出部622と、被操作データ評価部625と、を有する。被操作データ取得部621は、問題生成部431の被操作データ生成部612が生成した被操作データを取得する。誤差算出部622は、本実施形態においては、被操作データを重回帰分析した場合の評価である二乗平均平方根誤差(RMSE)の算出を行う。被操作データ評価部625は、誤差算出部622から出力された対象受講者への問題の入力データの二乗平均平方根誤差を評価する。そして、対象受講者の二乗平均平方根誤差がより大きい場合は、対象受講者に出題されたコンペティション問題の難易度が高くなっているとして、解答の評価時の基準をより低くする。一方、対象受講者の二乗平均平方根誤差がより小さい場合は、対象受講者に出題されたコンペティション問題の難易度が低くなっているとして、解答の評価時の基準をより高くする。なお、誤差算出は、二乗平均平方根誤差(RMSE)に限定されず、平均絶対誤差(MAE)や決定係数R2などの他の評価関数であってもよい。
【0056】
(被操作データ生成部の機能構成および処理手順)
本実施形態の被操作データ生成部612においては、入力データとしての整形済データに対して、行列で表された整形済データの行数および列数をそれぞれN、Mに拡張または縮小する。行数の縮小は、例えば、ランダムサンプリングした任意の行を削除することにより実現できる。また、行数の拡大は、例えば、ランダムサンプリングした任意の行にノイズを付加することにより実現できる。一方、列数の縮小は、例えば、ランダムサンプリングした任意の列を削除することにより実現できる。また、列数の拡大は例えば、ランダムサンプリングした任意の列と一定の相関を示す値を生成することにより実現できる。
【0057】
図7は、本実施形態に係る被操作データ生成部612の機能構成を示すブロック図および処理手順を示すフローチャートである。このフローチャートは、教育支援サーバ310の不図示のCPUがRAMを用いて実行し、被操作データ生成部612の機能構成を実現する。
【0058】
被操作データ生成部612は、次元数変換部721を有する。次元数変換部721は、整形済データ取得部611からの整形済データ722を入力し、入力データ設定部614および問題評価部441に被操作データ723を出力する。
【0059】
被操作データ生成部612は、ステップS701において、入力データとして整形済データを取得する。被操作データ生成部612は、ステップS703において、整形済データの次元数を変換して、被操作データを生成する。そして、被操作データ生成部612は、ステップS705において、出力データとして、生成した被操作データを問題の入力データとして入力データ設定部614と問題評価部441に出力する。
【0060】
(被操作データ生成部への入力データおよび出力データ)
図8は、本実施形態に係る被操作データ生成部612への入力データとしての整形済データ722および出力データとしての被操作データ723の構成を示す図である。なお、
図8には、行や列の拡大の例を示すが、行や列の縮小も同様に可能である。
【0061】
入力データとしての整形済データ722は、予測・分類モデルに入力可能なデータ形式に整形されている。整形済データ722は、小売業における売上予測モデルの生成に使用されるデータ例であり、“売上”を目的変数とし、それ以外の列を説明変数とすることで予測モデルを構築することができる。
【0062】
出力データとしての被操作データ723は、列831や行832が拡大されたデータを示している。
【0063】
(誤差算出部の機能構成)
誤差算出部622および被操作データ評価部625を含む問題評価部441においては、被操作データ生成部612によって生成された被操作データをコンペティション問題の入力データとして使用することを評価する。すなわち、被操作データ生成部612によって生成された被操作データを用いて予測アルゴリズムを適用した際のあらかじめ指定された評価関数による被操作データを用いた評価値を算出して、ベンチマーク精度値とする。本実施形態においては、予測アルゴリズムとして重回帰分析を適用し、評価関数として二乗平均平方根誤差(RMSE:Root Mean Squared Error)を使用する。
図8の例では、売上をターゲット(目的変数)とし、それ以外を説明変数としたときの重回帰分析を適用した際の、RMSEをベンチマークとする。なお、予測アルゴリズムと評価関数は上記例に限定されるものではない。
【0064】
図9は、本実施形態に係る誤差算出部622の機能構成を示すブロック図と、誤差算出、問題評価および成果評価の処理手順を示すフローチャートとである。このフローチャートは、教育支援サーバ310の不図示のCPUがRAMを用いて実行し、問題評価部441および解答判定部443の機能構成を実現する。
【0065】
誤差算出部622は、重回帰分析部921と二乗平均平方根誤差算出部922とを有する。重回帰分析部921は、被操作データ取得部621が被操作データ生成部612から取得した被操作データに基づいて、重回帰分析を行って回帰モデルを生成する。二乗平均平方根誤差算出部922は、重回帰分析部921が生成した回帰モデルによる予測値と被操作データとの誤差を算出して、誤差値を被操作データ評価部625に出力する。
【0066】
問題評価部441の被操作データ取得部621は、ステップS901において、被操作データ生成部612が生成した被操作データを取得する。そして、誤差算出部622は、ステップS903において、被操作データに基づいた重回帰分析の誤差を算出する。ステップS903は、被操作データに基づいた重回帰分析によりモデルを生成するステップS931と、生成されたモデルに基づく予測値と被操作データとの二乗平均平方根誤差を算出するステップS933とを含む。
【0067】
被操作データ評価部625は、ステップS905において、算出された二乗平均平方根誤差の大小に対応して、被操作データを入力データとして含む問題の評価基準を調整する。解答判定部443は、ステップS907において、コンペティション問題に対する受講者による解答を取得する。解答判定部443は、ステップS907において、ステップS905で調整された評価基準に基づいて、受講者による解答を評価判定する。
【0068】
以上に説明したように、簡単に取得可能な生データを整形した整形済データさえあれば、この整形済データに種々の変換アルゴリズムによる操作を加えることにより、それぞれが固有(ユニーク)な被操作データを無数に生成することができる。この被操作データをコンペティション問題の入力データとして用いることで、受講者それぞれに特有のコンペティション問題を簡単に生成することができる。さらに、被操作データを評価することにより、コンペティション問題の難易度を判断することで、受講者の解答を公平公正に評価することも可能になる。
【0069】
本実施形態によれば、整形済データに変換操作による加工を加えた被操作データとして問題に含まれる入力データを生成するので、人材教育におけるプログラミング学習の問題で用いる入力データを効率的に生成することができる。
【0070】
本実施形態によれば、整形済データの列数や行数を拡張または縮小する簡単な処理により、コンペティション問題の異なる入力データとして大量の被操作データを生成できる。また、生成した被操作データのコンペティション問題の難易度への影響を評価できるので、公平公正なコンペティションが実現できる。
【0071】
[第3実施形態]
次に、本発明の第3実施形態に係る教育支援システムについて説明する。本実施形態に係る教育支援システムは、上記第2実施形態と比べると、整形済データから被操作データを生成する処理を、整形済データの欠損率の制御で行う点で異なる。その他の構成および動作は、第2実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【0072】
ここで、欠損率制御(m)は、入力データである整形済データの指定カラムの欠損率mを0.0~1.0で制御する。すなわち、人工的に欠損でないデータを欠損に置換、あるいは、欠損部分をデータで補完する処理を行う。例えば、ランダムに選んだセルを欠損値に置換する処理や、ランダムに選んだ欠損値に他のデータを用いて補間処理を実行することにより実現できる。
【0073】
(被操作データ生成部の機能構成および処理手順)
図10は、本実施形態に係る被操作データ生成部1012の機能構成を示すブロック図および処理手順を示すフローチャートである。このフローチャートは、教育支援サーバ310の不図示のCPUがRAMを用いて実行し、被操作データ生成部1012の機能構成を実現する。なお、
図10において、
図7と同様の構成要素またはステップには同じ参照番号またはステップ番号を付して、重複する説明を省略する。
【0074】
被操作データ生成部1012は、欠損率制御部1021を有する。欠損率制御部1021は、整形済データ取得部611からの整形済データ722を入力し、入力データ設定部614および問題評価部441に被操作データ1023を出力する。
【0075】
被操作データ生成部1012は、ステップS701において、入力データとして整形済データを取得する。被操作データ生成部1012は、ステップS1003において、整形済データに含まれる複数データのうち、ランダムに選んだデータを欠損とし、または、ランダムに選んだ欠損部分をデータで補完することにより欠損率を制御して、被操作データを生成する。すなわち、欠損でないデータを欠損に置換したり、欠損部分をデータで補完したりする。そして、被操作データ生成部1012は、ステップS705において、出力データとして、生成した被操作データを問題の入力データとして入力データ設定部614と問題評価部441に出力する。
【0076】
(被操作データ生成部への入力データおよび出力データ)
図11は、本実施形態に係る被操作データ生成部1012への入力データとしての整形済データ722および出力データとしての被操作データ1023の構成を示す図である。なお、
図11には、欠損でないデータを欠損に置換した例を示すが、欠損部分をデータで補完することも同様に可能である。
【0077】
入力データとしての整形済データ722は、
図8と同様である。出力データとしての被操作データ1023は、欠損でないデータが欠損値1131(NAで示す)に置換されている。
【0078】
本実施形態によれば、整形済データの欠損でないデータを欠損に置換、あるいは、欠損部分をデータで補完する簡単な処理により、コンペティション問題の異なる入力データとして大量の被操作データを生成できる。また、生成した被操作データのコンペティション問題の難易度への影響を評価できるので、公平公正なコンペティションが実現できる。
【0079】
[第4実施形態]
次に、本発明の第4実施形態に係る教育支援システムについて説明する。本実施形態に係る教育支援システムは、上記第2実施形態および第3実施形態と比べると、整形済データから被操作データを生成する処理を、整形済データへのノイズの付加で行う点で異なる。その他の構成および動作は、第2実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【0080】
ノイズ付加は、指定カラムへのランダムノイズを人工的に付加する。例えば、ランダムに選んだセルにランダムな値を付加する処理を実行することにより実現できる。なお、ノイズタイプおよびノイズパラメータとして、分布形およびパラメータの指定も可能である。入力データが文字列であれば、文字列に対する全角化や半角化、改行コードの変換等によりノイズを付加する。
【0081】
(被操作生成部の機能構成および処理手順)
図12は、本実施形態に係る被操作データ生成部1212の機能構成を示すブロック図および処理手順を示すフローチャートである。このフローチャートは、教育支援サーバ310の不図示のCPUがRAMを用いて実行し、被操作データ生成部1212の機能構成を実現する。なお、
図12において、
図7と同様の構成要素またはステップには同じ参照番号またはステップ番号を付して、重複する説明を省略する。
【0082】
被操作データ生成部1212は、ノイズ付加部1221を有する。ノイズ付加部1221は、整形済データ取得部611からの整形済データ722を入力し、入力データ設定部614および問題評価部441に被操作データ1223を出力する。
【0083】
被操作データ生成部1212は、ステップS701において、入力データとして整形済データを取得する。被操作データ生成部1212は、ステップS1203において、整形済データにノイズを付加して、被操作データを生成する。そして、被操作データ生成部1212は、ステップS705において、出力データとして、生成した被操作データを入力データ設定部614と問題評価部441に出力する。
【0084】
(被操作データ生成部への入力データおよび出力データ)
図13は、本実施形態に係る被操作データ生成部1212への入力データとしての整形済データ722および出力データとしての被操作データ1223の構成を示す図である。
【0085】
入力データとしての整形済データ722は、
図8と同様である。出力データとしての被操作データ1223は、列1331のデータのノイズが付加されている。
【0086】
本実施形態によれば、整形済データにノイズを付加する簡単な処理により、コンペティション問題の異なる入力データとして大量の被操作データを生成できる。また、生成した被操作データのコンペティション問題の難易度への影響を評価できるので、公平公正なコンペティションが実現できる。
【0087】
[第5実施形態]
次に、本発明の第5実施形態に係る教育支援システムについて説明する。本実施形態に係る教育支援システムは、上記第2実施形態乃至第4実施形態と比べると、整形済データから被操作データを生成する処理を、整形済データの冗長化により行う点で異なる。その他の構成および動作は、第2実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【0088】
冗長化(Nr, Cr)の処理では、整形済データのターゲット変数に不要なレコードNrを追加する。あるいは、無意味なカラムCrを追加する。例えば、列であればランダムに生成した値を付加する処理、行であれば各列中からランダムに選んだ値を各列の値として付加する処理を実行することにより実現できる。
【0089】
(被操作データ生成部の機能構成および処理手順)
図14は、本実施形態に係る被操作データ生成部1412の機能構成を示すブロック図および処理手順を示すフローチャートである。このフローチャートは、教育支援サーバ310の不図示のCPUがRAMを用いて実行し、被操作データ生成部1412の機能構成を実現する。なお、
図14において、
図7と同様の構成要素またはステップには同じ参照番号またはステップ番号を付して、重複する説明を省略する。
【0090】
被操作データ生成部1412は、冗長化部1421を有する。冗長化部1421は、整形済データ取得部611からの整形済データ722を入力し、入力データ設定部614および問題評価部441に被操作データ1423を出力する。
【0091】
被操作データ生成部1412は、ステップS701において、入力データとして整形済データを取得する。被操作データ生成部1412は、ステップS1603において、整形済データを不要データで冗長化して、被操作データを生成する。そして、被操作データ生成部1412は、ステップS705において、出力データとして、生成した被操作データを入力データ設定部614と問題評価部441に出力する。
【0092】
(被操作データ生成部への入力データおよび出力データ)
図15は、本実施形態に係る被操作データ生成部1412への入力データとしての整形済データ722および出力データとしての被操作データ1423の構成を示す図である。
【0093】
入力データとしての整形済データ722は、
図8と同様である。出力データとしての被操作データ1423は、整形済データ722に対して、行1531や列1532を追加して冗長化した被操作データを生成している。
【0094】
本実施形態によれば、整形済データに所定データ、例えば行や列を追加して冗長化する簡単な処理により、コンペティション問題の異なる入力データとして大量の被操作データを生成できる。また、生成した被操作データのコンペティション問題の難易度への影響を評価できるので、公平公正なコンペティションが実現できる。
【0095】
[第6実施形態]
次に、本発明の第6実施形態に係る教育支援システムについて説明する。本実施形態に係る教育支援システムは、上記第2実施形態乃至第5実施形態と比べると、整形済データから被操作データを生成する処理を、整形済データ中のターゲット変数の分布を変換することにより行う点で異なる。その他の構成および動作は、第2実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【0096】
ターゲット分布の変換において、分類問題の場合はクラスラベルの分布(正例率Pr)を変換する。一方、回帰問題の場合はターゲット変数の分布形およびパラメータを変換する。例えば、分類問題の場合、正例・負例を正例率に合うようにランダムサンプリング処理を実行することにより実現できる。また、回帰問題の場合、Box-cox変換処理(正規分布への変換処理の場合)を実行することにより実現できる。かかる変換処理は変換後の分布形に依存して選択される。
【0097】
(被操作データ生成部の機能構成および処理手順)
図16は、本実施形態に係る被操作データ生成部1612の機能構成を示すブロック図および処理手順を示すフローチャートである。このフローチャートは、教育支援サーバ310の不図示のCPUがRAMを用いて実行し、被操作データ生成部1612の機能構成を実現する。なお、
図16において、
図7と同様の構成要素またはステップには同じ参照番号またはステップ番号を付して、重複する説明を省略する。
【0098】
被操作データ生成部1612は、分布変換部1621を有する。分布変換部1621は、整形済データ取得部611からの整形済データ722を入力し、入力データ設定部614および問題評価部441に被操作データ1623を出力する。
【0099】
被操作データ生成部1612は、ステップS701において、入力データとして整形済データを取得する。被操作データ生成部1612は、ステップS2003において、整形済データ中のターゲット変数の分布を変換して、被操作データを生成する。そして、被操作データ生成部1612は、ステップS705において、出力データとして、生成した被操作データを入力データ設定部614と問題評価部441に出力する。
【0100】
(被操作データ生成部への入力データおよび出力データ)
図17は、本実施形態に係る被操作データ生成部1612への入力データとしての整形済データ722および出力データとしての被操作データ1623の構成を示す図である。
【0101】
入力データとしての整形済データ722は、
図8と同様である。出力データとしての被操作データ1623は、整形済データ722のターゲット変数である“売上”の分布を変換している(1731)。
【0102】
本実施形態によれば、整形済データの正例率を維持しながらクラスまたはラベルの分布を変換したり、整形済データのターゲット変数の分布を変換したりする簡単な処理により、コンペティション問題の異なる入力データとして大量の被操作データを生成できる。また、生成した被操作データのコンペティション問題の難易度への影響を評価できるので、公平公正なコンペティションが実現できる。
【0103】
[第7実施形態]
次に、本発明の第7実施形態に係る教育支援システムについて説明する。本実施形態に係る教育支援システムは、上記第2実施形態乃至第6実施形態と比べると、整形済データから変形操作により未整形データを生成する点で異なる。ここで変形操作とは、整形済データをデータの内容や性質を変化させずに変形した未整形データを生成する処理である。本実施形態においては、この処理を、整形済データのダミー変数をデータに変える非ダミー化により行う。その他の構成および動作は、第2実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【0104】
《教育支援サーバの機能構成》
図18は、本実施形態に係る教育支援サーバ1810の機能構成を示すブロック図である。なお、
図18において、
図4と同じ機能構成には同じ参照番号を付して、重複する説明は省略する。
【0105】
教育支援サーバ1810は、課題設定部1813と、成果判定部1814と、を備える。課題設定部1813は、問題生成部1831を有する。問題生成部1831は、
図4の問題生成部431と異なり、整形済データをデータの内容や性質を変化させずに変形した未整形データをコンペティション問題の入力データとする。したがって、成果判定部1814には、
図4の成果判定部314にあった問題評価部441を有しない。未整形データは、整形済データから内容や性質が変化してないので、元の入力データを含む問題作成時との問題の難易度に変化は見られない。
【0106】
このように、本実施形態の教育支援サーバ1810においては、特に、未整形データを整形済データに整形する問題に対する、受講者の解答能力の成果が判定される。
【0107】
(問題生成部)
図19は、本実施形態に係る問題生成部1831の機能構成を示すブロック図である。なお、
図19において、
図4および
図6と同様の機能構成には同じ参照番号を付して、重複する説明を省略する。
【0108】
問題生成部1831は、未整形データ生成部1912を有する。未整形データ生成部1912は、入力データとして整形済データを入力し、出力データとして未整形データを出力する。受講者はかかる未整形データを入力データとして含むコンペティション問題の解答を予測または分類アルゴリズムを適用して得ようとする。例えば、未整形データ生成部1912は、整形済データにデータの内容や性質を変化させない変形を加えて、コンペティション問題の入力データとしての未整形データを生成する。
【0109】
(未整形データ生成部の機能構成および処理手順)
図20は、本実施形態に係る未整形データ生成部1912の機能構成を示すブロック図および処理手順を示すフローチャートである。このフローチャートは、教育支援サーバ310の不図示のCPUがRAMを用いて実行し、未整形データ生成部1912の機能構成を実現する。なお、
図20において、
図7と同様の構成要素またはステップには同じ参照番号またはステップ番号を付して、重複する説明を省略する。
【0110】
未整形データ生成部1912は、非ダミー化部2021を有する。非ダミー化部2021は、整形済データ取得部611からの整形済データ722を入力し、入力データ設定部614および問題評価部441に未整形データ2023を出力する。
【0111】
未整形データ生成部1912は、ステップS701において、入力データとして整形済データを取得する。未整形データ生成部1912は、ステップS2003において、整形済データのダミー変数を非ダミー化して、未整形データを生成する。そして、未整形データ生成部1912は、ステップS705において、出力データとして、生成した未整形データを入力データ設定部614と問題評価部441に出力する。
【0112】
(未整形データ生成部への入力データおよび出力データ)
図21は、本実施形態に係る未整形データ生成部1912への入力データとしての整形済データ722および出力データとしての未整形データ2023の構成を示す図である。
【0113】
入力データとしての整形済データ722は、
図8と同様である。出力データとしての未整形データ2023は、整形済データ722の“晴れ”、“雨”、“曇り”の3つのダミー変数を、1変数の“天気”2131に非ダミー化している。
【0114】
本実施形態によれば、整形済データのダミー変数をデータに変換して非ダミー化する簡単な処理により、コンペティション問題の異なる入力データとして大量の未整形データを生成できる。
【0115】
[第8実施形態]
次に、本発明の第8実施形態に係る教育支援システムについて説明する。本実施形態に係る教育支援システムは、上記第7実施形態と比べると、整形済データから未整形データを生成する処理を、整形済データの分割化、特にテーブルの分割化により行う点で異なる。その他の構成および動作は、第2実施形態および第7実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【0116】
テーブル分割化(Nd, Cd)では、入力データを複数(Nd, Cd)のテーブルに分割する。その際に、プライマリーキーを生成して結合性を担保する。例えば、SQLにおける、"inner join", "outer join"等の結合方法指定に対応した分割も可能である。
【0117】
(未整形データ生成部の機能構成および処理手順)
図22は、本実施形態に係る未整形データ生成部2212の機能構成を示すブロック図および処理手順を示すフローチャートである。このフローチャートは、教育支援サーバ310の不図示のCPUがRAMを用いて実行し、未整形データ生成部2212の機能構成を実現する。なお、
図22において、
図7と同様の構成要素またはステップには同じ参照番号またはステップ番号を付して、重複する説明を省略する。
【0118】
未整形データ生成部2212は、データ分割部2221を有する。データ分割部2221は、整形済データ取得部611からの整形済データ722を入力し、入力データ設定部614および問題評価部441に未整形データ2223を出力する。
【0119】
未整形データ生成部2212は、ステップS701において、入力データとして整形済データを取得する。未整形データ生成部2212は、ステップS1803において、整形済データを複数ブロックに分割して、未整形データを生成する。整形済データがテーブルの場合は、プライマリーキーを生成してテーブルを分割する。そして、未整形データ生成部2212は、ステップS705において、出力データとして、生成した未整形データを入力データ設定部614と問題評価部441に出力する。
【0120】
(未整形データ生成部への入力データおよび出力データ)
図23は、本実施形態に係る未整形データ生成部2212への入力データとしての整形済データ722および出力データとしての未整形データ2223の構成を示す図である。
【0121】
入力データとしての整形済データ722は、
図8と同様である。出力データとしての未整形データ2223は、行IDをプライマリーキーにし、整形済データ722を3つのテーブル2321~2323に分割して未整形データを生成している。なお、プライマリーキーはIDのような明示的なものでなく、文字列等の値でもよい。
【0122】
本実施形態によれば、整形済データからプライマリーキーを生成して、整形済データを複数のブロックに分割する簡単な処理により、コンペティション問題の異なる入力データとして大量の未整形データを生成できる。
【0123】
[第9実施形態]
次に、本発明の第9実施形態に係る教育支援システムについて説明する。本実施形態に係る教育支援システムは、上記第2実施形態乃至第8実施形態と比べると、第2実施形態から第8実施形態で示した、整形済データから被操作データや未整形データへの種々の生成方法を、選択可能にした点で異なる。その他の構成および動作は、第2実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【0124】
(問題生成部の機能構成)
図24は、本実施形態に係る問題生成部2431の機能構成を示すブロック図である。なお。
図24において、
図6の問題生成部431と同様の構成要素には同じ参照番号を付して、重複する説明を省略する。
【0125】
問題生成部2431は、アルゴリズム選択部2410と、入力データ生成部2412とを有する。アルゴリズム選択部2410は、選択テーブル2411を有し、第2実施形態から第8実施形態で示した整形済データから被操作データや未整形データへの種々の変換アルゴリズムや変形操作から少なくとも1つを選択して、入力データ生成部2412に提供する。入力データ生成部2412は、選択された変換アルゴリズムや変形操作を用いて、整形済データから被操作データや未整形データをコンペティション問題の入力データとして生成する。
【0126】
(選択テーブル)
図25は、本実施形態に係る選択テーブル2411の構成を示す図である。選択テーブル2411は、アルゴリズム選択部2410が整形済データから被操作データや未整形データへの変換アルゴリズムや変形操作の少なくとも1つを選択するために使用される。
【0127】
選択テーブル2411は、変換アルゴリズムID2511に対応付けて、変換アルゴリズムの内容2512と、解答判定に用いられるデータ変換の評価の要否2513と、それぞれの変換アルゴリズムを使用するか否かの使用/不使用フラグ2514と、を記憶する。
【0128】
(入力データ生成部への入力データおよび出力データ)
図26は、本実施形態に係る入力データ生成部2412への入力データとしての整形済データ722および出力データとしての、コンペティション問題への入力データ2423の構成を示す図である。
【0129】
入力データとしての整形済データ722は、
図8と同様である。出力データとしてのコンペティション問題への入力データ2423は、欠損でないデータが欠損値1131(NAで示す)に置換されている。さらに、行IDをプライマリーキーにし、欠損でないデータが欠損値1131に置換されたデータを3つのテーブル2321、2622および2623に分割してコンペティション問題への入力データ2423を生成している。
【0130】
なお、本実施形態においては、欠損率制御とデーブル分割との組み合わせを説明したが、
図25に示される変換アルゴリズムや変形操作の様々な組み合わせにより、簡単に多様なコンペティション問題への入力データを生成することができる。
【0131】
本実施形態によれば、予測または分類アルゴリズム、あるいは、整形済データに適した変換アルゴリズムや変形操作を選択して、整形済データから被操作データや未整形データへの変換ができるので、より公平公正なコンペティションを実現することができる。
【0132】
[他の実施形態]
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の技術的範囲で当業者が理解し得る様々な変更をすることができる。また、それぞれの実施形態に含まれる別々の特徴を如何様に組み合わせたシステムまたは装置も、本発明の技術的範囲に含まれる。
【0133】
また、本発明は、複数の機器から構成されるシステムに適用されてもよいし、単体の装置に適用されてもよい。さらに、本発明は、実施形態の機能を実現する情報処理プログラムである教育支援プログラムが、システムあるいは装置に供給され、内蔵されたプロセッサによって実行される場合にも適用可能である。したがって、本発明の機能をコンピュータで実現するために、コンピュータにインストールされるプログラム、あるいはそのプログラムを格納した媒体、そのプログラムをダウンロードさせるWWW(World Wide Web)サーバも、プログラムを実行するプロセッサも本発明の技術的範囲に含まれる。特に、少なくとも、上述した実施形態に含まれる処理ステップをコンピュータに実行させるプログラムを格納した非一時的コンピュータ可読媒体(non-transitory computer readable medium)は本発明の技術的範囲に含まれる。