説明

教育支援システムと教育支援方法

【課題】学習者に対して、指導者がアプリケーションを利用して実施する教育、あるいはコンピュータのプログラミングの教育、コンピュータの操作方法の教育、ネットワークで接続された機器に対する教育等を行う際に提供可能な、音声発生装置を用いた教育支援方法、システムおよびその装置を提供することである。
【解決手段】
複数のユーザー9a〜9fが使用するアプリケーション端末8をネットワーク7やサーバー側ネットワーク12を介してエラー情報管理サーバー2に接続する。エラー情報管理サーバー2やロボット制御コンピュータ3で、ユーザー9がアプリケーションを誤使用することにより発生するエラーの解決方法を生成して、ロボット6に発話させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータ上で動作するアプリケーションを利用して実施する教育、あるいはコンピュータのプログラミングの教育、コンピュータの操作方法の教育、ネットワークで接続された機器の操作方法の教育等において、学習者に対する教育を支援する教育支援システム、及び教育支援方法に関するものである。
【背景技術】
【0002】
従来、教育を実施する際の指導者の負担を軽減したり、学習者の理解を促進したりすることで教育の効率化を図るためのシステムが様々な教育に対して活用されている。
例えば、教師(指導者)が複数の生徒(学習者)に対して行う巡回指導の負担を軽減するシステムとして、教師の操作と生徒の操作を相互に視覚的に確認できるシステムがある。教師の画面(ディスプレイ表示画面)を手本として生徒の画面(ディスプレイ表示画面)に表示させて生徒の理解を促し、生徒の画面を教師の画面に表示させて教師が生徒の理解の程度を確認し、また、教師が巡回指導中に理解の程度を確認しなかった生徒を特定することで、巡回指導後の確認作業を容易にするシステムが特許文献1に開示されている。
【0003】
また、学習者の理解を促進するシステムとして、ロボットに解決方法を説明させるシステムがある。例えば、ユーザーがコンピュータ上でソフトウェアを使用中に、ソフトウェアの使用方法に疑問を抱いた際に、ロボットに質問し、ロボットが質問の内容に答えることで疑問を解決するシステムが、非特許文献1に開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−33732号公報
【非特許文献】
【0005】
【非特許文献1】「ロボットを用いた対話インタフェースにおけるサービス実行理由説明機能」 情報処理学会ヒューマンインタフェース研究会(HI) Vol2006−HI−117 No15 pp.103−110 (2005)
【0006】
しかし、特許文献1に記載しているシステムは、教師が生徒全員の操作画面を確認する必要がある。したがって、巡回指導中に操作画面の確認を受けなかった生徒を特定することで確認作業を効率化しているが、なお、確認作業の作業量は膨大であるという問題がある。
【0007】
また、非特許文献1に記載しているシステムは、疑問を解決するために、生徒が質問しなければならず、質問するために生徒は疑問点を整理する必要がある。したがって、生徒自身がどこに問題があるか理解できない場合(例えば、プログラムの作成方法を教育する場合であれば、英語でエラーメッセージが表記される場合や、エラーメッセージの出力文の見た目やフォーマットが一定でないため内容を理解できない場合等)、適切な質問をすることができないという問題がある。
さらにまた、生徒による質問が困難な場合、即ち生徒が低年齢(例えば小学生)である場合や、発話障害者である場合などに疑問の解決が難しいという問題がある。
【発明の概要】
【発明が解決しようとする課題】
【0008】
そこで本発明は、指導者が所定の結果が得られない学習者を容易に把握可能な環境を提供することで、指導者の巡回指導の負担を軽減することが可能であり、また、学習者が所定の結果の得るために行った入力や操作の誤りを検出し、その誤りの解決方法を通知又は示唆することにより、学習者による自発的な質問が無くても、学習者の理解を促進することができる教育支援システム又は教育支援方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するための本発明の一態様は、複数の電子機器が通信網で接続された環境を持ち、各電子機器はそれぞれ入力手段を備えると共に同一又は互換性のあるソフトウェアを使用して所定の作業を実行可能であり、作業者が前記入力手段を操作して電子機器に行った入力に誤りがあった場合、或いは電子機器の操作に誤りがあった場合に、前記誤りがあった事実或いは誤りに対する対処方法の少なくともいずれかを通知又は示唆する教育支援システムであって、前記誤りを検出するエラー情報検出手段と、誤りの内容、解説、対処方法あるいはこれらを示唆する情報の少なくともいずれかを記憶するエラー情報データベースと、音声データ作成手段と、音声を発する音声発生装置とを有し、エラー情報検出手段で検出された誤りに対応する情報をエラー情報データベースから選択し、その情報に基づいて音声データ作成手段で音声データを作成し、音声発生装置から音声を発することを特徴とする教育支援システムである。
【0010】
本発明の一態様では、作業者が犯した誤りをエラー情報検出手段が検出し、誤りの対処方法や誤りがあった事実を報知するので、誤りを犯した作業者が自発的に質問しなくても、誤りに対処するための情報が提供される。そのため、作業者は自身が犯した誤りの疑問点を整理することなく誤り(問題)の解決を図ることができる。
また、誤りを解決するための情報を、音声を発することにより報知するため、誤った入力(又は操作)を行った作業者(学習者)のみならず、周囲の人間(他の作業者や監督者、指導者等)も、誤った入力を行った作業者の存在と、誤りの内容を把握できる。そのため、誤った入力を行った作業者が、報知された情報から自身が行った誤りを正すことができなかった場合においても、周囲の人間がその作業者に解決方法を指導することができる。してみると、指導者や監督者は全員分の入力を確認することなく、問題を抱える作業者(学習者)を特定することができる。
【0011】
ここで定義した、「電子機器」の代表的なものとして、パーソナルコンピュータに代表されるCPUを内蔵したコンピュータが挙げられる。なお、携帯電話機等の他の機器とネットワークを構築できる装置についても「電子機器」として活用することができる。
さらにまた、ここの「互換性のあるソフトウェア」とはVisual Studio .NET(マイクロソフト コーポレーション社製のソフトウェア)とVisual Studio .NET 2003(マイクロソフト コーポレーション社製のソフトウェア)の様にバージョンが異なるが大部分の機能を共通して備えているソフトウェアや、Windows(マイクロソフト コーポレーションの登録商標)に実装されているメモ帳と秀丸エディタ(有限会社サイトー企画の登録商標)のように別個のソフトウェアであるが、機能が極めて近いものが挙げられる
【0012】
さらに、ここで述べた入力とは、マウスやキーボード等の入力装置を操作してアプリケーションに対してコマンド等を送信することであり、電気的な信号が送信されることである。さらに、「入力に誤りがあった場合、或いは操作に誤りがあった場合」とは、電子機器が読み取りやコンパイルを実施できない入力である場合や、入力操作自体が誤りである場合、入力した数値等に上下限等の制限があり、この制限を越えているような場合が想定される。
例えば、プログラム作成用ソフトウェアを使用してコンピュータプログラムを作成する場合の教育支援として本発明を活用する場合であるならば、コンピュータに入力するプログラム言語や文法、法則に誤りがある様な場合を、「入力に誤りがあった場合、或いは操作に誤りがあった場合」に含ませることができる。より具体的には、英文小文字のみで入力すべきところに英文大文字や仮名、数字を混合して記述してしまった場合である。あるいはカンマやコロン等で区切るべき法則があるにも係わらず区切っていない場合、文法上、特定の場所に使用しなければならない文字やコマンドが欠落している様な場合を、「入力に誤りがあった場合、或いは操作に誤りがあった場合」に含ませることができる。
【0013】
本発明を情報検索端末(従来周知のソフトウェアを搭載した電子機器の一つ)等の教育支援に活用する場合も同様であり、入力する言語(日本語、英語等)や文法、法則に誤りがある様な場合を、「入力の誤り或いは操作の誤り」に含ませることができる。
【0014】
また前述の「操作自体が誤りである場合」とは、エンターキーや特定のファンクションキーあるいはスイッチボタンを押すべきであるにも係わらず、文字キーや誤ったファンクションキーを押してしまった様な場合である。
【0015】
さらに、「入力した数値等に上下限等の制限があり、この制限を越えているような場合が想定される」場合とは、例えば生年月日を西暦で入力すべきところ、未来の年月を入力した場合や、株取引の売買端末(既存のソウトウェアを搭載した電子機器の一つ)等の教育支援に活用する場合に、過大或いは過小な指値を入力する様な場合が考えられる。
【0016】
本発明の第二の態様は、前記ソフトウェアはプログラム作成用ソフトウェアであり、ソフトウェアに入力された信号に対してコンパイルを実行するコンパイル実行手段を備え、前記ソフトウェアに入力された信号に誤りがある場合、コンパイル実行時にエラーメッセージを出力するエラーメッセージ出力手段を備え、教育支援システムは、エラーメッセージの翻訳文の作成、解説文の作成、エラー対処方法の作成の少なくともいずれかを実行するエラー関連情報作成手段を備え、エラー関連情報作成手段によって作成された情報をエラー情報データベースに蓄積可能であることを特徴とする請求項1に記載の教育支援システムである。
【0017】
本発明の第二の態様では、本発明をコンピュータのプログラミングの教育に用いることでプログラミングの教育を効率良く実施できる。
具体的に説明すると、コンピュータのプログラム作成用ソフトウェアでプログラムを作成する際に、作成者(作業者)が犯してしまうエラー(誤り)は、ソースコードやコマンドの記述ミス、外部ソフトウェアの参照ミス等多岐にわたるため、エラーに対応するエラーメッセージ(誤りの内容についての表示)の表示形式が一定でない。さらに、エラーメッセージが英語等の日本人が日常的に使用していない言語で表示される場合がある。したがって、それらの理由により作成者がエラーの内容を理解するのが困難である。また、指導者は、前述した様に作成者が犯してしまうエラーが多岐にわたるため、複数の作成者に対して同じ内容の指導を行う集団指導の実施が難しいため、各作成者の元へ巡回して個別指導を行う必要があり、負担が大きい。
【0018】
しかし、本発明を用いると、上記したように作成者は問題点を整理することなく、エラーの解決方法、または解決方法に準じる情報の提供を受けることができるので、自身が発生させたエラーについての理解が容易になり、それにより作成者のプログラミング技術の習得が効率化する。また、上述した通り指導者はエラーを発生させた作成者の存在と、エラーの内容を把握可能であり、作成者全員分のソースコード(コマンド)等の記述内容を確認する必要がないため、巡回指導の負担が軽減する。さらに、軽微なエラーであればシステムがもたらす情報により、作成者が自発的に解決するので指導の負担も軽減する。すなわち、プログラムの教育においてその性質上発生する問題点を解決することができる。
【0019】
さらに、本発明の第二の態様では、エラー関連情報作成手段がエラーメッセージの翻訳文の作成、解説文の作成、エラー対処方法の説明文の作成の少なくともいずれかを実行することにより、作成者がより解り易い表現にエラーメッセージが変換される。そのことで、作業者の理解が促進される効果がより顕著になる。また、エラー関連情報作成手段によって作成された情報をエラー情報データベースに蓄積可能であるため、同じ翻訳文、解説文、エラーの対処方法の説明文を作成しなくてもよい。そのことにより、教育支援システムが効率良く動作可能となる。
また、ここで述べたコンパイル実行手段とはソースコード(コマンド)等のプログラム作成に必要な情報に対して、抽出や取り込みなどを行い、それらをオブジェクトコード(マシン語で記述されたプログラム)に変換する手段のことを指す。
またさらに、ここで述べた「ソフトウェアに入力された信号」とは、記述したソースコード(コマンド)、開発環境(プログラム作成用ソフトウェア)上で設定したランタイム(プログラムが参照するソフトウェア)等を含む、マウス、キーボード等の入力手段から入力した電気的な信号による記録全般を指す。
【0020】
本発明の第三の態様は、前記ソフトウェアはプログラム作成用ソフトウェアであり、ソフトウェアに入力された信号に対してコンパイルを実行するコンパイル実行手段を備え、前記ソフトウェアに入力された信号に誤りがある場合、コンパイル実行時にエラーメッセージを出力するエラーメッセージ出力手段を備え、教育支援システムは、エラーメッセージを翻訳すると共に翻訳内容からエラーの内容を解説する解説文作成手段あるいは対処方法を作成する対処方法作成手段の少なくともいずれかを備えることを特徴とする請求項1又は2に記載の教育支援システムである。
【0021】
本発明の第三の態様では、前述した様に本発明をプログラミングの教育に用いることでプログラミングの教育を効率良く実施できる。さらに、エラーメッセージを翻訳すると共に翻訳内容からエラーの内容を解説する解説文作成手段あるいは対処方法を作成する対処方法作成手段の少なくともいずれかを備えることにより、外国語で出力されたメッセージが自然な自国語で記述された解説文又は、対処方法の説明文に変換されるため、作業者がエラーの内容を理解しやすい。
なお、ここで述べたソフトウェアに入力された信号も、前述した様に入力手段で入力した電気的な信号による記録全般を指す。
【0022】
本発明の第四の態様は、前記翻訳、解説、対処方法の少なくともいずれかに対応する音声データを記憶する発話情報データベースを有し、前記音声データ作成手段は、前記発話情報データベースに記憶された情報を利用して音声データを作成することを特徴とする請求項2又は3に記載の教育支援システムである。
【0023】
本発明の第四の態様では、発話情報データベースに記憶された情報を利用して音声データを作成することにより、音声データを毎回作成しなくてもよいので、教育支援システムが効率良く動作可能となる。
【0024】
本発明の第五の態様は、電子機器で使用されるソフトウェアは、所定の作業を実行するための情報を確定する操作を実行可能であり、前記ソフトウェアには前記操作を実行していない仮入力状態と、前記操作を経た本入力状態があり、前記エラー情報検出手段は仮入力状態の段階、本入力状態の段階の少なくともいずれかの段階で前記誤りを検出可能であることを特徴とする請求項1乃至4のいずれかに記載の教育支援システムである。
【0025】
本発明の第五の態様では、仮入力状態でも誤りを検出可能であるため、所定の作業を実行する前の段階で入力の誤りを検出することができる。即ち、電子機器の使用者が自身で認識していない誤り(将来的に誤りとなる入力)を検出することができる。そのため、電子機器の使用者が将来発生させる誤りを一早く察知して、適切な教育を行うことができる。
具体的に説明すると、ソフトウェアがプログラム開発ソフトウェアである場合、仮入力状態とはコンパイルを実行しないままソースコード(コマンド)等をエディタに記述している段階である。通常、コンパイルを実行することで、コマンドやソースコード中の記述の誤り等が検出されるものであるが、本発明の第五の態様よれば、コンパイルを実行する前にそれ等の記述の誤りが検出される。
【0026】
本発明の第六の態様は、音声発生装置は、何らかの形を模した外形形状を呈していることを特徴とする請求項1乃至5のいずれかに記載の教育支援システムである。
【0027】
本発明の第六の態様では、音声発生装置は何らかの形を模した外形形状を呈している。ここで、「何らかの形を模した外形形状」のとは、実在または空想上の人物、動物、精霊、植物等である。空想上の人物とは例えば漫画や小説の主人公等であり、空想上の動物、精霊とは例えば竜や怪獣、妖怪変化等である。空想上の植物とは例えば喋る花であるとか人食い植物である。音声発生装置がこれらの形状であることで、あたかも、作業者は人又は擬人的なものから誤りを指摘されている様な感覚に陥るため、作業者(学習者)がシステムに親しみやすくなる。
【0028】
本発明の第七の態様は、前記音声発生装置が音声を出力する際に、動作又は/及び外見の変化を伴うことを特徴とする請求項1乃至6のいずれかに記載の教育支援システムである。
【0029】
本発明の第七の態様では、前記音声発生装置が音声を出力する際に、動作や外見の変化を伴うため、聴覚のみならず視覚的にも解決方法やそれに準ずる情報を通知又は示唆する。したがって、音声のみを出力する場合と比べて、作業者の誤りについての理解が容易になる。
例えば、ロボットの形状を模した音声発生装置が音声を発する際に、身振り、手振り、頭部動作、表情変化などを行えば、音声発生装置が音声を発するのみの場合と比べて、発生した誤りの内容や、誰に向けて誤りの解決方法を提示しているのか等が、視覚的に認識することができる。そのことから、解決方法を提示された作業者はその音声の内容をより強く意識するので、誤りに対する理解が促進する。
【0030】
本発明の第八の態様は、音声発生装置は、表示画面を有し、当該表示画面に何らかの形を模した外形形状のもの(映像)が映し出され、当該外形形状のもの(映像)が話す如くに演出されていることを特徴とする請求項1乃至7のいずれかに記載の教育支援システムである。
【0031】
本発明の第八の態様では、音声発生装置が表示画面を有し、表示画面には何らかの形を模した外形形状のものが映し出される。そのため、本発明の教育システムを用いて、大規模な教室等で多人数の学習者に対して教育を行う場合等において、大きな表示画面に前記外形形状のものを映し出すと、何らかの形を模した外形形状の音声発生装置を複数台設けて、それぞれの音声発生装置に解決方法等を提示する学習者を割り当てた場合に比べて、本発明を導入するコストを抑えることができる。
また、ここで「外形形状のものが話す如くに演出されている」とは、例えば聖徳太子やピーターパンが教育受講者に話しかける様に音声と動作とが同期している様な構成である。
【0032】
本発明の第九の態様は、前記音声発生装置が音声を出力する際に、前記外形形状のものが動作する又は/及び表情が変化するが如くに演出されていることを特徴とする請求項8に記載の教育支援システムである。
【0033】
本発明の第九の態様では、音声発生装置が音声を出力する際に、映し出された外形形状のものが動作する又は/及び表情が変化するが如くに演出されているので、作業者に視覚的にエラーの解決方法やそれに準ずる情報を通知又は示唆することができる。それにより、作業者の理解を促進することができる。
【0034】
本発明の第十の態様は、作業者が前記入力手段を操作して電子機器に入力する際に入力の誤り或いは操作の誤りを犯した場合に、当該誤りを犯した作業者が、所定時間内に同一の誤りを犯したか否かを判別する情報分析手段を備え、前記情報分析手段が、所定時間内に同一の作業者が同一の誤りを犯したと判別すると、音声発生装置に音声を発生させないことを特徴とする請求項1乃至請求項9のいずれかに記載の教育支援システムである。
【0035】
本発明の第十の態様では、予め決められた時間内に同種の誤りが発生していた場合、同じ誤りの解決方法を通知又は示唆しないため、作業者が誤りを指摘されて慌てる等の理由で同種の誤りを繰り返すことにより、音声発生装置が同じ音声を繰り返し発することを防ぐ。したがって、音声発生装置が他のエラーに対応した音声を発することが遅れたり、当該音声が騒音となって他の作業者の邪魔になる等の事態の発生を回避できる。そのため、本発明の教育支援システムをより有効に活用することができる。
【0036】
本発明の第十一の態様は、前記音声発生装置が複数設けられ、複数の音声発生装置による音声の出力順を制御する行動制御手段が設けられたことを特徴とする1乃至10のいずれかに記載の教育支援システムである。
【0037】
本発明の第十一の態様では、音声発生装置が複数台設けられ、複数の音声発生装置による音声の出力順を制御する行動制御手段が設けられているため、複数の音声発生装置が同時に音声を発することにより音声の内容が聞き取りにくくなるのを回避できる。したがって、音声発生装置を複数台設けて、それぞれの音声発生装置に担当する作業者を割り当てて本発明の教育支援システム使用する場合等に、本発明をより有効に使用することができる。
【0038】
本発明の第十二の態様は、請求項1乃至11のいずれかに記載の教育支援システムを用いることを特徴とする教育支援方法である。
【0039】
本発明の第十二の態様の教育支援方法は、上記各請求項に記載の教育支援システムを使用して実施されるものであるため、従来の教育支援方法に比べて、教育を実施する者の負担がより軽減される上に、教育を受ける者の教育内容への理解が促進される教育環境を提供することができる。
【発明の効果】
【0040】
本発明によれば、作業者が犯した誤りをエラー情報検出手段が検出し、解決方法やそれに準ずる情報を報知するので、誤りを犯した作業者が自発的に質問しなくても、解決するための情報が提供される。そのため、作業者は自身が犯した誤りの疑問点を整理することなく誤り(問題)の解決を図ることができるという効果がある。
また、誤りを解決するための情報を、音声を発することにより報知するため、誤った入力(又は操作)を行った作業者(学習者)のみならず、周囲の人間(他の作業者や監督者、指導者等)にも、誤った入力を行った作業者の存在と、誤りの内容を把握できる。したがって、誤った入力を行った作業者が、誤りを解決するための情報から自身が行った誤りを正すことができなかった場合においても、周囲の人間がその作業者に解決方法を指導することができる。してみると、指導者や監督者は全員分の入力を確認することなく、問題を抱える作業者(学習者)を特定することができるため、指導者の負担が軽減するという効果がある。
【図面の簡単な説明】
【0041】
【図1】本発明の一実施形態にかかる教育支援システムの構成を概念的に示した説明図である。
【図2】エラー情報管理サーバーの構成を概念的に示した説明図である。
【図3】ロボット制御コンピュータの構成を概念的に示した説明図である。
【図4】クライアント機の構成を概念的に示した説明図である。
【図5】エラー情報検出システムにより、エラーを検出して、情報を送信する際の一例を示すフローチャートである。
【図6】エラー情報作成システムにより、作成又は取得したエラーに対応する解決方法を含むエラー情報をデータベースに蓄積し、送信する際の一例を示すフローチャートである。
【図7】発話情報作成システムにより、ロボットに行動情報を送信する際の一例を示すフローチャートである。
【図8】クライアント機の一実施形態を示した斜視図である。
【図9】教育支援システムで用いるデータの作成の流れを示す説明図である。
【図10】作成者が誤りを犯さなかった場合のソースコードを示す説明図である。
【図11】作成者が誤りを犯したソースコードを示す説明図である。
【発明を実施するための形態】
【0042】
本発明の一実施形態にかかる教育支援システム、並びに教育支援方法の提供方法について図面を参照しながら詳細に説明する。図1は、本実施形態の教育支援システム1の構成の概略を示す概念図である。図1に示す様に、教育支援システム1はネットワーク7とサーバー側ネットワーク12(各々請求項における通信網に相当)を有し、ネットワーク7内に発声機能を持つロボット6(請求項における音声発生装置に相当し、漫画や映画等に登場する概念的なロボットを模した形状をしており、図1では符号6a、6bで示す)、クライアント機8(請求項における電子機器に相当し、図1では符号8a〜8fで示す)を備え、サーバー側ネットワーク12内に、エラー情報管理サーバー2、ロボット制御コンピュータ3、エラー情報データベース4、発話情報データベース5を備えており、サーバー側ネットワーク12とネットワーク7が互いにデータを送受信可能な状態で接続されている。そして、各クライアント機8をユーザー9(請求項における作業者に相当し、図1では符号9a〜9fで示す)が使用している。
【0043】
サーバー側ネットワーク12は、エラー情報管理サーバー2や、ロボット制御コンピュータ3、エラー情報データベース4、発話情報データベース5等を構内通信網(LAN)等の通信網を介して互いにデータを送受信可能に接続して構成されている。
【0044】
ネットワーク7は、サーバー側ネットワーク12の外部に設けられた広域通信網(WAN)や構内通信網(LAN)等の通信網である。また、ネットワーク7にはロボット6がデータを受信可能な状態で接続され、また、クライアント機8がデータを送信可能な状態で接続されている。
なお、ここで用いる通信網は、その形態や規格、伝送速度等は任意のものでよい。例えば、光ファイバーケーブルやツイストペアケーブル等のLANケーブル等を用いる有線通信を用いてもよいし、電波や赤外線等による無線通信を用いてもよい。即ち、本発明の教育支援システムが使用するデータが送信又は受信可能であればよい。
【0045】
図1に示す通り、エラー情報管理サーバー2は、サーバー側ネットワーク12とネットワーク7を介して、各クライアント機8a〜8fと繋がっており、各クライアント機8a〜8fから送信されるデータを受信可能である。また、エラー情報管理サーバー2は、サーバー側ネットワーク12を介してロボット制御コンピュータ3、エラー情報データベース4と繋がっており、これらと互いにデータを送受信可能である。
エラー情報管理サーバー2として使用するハードウェアは、演算能力を有する電子機器であり、例えば、汎用コンピュータ(メインフレーム等)、ワークステーション、パーソナルコンピュータ等の設置型のコンピュータでもよいし、PDA(Personal Digital Assistant)やPocketPC等の携帯型のコンピュータでもよい。つまり、エラー情報管理サーバー2は、後述するエラー情報作成システム21等のソフトウェアを使用可能なハードウェアであればよい。
【0046】
このエラー情報管理サーバー2には、エラー情報の管理用ソフトウェアであるエラー情報作成システム21(請求項におけるエラー関連情報作成手段)がインストールされている。図2に示される様に、このエラー情報作成システム21は、エラー情報作成手段42、解決方法作成手段43等を有している。
【0047】
エラー情報作成手段42は、クライアント機8a〜8fの何れかからデータを受信する際に、データの送信元であるクライアント機(8a〜8fの何れか)を特定可能であり、受信したデータからエラーの内容等の情報を取得可能である。そして、これらのデータをデータベース(本実施形態ではエラー情報データベース4と発話情報データベース5に該当する)で使用可能な形式に変換する。
より具体的には、エラー情報作成手段42は、データを受信した際に、エラー情報管理サーバー2にデータを送信してきたクライアント機8が、クライアント機8a〜8fの中のどれであるのかを、IPアドレス(Internet Protocol Address)やID(Identification)等の機器を識別するため情報を取得することにより特定し、データを送信したクライアント機8(例えばクライアント機8a)自体、或いはクライアント機8を使用するユーザー9(例えばクライアント機8aであるならユーザー9a)に関するデータ(名前や所属等に関するデータであり、以下個別データと記す)を取得できる。
【0048】
また、受信したデータにはエラーの内容、エラーを発生させた記述内容、エラーが発生した記述の位置、発生した日付、発生した時刻等の発生したエラーの原因や内容、詳細を把握可能である情報が含まれている。
エラー情報作成手段42は、これらの取得した情報をデータベース形式のデータであるエラー情報24(図9)に変換可能である。
【0049】
上記した「データベース形式のデータ」とは、並び替えや、データの検索、集計、抽出(フィルタリングを含む)等が可能であるデータの集まりの一部として使用可能なデータである。例えば、MicroSoft Access(マイクロソフト社製データベース管理ソフトウェア)で使用する様な表形式のデータベースを用いるのであれば、一つのレコードがそれに該当し、その場合、前述のエラーの内容、エラーを発生させた記述内容、エラーが発生した記述の位置等々のデータは夫々別個のフィールドに格納される。
【0050】
このように「データベース形式のデータ」としてデータを取り扱うために、複数の情報を、区切りを設けて配置することで、情報の内容が何に関する情報であるのかを認識可能にするという方法がある。この方法によると、エラー情報24は、区切られた範囲に情報が無い(その範囲にNullデータを有している状態等も含む)ことで、エラー情報24が、その範囲に対応する一部分に関して情報を持たないことも識別可能となる。また、これらの区切られた範囲に配置された情報の内容は個別に、追加、上書き、削除等が可能である。
上記した方法について具体例を挙げると、CSV(Comma Separated Value)形式で記述されたデータがある。さらに詳細には、CSV形式はカンマで区切って内容を示す情報を記述することで、記述された位置からその内容に関する情報が何の内容に関する情報であるのか識別可能な形式である。また、カンマで区切られた内容を示す情報は、それぞれ個別に追加、上書き、削除等が可能である。
ここで、本発明で使用するデータベースはMicroSoft Access(マイクロソフト社製のデータベース管理ソフトウェア)やOracle(オラクルコーポレーショション社製のデータベース管理ソフトウェア)等のソフトウェアで管理するようなRDB(Relational Data Base)でなくともよい。例えばOODB(Object Oriented Data Base)やXMLDB(Extensible Markup Language Data Base)等の形式の異なるデータベースであってもよい。したがって、「データベース形式のデータ」とは、上記の形式に限らず、本発明で使用するデータベースで使用可能であればよい。即ち、並び替えや、データの検索、集計、抽出等が可能であるデータの集まりとしてデータが扱えればよい。
【0051】
次に、エラー情報作成システム21の解決方法作成手段43(請求項における解説文作成手段又は対処方法作成手段)について説明する。解決方法作成手段43は、前述のエラー情報24から、ユーザー9に通知又は示唆するためのエラーの解決方法や対処方法を作成するものである。
このエラーの解決方法や対処方法は、エラー情報データベース4に登録された情報の取得や、エラーの内容を英語から日本語に翻訳する等の処理により作成される。この時、英語から日本語への翻訳は従来周知の翻訳ソフトウェアを使用する。なお、作成された解決方法や対処方法は、前述のエラー情報24に追加され、これらは一元的に管理される。
なお、本実施形態では母国語が日本語である人が作成者の場合を想定しており、翻訳7する言語は、作成者の母国語やソフトウェアが使用する言語に応じて自由に変更可能である。
【0052】
ロボット制御コンピュータ3は、図1に示す通り、サーバー側ネットワーク12とネットワーク7を介してロボット6と繋がっており、ロボット6の動作を総括して管理可能なものである。また、ロボット制御コンピュータ3は、サーバー側ネットワーク12を介してエラー情報管理サーバー2、及び発話情報データベース5と繋がっており、互いにデータを送受信可能である。
ここで、ロボット制御コンピュータ3として使用するハードウェアは、演算能力を有する電子機器であり、前述したエラー情報管理サーバー2と同様に設置型のコンピュータ、携帯型のコンピュータのどちらでもよい。
【0053】
このロボット制御コンピュータ3には、ロボット制御用ソフトウェアである発話情報作成システム22(図3)がインストールされている。図3に示される様に、この発話情報作成システム22は、情報分析手段44、行動内容作成手段45、音声データ作成手段46、行動データ作成手段47、行動制御手段48等を有している。以下、個々に説明する。
【0054】
情報分析手段44は、発話情報データベース5(図1)に接続し、受け取ったエラーを特定する情報(エラー情報24のエラーの解決方法や対処方法等の情報)を参照して、後述の発話情報データベース5に対して、受け取った情報が示すエラーの解決方法や対処方法に対応する、ロボット6の行動内容に関連するデータが発話情報データベース5のデータの中に含まれているか否かを判別するものである。
また、この情報分析手段44は、エラー情報24の内容とエラー情報データベース4の内容から所定時間(例えば5分)内における、同じ内容のエラーの発生の有無を判別することもできる。
【0055】
発話情報作成システム22の行動内容作成手段45は、エラーを発生したユーザーを特定可能であるデータ(エラー情報24の個別データ)や、エラーの詳細な内容についてのデータ、エラーの解決方法や対処方法に関するデータ等を元に、ロボット6の発話文や行動内容を作成するものである。
例えば、発話文が「Xくん、Y行目のZが間違っているよ。」という内容であるとする。このとき、Xはユーザー名、若しくはユーザーIDであり、Yはエラーの出現した行数であり、Zは関数名である。X、Y、Zはそれぞれ前述のエラー情報24から取得可能であり、これらを元に従来周知の文章作成ソフトウェアを使用して発話文を作成する。
そして、発話文に対応するロボットの行動内容を、従来周知のロボット動作プログラム作成装置により作成する。例えば、上記のエラーであれば、ロボットがエラーを出したユーザーを指差すといった行動やロボットの顔が該ユーザーの方を向くといった行動を指示する等の行動内容(行動を実行するための命令コードやプログラム)が作成される。
【0056】
発話情報作成システム22の音声データ作成手段46は、行動内容作成手段45が作成したロボット6の発話文等のデータから音声データ25(図9)を作成するものである。
前述の発話文の場合、発話文の音声化は従来周知の音声合成ソフトウェアによって行われる。
【0057】
ここで、発話文の音声化は、文章作成ソフトウェア等を使用して作成したテキストデータを、従来周知の音声合成ソフトウェア等のソフトウェアにより音声データ化しているが、発話文の音声化の方法はこれに限るものではない。
例えば、ハードウェアに記録された個々では意味を持たない音声データを抽出し、連続で出力して作成してもよい。この方法によると、前述の文であれば「くん」、「行目」、「の」「が」、「間違っているよ」というような個別の音声データを記録されているハードウェア(ハードディスク等の記録媒体)から抽出し、「X」、「Y」、「Z」等の音声データを作成した上で、順番を「X」、「くん」、「Y」、「行目」、「の」・・・というように意味を持つ順番に並び替えて出力する。
つまり、行動内容作成手段45が作成する発話文は、テキストデータでなくてもよく、音声データ作成手段46の音声化の手段も音声合成に限るものではない。エラーに関連する情報から、エラーに対応する解決方法や、対処方法、エラーについての解説が音声データ化されればよい。
【0058】
発話情報作成システム22の行動データ作成手段47は、エラー情報24のエラーの解決方法、ロボット6の発話文、音声データ25、ロボットの行動用データ等をデータベース形式のデータである行動情報26(図9)に変換することができる。
また、本実施形態ではエラー情報24と行動情報26を処理の効率化のため、別個のデータの集合体として管理しているが、これらを一つのデータの集合体として管理してもよい。即ち、エラー情報24に行動情報26を含めてもよい。その際、本実施例のようにデータベースを二つ設ける必要はない。つまり、統合した一つのデータの集合体を一つのデータベースに蓄積し、管理すればよい。
なお、ここで述べた「データベース形式のデータ」とは、前述したエラー情報24の形式と同様であり、本発明で使用するデータベースで使用可能であり、並び替えや、データの検索、集計、抽出等が可能であるデータの集まりとしてデータが扱えるデータのことを指す。
【0059】
ロボット制御コンピュータ3の行動制御手段48は、ロボット6(音声発生装置)の動作を制御するものであり、具体的には、ロボット6の音声出力のタイミングや、複数台のロボット6を設けた際に、ロボット6の音声を出力する順序を制御するものである。
例えば、短時間に複数のエラーが発生し、夫々のエラー情報24が送信された場合に、ロボット6に規定の間隔(例えば30秒)を空けて夫々のエラー情報24に対応する音声を出力させる。また、複数のロボット6(6a、6b)が接続されている場合に、ロボット6aとロボット6bの発話するタイミングや順序を決定することで、同時に発話させない様にする。これにより、ユーザー9は、ロボット6aとロボット6bが同時に発話することによって、聞き取りにくくなることを回避できる。
【0060】
エラー情報データベース4は、前記したエラー情報24を蓄積可能な形式のデータベースである。
【0061】
発話情報データベース5は、前記した行動情報26を蓄積可能な形式のデータベースである。
【0062】
ロボット6は、音声データを出力する機能を備えている、概念的なロボットの形状を模した音声発生装置である。該ロボット6の音声データ出力機能は従来周知の機能であり、スピーカー等の電気信号を物理振動に変換する周知の装置から音を発することで実現するものである。
【0063】
クライアント機8は、ネットワーク7を介してエラー情報管理サーバー2に接続可能な構成とされており、エラー情報管理サーバー2に接続すると、データ(入力データやエラーの内容に関するデータ等)を送信することができる。
さらに、クライアント機8にはオペレーティングシステム(OS:Operating System)がインストールされている。したがって、前記オペレーティングシステムの存在下で作動可能なアプリケーションソフトを適宜選択してインストールすることができる。そして、このクライアント機8にはエラー情報検出システム20(請求項におけるエラー情報検出手段)が設けられている。
【0064】
そして、このクライアント機8は、例えば従来公知のパーソナルコンピュータのように、画像表示用のモニタや、CPU、メモリ、ハードディスク、キーボード等を備えたものを採用することが可能である。また、教育支援システム1では、パーソナルコンピュータの代わりに、通信機能と、データを入出力可能な機能を備えた専用端末をクライアント機8として使用してもよい。
さらに、クライアント機8としては、入出力インターフェイス30やキーボード33に代表される入力デバイスと、モニタ36に代表される出力デバイスを、例えばノート型(ラップトップ型)のパーソナルコンピュータや、一般的にPDA(Personal Digital Assistant)と称されるような携帯情報端末等と同様にパッケージ化した構成のものを採用することも可能である。
【0065】
即ち、クライアント機8として使用するハードウェアは、演算能力を有する電子機器であり、前記したエラー情報管理サーバー2やロボット制御コンピュータ3と同様に、設置型のコンピュータでもよいし携帯型のコンピュータでもよい。
【0066】
ここで、前述のクライアント機8に設けられている、エラー情報検出システム20について説明する。エラー情報検出システム20は、実行状況判別手段40、記述情報取得手段41を有しており、以下夫々説明する。
【0067】
実行状況判別手段40は、クライアント機8から操作や入力が可能であるソフトウェアに対して、使用者が特定の入力を行ったか否かを判別する。
本実施形態において、「クライアント機8から操作や入力が可能であるソフトウェア」とはプログラム作成用ソフトウェアであり、「特定の入力」とはコンパイルを実行する操作のことである。即ち、実行状況判別手段40は、作業者がプログラム作成用ソフトウェアで記述したソースコード(コマンド)等に対してコンパイルを実行したか否かを判別する。
ここで、「操作や入力」を行うソフトウェアと、「特定の入力」を行うソフトウェアは別であってもよい。即ち、本実施形態ではプログラム作成用ソフトウェアを使用しているが、ソースコード(コマンド)を任意のテキストエディタ(例えばWindows(マイクロソフト コーポレーションの登録商標)に実装されているメモ帳)でテキストファイルを作成して、コンパイラを使用してコンパイルを実行してもよい。その場合、「クライアント機8から操作や入力が可能であるソフトウェア」はコンパイラとし、「特定の入力」は同じくコンパイルを実行する操作とする。そして、実行状況判別手段40がコンパイラを連動することで、コンパイルが実行されたのかどうか、コンパイルされたファイルは何かといった情報を得ることができる。
【0068】
記述情報取得手段41は、使用者がソフトウェアに対して行った操作や入力に基づいて特定の作業を行ったとき、その情報が特定の作業において誤りであった場合に、誤りの原因となる情報と、発生した誤りの具体的な内容を取得する。
具体的に説明すると、本実施例では「ソフトウェア」とはプログラム作成ソフトウェア(アプリケーション13)であり、「操作や入力」とはソースコードやコマンドの記述等であり、「特定の作業」とはコンパイルのことである。即ち、記述情報取得手段41は、プログラム開発用ソフトウェアに対して記述したソースコード(コマンド)にコンパイルを実行し、エラーが発生した場合、エラーを発生させた記述とエラーの内容を取得する。
【0069】
また、記述情報取得手段41は、使用者がソフトウェアに対して行った操作や入力について、その操作や入力による情報に基づいて特定の作業を行ったとき、その情報が特定の作業に用いる上で誤りでないかどうかを判別することができる。
そして、特定の作業に用いる上で誤りであると判別された場合、記述情報取得手段41は、誤りの原因となる情報と、将来発生が予測される誤りの具体的な内容を取得する。
前述した様に本実施例において、「ソフトウェア」とはプログラム作成ソフトウェアであり、「操作や入力」とはソースコード(コマンド)の記述等であり、「特定の作業」とはコンパイルのことである。即ち、記述情報取得手段41は、プログラム開発用ソフトウェアに対して記述したソースコード(コマンド)が、将来コンパイルを実行した際にエラーが発生する記述であるのかどうかを判別する。そして、記述したソースコード(コマンド)等にコンパイルを実行することで、エラーが発生すると判断した場合、ソースコード中のエラーの原因となる記述とエラーの内容を取得する。
なお、将来コンパイルを実行した際にエラーが発生する記述であるのかどうかの判断は、記述されたソースコードを正しい文法と比較する方法や、記述されたソースコードの特定の範囲にのみコンパイルを実行する等の比較方法の何れの方法を用いてもよい。即ち、記載された記述が誤りであるのかどうかを正確に検出できればよい。
【0070】
ここで、記述情報取得手段41は、「操作や入力」を行ったソフトウェアと、「特定の作業」を行うソフトウェアは別のソフトウェアである場合も、上記の判別や情報の取得が可能である。例えば、「操作や入力」を行うソフトウェアがテキストエディタ等のソースコードの記述に用いるソフトウェアであり、「特定の作業」を行うソフトウェアがコンパイラであった場合においても、記述したソースコードが、コンパイラを使用してコンパイルを実行した際にエラーが発生する記述であるのかどうかを判別することができ、エラーになると判別された場合、ソースコードのエラーの原因となる記述とエラーの内容を取得することができる。
【0071】
上記した教育支援システム1は、例えば単一の学校構内において、アプリケーション13を使用するクライアント機8やロボット6の設置場所とは別の場所にサーバー側ネットワーク12を構築し、クライアント機8とロボット6から構成されるネットワーク7を複数の場所に設けて、サーバー側ネットワーク12と各ネットワーク7を、通信網(LAN等)を介して接続する使用形態でも使用できる。以下、上記した教育支援システム1により、プログラムの作成方法を教育する場合の動作について、図5〜図7に示すフローチャートを参照しながら、詳細に説明する。
【0072】
本実施形態では、各生徒がそれぞれパーソナルコンピュータから成るクライアント機8を操作し、プログラム作成の実習を行う場合を想定している。
そのため各クライアント機8には、それぞれプログラム作成ソフトウェア(アプリケーション13)がインストールされており、各生徒は教師が提示した課題に合わせてめいめいプログラムを作成する。
ここで各クライアント機8にインストールされているプログラム作成ソフトウェアは、所定のコマンドを使用し、所定の文法や法則に沿って動作手順(ソースコード)を書き込み、書き込んだ動作手順を所定の機器又は/及びソフトウェアに作用する形式に変換するものである。
プログラム作成ソフトウェアでは、入力したコマンドや手順等(入力情報)を変更可能な仮入力状態と、入力したコマンド等を確定する操作を経てコマンド等が確定された本入力状態がある。
【0073】
より具体的には、生徒がキーボード等を操作してソースコードやコマンド等を入力すると、当該ソースコード(コマンド)が、クライアント機8のディスプレイに表示される。しかしこの状態は、仮入力状態であり、日常的に行われている挿入、削除、上書きといった操作によって内容を変更することができる。そして変更後のコマンド等は直ちにディスプレイに表示される。
また入力した内容を確定する場合は、例えばキーボードのエンターキー等の特定のキーを操作したり、画面上の特定の場所にマウスのカーソルを移動させてクリックしたりする。その結果、ソースコードやコマンド等が確定し、所望のメモリに記憶されたり、コンパイルが実行されて機械言語等に変換される。
本実施形態では、キーボードのエンターキー等を操作することにより、入力内容が確定し、直ちにコンパイルが実行されることとする。
【0074】
また本実施形態で採用するプログラム作成ソフトウェアでは、コンパイルが実行された時に、コマンドや文法等に誤りがあり、正常に変換することが出来ない場合は、ディスプレイ上に「エラー」の表示が現れ、コンパイルを中止するものである。
ただし、本実施形態で採用するプログラム作成ソフトにおいて、「エラー」の表示が現れるのは、エンターキー等の特定のキーを操作してコンパイルを開始した場合に限られ、プログラム作成ソフト自体は、エンターキー等を操作する前に「エラー」の表示を行う機能は持たない。
即ち、本実施形態で採用するプログラム作成ソフト(アプリケーション13)自体は公知のソフトであり、エンターキー等を操作する前にエラー内容を検索する機能を持たず、本発明の特徴たる「エラー情報検出システム」は、プログラム作成ソフトとは別途のソフトウェアである。
【0075】
まず、エラー情報検出システム20(図4)が教育支援システム1の起動と同時に動作を開始する。そして、ユーザー9(9a〜9f)が夫々個別に使用する各クライアント機8(8a〜8f)において、ユーザー9(9a〜9f)の内の少なくとも一人がアプリケーション13(ソフトウェア開発用アプリケーション)上でコンパイルを実行した場合に、コンパイルした内容に対してエラーの有無をチェックする。また、コンパイルが実行されないユーザー9(9a〜9f)が記述した内容に対しても、規定の時間毎(例えば15分〜30分に一度)に、エラーの有無を動作する。
具体的に説明すると、図5で示されるように、ステップ1−1において、エラー情報検出システム20は前記実行状況判別手段40により、ユーザー9がアプリケーション13でコンパイルが実行されたのか否かを判別する。
まず、ユーザー9がコンパイルを実行した場合(ステップ1−1でYESの場合)について述べる。この場合、制御フローがステップ1−2に移行して、エラー情報検出システム20の記述情報取得手段41により、作成されたプログラムのエラーの有無を判別する。エラーがあればステップ1−3に移行して、同じく記述情報取得手段41によりエラーの内容とその原因となった入力情報を取得する。
【0076】
また、ユーザー9がコンパイルを実行していない場合(ステップ1−1でNoの場合)について説明する。この場合、制御フローがステップ1−5に移行して、システムの開始時、又は最後に記述情報取得手段41がエラーの有無を判別した時間から規定時間が経過しているかどうか判別する。
規定時間が経過していた場合(ステップ1−5でYesの場合)、制御フローがステップ1−6に進み、エラー情報検出システム20の記述情報取得手段41が、現在記述されているソースコードから、将来コンパイルした際にエラーとなる記述の有無を判別する処理を実行する範囲を決定する。すなわち、エラーを検出する範囲を決定する。また、ステップ1−5でNoの場合はステップ1−1に戻る。
ここで、エラーを検出する範囲は、例えば、最初から記述している部分までを範囲としたり、特定のコマンドの集まり(例えば指定したいくつかの関数)を範囲としたりするなど、実行作成するプログラムの難易度や作成者の習熟度などに応じて任意に変更可能である。
【0077】
そして、制御フローがステップ1−7に移行し、記述情報取得手段41が、前述の決定した範囲に対して、将来コンパイルした際にエラーとなる記述の有無を判別する。判別の結果、エラーとなる記述がある場合は、ステップ1−3に移行して、記述情報取得手段41がエラーになった場合の内容とその原因となる入力情報をアプリケーション13から取得する。ステップ1−7でNoの場合には、ステップ1−1に戻る。
【0078】
ステップ1−3で記述情報取得手段41が情報を取得すると、制御フローがステップ1−4に移行して、クライアント機8が収集した情報をエラー情報管理サーバー2へ送信する。そして、情報取得手段41は待機状態となる。即ち、記述情報取得手段41は、ユーザー9(9a〜9f)の少なくとも一人がコンパイルを実行するか、ユーザー9(9a〜9f)の何れかがコンパイルを実行しないまま、一定時間経過するまで待機する。この記述情報取得手段41は教育システム1の終了まで上記の動作を繰り返す。
そして、制御フローは図6へ移行する。
【0079】
図6においてエラー情報管理サーバー2が、クライアント機8から送信された情報を受信すると、制御フローはステップ2−1からステップ2−2に移行する。前述したように、エラー情報管理サーバー2に設けられたエラー情報作成システム21のエラー情報作成手段42により、個別データが取得され、受信したデータの内容と併せてエラー情報24が作成される。
ここでエラー情報24は、前述した様に本発明で使用するデータベースで使用可能である、並び替えや、データの検索、集計、抽出等が可能であるデータの集まりとして扱うことが可能なデータであり、作成時において新しい情報を追加可能であるいくつかの空き領域(表形式のデータベースで使用した場合の空フィールド)を有している。
【0080】
エラー情報24が作成されると、ステップ2−3に移行する。そして、エラー情報作成システム21の解決方法作成手段43が、エラー情報24のエラーの内容のデータを元に、エラー情報データベース4に蓄積されている情報を参照して、エラーの内容に対応する解決方法のデータの有無を判別する。
【0081】
エラー情報データベース4に蓄積されている情報から、エラーの解決方法のデータが見つかった場合(ステップ2−3でYESの場合)、ステップ2−6に移行してエラー情報データベース4からエラーの解決方法又は対処方法のデータを取得して、前述のエラー情報24に追加する。
【0082】
エラー情報データベース4にエラーの解決方法のデータが見つからなかった場合(ステップ2−3でNoの場合)は、制御フローのステップ2−4に移行して、解決方法作成手段43がエラーの内容に対して分析や翻訳を実行して解決方法を作成する。
【0083】
具体的に説明すると、例えば図10の様に記載すべきところを、作成者が図11の様に記載してしまい、エラーが発生したとする。そのとき、プログラム作成用ソフトウェアは以下の様なメッセージを出力する。
「 In function 'main'
c:7:error:missing terminating " character
c:8:error:syntax error before '}'token 」
このとき、解決方法作成手段43が上記したメッセージを取得し、定型文である「In function」後の「main」は関数名だと判断する。さらに、解決方法作成手段43は2行目を翻訳し「7行目、終了文字“(ダブルクォーテーションマーク)が無くなっている」という情報を得る。
そして、解決方法作成手段43はこれらから「main関数の7行目において終了文字であるダブルクォーテーションマークが無くなっている」という詳しいエラーの内容を得る。ここで、解決方法作成手段43は「無くなっている」が検出された場合、「付け足す」ことで解決すると判断し、エラー内容の語尾を変換して、「main関数の7行目において終了文字であるダブルクォーテーションマークを付け足す」という解決方法を得ることができる。
【0084】
エラーの解決方法又は対処方法のデータが作成されると、制御フローがステップ2−5に移行して、作成したエラーの解決方法又は対処方法のデータがエラー情報データベース4に蓄積される。そして、制御フローがステップ2−6に移行し、作成したエラーの解決方法又は対処方法のデータを前述のエラー情報24に追加する。
【0085】
エラー情報24に解決方法が追加されると、制御フローがステップ2−7に移行して、エラー情報管理サーバー2は、エラー情報24をロボット制御コンピュータ3へ送信する。そして、制御フローは図7へ移行する。
【0086】
図7においてロボット制御コンピュータ3が、エラー情報管理サーバー2から送信されたエラー情報24を受信すると、制御フローがステップ3−1からステップ3−2に移行する。そして、ロボット制御コンピュータ3に設けられた発話情報作成システム22が、情報分析手段44により、過去の所定時間内において同じ内容のエラーが発生したかどうかを判別する。
そこで、所定の時間内に同一のエラーが発生していない場合(ステップ3−2でNoの場合)、制御フローがステップ3−2からステップ3−3に移行し、エラー情報24を分析する。
そして、ステップ3−4に移行して、エラー情報24に追加したエラーの解決方法または対処方法を元に、発生したエラー情報24のエラーの内容に対応する行動情報26が、発話情報データベース5に蓄積されているか否かを判別する。
【0087】
発話情報データベース5に、解決方法に対応するロボット6の行動情報26が見つかった場合(ステップ3−4でYESの場合)は、制御フローがステップ3−8に移行する。
【0088】
発話情報データベース5に蓄積されている情報から、解決方法に対応するロボット6の行動情報26が見つからなかった場合(ステップ3−4でNoの場合)、即ち、ロボット6が発話する内容の発話文、音声データ25、ロボット6の行動内容のデータの内の少なくとも一つが見つからなかった場合、制御フローはステップ3−5に移行する。そして、発話情報作成システム22の行動内容作成手段45により、エラー情報24の各データを元にエラーの内容に対する発話文が作成され、作成された発話文に対応するロボット6の行動内容のデータが作成される。これらの情報が作成されると、制御フローがステップ3−6に移行して、音声データ作成手段46により、発話文の音声合成処理が実行される。
そこで、制御フローがステップ3−6からステップ3−7へ移行し、行動データ作成手段47により、作成したデータから行動情報26が作成され、発話情報データベース5に行動情報26を追加し、発話情報データベース5を更新する。そして、制御フローがステップ3−8に移行する。
【0089】
上記したようにエラー情報24に対応するロボット6の行動情報26が検出又は作成された場合、制御フローがステップ3−8に移行して、行動制御手段48により、それぞれのロボット6の発話する順序やタイミングが決定される。そのため、複数のロボット6が同時発話してロボットの発話が聞き取り難くなるという事態を回避できる。また、発話毎に一定の間隔を設けることで、異なる話が連続して発話され、聞き取り難くなるという事態を回避することができる。
【0090】
そして、制御フローがステップ3−8に移行して、ロボット6に発話文の音声データ25と行動内容のデータが送信されることで、ロボット6が発話し、動作する。
このように、ロボット6が発話することにより、エラーを発生させたユーザー以外のユーザー(例えば、ユーザー9aがエラーを発生させたのであれば、ユーザー9b〜9f)や、指導者等の周囲の者も発生したエラーに気付く。そのため、エラーを発生させたユーザー9が、ロボット6による解決方法や対処方法の通知または示唆のみでは、エラーの発生原因や対処方法が理解できなくても、周囲の人間がエラーの発生に気付き、エラーを発生させたユーザー9に対してエラーの発生原因の理解を促すことができる。そのため、指導者がすべてのユーザー9a〜9fのソースコードを詳細に把握する必要がなくなり、指導における負担が軽減する。
【0091】
本実施形態において、エラー情報検出システム20をクライアント機8に設けたが、エラー情報検出システム20を設けるハードウェアはこれに限らず、例えば、エラー情報管理サーバー2に設けてもよい。同様にエラー情報作成システム21や、発話情報作成システム22を設けるハードウェアもこれに限るものではない。つまり、本発明の教育支援システム1において、各システムを設けるハードウェアは任意であり、導入コストや所持しているハードウェア資源等々の理由に鑑みて自由に変更可能である。
【0092】
さらに、本実施形態において、エラー情報管理サーバー2とロボット制御コンピュータ3を別のハードウェアとして設けているが、これらを一つのコンピュータである、サーバー側コンピュータ(図示せず)として設けてもよい。この場合、サーバー側コンピュータにはエラー情報作成システム21と発話情報作成システム22が設けられ、サーバー側コンピュータはエラー情報データベース4、発話情報データベース5とサーバー側ネットワーク12を介して夫々送受信可能に接続される。
即ち、本発明の教育支援システム1において、ハードウェアの構成は実施形態の限りではない。使用するハードウェアの処理能力や、メモリやハードディスク等の記憶媒体の容量に鑑みて自由に変更してよい。
【0093】
本実施形態において、エラー情報検出システム20、エラー情報作成システム21、発話情報作成システム22は、夫々教育支援システム1を実現するための手段が割り当てられているが、手段の割り当てはこれに限るものではない。例えば、解決方法作成手段43が発話情報作成システム22に設けられてもよいし、行動内容作成手段45や音声データ作成手段46がエラー情報作成システム21に設けられてもよい。すなわち、実施する教育の内容や教育に用いるソフトウェアに応じて自由に変更してよい。即ち、教育支援システム1を実現するための手段が、教育支援システム1を構成する何れかのソフトウェアに設けられていればよい。
【0094】
例えば、本実施例においてクライアント機8に設けた、アプリケーション13やエラー情報検出システム20をエラー情報管理サーバー2に設けた場合について述べると、アプリケーション13は共有可能になり、各クライアント機8(8a〜8f)は、ネットワーク7を介してエラー情報管理サーバー2上で動作するアプリケーション13を利用する。
【0095】
この場合、クライアント機8は、図8に示すように入出力インターフェイス30を設け、これにデータ通信を行うための通信ケーブル34やキーボード33、マウス35、モニタ36等を接続したものを採用することも可能である。さらに具体的には、入出力インターフェイス30は、例えば通信ケーブル34を接続する接続ポート31や、キーボード33やマウス35等の入力デバイスや、モニタ36等の出力デバイスを接続するための入出力ポート32等を備えた構成とすることが可能である。入出力インターフェイス30をこのような構成とした場合は、通信ケーブル34を接続ポート31に対して接続すると共に、キーボード33やマウス35等に代表される入力デバイスや、モニタ36等の出力デバイスを入出力ポート32に接続したものをクライアント機8として使用することができる。
【0096】
本実施形態では、クライアント機8を6つ設けて、ユーザー9が6人いる状態で教育支援システム1を使用したが、クライアント機8やユーザー9の数はこれに限るものではない。また、クライアント機8とユーザー9の数は必ずしも同じでなくてよい。同様にロボット6の数も2つに限るものではない。ユーザーの数に応じて自由に変更してよい。
【0097】
本実施形態ではロボット6はエラーの発生時又は、将来エラーの発生が予測される場合に音声を発するが、ロボット6をこれ以外のタイミングで発話させてもよい。
例えば、特定の時間(例えば30分)エラーを出していないユーザー9を特定する機能を設けて、特定したユーザー9に対して「順調に進んでいますか」といった語りかけを行ってもよい。
【0098】
本実施形態において、ユーザーがコンパイルを実施しない場合における、エラーの有無の判別を開始する間隔や、ロボット6が音声を発する際の、異なるエラー発話間の間隔等の様々な時間設定を行っているが、設定する時間はこれに限るものではない。即ち、教育支援システム1を構成する各システムの時間設定は任意で設定することができる。
【0099】
また、さらに本実施形態において音声発生装置(ロボット6)は漫画や小説に登場するロボットの形状を模しているが、音声発生装置の形状はこれに限るものではない。例えば、擬人的にデフォルメされた動物の形状など、自由に変更してよい。
【0100】
本実施形態において、本発明をプログラムの作成方法の教育に使用した場合の動作について記述したが、本発明の使用目的はこれに限るものではない。本発明は、コンピュータ上で動作するアプリケーションを利用して実施する教育であれば使用可能であり、例えば、コンピュータの操作方法の教育、ネットワークで接続された機器の操作方法の教育等にも使用することができる。
【0101】
例えば、本発明の教育支援システムを、携帯電話機の付加機能の使用方法についての教育に使用してもよい。例えば、カメラ機能、メール機能、地図検索機能の様な携帯電話機の付加機能の使用方法を解説するための講習会において、本発明を用いることで、携帯電話機の知識が乏しくて質問を整理することが難しい受講者等の理解を促進することができ、効率よく講習会を進行することができる。
【符号の説明】
【0102】
1 教育支援システム
2 エラー情報管理サーバー
3 ロボット制御コンピュータ
4 エラー情報データベース
5 発話情報データベース
6 ロボット(音声発生装置)
7 ネットワーク(通信網)
8 クライアント機(クライアント)
9 ユーザー(アプリケーション使用者)
12 サーバー側ネットワーク
13 アプリケーション(ソフトウェア)
20 エラー情報検出システム(エラー情報検出手段)
21 エラー情報作成システム(エラー関連情報作成手段)
22 発話情報作成システム
24 エラー情報
25 音声データ
26 行動情報
40 実行状況判別手段
41 記述情報取得手段
42 エラー情報作成手段
43 解決方法作成手段
44 情報分析手段
45 行動内容作成手段
46 音声データ作成手段
47 行動データ作成手段
48 行動制御手段

