(57)【要約】【課題】学習者に対して、指導者がアプリケーションを利用して実施する教育、あるいはコンピュータのプログラミングの教育、コンピュータの操作方法の教育、ネットワークで接続された機器に対する教育等を行う際に提供可能な、音声発生装置を用いた教育支援方法、システムおよびその装置を提供することである。【解決手段】  複数のユーザー９ａ〜９ｆが使用するアプリケーション端末８をネットワーク７やサーバー側ネットワーク１２を介してエラー情報管理サーバー２に接続する。エラー情報管理サーバー２やロボット制御コンピュータ３で、ユーザー９がアプリケーションを誤使用することにより発生するエラーの解決方法を生成して、ロボット６に発話させる。【選択図】図１
2010231580.tif 000002
【特許請求の範囲】
【請求項１】
複数の電子機器が通信網で接続された環境を持ち、各電子機器はそれぞれ入力手段を備えると共に同一又は互換性のあるソフトウェアを使用して所定の作業を実行可能であり、作業者が前記入力手段を操作して電子機器に行った入力に誤りがあった場合、或いは電子機器の操作に誤りがあった場合に、前記誤りがあった事実或いは誤りに対する対処方法の少なくともいずれかを通知又は示唆する教育支援システムであって、
前記誤りを検出するエラー情報検出手段と、誤りの内容、解説、対処方法あるいはこれらを示唆する情報の少なくともいずれかを記憶するエラー情報データベースと、音声データ作成手段と、音声を発する音声発生装置とを有し、エラー情報検出手段で検出された誤りに対応する情報をエラー情報データベースから選択し、その情報に基づいて音声データ作成手段で音声データを作成し、音声発生装置から音声を発することを特徴とする教育支援システム。
【請求項２】
前記ソフトウェアはプログラム作成用ソフトウェアであり、ソフトウェアに入力された信号に対してコンパイルを実行するコンパイル実行手段を備え、前記ソフトウェアに入力された信号に誤りがある場合、コンパイル実行時にエラーメッセージを出力するエラーメッセージ出力手段を備え、教育支援システムは、エラーメッセージの翻訳の作成、解説の作成、対処方法の作成の少なくともいずれかを実行するエラー関連情報作成手段を備え、エラー関連情報作成手段によって作成された情報をエラー情報データベースに蓄積可能であることを特徴とする請求項１に記載の教育支援システム。
【請求項３】
前記ソフトウェアはプログラム作成用ソフトウェアであり、ソフトウェアに入力された信号に対してコンパイルを実行するコンパイル実行手段を備え、前記ソフトウェアに入力された信号に誤りがある場合、コンパイル実行時にエラーメッセージを出力するエラーメッセージ出力手段を備え、教育支援システムは、エラーメッセージを翻訳すると共に翻訳内容からエラーの内容を解説する解説文作成手段あるいは対処方法を作成する対処方法作成手段の少なくともいずれかを備えることを特徴とする請求項１又は２に記載の教育支援システム。
【請求項４】
前記翻訳、解説、対処方法の少なくともいずれかに対応する音声データを記憶する発話情報データベースを有し、前記音声データ作成手段は、前記発話情報データベースに記憶された情報を利用して音声データを作成することを特徴とする請求項２又は３に記載の教育支援システム。
【請求項５】
電子機器で使用されるソフトウェアは、所定の作業を実行するための情報を確定する操作を実行可能であり、前記ソフトウェアには前記操作を実行していない仮入力状態と、前記操作を経た本入力状態があり、前記エラー情報検出手段は仮入力状態の段階、本入力状態の段階の少なくともいずれかの段階で前記誤りを検出可能であることを特徴とする請求項１乃至４のいずれかに記載の教育支援システム。
【請求項６】
音声発生装置は、何らかの形を模した外形形状を呈していることを特徴とする請求項１乃至５のいずれかに記載の教育支援システム。
【請求項７】
前記音声発生装置が音声を出力する際に、動作又は／及び外見の変化を伴うことを特徴とする請求項１乃至６のいずれかに記載の教育支援システム。
【請求項８】
音声発生装置は、表示画面を有し、当該表示画面に何らかの形を模した外形形状のものが映し出され、当該外形形状のものが話す如くに演出されていることを特徴とする請求項１乃至７のいずれかに記載の教育支援システム。
【請求項９】
前記音声発生装置が音声を出力する際に、前記外形形状のものが動作する又は／及び表情が変化するが如くに演出されていることを特徴とする請求項８に記載の教育支援システム。
【請求項１０】
作業者が前記入力手段を操作して電子機器に入力する際に入力の誤り或いは操作の誤りを犯した場合に、当該誤りを犯した作業者が、所定時間内に同一の誤りを犯したか否かを判別する情報分析手段を備え、
前記情報分析手段が、所定時間内に同一の作業者が同一の誤りを犯したと判別すると、音声発生装置に音声を発生させないことを特徴とする請求項１乃至請求項９のいずれかに記載の教育支援システム。
【請求項１１】
前記音声発生装置が複数設けられ、複数の音声発生装置による音声の出力順を制御する行動制御手段が設けられたことを特徴とする１乃至１０のいずれかに記載の教育支援システム。
【請求項１２】
請求項１乃至１１のいずれかに記載の教育支援システムを用いることを特徴とする教育支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ上で動作するアプリケーションを利用して実施する教育、あるいはコンピュータのプログラミングの教育、コンピュータの操作方法の教育、ネットワークで接続された機器の操作方法の教育等において、学習者に対する教育を支援する教育支援システム、及び教育支援方法に関するものである。
【背景技術】
【０００２】
従来、教育を実施する際の指導者の負担を軽減したり、学習者の理解を促進したりすることで教育の効率化を図るためのシステムが様々な教育に対して活用されている。
例えば、教師（指導者）が複数の生徒（学習者）に対して行う巡回指導の負担を軽減するシステムとして、教師の操作と生徒の操作を相互に視覚的に確認できるシステムがある。教師の画面（ディスプレイ表示画面）を手本として生徒の画面（ディスプレイ表示画面）に表示させて生徒の理解を促し、生徒の画面を教師の画面に表示させて教師が生徒の理解の程度を確認し、また、教師が巡回指導中に理解の程度を確認しなかった生徒を特定することで、巡回指導後の確認作業を容易にするシステムが特許文献１に開示されている。
【０００３】
また、学習者の理解を促進するシステムとして、ロボットに解決方法を説明させるシステムがある。例えば、ユーザーがコンピュータ上でソフトウェアを使用中に、ソフトウェアの使用方法に疑問を抱いた際に、ロボットに質問し、ロボットが質問の内容に答えることで疑問を解決するシステムが、非特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−３３７３２号公報
【非特許文献】
【０００５】
【非特許文献１】「ロボットを用いた対話インタフェースにおけるサービス実行理由説明機能」  情報処理学会ヒューマンインタフェース研究会（ＨＩ）  Ｖｏｌ２００６−ＨＩ−１１７  Ｎｏ１５  ｐｐ．１０３−１１０  （２００５）
【０００６】
しかし、特許文献１に記載しているシステムは、教師が生徒全員の操作画面を確認する必要がある。したがって、巡回指導中に操作画面の確認を受けなかった生徒を特定することで確認作業を効率化しているが、なお、確認作業の作業量は膨大であるという問題がある。
【０００７】
また、非特許文献１に記載しているシステムは、疑問を解決するために、生徒が質問しなければならず、質問するために生徒は疑問点を整理する必要がある。したがって、生徒自身がどこに問題があるか理解できない場合（例えば、プログラムの作成方法を教育する場合であれば、英語でエラーメッセージが表記される場合や、エラーメッセージの出力文の見た目やフォーマットが一定でないため内容を理解できない場合等）、適切な質問をすることができないという問題がある。
さらにまた、生徒による質問が困難な場合、即ち生徒が低年齢（例えば小学生）である場合や、発話障害者である場合などに疑問の解決が難しいという問題がある。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
そこで本発明は、指導者が所定の結果が得られない学習者を容易に把握可能な環境を提供することで、指導者の巡回指導の負担を軽減することが可能であり、また、学習者が所定の結果の得るために行った入力や操作の誤りを検出し、その誤りの解決方法を通知又は示唆することにより、学習者による自発的な質問が無くても、学習者の理解を促進することができる教育支援システム又は教育支援方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するための本発明の一態様は、複数の電子機器が通信網で接続された環境を持ち、各電子機器はそれぞれ入力手段を備えると共に同一又は互換性のあるソフトウェアを使用して所定の作業を実行可能であり、作業者が前記入力手段を操作して電子機器に行った入力に誤りがあった場合、或いは電子機器の操作に誤りがあった場合に、前記誤りがあった事実或いは誤りに対する対処方法の少なくともいずれかを通知又は示唆する教育支援システムであって、前記誤りを検出するエラー情報検出手段と、誤りの内容、解説、対処方法あるいはこれらを示唆する情報の少なくともいずれかを記憶するエラー情報データベースと、音声データ作成手段と、音声を発する音声発生装置とを有し、エラー情報検出手段で検出された誤りに対応する情報をエラー情報データベースから選択し、その情報に基づいて音声データ作成手段で音声データを作成し、音声発生装置から音声を発することを特徴とする教育支援システムである。
【００１０】
本発明の一態様では、作業者が犯した誤りをエラー情報検出手段が検出し、誤りの対処方法や誤りがあった事実を報知するので、誤りを犯した作業者が自発的に質問しなくても、誤りに対処するための情報が提供される。そのため、作業者は自身が犯した誤りの疑問点を整理することなく誤り（問題）の解決を図ることができる。
また、誤りを解決するための情報を、音声を発することにより報知するため、誤った入力（又は操作）を行った作業者（学習者）のみならず、周囲の人間（他の作業者や監督者、指導者等）も、誤った入力を行った作業者の存在と、誤りの内容を把握できる。そのため、誤った入力を行った作業者が、報知された情報から自身が行った誤りを正すことができなかった場合においても、周囲の人間がその作業者に解決方法を指導することができる。してみると、指導者や監督者は全員分の入力を確認することなく、問題を抱える作業者（学習者）を特定することができる。
【００１１】
ここで定義した、「電子機器」の代表的なものとして、パーソナルコンピュータに代表されるＣＰＵを内蔵したコンピュータが挙げられる。なお、携帯電話機等の他の機器とネットワークを構築できる装置についても「電子機器」として活用することができる。
さらにまた、ここの「互換性のあるソフトウェア」とはＶｉｓｕａｌ  Ｓｔｕｄｉｏ  ．ＮＥＴ（マイクロソフト  コーポレーション社製のソフトウェア）とＶｉｓｕａｌ  Ｓｔｕｄｉｏ  ．ＮＥＴ  ２００３（マイクロソフト  コーポレーション社製のソフトウェア）の様にバージョンが異なるが大部分の機能を共通して備えているソフトウェアや、Ｗｉｎｄｏｗｓ（マイクロソフト  コーポレーションの登録商標）に実装されているメモ帳と秀丸エディタ（有限会社サイトー企画の登録商標）のように別個のソフトウェアであるが、機能が極めて近いものが挙げられる
【００１２】
さらに、ここで述べた入力とは、マウスやキーボード等の入力装置を操作してアプリケーションに対してコマンド等を送信することであり、電気的な信号が送信されることである。さらに、「入力に誤りがあった場合、或いは操作に誤りがあった場合」とは、電子機器が読み取りやコンパイルを実施できない入力である場合や、入力操作自体が誤りである場合、入力した数値等に上下限等の制限があり、この制限を越えているような場合が想定される。
例えば、プログラム作成用ソフトウェアを使用してコンピュータプログラムを作成する場合の教育支援として本発明を活用する場合であるならば、コンピュータに入力するプログラム言語や文法、法則に誤りがある様な場合を、「入力に誤りがあった場合、或いは操作に誤りがあった場合」に含ませることができる。より具体的には、英文小文字のみで入力すべきところに英文大文字や仮名、数字を混合して記述してしまった場合である。あるいはカンマやコロン等で区切るべき法則があるにも係わらず区切っていない場合、文法上、特定の場所に使用しなければならない文字やコマンドが欠落している様な場合を、「入力に誤りがあった場合、或いは操作に誤りがあった場合」に含ませることができる。
【００１３】
本発明を情報検索端末（従来周知のソフトウェアを搭載した電子機器の一つ）等の教育支援に活用する場合も同様であり、入力する言語（日本語、英語等）や文法、法則に誤りがある様な場合を、「入力の誤り或いは操作の誤り」に含ませることができる。
【００１４】
また前述の「操作自体が誤りである場合」とは、エンターキーや特定のファンクションキーあるいはスイッチボタンを押すべきであるにも係わらず、文字キーや誤ったファンクションキーを押してしまった様な場合である。
【００１５】
さらに、「入力した数値等に上下限等の制限があり、この制限を越えているような場合が想定される」場合とは、例えば生年月日を西暦で入力すべきところ、未来の年月を入力した場合や、株取引の売買端末（既存のソウトウェアを搭載した電子機器の一つ）等の教育支援に活用する場合に、過大或いは過小な指値を入力する様な場合が考えられる。
【００１６】
本発明の第二の態様は、前記ソフトウェアはプログラム作成用ソフトウェアであり、ソフトウェアに入力された信号に対してコンパイルを実行するコンパイル実行手段を備え、前記ソフトウェアに入力された信号に誤りがある場合、コンパイル実行時にエラーメッセージを出力するエラーメッセージ出力手段を備え、教育支援システムは、エラーメッセージの翻訳文の作成、解説文の作成、エラー対処方法の作成の少なくともいずれかを実行するエラー関連情報作成手段を備え、エラー関連情報作成手段によって作成された情報をエラー情報データベースに蓄積可能であることを特徴とする請求項１に記載の教育支援システムである。
【００１７】
本発明の第二の態様では、本発明をコンピュータのプログラミングの教育に用いることでプログラミングの教育を効率良く実施できる。
具体的に説明すると、コンピュータのプログラム作成用ソフトウェアでプログラムを作成する際に、作成者（作業者）が犯してしまうエラー（誤り）は、ソースコードやコマンドの記述ミス、外部ソフトウェアの参照ミス等多岐にわたるため、エラーに対応するエラーメッセージ（誤りの内容についての表示）の表示形式が一定でない。さらに、エラーメッセージが英語等の日本人が日常的に使用していない言語で表示される場合がある。したがって、それらの理由により作成者がエラーの内容を理解するのが困難である。また、指導者は、前述した様に作成者が犯してしまうエラーが多岐にわたるため、複数の作成者に対して同じ内容の指導を行う集団指導の実施が難しいため、各作成者の元へ巡回して個別指導を行う必要があり、負担が大きい。
【００１８】
しかし、本発明を用いると、上記したように作成者は問題点を整理することなく、エラーの解決方法、または解決方法に準じる情報の提供を受けることができるので、自身が発生させたエラーについての理解が容易になり、それにより作成者のプログラミング技術の習得が効率化する。また、上述した通り指導者はエラーを発生させた作成者の存在と、エラーの内容を把握可能であり、作成者全員分のソースコード（コマンド）等の記述内容を確認する必要がないため、巡回指導の負担が軽減する。さらに、軽微なエラーであればシステムがもたらす情報により、作成者が自発的に解決するので指導の負担も軽減する。すなわち、プログラムの教育においてその性質上発生する問題点を解決することができる。
【００１９】
さらに、本発明の第二の態様では、エラー関連情報作成手段がエラーメッセージの翻訳文の作成、解説文の作成、エラー対処方法の説明文の作成の少なくともいずれかを実行することにより、作成者がより解り易い表現にエラーメッセージが変換される。そのことで、作業者の理解が促進される効果がより顕著になる。また、エラー関連情報作成手段によって作成された情報をエラー情報データベースに蓄積可能であるため、同じ翻訳文、解説文、エラーの対処方法の説明文を作成しなくてもよい。そのことにより、教育支援システムが効率良く動作可能となる。
また、ここで述べたコンパイル実行手段とはソースコード（コマンド）等のプログラム作成に必要な情報に対して、抽出や取り込みなどを行い、それらをオブジェクトコード（マシン語で記述されたプログラム）に変換する手段のことを指す。
またさらに、ここで述べた「ソフトウェアに入力された信号」とは、記述したソースコード（コマンド）、開発環境（プログラム作成用ソフトウェア）上で設定したランタイム（プログラムが参照するソフトウェア）等を含む、マウス、キーボード等の入力手段から入力した電気的な信号による記録全般を指す。
【００２０】
本発明の第三の態様は、前記ソフトウェアはプログラム作成用ソフトウェアであり、ソフトウェアに入力された信号に対してコンパイルを実行するコンパイル実行手段を備え、前記ソフトウェアに入力された信号に誤りがある場合、コンパイル実行時にエラーメッセージを出力するエラーメッセージ出力手段を備え、教育支援システムは、エラーメッセージを翻訳すると共に翻訳内容からエラーの内容を解説する解説文作成手段あるいは対処方法を作成する対処方法作成手段の少なくともいずれかを備えることを特徴とする請求項１又は２に記載の教育支援システムである。
【００２１】
本発明の第三の態様では、前述した様に本発明をプログラミングの教育に用いることでプログラミングの教育を効率良く実施できる。さらに、エラーメッセージを翻訳すると共に翻訳内容からエラーの内容を解説する解説文作成手段あるいは対処方法を作成する対処方法作成手段の少なくともいずれかを備えることにより、外国語で出力されたメッセージが自然な自国語で記述された解説文又は、対処方法の説明文に変換されるため、作業者がエラーの内容を理解しやすい。
なお、ここで述べたソフトウェアに入力された信号も、前述した様に入力手段で入力した電気的な信号による記録全般を指す。
【００２２】
本発明の第四の態様は、前記翻訳、解説、対処方法の少なくともいずれかに対応する音声データを記憶する発話情報データベースを有し、前記音声データ作成手段は、前記発話情報データベースに記憶された情報を利用して音声データを作成することを特徴とする請求項２又は３に記載の教育支援システムである。
【００２３】
本発明の第四の態様では、発話情報データベースに記憶された情報を利用して音声データを作成することにより、音声データを毎回作成しなくてもよいので、教育支援システムが効率良く動作可能となる。
【００２４】
本発明の第五の態様は、電子機器で使用されるソフトウェアは、所定の作業を実行するための情報を確定する操作を実行可能であり、前記ソフトウェアには前記操作を実行していない仮入力状態と、前記操作を経た本入力状態があり、前記エラー情報検出手段は仮入力状態の段階、本入力状態の段階の少なくともいずれかの段階で前記誤りを検出可能であることを特徴とする請求項１乃至４のいずれかに記載の教育支援システムである。
【００２５】
本発明の第五の態様では、仮入力状態でも誤りを検出可能であるため、所定の作業を実行する前の段階で入力の誤りを検出することができる。即ち、電子機器の使用者が自身で認識していない誤り（将来的に誤りとなる入力）を検出することができる。そのため、電子機器の使用者が将来発生させる誤りを一早く察知して、適切な教育を行うことができる。
具体的に説明すると、ソフトウェアがプログラム開発ソフトウェアである場合、仮入力状態とはコンパイルを実行しないままソースコード（コマンド）等をエディタに記述している段階である。通常、コンパイルを実行することで、コマンドやソースコード中の記述の誤り等が検出されるものであるが、本発明の第五の態様よれば、コンパイルを実行する前にそれ等の記述の誤りが検出される。
【００２６】
本発明の第六の態様は、音声発生装置は、何らかの形を模した外形形状を呈していることを特徴とする請求項１乃至５のいずれかに記載の教育支援システムである。
【００２７】
本発明の第六の態様では、音声発生装置は何らかの形を模した外形形状を呈している。ここで、「何らかの形を模した外形形状」のとは、実在または空想上の人物、動物、精霊、植物等である。空想上の人物とは例えば漫画や小説の主人公等であり、空想上の動物、精霊とは例えば竜や怪獣、妖怪変化等である。空想上の植物とは例えば喋る花であるとか人食い植物である。音声発生装置がこれらの形状であることで、あたかも、作業者は人又は擬人的なものから誤りを指摘されている様な感覚に陥るため、作業者（学習者）がシステムに親しみやすくなる。
【００２８】
本発明の第七の態様は、前記音声発生装置が音声を出力する際に、動作又は／及び外見の変化を伴うことを特徴とする請求項１乃至６のいずれかに記載の教育支援システムである。
【００２９】
本発明の第七の態様では、前記音声発生装置が音声を出力する際に、動作や外見の変化を伴うため、聴覚のみならず視覚的にも解決方法やそれに準ずる情報を通知又は示唆する。したがって、音声のみを出力する場合と比べて、作業者の誤りについての理解が容易になる。
例えば、ロボットの形状を模した音声発生装置が音声を発する際に、身振り、手振り、頭部動作、表情変化などを行えば、音声発生装置が音声を発するのみの場合と比べて、発生した誤りの内容や、誰に向けて誤りの解決方法を提示しているのか等が、視覚的に認識することができる。そのことから、解決方法を提示された作業者はその音声の内容をより強く意識するので、誤りに対する理解が促進する。
【００３０】
本発明の第八の態様は、音声発生装置は、表示画面を有し、当該表示画面に何らかの形を模した外形形状のもの（映像）が映し出され、当該外形形状のもの（映像）が話す如くに演出されていることを特徴とする請求項１乃至７のいずれかに記載の教育支援システムである。
【００３１】
本発明の第八の態様では、音声発生装置が表示画面を有し、表示画面には何らかの形を模した外形形状のものが映し出される。そのため、本発明の教育システムを用いて、大規模な教室等で多人数の学習者に対して教育を行う場合等において、大きな表示画面に前記外形形状のものを映し出すと、何らかの形を模した外形形状の音声発生装置を複数台設けて、それぞれの音声発生装置に解決方法等を提示する学習者を割り当てた場合に比べて、本発明を導入するコストを抑えることができる。
また、ここで「外形形状のものが話す如くに演出されている」とは、例えば聖徳太子やピーターパンが教育受講者に話しかける様に音声と動作とが同期している様な構成である。
【００３２】
本発明の第九の態様は、前記音声発生装置が音声を出力する際に、前記外形形状のものが動作する又は／及び表情が変化するが如くに演出されていることを特徴とする請求項８に記載の教育支援システムである。
【００３３】
本発明の第九の態様では、音声発生装置が音声を出力する際に、映し出された外形形状のものが動作する又は／及び表情が変化するが如くに演出されているので、作業者に視覚的にエラーの解決方法やそれに準ずる情報を通知又は示唆することができる。それにより、作業者の理解を促進することができる。
【００３４】
本発明の第十の態様は、作業者が前記入力手段を操作して電子機器に入力する際に入力の誤り或いは操作の誤りを犯した場合に、当該誤りを犯した作業者が、所定時間内に同一の誤りを犯したか否かを判別する情報分析手段を備え、前記情報分析手段が、所定時間内に同一の作業者が同一の誤りを犯したと判別すると、音声発生装置に音声を発生させないことを特徴とする請求項１乃至請求項９のいずれかに記載の教育支援システムである。
【００３５】
本発明の第十の態様では、予め決められた時間内に同種の誤りが発生していた場合、同じ誤りの解決方法を通知又は示唆しないため、作業者が誤りを指摘されて慌てる等の理由で同種の誤りを繰り返すことにより、音声発生装置が同じ音声を繰り返し発することを防ぐ。したがって、音声発生装置が他のエラーに対応した音声を発することが遅れたり、当該音声が騒音となって他の作業者の邪魔になる等の事態の発生を回避できる。そのため、本発明の教育支援システムをより有効に活用することができる。
【００３６】
本発明の第十一の態様は、前記音声発生装置が複数設けられ、複数の音声発生装置による音声の出力順を制御する行動制御手段が設けられたことを特徴とする１乃至１０のいずれかに記載の教育支援システムである。
【００３７】
本発明の第十一の態様では、音声発生装置が複数台設けられ、複数の音声発生装置による音声の出力順を制御する行動制御手段が設けられているため、複数の音声発生装置が同時に音声を発することにより音声の内容が聞き取りにくくなるのを回避できる。したがって、音声発生装置を複数台設けて、それぞれの音声発生装置に担当する作業者を割り当てて本発明の教育支援システム使用する場合等に、本発明をより有効に使用することができる。
【００３８】
本発明の第十二の態様は、請求項１乃至１１のいずれかに記載の教育支援システムを用いることを特徴とする教育支援方法である。
【００３９】
本発明の第十二の態様の教育支援方法は、上記各請求項に記載の教育支援システムを使用して実施されるものであるため、従来の教育支援方法に比べて、教育を実施する者の負担がより軽減される上に、教育を受ける者の教育内容への理解が促進される教育環境を提供することができる。
【発明の効果】
【００４０】
本発明によれば、作業者が犯した誤りをエラー情報検出手段が検出し、解決方法やそれに準ずる情報を報知するので、誤りを犯した作業者が自発的に質問しなくても、解決するための情報が提供される。そのため、作業者は自身が犯した誤りの疑問点を整理することなく誤り（問題）の解決を図ることができるという効果がある。
また、誤りを解決するための情報を、音声を発することにより報知するため、誤った入力（又は操作）を行った作業者（学習者）のみならず、周囲の人間（他の作業者や監督者、指導者等）にも、誤った入力を行った作業者の存在と、誤りの内容を把握できる。したがって、誤った入力を行った作業者が、誤りを解決するための情報から自身が行った誤りを正すことができなかった場合においても、周囲の人間がその作業者に解決方法を指導することができる。してみると、指導者や監督者は全員分の入力を確認することなく、問題を抱える作業者（学習者）を特定することができるため、指導者の負担が軽減するという効果がある。
【図面の簡単な説明】
【００４１】
【図１】本発明の一実施形態にかかる教育支援システムの構成を概念的に示した説明図である。
【図２】エラー情報管理サーバーの構成を概念的に示した説明図である。
【図３】ロボット制御コンピュータの構成を概念的に示した説明図である。
【図４】クライアント機の構成を概念的に示した説明図である。
【図５】エラー情報検出システムにより、エラーを検出して、情報を送信する際の一例を示すフローチャートである。
【図６】エラー情報作成システムにより、作成又は取得したエラーに対応する解決方法を含むエラー情報をデータベースに蓄積し、送信する際の一例を示すフローチャートである。
【図７】発話情報作成システムにより、ロボットに行動情報を送信する際の一例を示すフローチャートである。
【図８】クライアント機の一実施形態を示した斜視図である。
【図９】教育支援システムで用いるデータの作成の流れを示す説明図である。
【図１０】作成者が誤りを犯さなかった場合のソースコードを示す説明図である。
【図１１】作成者が誤りを犯したソースコードを示す説明図である。
【発明を実施するための形態】
【００４２】
本発明の一実施形態にかかる教育支援システム、並びに教育支援方法の提供方法について図面を参照しながら詳細に説明する。図１は、本実施形態の教育支援システム１の構成の概略を示す概念図である。図１に示す様に、教育支援システム１はネットワーク７とサーバー側ネットワーク１２（各々請求項における通信網に相当）を有し、ネットワーク７内に発声機能を持つロボット６（請求項における音声発生装置に相当し、漫画や映画等に登場する概念的なロボットを模した形状をしており、図１では符号６ａ、６ｂで示す）、クライアント機８（請求項における電子機器に相当し、図１では符号８ａ〜８ｆで示す）を備え、サーバー側ネットワーク１２内に、エラー情報管理サーバー２、ロボット制御コンピュータ３、エラー情報データベース４、発話情報データベース５を備えており、サーバー側ネットワーク１２とネットワーク７が互いにデータを送受信可能な状態で接続されている。そして、各クライアント機８をユーザー９（請求項における作業者に相当し、図１では符号９ａ〜９ｆで示す）が使用している。
【００４３】
サーバー側ネットワーク１２は、エラー情報管理サーバー２や、ロボット制御コンピュータ３、エラー情報データベース４、発話情報データベース５等を構内通信網（ＬＡＮ）等の通信網を介して互いにデータを送受信可能に接続して構成されている。
【００４４】
ネットワーク７は、サーバー側ネットワーク１２の外部に設けられた広域通信網（ＷＡＮ）や構内通信網（ＬＡＮ）等の通信網である。また、ネットワーク７にはロボット６がデータを受信可能な状態で接続され、また、クライアント機８がデータを送信可能な状態で接続されている。
なお、ここで用いる通信網は、その形態や規格、伝送速度等は任意のものでよい。例えば、光ファイバーケーブルやツイストペアケーブル等のＬＡＮケーブル等を用いる有線通信を用いてもよいし、電波や赤外線等による無線通信を用いてもよい。即ち、本発明の教育支援システムが使用するデータが送信又は受信可能であればよい。
【００４５】
図１に示す通り、エラー情報管理サーバー２は、サーバー側ネットワーク１２とネットワーク７を介して、各クライアント機８ａ〜８ｆと繋がっており、各クライアント機８ａ〜８ｆから送信されるデータを受信可能である。また、エラー情報管理サーバー２は、サーバー側ネットワーク１２を介してロボット制御コンピュータ３、エラー情報データベース４と繋がっており、これらと互いにデータを送受信可能である。
エラー情報管理サーバー２として使用するハードウェアは、演算能力を有する電子機器であり、例えば、汎用コンピュータ（メインフレーム等）、ワークステーション、パーソナルコンピュータ等の設置型のコンピュータでもよいし、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）やＰｏｃｋｅｔＰＣ等の携帯型のコンピュータでもよい。つまり、エラー情報管理サーバー２は、後述するエラー情報作成システム２１等のソフトウェアを使用可能なハードウェアであればよい。
【００４６】
このエラー情報管理サーバー２には、エラー情報の管理用ソフトウェアであるエラー情報作成システム２１（請求項におけるエラー関連情報作成手段）がインストールされている。図２に示される様に、このエラー情報作成システム２１は、エラー情報作成手段４２、解決方法作成手段４３等を有している。
【００４７】
エラー情報作成手段４２は、クライアント機８ａ〜８ｆの何れかからデータを受信する際に、データの送信元であるクライアント機（８ａ〜８ｆの何れか）を特定可能であり、受信したデータからエラーの内容等の情報を取得可能である。そして、これらのデータをデータベース（本実施形態ではエラー情報データベース４と発話情報データベース５に該当する）で使用可能な形式に変換する。
より具体的には、エラー情報作成手段４２は、データを受信した際に、エラー情報管理サーバー２にデータを送信してきたクライアント機８が、クライアント機８ａ〜８ｆの中のどれであるのかを、ＩＰアドレス（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ａｄｄｒｅｓｓ）やＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）等の機器を識別するため情報を取得することにより特定し、データを送信したクライアント機８（例えばクライアント機８ａ）自体、或いはクライアント機８を使用するユーザー９（例えばクライアント機８ａであるならユーザー９ａ）に関するデータ（名前や所属等に関するデータであり、以下個別データと記す）を取得できる。
【００４８】
また、受信したデータにはエラーの内容、エラーを発生させた記述内容、エラーが発生した記述の位置、発生した日付、発生した時刻等の発生したエラーの原因や内容、詳細を把握可能である情報が含まれている。
エラー情報作成手段４２は、これらの取得した情報をデータベース形式のデータであるエラー情報２４（図９）に変換可能である。
【００４９】
上記した「データベース形式のデータ」とは、並び替えや、データの検索、集計、抽出（フィルタリングを含む）等が可能であるデータの集まりの一部として使用可能なデータである。例えば、ＭｉｃｒｏＳｏｆｔ  Ａｃｃｅｓｓ（マイクロソフト社製データベース管理ソフトウェア）で使用する様な表形式のデータベースを用いるのであれば、一つのレコードがそれに該当し、その場合、前述のエラーの内容、エラーを発生させた記述内容、エラーが発生した記述の位置等々のデータは夫々別個のフィールドに格納される。
【００５０】
このように「データベース形式のデータ」としてデータを取り扱うために、複数の情報を、区切りを設けて配置することで、情報の内容が何に関する情報であるのかを認識可能にするという方法がある。この方法によると、エラー情報２４は、区切られた範囲に情報が無い（その範囲にＮｕｌｌデータを有している状態等も含む）ことで、エラー情報２４が、その範囲に対応する一部分に関して情報を持たないことも識別可能となる。また、これらの区切られた範囲に配置された情報の内容は個別に、追加、上書き、削除等が可能である。
上記した方法について具体例を挙げると、ＣＳＶ（Ｃｏｍｍａ  Ｓｅｐａｒａｔｅｄ  Ｖａｌｕｅ）形式で記述されたデータがある。さらに詳細には、ＣＳＶ形式はカンマで区切って内容を示す情報を記述することで、記述された位置からその内容に関する情報が何の内容に関する情報であるのか識別可能な形式である。また、カンマで区切られた内容を示す情報は、それぞれ個別に追加、上書き、削除等が可能である。
ここで、本発明で使用するデータベースはＭｉｃｒｏＳｏｆｔ  Ａｃｃｅｓｓ（マイクロソフト社製のデータベース管理ソフトウェア）やＯｒａｃｌｅ（オラクルコーポレーショション社製のデータベース管理ソフトウェア）等のソフトウェアで管理するようなＲＤＢ（Ｒｅｌａｔｉｏｎａｌ  Ｄａｔａ  Ｂａｓｅ）でなくともよい。例えばＯＯＤＢ（Ｏｂｊｅｃｔ  Ｏｒｉｅｎｔｅｄ  Ｄａｔａ  Ｂａｓｅ）やＸＭＬＤＢ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ  Ｄａｔａ  Ｂａｓｅ）等の形式の異なるデータベースであってもよい。したがって、「データベース形式のデータ」とは、上記の形式に限らず、本発明で使用するデータベースで使用可能であればよい。即ち、並び替えや、データの検索、集計、抽出等が可能であるデータの集まりとしてデータが扱えればよい。
【００５１】
次に、エラー情報作成システム２１の解決方法作成手段４３（請求項における解説文作成手段又は対処方法作成手段）について説明する。解決方法作成手段４３は、前述のエラー情報２４から、ユーザー９に通知又は示唆するためのエラーの解決方法や対処方法を作成するものである。
このエラーの解決方法や対処方法は、エラー情報データベース４に登録された情報の取得や、エラーの内容を英語から日本語に翻訳する等の処理により作成される。この時、英語から日本語への翻訳は従来周知の翻訳ソフトウェアを使用する。なお、作成された解決方法や対処方法は、前述のエラー情報２４に追加され、これらは一元的に管理される。
なお、本実施形態では母国語が日本語である人が作成者の場合を想定しており、翻訳7する言語は、作成者の母国語やソフトウェアが使用する言語に応じて自由に変更可能である。
【００５２】
ロボット制御コンピュータ３は、図１に示す通り、サーバー側ネットワーク１２とネットワーク７を介してロボット６と繋がっており、ロボット６の動作を総括して管理可能なものである。また、ロボット制御コンピュータ３は、サーバー側ネットワーク１２を介してエラー情報管理サーバー２、及び発話情報データベース５と繋がっており、互いにデータを送受信可能である。
ここで、ロボット制御コンピュータ３として使用するハードウェアは、演算能力を有する電子機器であり、前述したエラー情報管理サーバー２と同様に設置型のコンピュータ、携帯型のコンピュータのどちらでもよい。
【００５３】
このロボット制御コンピュータ３には、ロボット制御用ソフトウェアである発話情報作成システム２２（図３）がインストールされている。図３に示される様に、この発話情報作成システム２２は、情報分析手段４４、行動内容作成手段４５、音声データ作成手段４６、行動データ作成手段４７、行動制御手段４８等を有している。以下、個々に説明する。
【００５４】
情報分析手段４４は、発話情報データベース５（図１）に接続し、受け取ったエラーを特定する情報（エラー情報２４のエラーの解決方法や対処方法等の情報）を参照して、後述の発話情報データベース５に対して、受け取った情報が示すエラーの解決方法や対処方法に対応する、ロボット６の行動内容に関連するデータが発話情報データベース５のデータの中に含まれているか否かを判別するものである。
また、この情報分析手段４４は、エラー情報２４の内容とエラー情報データベース４の内容から所定時間（例えば５分）内における、同じ内容のエラーの発生の有無を判別することもできる。
【００５５】
発話情報作成システム２２の行動内容作成手段４５は、エラーを発生したユーザーを特定可能であるデータ（エラー情報２４の個別データ）や、エラーの詳細な内容についてのデータ、エラーの解決方法や対処方法に関するデータ等を元に、ロボット６の発話文や行動内容を作成するものである。
例えば、発話文が「Ｘくん、Ｙ行目のＺが間違っているよ。」という内容であるとする。このとき、Ｘはユーザー名、若しくはユーザーＩＤであり、Ｙはエラーの出現した行数であり、Ｚは関数名である。Ｘ、Ｙ、Ｚはそれぞれ前述のエラー情報２４から取得可能であり、これらを元に従来周知の文章作成ソフトウェアを使用して発話文を作成する。
そして、発話文に対応するロボットの行動内容を、従来周知のロボット動作プログラム作成装置により作成する。例えば、上記のエラーであれば、ロボットがエラーを出したユーザーを指差すといった行動やロボットの顔が該ユーザーの方を向くといった行動を指示する等の行動内容（行動を実行するための命令コードやプログラム）が作成される。
【００５６】
発話情報作成システム２２の音声データ作成手段４６は、行動内容作成手段４５が作成したロボット６の発話文等のデータから音声データ２５（図９）を作成するものである。
前述の発話文の場合、発話文の音声化は従来周知の音声合成ソフトウェアによって行われる。
【００５７】
ここで、発話文の音声化は、文章作成ソフトウェア等を使用して作成したテキストデータを、従来周知の音声合成ソフトウェア等のソフトウェアにより音声データ化しているが、発話文の音声化の方法はこれに限るものではない。
例えば、ハードウェアに記録された個々では意味を持たない音声データを抽出し、連続で出力して作成してもよい。この方法によると、前述の文であれば「くん」、「行目」、「の」「が」、「間違っているよ」というような個別の音声データを記録されているハードウェア（ハードディスク等の記録媒体）から抽出し、「Ｘ」、「Ｙ」、「Ｚ」等の音声データを作成した上で、順番を「Ｘ」、「くん」、「Ｙ」、「行目」、「の」・・・というように意味を持つ順番に並び替えて出力する。
つまり、行動内容作成手段４５が作成する発話文は、テキストデータでなくてもよく、音声データ作成手段４６の音声化の手段も音声合成に限るものではない。エラーに関連する情報から、エラーに対応する解決方法や、対処方法、エラーについての解説が音声データ化されればよい。
【００５８】
発話情報作成システム２２の行動データ作成手段４７は、エラー情報２４のエラーの解決方法、ロボット６の発話文、音声データ２５、ロボットの行動用データ等をデータベース形式のデータである行動情報２６（図９）に変換することができる。
また、本実施形態ではエラー情報２４と行動情報２６を処理の効率化のため、別個のデータの集合体として管理しているが、これらを一つのデータの集合体として管理してもよい。即ち、エラー情報２４に行動情報２６を含めてもよい。その際、本実施例のようにデータベースを二つ設ける必要はない。つまり、統合した一つのデータの集合体を一つのデータベースに蓄積し、管理すればよい。
なお、ここで述べた「データベース形式のデータ」とは、前述したエラー情報２４の形式と同様であり、本発明で使用するデータベースで使用可能であり、並び替えや、データの検索、集計、抽出等が可能であるデータの集まりとしてデータが扱えるデータのことを指す。
【００５９】
ロボット制御コンピュータ３の行動制御手段４８は、ロボット６（音声発生装置）の動作を制御するものであり、具体的には、ロボット６の音声出力のタイミングや、複数台のロボット６を設けた際に、ロボット６の音声を出力する順序を制御するものである。
例えば、短時間に複数のエラーが発生し、夫々のエラー情報２４が送信された場合に、ロボット６に規定の間隔（例えば３０秒）を空けて夫々のエラー情報２４に対応する音声を出力させる。また、複数のロボット６（６ａ、６ｂ）が接続されている場合に、ロボット６ａとロボット６ｂの発話するタイミングや順序を決定することで、同時に発話させない様にする。これにより、ユーザー９は、ロボット６ａとロボット６ｂが同時に発話することによって、聞き取りにくくなることを回避できる。
【００６０】
エラー情報データベース４は、前記したエラー情報２４を蓄積可能な形式のデータベースである。
【００６１】
発話情報データベース５は、前記した行動情報２６を蓄積可能な形式のデータベースである。
【００６２】
ロボット６は、音声データを出力する機能を備えている、概念的なロボットの形状を模した音声発生装置である。該ロボット６の音声データ出力機能は従来周知の機能であり、スピーカー等の電気信号を物理振動に変換する周知の装置から音を発することで実現するものである。
【００６３】
クライアント機８は、ネットワーク７を介してエラー情報管理サーバー２に接続可能な構成とされており、エラー情報管理サーバー２に接続すると、データ（入力データやエラーの内容に関するデータ等）を送信することができる。
さらに、クライアント機８にはオペレーティングシステム（ＯＳ：Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）がインストールされている。したがって、前記オペレーティングシステムの存在下で作動可能なアプリケーションソフトを適宜選択してインストールすることができる。そして、このクライアント機８にはエラー情報検出システム２０（請求項におけるエラー情報検出手段）が設けられている。
【００６４】
そして、このクライアント機８は、例えば従来公知のパーソナルコンピュータのように、画像表示用のモニタや、ＣＰＵ、メモリ、ハードディスク、キーボード等を備えたものを採用することが可能である。また、教育支援システム１では、パーソナルコンピュータの代わりに、通信機能と、データを入出力可能な機能を備えた専用端末をクライアント機８として使用してもよい。
さらに、クライアント機８としては、入出力インターフェイス３０やキーボード３３に代表される入力デバイスと、モニタ３６に代表される出力デバイスを、例えばノート型（ラップトップ型）のパーソナルコンピュータや、一般的にＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）と称されるような携帯情報端末等と同様にパッケージ化した構成のものを採用することも可能である。
【００６５】
即ち、クライアント機８として使用するハードウェアは、演算能力を有する電子機器であり、前記したエラー情報管理サーバー２やロボット制御コンピュータ３と同様に、設置型のコンピュータでもよいし携帯型のコンピュータでもよい。
【００６６】
ここで、前述のクライアント機８に設けられている、エラー情報検出システム２０について説明する。エラー情報検出システム２０は、実行状況判別手段４０、記述情報取得手段４１を有しており、以下夫々説明する。
【００６７】
実行状況判別手段４０は、クライアント機８から操作や入力が可能であるソフトウェアに対して、使用者が特定の入力を行ったか否かを判別する。
本実施形態において、「クライアント機８から操作や入力が可能であるソフトウェア」とはプログラム作成用ソフトウェアであり、「特定の入力」とはコンパイルを実行する操作のことである。即ち、実行状況判別手段４０は、作業者がプログラム作成用ソフトウェアで記述したソースコード（コマンド）等に対してコンパイルを実行したか否かを判別する。
ここで、「操作や入力」を行うソフトウェアと、「特定の入力」を行うソフトウェアは別であってもよい。即ち、本実施形態ではプログラム作成用ソフトウェアを使用しているが、ソースコード（コマンド）を任意のテキストエディタ（例えばＷｉｎｄｏｗｓ(マイクロソフト  コーポレーションの登録商標)に実装されているメモ帳）でテキストファイルを作成して、コンパイラを使用してコンパイルを実行してもよい。その場合、「クライアント機８から操作や入力が可能であるソフトウェア」はコンパイラとし、「特定の入力」は同じくコンパイルを実行する操作とする。そして、実行状況判別手段４０がコンパイラを連動することで、コンパイルが実行されたのかどうか、コンパイルされたファイルは何かといった情報を得ることができる。
【００６８】
記述情報取得手段４１は、使用者がソフトウェアに対して行った操作や入力に基づいて特定の作業を行ったとき、その情報が特定の作業において誤りであった場合に、誤りの原因となる情報と、発生した誤りの具体的な内容を取得する。
具体的に説明すると、本実施例では「ソフトウェア」とはプログラム作成ソフトウェア（アプリケーション１３）であり、「操作や入力」とはソースコードやコマンドの記述等であり、「特定の作業」とはコンパイルのことである。即ち、記述情報取得手段４１は、プログラム開発用ソフトウェアに対して記述したソースコード（コマンド）にコンパイルを実行し、エラーが発生した場合、エラーを発生させた記述とエラーの内容を取得する。
【００６９】
また、記述情報取得手段４１は、使用者がソフトウェアに対して行った操作や入力について、その操作や入力による情報に基づいて特定の作業を行ったとき、その情報が特定の作業に用いる上で誤りでないかどうかを判別することができる。
そして、特定の作業に用いる上で誤りであると判別された場合、記述情報取得手段４１は、誤りの原因となる情報と、将来発生が予測される誤りの具体的な内容を取得する。
前述した様に本実施例において、「ソフトウェア」とはプログラム作成ソフトウェアであり、「操作や入力」とはソースコード（コマンド）の記述等であり、「特定の作業」とはコンパイルのことである。即ち、記述情報取得手段４１は、プログラム開発用ソフトウェアに対して記述したソースコード（コマンド）が、将来コンパイルを実行した際にエラーが発生する記述であるのかどうかを判別する。そして、記述したソースコード（コマンド）等にコンパイルを実行することで、エラーが発生すると判断した場合、ソースコード中のエラーの原因となる記述とエラーの内容を取得する。
なお、将来コンパイルを実行した際にエラーが発生する記述であるのかどうかの判断は、記述されたソースコードを正しい文法と比較する方法や、記述されたソースコードの特定の範囲にのみコンパイルを実行する等の比較方法の何れの方法を用いてもよい。即ち、記載された記述が誤りであるのかどうかを正確に検出できればよい。
【００７０】
ここで、記述情報取得手段４１は、「操作や入力」を行ったソフトウェアと、「特定の作業」を行うソフトウェアは別のソフトウェアである場合も、上記の判別や情報の取得が可能である。例えば、「操作や入力」を行うソフトウェアがテキストエディタ等のソースコードの記述に用いるソフトウェアであり、「特定の作業」を行うソフトウェアがコンパイラであった場合においても、記述したソースコードが、コンパイラを使用してコンパイルを実行した際にエラーが発生する記述であるのかどうかを判別することができ、エラーになると判別された場合、ソースコードのエラーの原因となる記述とエラーの内容を取得することができる。
【００７１】
上記した教育支援システム１は、例えば単一の学校構内において、アプリケーション１３を使用するクライアント機８やロボット６の設置場所とは別の場所にサーバー側ネットワーク１２を構築し、クライアント機８とロボット６から構成されるネットワーク７を複数の場所に設けて、サーバー側ネットワーク１２と各ネットワーク７を、通信網（ＬＡＮ等）を介して接続する使用形態でも使用できる。以下、上記した教育支援システム１により、プログラムの作成方法を教育する場合の動作について、図５〜図７に示すフローチャートを参照しながら、詳細に説明する。
【００７２】
本実施形態では、各生徒がそれぞれパーソナルコンピュータから成るクライアント機８を操作し、プログラム作成の実習を行う場合を想定している。
そのため各クライアント機８には、それぞれプログラム作成ソフトウェア（アプリケーション１３）がインストールされており、各生徒は教師が提示した課題に合わせてめいめいプログラムを作成する。
ここで各クライアント機８にインストールされているプログラム作成ソフトウェアは、所定のコマンドを使用し、所定の文法や法則に沿って動作手順（ソースコード）を書き込み、書き込んだ動作手順を所定の機器又は／及びソフトウェアに作用する形式に変換するものである。
プログラム作成ソフトウェアでは、入力したコマンドや手順等（入力情報）を変更可能な仮入力状態と、入力したコマンド等を確定する操作を経てコマンド等が確定された本入力状態がある。
【００７３】
より具体的には、生徒がキーボード等を操作してソースコードやコマンド等を入力すると、当該ソースコード（コマンド）が、クライアント機８のディスプレイに表示される。しかしこの状態は、仮入力状態であり、日常的に行われている挿入、削除、上書きといった操作によって内容を変更することができる。そして変更後のコマンド等は直ちにディスプレイに表示される。
また入力した内容を確定する場合は、例えばキーボードのエンターキー等の特定のキーを操作したり、画面上の特定の場所にマウスのカーソルを移動させてクリックしたりする。その結果、ソースコードやコマンド等が確定し、所望のメモリに記憶されたり、コンパイルが実行されて機械言語等に変換される。
本実施形態では、キーボードのエンターキー等を操作することにより、入力内容が確定し、直ちにコンパイルが実行されることとする。
【００７４】
また本実施形態で採用するプログラム作成ソフトウェアでは、コンパイルが実行された時に、コマンドや文法等に誤りがあり、正常に変換することが出来ない場合は、ディスプレイ上に「エラー」の表示が現れ、コンパイルを中止するものである。
ただし、本実施形態で採用するプログラム作成ソフトにおいて、「エラー」の表示が現れるのは、エンターキー等の特定のキーを操作してコンパイルを開始した場合に限られ、プログラム作成ソフト自体は、エンターキー等を操作する前に「エラー」の表示を行う機能は持たない。
即ち、本実施形態で採用するプログラム作成ソフト（アプリケーション１３）自体は公知のソフトであり、エンターキー等を操作する前にエラー内容を検索する機能を持たず、本発明の特徴たる「エラー情報検出システム」は、プログラム作成ソフトとは別途のソフトウェアである。
【００７５】
まず、エラー情報検出システム２０（図４）が教育支援システム１の起動と同時に動作を開始する。そして、ユーザー９（９ａ〜９ｆ）が夫々個別に使用する各クライアント機８（８ａ〜８ｆ）において、ユーザー９（９ａ〜９ｆ）の内の少なくとも一人がアプリケーション１３（ソフトウェア開発用アプリケーション）上でコンパイルを実行した場合に、コンパイルした内容に対してエラーの有無をチェックする。また、コンパイルが実行されないユーザー９（９ａ〜９ｆ）が記述した内容に対しても、規定の時間毎（例えば１５分〜３０分に一度）に、エラーの有無を動作する。
具体的に説明すると、図５で示されるように、ステップ１−１において、エラー情報検出システム２０は前記実行状況判別手段４０により、ユーザー９がアプリケーション１３でコンパイルが実行されたのか否かを判別する。
まず、ユーザー９がコンパイルを実行した場合（ステップ１−１でＹＥＳの場合）について述べる。この場合、制御フローがステップ１−２に移行して、エラー情報検出システム２０の記述情報取得手段４１により、作成されたプログラムのエラーの有無を判別する。エラーがあればステップ１−３に移行して、同じく記述情報取得手段４１によりエラーの内容とその原因となった入力情報を取得する。
【００７６】
また、ユーザー９がコンパイルを実行していない場合（ステップ１−１でＮｏの場合）について説明する。この場合、制御フローがステップ１−５に移行して、システムの開始時、又は最後に記述情報取得手段４１がエラーの有無を判別した時間から規定時間が経過しているかどうか判別する。
規定時間が経過していた場合（ステップ１−５でＹｅｓの場合）、制御フローがステップ１−６に進み、エラー情報検出システム２０の記述情報取得手段４１が、現在記述されているソースコードから、将来コンパイルした際にエラーとなる記述の有無を判別する処理を実行する範囲を決定する。すなわち、エラーを検出する範囲を決定する。また、ステップ１−５でＮｏの場合はステップ１−１に戻る。
ここで、エラーを検出する範囲は、例えば、最初から記述している部分までを範囲としたり、特定のコマンドの集まり（例えば指定したいくつかの関数）を範囲としたりするなど、実行作成するプログラムの難易度や作成者の習熟度などに応じて任意に変更可能である。
【００７７】
そして、制御フローがステップ１−７に移行し、記述情報取得手段４１が、前述の決定した範囲に対して、将来コンパイルした際にエラーとなる記述の有無を判別する。判別の結果、エラーとなる記述がある場合は、ステップ１−３に移行して、記述情報取得手段４１がエラーになった場合の内容とその原因となる入力情報をアプリケーション１３から取得する。ステップ１−７でＮｏの場合には、ステップ１−１に戻る。
【００７８】
ステップ１−３で記述情報取得手段４１が情報を取得すると、制御フローがステップ１−４に移行して、クライアント機８が収集した情報をエラー情報管理サーバー２へ送信する。そして、情報取得手段４１は待機状態となる。即ち、記述情報取得手段４１は、ユーザー９（９ａ〜９ｆ）の少なくとも一人がコンパイルを実行するか、ユーザー９（９ａ〜９ｆ）の何れかがコンパイルを実行しないまま、一定時間経過するまで待機する。この記述情報取得手段４１は教育システム１の終了まで上記の動作を繰り返す。
そして、制御フローは図６へ移行する。
【００７９】
図６においてエラー情報管理サーバー２が、クライアント機８から送信された情報を受信すると、制御フローはステップ２−１からステップ２−２に移行する。前述したように、エラー情報管理サーバー２に設けられたエラー情報作成システム２１のエラー情報作成手段４２により、個別データが取得され、受信したデータの内容と併せてエラー情報２４が作成される。
ここでエラー情報２４は、前述した様に本発明で使用するデータベースで使用可能である、並び替えや、データの検索、集計、抽出等が可能であるデータの集まりとして扱うことが可能なデータであり、作成時において新しい情報を追加可能であるいくつかの空き領域（表形式のデータベースで使用した場合の空フィールド）を有している。
【００８０】
エラー情報２４が作成されると、ステップ２−３に移行する。そして、エラー情報作成システム２１の解決方法作成手段４３が、エラー情報２４のエラーの内容のデータを元に、エラー情報データベース４に蓄積されている情報を参照して、エラーの内容に対応する解決方法のデータの有無を判別する。
【００８１】
エラー情報データベース４に蓄積されている情報から、エラーの解決方法のデータが見つかった場合（ステップ２−３でＹＥＳの場合）、ステップ２−６に移行してエラー情報データベース４からエラーの解決方法又は対処方法のデータを取得して、前述のエラー情報２４に追加する。
【００８２】
エラー情報データベース４にエラーの解決方法のデータが見つからなかった場合（ステップ２−３でＮｏの場合）は、制御フローのステップ２−４に移行して、解決方法作成手段４３がエラーの内容に対して分析や翻訳を実行して解決方法を作成する。
【００８３】
具体的に説明すると、例えば図１０の様に記載すべきところを、作成者が図１１の様に記載してしまい、エラーが発生したとする。そのとき、プログラム作成用ソフトウェアは以下の様なメッセージを出力する。
「  In  function  'main'
c:7:error:missing  terminating " character
c:8:error:syntax  error before '}'token  」
このとき、解決方法作成手段４３が上記したメッセージを取得し、定型文である「Ｉｎ  ｆｕｎｃｔｉｏｎ」後の「ｍａｉｎ」は関数名だと判断する。さらに、解決方法作成手段４３は２行目を翻訳し「７行目、終了文字“（ダブルクォーテーションマーク）が無くなっている」という情報を得る。
そして、解決方法作成手段４３はこれらから「ｍａｉｎ関数の７行目において終了文字であるダブルクォーテーションマークが無くなっている」という詳しいエラーの内容を得る。ここで、解決方法作成手段４３は「無くなっている」が検出された場合、「付け足す」ことで解決すると判断し、エラー内容の語尾を変換して、「ｍａｉｎ関数の７行目において終了文字であるダブルクォーテーションマークを付け足す」という解決方法を得ることができる。
【００８４】
エラーの解決方法又は対処方法のデータが作成されると、制御フローがステップ２−５に移行して、作成したエラーの解決方法又は対処方法のデータがエラー情報データベース４に蓄積される。そして、制御フローがステップ２−６に移行し、作成したエラーの解決方法又は対処方法のデータを前述のエラー情報２４に追加する。
【００８５】
エラー情報２４に解決方法が追加されると、制御フローがステップ２−７に移行して、エラー情報管理サーバー２は、エラー情報２４をロボット制御コンピュータ３へ送信する。そして、制御フローは図７へ移行する。
【００８６】
図７においてロボット制御コンピュータ３が、エラー情報管理サーバー２から送信されたエラー情報２４を受信すると、制御フローがステップ３−１からステップ３−２に移行する。そして、ロボット制御コンピュータ３に設けられた発話情報作成システム２２が、情報分析手段４４により、過去の所定時間内において同じ内容のエラーが発生したかどうかを判別する。
そこで、所定の時間内に同一のエラーが発生していない場合（ステップ３−２でＮｏの場合）、制御フローがステップ３−２からステップ３−３に移行し、エラー情報２４を分析する。
そして、ステップ３−４に移行して、エラー情報２４に追加したエラーの解決方法または対処方法を元に、発生したエラー情報２４のエラーの内容に対応する行動情報２６が、発話情報データベース５に蓄積されているか否かを判別する。
【００８７】
発話情報データベース５に、解決方法に対応するロボット６の行動情報２６が見つかった場合（ステップ３−４でＹＥＳの場合）は、制御フローがステップ３−８に移行する。
【００８８】
発話情報データベース５に蓄積されている情報から、解決方法に対応するロボット６の行動情報２６が見つからなかった場合（ステップ３−４でＮｏの場合）、即ち、ロボット６が発話する内容の発話文、音声データ２５、ロボット６の行動内容のデータの内の少なくとも一つが見つからなかった場合、制御フローはステップ３−５に移行する。そして、発話情報作成システム２２の行動内容作成手段４５により、エラー情報２４の各データを元にエラーの内容に対する発話文が作成され、作成された発話文に対応するロボット６の行動内容のデータが作成される。これらの情報が作成されると、制御フローがステップ３−６に移行して、音声データ作成手段４６により、発話文の音声合成処理が実行される。
そこで、制御フローがステップ３−６からステップ３−７へ移行し、行動データ作成手段４７により、作成したデータから行動情報２６が作成され、発話情報データベース５に行動情報２６を追加し、発話情報データベース５を更新する。そして、制御フローがステップ３−８に移行する。
【００８９】
上記したようにエラー情報２４に対応するロボット６の行動情報２６が検出又は作成された場合、制御フローがステップ３−８に移行して、行動制御手段４８により、それぞれのロボット６の発話する順序やタイミングが決定される。そのため、複数のロボット６が同時発話してロボットの発話が聞き取り難くなるという事態を回避できる。また、発話毎に一定の間隔を設けることで、異なる話が連続して発話され、聞き取り難くなるという事態を回避することができる。
【００９０】
そして、制御フローがステップ３−８に移行して、ロボット６に発話文の音声データ２５と行動内容のデータが送信されることで、ロボット６が発話し、動作する。
このように、ロボット６が発話することにより、エラーを発生させたユーザー以外のユーザー（例えば、ユーザー９ａがエラーを発生させたのであれば、ユーザー９ｂ〜９ｆ）や、指導者等の周囲の者も発生したエラーに気付く。そのため、エラーを発生させたユーザー９が、ロボット６による解決方法や対処方法の通知または示唆のみでは、エラーの発生原因や対処方法が理解できなくても、周囲の人間がエラーの発生に気付き、エラーを発生させたユーザー９に対してエラーの発生原因の理解を促すことができる。そのため、指導者がすべてのユーザー９ａ〜９ｆのソースコードを詳細に把握する必要がなくなり、指導における負担が軽減する。
【００９１】
本実施形態において、エラー情報検出システム２０をクライアント機８に設けたが、エラー情報検出システム２０を設けるハードウェアはこれに限らず、例えば、エラー情報管理サーバー２に設けてもよい。同様にエラー情報作成システム２１や、発話情報作成システム２２を設けるハードウェアもこれに限るものではない。つまり、本発明の教育支援システム１において、各システムを設けるハードウェアは任意であり、導入コストや所持しているハードウェア資源等々の理由に鑑みて自由に変更可能である。
【００９２】
さらに、本実施形態において、エラー情報管理サーバー２とロボット制御コンピュータ３を別のハードウェアとして設けているが、これらを一つのコンピュータである、サーバー側コンピュータ（図示せず）として設けてもよい。この場合、サーバー側コンピュータにはエラー情報作成システム２１と発話情報作成システム２２が設けられ、サーバー側コンピュータはエラー情報データベース４、発話情報データベース５とサーバー側ネットワーク１２を介して夫々送受信可能に接続される。
即ち、本発明の教育支援システム１において、ハードウェアの構成は実施形態の限りではない。使用するハードウェアの処理能力や、メモリやハードディスク等の記憶媒体の容量に鑑みて自由に変更してよい。
【００９３】
本実施形態において、エラー情報検出システム２０、エラー情報作成システム２１、発話情報作成システム２２は、夫々教育支援システム１を実現するための手段が割り当てられているが、手段の割り当てはこれに限るものではない。例えば、解決方法作成手段４３が発話情報作成システム２２に設けられてもよいし、行動内容作成手段４５や音声データ作成手段４６がエラー情報作成システム２１に設けられてもよい。すなわち、実施する教育の内容や教育に用いるソフトウェアに応じて自由に変更してよい。即ち、教育支援システム１を実現するための手段が、教育支援システム１を構成する何れかのソフトウェアに設けられていればよい。
【００９４】
例えば、本実施例においてクライアント機８に設けた、アプリケーション１３やエラー情報検出システム２０をエラー情報管理サーバー２に設けた場合について述べると、アプリケーション１３は共有可能になり、各クライアント機８（８ａ〜８ｆ）は、ネットワーク７を介してエラー情報管理サーバー２上で動作するアプリケーション１３を利用する。
【００９５】
この場合、クライアント機８は、図８に示すように入出力インターフェイス３０を設け、これにデータ通信を行うための通信ケーブル３４やキーボード３３、マウス３５、モニタ３６等を接続したものを採用することも可能である。さらに具体的には、入出力インターフェイス３０は、例えば通信ケーブル３４を接続する接続ポート３１や、キーボード３３やマウス３５等の入力デバイスや、モニタ３６等の出力デバイスを接続するための入出力ポート３２等を備えた構成とすることが可能である。入出力インターフェイス３０をこのような構成とした場合は、通信ケーブル３４を接続ポート３１に対して接続すると共に、キーボード３３やマウス３５等に代表される入力デバイスや、モニタ３６等の出力デバイスを入出力ポート３２に接続したものをクライアント機８として使用することができる。
【００９６】
本実施形態では、クライアント機８を６つ設けて、ユーザー９が６人いる状態で教育支援システム１を使用したが、クライアント機８やユーザー９の数はこれに限るものではない。また、クライアント機８とユーザー９の数は必ずしも同じでなくてよい。同様にロボット６の数も２つに限るものではない。ユーザーの数に応じて自由に変更してよい。
【００９７】
本実施形態ではロボット６はエラーの発生時又は、将来エラーの発生が予測される場合に音声を発するが、ロボット６をこれ以外のタイミングで発話させてもよい。
例えば、特定の時間（例えば３０分）エラーを出していないユーザー９を特定する機能を設けて、特定したユーザー９に対して「順調に進んでいますか」といった語りかけを行ってもよい。
【００９８】
本実施形態において、ユーザーがコンパイルを実施しない場合における、エラーの有無の判別を開始する間隔や、ロボット６が音声を発する際の、異なるエラー発話間の間隔等の様々な時間設定を行っているが、設定する時間はこれに限るものではない。即ち、教育支援システム１を構成する各システムの時間設定は任意で設定することができる。
【００９９】
また、さらに本実施形態において音声発生装置（ロボット６）は漫画や小説に登場するロボットの形状を模しているが、音声発生装置の形状はこれに限るものではない。例えば、擬人的にデフォルメされた動物の形状など、自由に変更してよい。
【０１００】
本実施形態において、本発明をプログラムの作成方法の教育に使用した場合の動作について記述したが、本発明の使用目的はこれに限るものではない。本発明は、コンピュータ上で動作するアプリケーションを利用して実施する教育であれば使用可能であり、例えば、コンピュータの操作方法の教育、ネットワークで接続された機器の操作方法の教育等にも使用することができる。
【０１０１】
例えば、本発明の教育支援システムを、携帯電話機の付加機能の使用方法についての教育に使用してもよい。例えば、カメラ機能、メール機能、地図検索機能の様な携帯電話機の付加機能の使用方法を解説するための講習会において、本発明を用いることで、携帯電話機の知識が乏しくて質問を整理することが難しい受講者等の理解を促進することができ、効率よく講習会を進行することができる。
【符号の説明】
【０１０２】
１  教育支援システム
２  エラー情報管理サーバー
３  ロボット制御コンピュータ
４  エラー情報データベース
５  発話情報データベース
６  ロボット（音声発生装置）
７  ネットワーク（通信網）
８  クライアント機（クライアント）
９  ユーザー（アプリケーション使用者）
１２  サーバー側ネットワーク
１３  アプリケーション（ソフトウェア）
２０  エラー情報検出システム（エラー情報検出手段）
２１  エラー情報作成システム（エラー関連情報作成手段）
２２  発話情報作成システム
２４  エラー情報
２５  音声データ
２６  行動情報
４０  実行状況判別手段
４１  記述情報取得手段
４２  エラー情報作成手段
４３  解決方法作成手段
４４  情報分析手段
４５  行動内容作成手段
４６  音声データ作成手段
４７  行動データ作成手段
４８  行動制御手段
【図１】
2010231580.tif 000003
【図２】
2010231580.tif 000004
【図３】
2010231580.tif 000005
【図４】
2010231580.tif 000006
【図５】
2010231580.tif 000007
【図６】
2010231580.tif 000008
【図７】
2010231580.tif 000009
【図８】
2010231580.tif 000010
【図９】
2010231580.tif 000011
【図１０】
2010231580.tif 000012
【図１１】
2010231580.tif 000013