【特許請求の範囲】
【請求項1】
複数の電子機器が通信網で接続された環境を持ち、各電子機器はそれぞれ入力手段を備えると共に同一又は互換性のあるソフトウェアを使用して所定の作業を実行可能であり、作業者が前記入力手段を操作して電子機器に行った入力に誤りがあった場合、或いは電子機器の操作に誤りがあった場合に、前記誤りがあった事実或いは誤りに対する対処方法の少なくともいずれかを通知又は示唆する教育支援システムであって、
前記誤りを検出するエラー情報検出手段と、誤りの内容、解説、対処方法あるいはこれらを示唆する情報の少なくともいずれかを記憶するエラー情報データベースと、音声データ作成手段と、音声を発する音声発生装置とを有し、エラー情報検出手段で検出された誤りに対応する情報をエラー情報データベースから選択し、その情報に基づいて音声データ作成手段で音声データを作成し、音声発生装置から音声を発することを特徴とする教育支援システム。
【請求項2】
前記ソフトウェアはプログラム作成用ソフトウェアであり、ソフトウェアに入力された信号に対してコンパイルを実行するコンパイル実行手段を備え、前記ソフトウェアに入力された信号に誤りがある場合、コンパイル実行時にエラーメッセージを出力するエラーメッセージ出力手段を備え、教育支援システムは、エラーメッセージの翻訳の作成、解説の作成、対処方法の作成の少なくともいずれかを実行するエラー関連情報作成手段を備え、エラー関連情報作成手段によって作成された情報をエラー情報データベースに蓄積可能であることを特徴とする請求項1に記載の教育支援システム。
【請求項3】
前記ソフトウェアはプログラム作成用ソフトウェアであり、ソフトウェアに入力された信号に対してコンパイルを実行するコンパイル実行手段を備え、前記ソフトウェアに入力された信号に誤りがある場合、コンパイル実行時にエラーメッセージを出力するエラーメッセージ出力手段を備え、教育支援システムは、エラーメッセージを翻訳すると共に翻訳内容からエラーの内容を解説する解説文作成手段あるいは対処方法を作成する対処方法作成手段の少なくともいずれかを備えることを特徴とする請求項1又は2に記載の教育支援システム。
【請求項4】
前記翻訳、解説、対処方法の少なくともいずれかに対応する音声データを記憶する発話情報データベースを有し、前記音声データ作成手段は、前記発話情報データベースに記憶された情報を利用して音声データを作成することを特徴とする請求項2又は3に記載の教育支援システム。
【請求項5】
電子機器で使用されるソフトウェアは、所定の作業を実行するための情報を確定する操作を実行可能であり、前記ソフトウェアには前記操作を実行していない仮入力状態と、前記操作を経た本入力状態があり、前記エラー情報検出手段は仮入力状態の段階、本入力状態の段階の少なくともいずれかの段階で前記誤りを検出可能であることを特徴とする請求項1乃至4のいずれかに記載の教育支援システム。
【請求項6】
音声発生装置は、何らかの形を模した外形形状を呈していることを特徴とする請求項1乃至5のいずれかに記載の教育支援システム。
【請求項7】
前記音声発生装置が音声を出力する際に、動作又は/及び外見の変化を伴うことを特徴とする請求項1乃至6のいずれかに記載の教育支援システム。
【請求項8】
音声発生装置は、表示画面を有し、当該表示画面に何らかの形を模した外形形状のものが映し出され、当該外形形状のものが話す如くに演出されていることを特徴とする請求項1乃至7のいずれかに記載の教育支援システム。
【請求項9】
前記音声発生装置が音声を出力する際に、前記外形形状のものが動作する又は/及び表情が変化するが如くに演出されていることを特徴とする請求項8に記載の教育支援システム。
【請求項10】
作業者が前記入力手段を操作して電子機器に入力する際に入力の誤り或いは操作の誤りを犯した場合に、当該誤りを犯した作業者が、所定時間内に同一の誤りを犯したか否かを判別する情報分析手段を備え、
前記情報分析手段が、所定時間内に同一の作業者が同一の誤りを犯したと判別すると、音声発生装置に音声を発生させないことを特徴とする請求項1乃至請求項9のいずれかに記載の教育支援システム。
【請求項11】
前記音声発生装置が複数設けられ、複数の音声発生装置による音声の出力順を制御する行動制御手段が設けられたことを特徴とする1乃至10のいずれかに記載の教育支援システム。
【請求項12】
請求項1乃至11のいずれかに記載の教育支援システムを用いることを特徴とする教育支援方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate