(57)【要約】【課題】インテリジェント・チューターのための向上した視覚的ダイアログ・インターフェースを提供する。【解決手段】チューター・アプリケーションのチャット・インターフェースを介して、テキスト入力を受け取ること、テキスト入力に適用された少なくとも１つの分類器によって、テキスト入力における概念を特定すること、テキスト入力における概念を視覚的行動および第１の視覚的オブジェクトのうちの少なくとも１つにマッピングすること、第１の機械学習（ＭＬ）モデルに基づいて、視覚的行動および第１の視覚的オブジェクトのうちの少なくとも１つに対応する第１のプログラム・コード・ステートメントを生成すること、ならびにチャット・インターフェースを介して受け取ったテキスト入力に基づいてチューター・アプリケーションの視覚化インターフェースを修正するための第１のプログラム・コード・ステートメントを実行すること、を含む動作を行うためのシステム、方法、コンピュータ・プログラム、およびコンピュータ可読ストレージ媒体。【選択図】図１
2020525827.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
チューター・アプリケーションのチャット・インターフェースを介してテキスト入力を受け取ることと、
前記テキスト入力に適用される少なくとも１つの分類器によって、前記テキスト入力における概念を特定することと、
前記テキスト入力における前記概念を視覚的行動および第１の視覚的オブジェクトのうちの少なくとも１つにマッピングすることと、
第１の機械学習（ＭＬ）モデルに基づいて、前記視覚的行動および前記第１の視覚的オブジェクトのうちの前記少なくとも１つに対応する第１のプログラム・コード・ステートメントを生成することと、
前記チャット・インターフェースを介して受け取った前記テキスト入力に基づいて、前記チューター・アプリケーションの視覚化インターフェースを修正するための前記第１のプログラム・コード・ステートメントを実行することと、
を含む方法。
【請求項２】
前記第１のプログラム・コード・ステートメントは、グラフィックス・ステートメントの文法を含み、前記方法は、
表示のために前記視覚化インターフェースを出力することをさらに含み、前記視覚化インターフェースは、前記第１の視覚的オブジェクトを含む複数の視覚的オブジェクトを含み、前記プログラム・コード・ステートメントは、前記複数の視覚的オブジェクトのうちの少なくとも１つを修正する、請求項１に記載の方法。
【請求項３】
前記視覚化インターフェースを介して表示のために出力された前記複数のオブジェクトのうちの第２の視覚的オブジェクトを修正する入力を受け取ることと、
前記第２の視覚的オブジェクトを修正するための第２のプログラム・コード・ステートメントを生成することと、
前記第２の視覚的オブジェクトを修正するための前記第２のプログラム・コード・ステートメントを実行することと、
第２のＭＬモデルに基づいて、前記第２のプログラム・コード・ステートメントに対応するエンティティを生成することと、
前記エンティティと概念との間のマッピングに基づいて、自然言語のステートメントを生成することと、
前記チャット・インターフェースを介して前記自然言語のステートメントを出力することと、
をさらに含む、請求項２に記載の方法。
【請求項４】
前記テキスト入力を受け取ることの前に、
トレーニング用データに基づいて前記第１の機械学習モデルおよび前記第２の機械学習モデルを生成するために前記少なくとも１つの分類器をトレーニングすること、
をさらに含む、請求項３に記載の方法。
【請求項５】
前記トレーニング用データは、（ｉ）自然言語のステートメントを生成するために使用される複数のラベル付けされたプログラム・コード・ステートメント、および（ｉｉ）プログラム・コード・ステートメントを生成するために使用される複数のラベル付けされた自然言語のステートメントを含む、請求項４に記載の方法。
【請求項６】
チャット・エンジンによって、前記チャット・インターフェースを介して第１のメッセージを出力することと、
前記第１のメッセージに適用される前記少なくとも１つの分類器によって、前記第１のメッセージにおける概念を分類することと、
前記第１のメッセージにおける前記概念を前記第１のメッセージにおける前記概念に関連するイベントにマッピングすることと、
前記第１のメッセージにおける前記概念に関連する前記イベントに対応する第２のプログラム・コード・ステートメントを生成することと、
前記チャット・エンジンによって出力された前記第１のメッセージに基づいて前記チューター・アプリケーションの前記視覚化インターフェースを修正するための前記第２のプログラム・コード・ステートメントを実行することと、
をさらに含む、請求項１に記載の方法。
【請求項７】
前記テキスト入力は、前記チャット・インターフェースを介して出力された質問への応答を含む、請求項１に記載の方法。
【請求項８】
コンピュータ・プログラム製品であって、
コンピュータ可読プログラム・コードが具体化されたコンピュータ可読ストレージ媒体を含み、
前記コンピュータ可読プログラム・コードは、
チューター・アプリケーションのチャット・インターフェースを介してテキスト入力を受け取ることと、
前記テキスト入力に適用される少なくとも１つの分類器によって、前記テキスト入力における概念を特定することと、
前記テキスト入力における前記概念を視覚的行動および第１の視覚的オブジェクトのうちの少なくとも１つにマッピングすることと、
第１の機械学習（ＭＬ）モデルに基づいて、前記視覚的行動および前記第１の視覚的オブジェクトのうちの前記少なくとも１つに対応する第１のプログラム・コード・ステートメントを生成することと、
前記チャット・インターフェースを介して受け取った前記テキスト入力に基づいて、前記チューター・アプリケーションの視覚化インターフェースを修正するための前記第１のプログラム・コード・ステートメントを実行することと、
を含む動作を行うようにプロセッサによって実行可能である、コンピュータ・プログラム製品。
【請求項９】
前記第１のプログラム・コード・ステートメントは、グラフィックス・ステートメントの文法を含み、前記動作は、
表示のために前記視覚化インターフェースを出力することをさらに含み、前記視覚化インターフェースは、複数のオブジェクトを含み、前記プログラム・コード・ステートメントは、前記複数のオブジェクトのうちの少なくとも１つを修正する、請求項８に記載のコンピュータ・プログラム製品。
【請求項１０】
前記視覚化インターフェースを介して表示のために出力された前記複数のオブジェクトのうちの少なくとも１つを修正する入力を受け取ることと、
前記複数のオブジェクトのうちの前記少なくとも１つを修正するための第２のプログラム・コード・ステートメントを生成することと、
前記複数のオブジェクトのうちの前記少なくとも１つを修正するための前記第２のプログラム・コード・ステートメントを実行することと、
第２のＭＬモデルに基づいて、前記第２のプログラム・コード・ステートメントに対応するエンティティを生成することと、
前記エンティティと概念との間のマッピングに基づいて、自然言語のステートメントを生成することと、
前記チャット・インターフェースを介して前記自然言語のステートメントを出力することと、
をさらに含む、請求項９に記載のコンピュータ・プログラム製品。
【請求項１１】
前記動作は、前記テキスト入力を受け取ることの前に、
トレーニング用データに基づいて前記第１の機械学習モデルおよび前記第２の機械学習モデルを生成するために前記少なくとも１つの分類器をトレーニングすること、
をさらに含む、請求項１０に記載のコンピュータ・プログラム製品。
【請求項１２】
前記トレーニング用データは、（ｉ）自然言語のステートメントを生成するために使用される複数のラベル付けされたプログラム・コード・ステートメント、および（ｉｉ）プログラム・コード・ステートメントを生成するために使用される複数のラベル付けされた自然言語のステートメントを含む、請求項１１に記載のコンピュータ・プログラム製品。
【請求項１３】
前記動作は、
チャット・エンジンによって、前記チャット・インターフェースを介して第１のメッセージを出力することと、
前記第１のメッセージに適用される前記少なくとも１つの分類器によって、前記第１のメッセージにおける概念を分類することと、
前記第１のメッセージにおける前記概念を前記第１のメッセージにおける前記概念に関連するイベントにマッピングすることと、
前記第１のメッセージにおける前記概念に関連する前記イベントに対応する第２のプログラム・コード・ステートメントを生成することと、
前記チャット・エンジンによって出力された前記第１のメッセージに基づいて前記チューター・アプリケーションの前記視覚化インターフェースを修正するための前記第２のプログラム・コード・ステートメントを実行することと、
をさらに含む、請求項８に記載のコンピュータ・プログラム製品。
【請求項１４】
前記テキスト入力は、前記チャット・インターフェースを介して出力された質問への応答を含む、請求項８に記載のコンピュータ・プログラム製品。
【請求項１５】
プロセッサと、
１つまたは複数の命令を保存するメモリと、
を備えるシステムであって、
前記１つまたは複数の命令は、前記プロセッサによって実行されたとき、
チューター・アプリケーションのチャット・インターフェースを介してテキスト入力を受け取ることと、
前記テキスト入力に適用される少なくとも１つの分類器によって、前記テキスト入力における概念を特定することと、
前記テキスト入力における前記概念を視覚的行動および第１の視覚的オブジェクトのうちの少なくとも１つにマッピングすることと、
第１の機械学習（ＭＬ）モデルに基づいて、前記視覚的行動および前記第１の視覚的オブジェクトのうちの前記少なくとも１つに対応する第１のプログラム・コード・ステートメントを生成することと、
前記チャット・インターフェースを介して受け取った前記テキスト入力に基づいて、前記チューター・アプリケーションの視覚化インターフェースを修正するための前記第１のプログラム・コード・ステートメントを実行することと、
を含む動作を行う、システム。
【請求項１６】
前記第１のプログラム・コード・ステートメントは、グラフィックス・ステートメントの文法を含み、前記動作は、
表示のために前記視覚化インターフェースを出力することをさらに含み、前記視覚化インターフェースは、複数のオブジェクトを含み、前記プログラム・コード・ステートメントは、前記複数のオブジェクトのうちの少なくとも１つを修正する、請求項１５に記載のシステム。
【請求項１７】
前記視覚化インターフェースを介して表示のために出力された前記複数のオブジェクトのうちの少なくとも１つを修正する入力を受け取ることと、
前記複数のオブジェクトのうちの前記少なくとも１つを修正するための第２のプログラム・コード・ステートメントを生成することと、
前記複数のオブジェクトのうちの前記少なくとも１つを修正するための前記第２のプログラム・コード・ステートメントを実行することと、
第２のＭＬモデルに基づいて、前記第２のプログラム・コード・ステートメントに対応するエンティティを生成することと、
前記エンティティと概念との間のマッピングに基づいて、自然言語のステートメントを生成することと、
前記チャット・インターフェースを介して前記自然言語のステートメントを出力することと、
をさらに含む、請求項１６に記載のシステム。
【請求項１８】
前記動作は、前記テキスト入力を受け取ることの前に、
トレーニング用データに基づいて前記第１の機械学習モデルおよび前記第２の機械学習モデルを生成するために前記少なくとも１つの分類器をトレーニングすること、
をさらに含む、請求項１７に記載のシステム。
【請求項１９】
前記トレーニング用データは、（ｉ）自然言語のステートメントを生成するために使用される複数のラベル付けされたプログラム・コード・ステートメント、および（ｉｉ）プログラム・コード・ステートメントを生成するために使用される複数のラベル付けされた自然言語のステートメントを含む、請求項１８に記載のシステム。
【請求項２０】
前記テキスト入力は、前記チャット・インターフェースを介して出力された質問への応答を含み、前記動作は、
チャット・エンジンによって、前記チャット・インターフェースを介して第１のメッセージを出力することと、
前記第１のメッセージに適用される前記少なくとも１つの分類器によって、前記第１のメッセージにおける概念を分類することと、
前記第１のメッセージにおける前記概念を前記第１のメッセージにおける前記概念に関連するイベントにマッピングすることと、
前記第１のメッセージにおける前記概念に関連する前記イベントに対応する第２のプログラム・コード・ステートメントを生成することと、
前記チャット・エンジンによって出力された前記第１のメッセージに基づいて前記チューター・アプリケーションの前記視覚化インターフェースを修正するための前記第２のプログラム・コード・ステートメントを実行することと、
をさらに含む、請求項１５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ・ソフトウェアに関し、より詳細には、インテリジェント・チューターのための向上した視覚的ダイアログ・インターフェースを提供するコンピュータ・ソフトウェアに関する。
【背景技術】
【０００２】
インテリジェント・チューター・システムは、人間の教師による介入を必要とすることなくユーザに学習体験を提供する。インテリジェント・チューターには、テキストを介してユーザがインテリジェント・チューターとチャットすること（また逆も可）ができる、テキスト・ベースのコミュニケーション・インターフェースを提供するものがある。しかしながら、（グラフィカル学習インターフェース（graphical learning interface）のような）インテリジェント・チューター・システムの他のコンポーネントは、テキスト・ベースのユーザ・コミュニケーションからは孤立している。同様に、ユーザがシステムの他のコンポーネントと対話するとき、テキスト・ベースのコミュニケーション・インターフェースはその対話から孤立している。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
インテリジェント・チューターのための向上した視覚的ダイアログ・インターフェースを提供する方法、コンピュータ・プログラム、コンピュータ可読ストレージ媒体およびシステムを提供する。
【課題を解決するための手段】
【０００４】
本発明の一実施形態において、方法は、チューター・アプリケーションのチャット・インターフェースを介してテキスト入力を受け取ること、テキスト入力に適用された少なくとも１つの分類器によって、テキスト入力における概念を特定すること、テキスト入力における概念を視覚的行動および第１の視覚的オブジェクトのうちの少なくとも１つにマッピングすること、第１の機械学習（ＭＬ）モデルに基づいて、視覚的行動および第１の視覚的オブジェクトのうちの少なくとも１つに対応する第１のプログラム・コード・ステートメントを生成すること、ならびにチャット・インターフェースを介して受け取ったテキスト入力に基づいてチューター・アプリケーションの視覚化インターフェース（visualization interface）を修正するための第１のプログラム・コード・ステートメントを実行すること、を含む。
【０００５】
本発明の別の実施形態において、システムは、プロセッサ、および命令を保存するメモリを含み、この命令は、プロセッサによって実行されたとき、チューター・アプリケーションのチャット・インターフェースを介してテキスト入力を受け取ること、テキスト入力に適用された少なくとも１つの分類器によって、テキスト入力における概念を特定すること、テキスト入力における概念を視覚的行動および第１の視覚的オブジェクトのうちの少なくとも１つにマッピングすること、第１の機械学習（ＭＬ）モデルに基づいて、視覚的行動および第１の視覚的オブジェクトのうちの少なくとも１つに対応する第１のプログラム・コード・ステートメントを生成すること、ならびにチャット・インターフェースを介して受け取ったテキスト入力に基づいてチューター・アプリケーションの視覚化インターフェースを修正するための第１のプログラム・コード・ステートメントを実行すること、を含む動作を行う。
【０００６】
本発明の別の実施形態において、コンピュータ可読ストレージ媒体には、コンピュータ可読プログラム・コードが具体化されており、コンピュータ可読プログラム・コードは、チューター・アプリケーションのチャット・インターフェースを介してテキスト入力を受け取ること、テキスト入力に適用された少なくとも１つの分類器によって、テキスト入力における概念を特定すること、テキスト入力における概念を視覚的行動および第１の視覚的オブジェクトのうちの少なくとも１つにマッピングすること、第１の機械学習（ＭＬ）モデルに基づいて、視覚的行動および第１の視覚的オブジェクトのうちの少なくとも１つに対応する第１のプログラム・コード・ステートメントを生成すること、ならびにチャット・インターフェースを介して受け取ったテキスト入力に基づいてチューター・アプリケーションの視覚化インターフェースを修正するための第１のプログラム・コード・ステートメントを実行すること、を含む動作を行うようにプロセッサによって実行可能である。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施形態による、向上した視覚的ダイアログ・インターフェースを提供するインテリジェント・チューター・システムのコンポーネントの例を例示する図である。
【図２】本発明の様々な実施形態による、インテリジェント・チューターのための向上した視覚的ダイアログ・インターフェースの例を描写する図である。
【図３】本発明の様々な実施形態による、インテリジェント・チューターのための向上した視覚的ダイアログ・インターフェースの例を描写する図である。
【図４】本発明の様々な実施形態による、インテリジェント・チューターのための向上した視覚的ダイアログ・インターフェースの例を描写する図である。
【図５】本発明の様々な実施形態による、インテリジェント・チューターのための向上した視覚的ダイアログ・インターフェースの例を描写する図である。
【図６】本発明の一実施形態による、インテリジェント・チューターのための向上した視覚的ダイアログ・インターフェースを提供する方法の例を例示するフローチャートである。
【図７】本発明の一実施形態による、分類器をトレーニングする方法の例を例示するフローチャートである。
【図８】本発明の一実施形態による、テキスト入力を翻訳して、視覚化を修正するためのステートメントを生成する方法の例を例示するフローチャートである。
【図９】本発明の一実施形態による、視覚化インターフェースで受け取ったユーザの入力を翻訳して自然言語のステートメントを作成する方法の例を例示するフローチャートである。
【図１０】本発明の一実施形態による、インテリジェント・チューターのための向上した視覚的ダイアログ・インターフェースを提供するシステムの例を例示するブロック図である。
【発明を実施するための形態】
【０００８】
本明細書に開示される本発明の実施形態は、ユーザとインテリジェント・チューターの異なるコンポーネントとの間のコミュニケーションを改善する、向上したインテリジェント・チューター・システムを提供する。例えば、ユーザが、インテリジェント・チューターのテキスト・ベースのコミュニケーション・インターフェースを介してテキスト・ベースのステートメントを出したとき、本明細書に開示される実施形態は、それに対応するインテリジェント・チューターの視覚化インターフェースを修正するステートメントを動的に生成する。同様に、ユーザが視覚化インターフェースのグラフィカル要素を修正した場合、本明細書に開示される本発明の実施形態は、インテリジェント・チューターのテキスト・ベースのコミュニケーション・インターフェースに提供される自然言語のステートメントを生成する。
【０００９】
図１は、向上した視覚的ダイアログ・インターフェースを提供するインテリジェント・チューター・システム１００のコンポーネントの例を例示する。一般に、インテリジェント・チューターは、ユーザに仮想学習環境を提供するよう構成されたアプリケーションである。示されるとおり、インテリジェント・チューター１００は、テキスト・インターフェース１０１、翻訳コンポーネント１０２、および視覚化コンポーネント１０３を含む。テキスト・インターフェース１０１は、ユーザとチャット・エンジン１１０との間のテキスト・ベースのコミュニケーション・チャネルを提供する。一般に、チャット・エンジン１１０は、テキスト、顔文字、アイコンなどを介してユーザと会話する「ボット」である。例えば、チャット・エンジン１１０は、多項選択式問題をユーザに出力し得る。ユーザは、次に、答えを指定するユーザ入力１１１を提供し得る。チャット・エンジン１１０は、次に、ユーザ入力１１１で提供された答えを確認し、確認の結果（例えば、ユーザの答えが正しいかまたは正しくないか）を戻す。このようにして、ユーザがインテリジェント・チューター１００から学習指導を受け取りながら、チャット・エンジン１１０とユーザとが会話することができる。
【００１０】
視覚化コンポーネント１０３は、表示のために、グラフィカル学習要素（graphicallearning element）１３１〜１３５の例のような、グラフィカル学習要素を出力するよう構成される。グラフィカル学習要素の例には、図、グラフ、模式図、クリック可能な概念ノードなどのような、いかなるタイプのグラフィカル・オブジェクトも含まれる。示されるとおり、ユーザは、ユーザ入力１３６を介して、グラフィカル学習要素１３１〜１３５と対話し得る。例えば、ユーザは、１つまたは複数のグラフィカル学習要素１３１〜１３５の色を変更して、各グラフィカル学習要素１３１〜１３５のそれぞれに関連する主題についての自分の自信の度合いを反映することができる。
【００１１】
翻訳コンポーネント１０２は、一般にテキスト・インターフェース１０１および視覚化コンポーネント１０３を向上させるように構成されている。例えば、テキスト・インターフェース１０１のユーザ入力１１１が、「緑色の円を表示して」と指定した場合、翻訳コンポーネント１０２は、視覚化コンポーネント１０３によって処理されたときに、要求された緑色の円を生成し、描画し、出力するプログラム・コード・ステートメントを生成する。別の例として、ユーザ入力１３６が、グラフィカル学習要素１３１〜１３５のうちの１つを新しい位置に動かした場合、翻訳コンポーネント１０２は、その動きを記述するプログラム・コード・ステートメントを受け取り、その動きを反映する自然言語のステートメント（例えば、「あなたはオブジェクトを動かしました」）を生成し、自然言語のステートメントは、次に、テキスト・インターフェース１０１を介して出力される。
【００１２】
示されるとおり、翻訳コンポーネント１０２は、イベント・マッパー（event mapper）１２０、１つまたは複数の分類器１２１、エンティティからテキストへのマッパー（entity-to-text mapper）１２２、分類されたデータ・モデル１２３、および視覚的コマンド１２４のデータストアを含む。イベント・マッパー１２０は、チャット・エンジン１１０によって出力されたテキストを、イベントまたは概念あるいはその両方にマッピングする。一般に、チャット・エンジン１１０とユーザとの間の会話は、複数の段階（例えば、質問、答え、検索、提案、比較など）を含んでよい。イベント・マッパー１２０は、テキストをこのようなイベントにマッピングする。例えば、ユーザが、質問に対する正しい答えをテキスト・インターフェースに提供した場合、イベント・マッパーは、チャット・エンジン１１０からの応答を「正しい答え」の概念の例にマッピングする。分類器１２１は、自然言語分類器、自然言語処理アルゴリズムおよび、ユーザの命令（またはコマンド）を特定するパーサなどの言語パーサの代表である。一般に、分類器１２１は、ユーザ入力１１１のテキストを分析して会話のテキストを分類し、会話のテキスト中のあらゆるエンティティ（例えば、人、場所、もの、学習概念など）を特定する。分類器１２１は、次に、分類されたデータを、分類されたデータに基づいて視覚的コマンド１２４を生成する機械学習モデルである分類されたデータ・モデル１２３に提供する。視覚的コマンド１２４は、視覚化コンポーネント１０３によって実行可能な、ユーザ・インターフェースを適宜修正するためのコード・ステートメントである。コード・ステートメントは、Ｒ（例えば、ｇｇｐｌｏｔ２）、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ（登録商標）、ＭＡＴＬＡＢ（登録商標）またはグラフィックスの文法に基づく他の任意の言語のような、視覚的出力のために設計されたいかなるタイプのプログラミング言語によるものであってもよい。グラフに散布プロットを生成するためのコード・ステートメントの例は、「ggplot(data, aes(x=my_x, y=my_y)) + geom_point(shape=1)」である。従って、より一般的には、分類器１２１は、このようなステートメントの例でトレーニングされ、無制限の数の入力クエリに対する応答についての分類を作り出す。
【００１３】
視覚化コンポーネント１０３によってユーザ入力１３６が受け取られたとき、ユーザ入力１３６を記述し、実施するために視覚的コマンド１２４（例えば、コード・ステートメント）が生成される。例えば、ユーザが円１３１の形を四角形に変更した場合、視覚的コマンド１２４のコード・ステートメントが、視覚化コンポーネント１０３によって生成され、それが実行されたとき、円１３１の形を四角形に変更する。このようなコード・ステートメントはまた、Ｒ（例えば、ｇｇｐｌｏｔ２）、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ（登録商標）、ＭＡＴＬＡＢ（登録商標）またはグラフィックスの文法に基づく他の任意の言語のような、いかなるタイプのプログラミング言語によるものであってもよい。視覚的コマンド１２４は、次に、翻訳コンポーネント１０２に提供されて、翻訳コンポーネント１０２は次に、エンティティからテキストへのマッパー１２２を、受け取った視覚的コマンド１２４に適用する。エンティティからテキストへのマッパー１２２は、受け取った視覚的コマンド１２４に基づいて自然言語のステートメントを生成する機械学習モデルである。例えば、エンティティからテキストへのマッパー１２２は、円１３１を四角形に変更したコード・ステートメントに応答して「あなたは円を四角形に変更しました」という自然言語のステートメントを生成し得る。エンティティからテキストへのマッパー１２２は、次に、チャット・エンジン１１０に、自然言語のステートメントを提供し、チャット・エンジン１１０はユーザにテキスト・インターフェース１０１を介して自然言語のステートメントを出力する。
【００１４】
図２は、一実施形態による、インテリジェント・チューター１００によって提供される向上した視覚的ダイアログを含む、グラフィカル・ユーザ・インターフェース（ＧＵＩ）２００の例を示している。示されるとおり、ＧＵＩ２００は、チャット・インターフェース２０１および視覚化インターフェース２０２を含む。テキスト・インターフェース１０１の出力の例であるチャット・インターフェース２０１は、ユーザとチャット・エンジン１１０とがテキストおよび他の記号を介してコミュニケーションすることができるＧＵＩである。視覚化インターフェース２０２は、ユーザの学習を促進するために使用されるグラフィックス・オブジェクト（graphics object）を出力する視覚化コンポーネント１０３によって生成されたＧＵＩである。
【００１５】
示されるとおり、チャット・エンジン１１０は、チャット・インターフェース２０１を介して多項選択式問題をユーザの例「ｓｔｕｄｅｎｔ１」に提示した。多項選択式問題は、長期記憶に関する。さらに、示されるとおり、視覚化インターフェース２０２は、人間の記憶に関する複数の概念ノード２０３〜２０７をユーザに提示する。ユーザは、概念ノード２０３〜２０７のうちの１つをクリックして、チュートリアル、図表などのような、各概念に関する情報を受け取ってもよい。示されるとおり、ユーザ「ｓｔｕｄｅｎｔ１」は、チャット・インターフェース２０１を介して多項選択式問題に対する応答を提出した。
【００１６】
図３は、インテリジェント・チューター１００が、ユーザ「ｓｔｕｄｅｎｔ１」によって提供された多項選択の応答が正しくないと判断した後のＧＵＩ２００の出力の例を示している。示されるとおり、チャット・インターフェース２０１は、応答が正しくないことを示すチャット・エンジン１１０からのテキストの応答を含む。一方、示されるとおり、ＧＵＩ２０２は、概念ノード２０５がチャット・インターフェース２０１での会話のトピックである「長期記憶」の概念に対応するので、この概念ノード２０５を強調表示するよう更新した。先に示したように、チャット・インターフェース２０１のテキストは、自然言語分類器、自然言語プロセッサ、および他のタイプのパーサを含む、分類器１２１によって分析される。同様に、チャット・エンジン１１０は、イベント・マッパー１２０に会話のテキストを提供し、イベント・マッパー１２０は、テキストを対応するイベントにマッピングする。図３に描写される例において、イベント・マッパー１２０は、ユーザが多項選択式問題に対し正しくない答えを提供したので、会話のテキストを「正しくない答え」のイベントにマッピングしてもよい。同様に、分類器１２１は、このユーザは「長期記憶」の概念をよりよく理解する必要があるということを判断するために、ユーザによって提供された入力を分類してもよい。このようにして、分類されたデータ・モデル１２３は、概念ノード２０５を強調表示することを指定するチャット・インターフェース２０１のテキストに基づいてコード・ステートメント（例えば、視覚的コマンド１２４）を生成し得る。コード・ステートメントは、視覚化コンポーネント１０３によって実行されたとき、ＧＵＩ２０２の概念ノード１０５を強調表示する。
【００１７】
図４は、ユーザ「ｓｔｕｄｅｎｔ１」がＧＵＩ２０２を修正した、本発明の実施形態を示している。具体的には、例えば、ユーザが対応するチュートリアルを復習して長期記憶の概念についてより自信を持っていることを反映して、ユーザ「ｓｔｕｄｅｎｔ１」は、概念ノード２０５の色（または陰影）を変更した。変更を実施するために、視覚化コンポーネント１０３は、概念ノード２０５の外観を修正するコード・ステートメントを生成し、実行する。視覚化コンポーネント１０３は、コード・ステートメントを翻訳コンポーネント１０２に提供する。視覚的コマンド１２４は、次に、コード・ステートメントをエンティティからテキストへのマッパー１２２に提供し、エンティティからテキストへのマッパー１２２はコード・ステートメントに対応する自然言語のステートメントを生成する。自然言語のステートメントは、次に、チャット・インターフェース２０１に出力される。従って、示されるとおり、チャット・インターフェース２０１は、チャット・エンジン１１０が「ユーザｓｔｕｄｅｎｔ１が長期記憶の概念ノードの色を変更した」という自然言語のステートメントの例を出力する様子を描写する。概念ノード２０５の色を変更することは、ユーザ入力がＧＵＩ２０２を操作する一例であるが、任意のタイプのユーザの対話が、同様に処理される。例えば、ユーザが概念ノード２０３を異なる位置に移動した場合、翻訳コンポーネント１０２は、「ユーザｓｔｕｄｅｎｔ１が宣言的記憶に関連する概念ノードを移動した」という自然言語のステートメントの例を生成し得る。
【００１８】
図５は、ユーザが、ＧＵＩ２０１を介してチャット・エンジン１１０に命令ステートメントを提出する、本発明の実施形態を示している。具体的には、示されるとおり、ユーザは、「短期記憶について何らかの情報を表示してください」と述べた。翻訳コンポーネント１０２のコンポーネントは、ステートメントを分析し、ユーザがチャット・エンジン１１０に何らかの行動を行うように命令したことを判断する。それに応じて、翻訳コンポーネント１０２は、視覚化コンポーネント１０３によって実行されたとき、ＧＵＩ２０２に反映されるように、短期記憶に対応する概念ノード２０４を強調表示するコード・ステートメントを生成する。
【００１９】
概念ノード２０４を強調表示することに加えて、翻訳コンポーネント１０２は、ＧＵＩ２０２を介してユーザにヒントを提供するステートメントを生成してもよい。さらに、翻訳コンポーネント１０２は、ＧＵＩ２０１，２０２のレイアウトを修正してもよい（例えば、並列、ＧＵＩ２０１をＧＵＩ２０２に組み込むなど）。さらに、翻訳コンポーネント１０２は、ユーザが理解する主題に対応する概念ノードから、グラフ内の答えの概念への経路のように、ＧＵＩ２０２の１つの視覚的エンティティから別の視覚的エンティティへの経路を強調表示するステートメントを生成し得る。さらに、翻訳コンポーネント１０２は、ユーザに短期記憶と長期記憶との違いを表示するために概念ノード２０４〜２０５を強調するなど、ＧＵＩ２０２の２つ以上のエンティティを強調表示するステートメントを生成してもよい。さらに、インテリジェント・チューター１００は、ユーザが大量のテキストを読む／取り入れることを可能にする、または事前トレーニングするには組合せの数が非実際的に多くなるであろう、長い項目リスト上の要素の組合せの比較を提供することを可能にする、概念ノードを生成し得る。テキストを読むことの他に、インテリジェント・チューター１００は、テキストにおける概念を特定し、ＧＵＩ２０２に表示する概念ノードのグラフを作成することによって、テキストに含まれる知識的エンティティについての視覚的ガイドをもたらす。概念ノードのグラフによって、ユーザは所与のノードを選択することにより関連する各トピックについて学習することができる。
【００２０】
図６は、インテリジェント・チューターのための向上した視覚的ダイアログ・システムを提供する方法３００の例を例示するフローチャートである。示されるとおり、方法３００は、図７を参照してより詳細に説明されるブロック３１０から始まるが、ここで分類器１２１がトレーニングされる。一般に、分類器をトレーニングするためには、分類器が所望の結果を計算することができるようラベル付けされた入力が提供される。例えば、トレーニングは、同様の概念（例えば、「緑色の円を表示して」、「緑色の円はどこですか」、「緑色の円を見よう」、など）を有する異なる自然言語のステートメントを提供し得る。別の例として、トレーニングは、対応する自然言語のステートメントを生成するためにラベル付けされた異なるプログラム・コード・ステートメント（例えば、視覚化インターフェース２０２を修正するステートメント）を提供し得る。分類器１１２のトレーニングは、視覚化インターフェース２０２の要素を修正するためのコード・ステートメントに自然言語をマッピングするために使用される１つまたは複数の機械学習（ＭＬ）モデル、およびユーザと視覚化インターフェース２０２との対話に基づいて生成されたコード・ステートメントを自然言語ステートメントにマッピングするＭＬモデルを作り出し得る。
【００２１】
ブロック３２０で、チャット・エンジン１１０は、チャット・インターフェース２０１を介してユーザにテキストによるコミュニケーションを出力し得る。テキストによるコミュニケーションは、質問、学習教材などのような、どのようなタイプの学習ベースのコミュニケーションでもよい。ブロック３３０で、インテリジェント・チューター１００は、ユーザ入力を受け取る。ユーザ入力は、チャット・インターフェース２０１または視覚化インターフェース２０２あるいはその両方を介して受け取られ得る。例えば、ユーザは、チャット・インターフェース２０１を介して応答をタイプすること、または視覚化インターフェース２０２を介して表示のために出力されるグラフィカル・オブジェクトを操作すること、あるいはその両方を行い得る。ブロック３４０で、入力が、チャット・インターフェースを介して受け取られたテキスト・ベースの入力であることを判断すると、翻訳コンポーネント１０２は、テキスト入力を視覚化インターフェース２０１を修正するためのコード・ステートメントに翻訳する。例えば、ユーザが「私は特許について理解していません」と述べるメッセージをタイプした場合、翻訳コンポーネント１０２は、視覚化インターフェース２０１によって実行可能なコード・ステートメントを生成して、特許についてのチュートリアルを出力し得る。
【００２２】
ブロック３５０では、視覚化インターフェース２０２を介して入力が受け取られたことを判断すると、翻訳コンポーネント１０２は、ユーザ入力に基づいて生成されたコード・ステートメントに基づいて自然言語のステートメントを生成する。例えば、ユーザ入力が特許に関するチュートリアルを開くことを指定した場合、視覚化インターフェース２０２は、視覚化インターフェース２０２に特許についてのチュートリアルを出力するコード・ステートメントを生成する。コード・ステートメントは、次に、翻訳コンポーネント１０２によって、「あなたは特許についてのチュートリアルを開きました」のような自然言語のステートメントに翻訳される。ブロック３６０では、ＧＵＩ２００は、翻訳された入力に基づいて修正される。例えば、自然言語のステートメント「あなたは特許についてのチュートリアルを開きました」が、チャット・インターフェース１０１を介して出力され得る。別の例として、視覚化コンポーネント１０３は、翻訳コンポーネント１０２によって生成されたコード・ステートメントを実行して視覚化インターフェース２０２を修正（例えば、特許についてのチュートリアルを出力）してもよい。ブロック３７０では、翻訳コンポーネント１０２は、現在のユーザのための機械学習モデルを更新し得る。ユーザのＭＬモデルは、ユーザによって提供された入力、ユーザの対話履歴を反映したあらゆる行動の履歴、およびユーザの学習の進捗を考慮する。ユーザのＭＬモデルは、次に、翻訳コンポーネント１０２によって、引き続き視覚化インターフェース２０２またはチャット・インターフェース２０１あるいはその両方を修正するために使用される。
【００２３】
図７は、ブロック３１０に対応する、分類器をトレーニングするための方法４００の例を例示するフローチャートである。示されるとおり、方法４００は、ブロック４１０から始まるが、ここで翻訳コンポーネント４１０は、任意選択でユーザ履歴またはユーザ・データあるいはその両方を含み得るトレーニング用データセットを受け取る。ブロック４２０では、トレーニング用データセットは、分類器１２１をトレーニングするために使用される。一般に、トレーニング用データセットは、「正しい」応答の指標を含むラベル付けされた入力データを含む。例えば、トレーニング用データセットは、複数の異なるコマンド、および対応する各ユーザ・コマンドのタイプの指標を含み得る。トレーニング用データセットはまた、各ユーザ・コマンドのタイプに基づいて視覚化インターフェース１０３を修正するために生成される適切なコード・ステートメントの指標を含み得る。同様に、トレーニング用データは、ユーザの視覚化インターフェース１０３のグラフィカル要素との対話に基づいて生成されたコード・ステートメント、対話に関連するイベント、およびイベントまたは対話あるいはその両方に関連する自然言語のステートメントを含んでもよい。トレーニング用データに基づいて、分類器１２１は、ブロック４３０でテキストから視覚化へのＭＬモデルを生成する。ブロック４４０で、分類器１２１は、視覚化からテキストへのＭＬモデルを生成する。
【００２４】
図８は、一実施形態による、テキスト入力を翻訳して視覚化を修正するためのステートメントを生成するブロック３４０に対応する、方法５００の例を例示するフローチャートである。示されるとおり、方法５００はブロック５１０から始まるが、ここで分類器１２１は、受け取ったテキスト入力における概念を特定するためにこのテキスト入力を処理する。ブロック５２０で、翻訳コンポーネント１０２は、例えば、ブロック４３０で生成されたテキストから視覚化へのＭＬモデルに基づいて、概念を視覚的な同等物にマッピングする。ブロック５３０で、翻訳コンポーネント１０２は、ブロック５２０で判断されたマッピングに基づいてプログラム・コード・ステートメントを生成してもよい。ブロック５４０で、翻訳コンポーネント１０２は、生成されたコード・ステートメントを視覚化コンポーネント１０３に伝送する。ブロック５５０で、視覚化コンポーネント１０３は、受け取ったコード・ステートメントを実行して視覚化インターフェース２０２を修正する。
【００２５】
図９は、視覚化インターフェースで受け取ったユーザ入力を翻訳して自然言語のステートメントを作成するブロック３５０に対応する、方法６００の例を例示するフローチャートである。示されるとおり、方法６００は、ブロック６１０で始まるが、ここで翻訳コンポーネント１０２は、視覚化インターフェース２０２を介して受け取られたユーザ入力を記述するプログラム・コード・ステートメントを視覚化コンポーネント１０３から受け取る。ブロック６２０で、翻訳コンポーネント１０２は、プログラム・コード・ステートメントを分類するためにＭＬモデルを使用する。ブロック６３０で、翻訳コンポーネント１０２は、分類されたプログラム・コード・ステートメントを自然言語のステートメントに翻訳する。ブロック６４０で、チャット・エンジン１１０は、チャット・インターフェース２０１を介して自然言語のステートメントを出力する。
【００２６】
図１０は、インテリジェント・チューターのための向上した視覚的ダイアログ・システムを提供するシステム７００の例を例示するブロック図である。ネットワーク化されたシステム７００は、コンピュータ７０２を含む。コンピュータ７０２はまた、ネットワーク７３０を介して、他のコンピュータ（例えば、クライアント・システム７５０）に接続されてよい。一般に、ネットワーク７３０は、電気通信ネットワークまたは広域ネットワーク（ＷＡＮ）あるいはその両方であってよい。特定の実施形態において、ネットワーク７３０はインターネットである。
【００２７】
コンピュータ７０２は、一般に、バス７２０を介してメモリ７０６またはストレージ７０８あるいはその両方から命令およびデータを取得するプロセッサ７０４を含む。コンピュータ７０２はまた、バス７２０に接続された１つまたは複数のネットワーク・インターフェース・デバイス７１８、入力デバイス７２２、および出力デバイス７２４を含んでもよい。コンピュータ７０２は、一般に、オペレーティング・システム（図示せず）の制御下にある。オペレーティング・システムの例には、ＵＮＩＸオペレーティング・システム、Ｍｉｃｒｏｓｏｆｔ（登録商標）  Ｗｉｎｄｏｗｓ（登録商標）オペレーティング・システムのバージョン、およびＬｉｎｕｘ（登録商標）オペレーティング・システムのディストリビューションが含まれる。（ＵＮＩＸは、Ｔｈｅ  Ｏｐｅｎ  Ｇｒｏｕｐの、米国およびその他の国における、登録商標である。ＭｉｃｒｏｓｏｆｔおよびＷｉｎｄｏｗｓは、マイクロソフトコーポレーションの、米国およびその他の国または両者における、商標である。Ｌｉｎｕｘは、Linus Torvaldsの、米国およびその他の国または両者における、登録商標である。）より一般には、本明細書で開示される機能をサポートするいかなるオペレーティング・システムが使用されてもよい。プロセッサ７０４は、命令、ロジック、および数学的処理を行うプログラマブル論理デバイスであり、１つまたは複数のＣＰＵの代表であり得る。ネットワーク・インターフェース・デバイス７１８は、コンピュータ７０２がネットワーク７３０を介して他のコンピュータと通信することを可能にするどのようなタイプのネットワーク通信デバイスであってもよい。
【００２８】
ストレージ７０８は、ハードディスク・ドライブ、ソリッド・ステート・ドライブ、フラッシュメモリ・デバイス、光学式媒体などの代表である。一般に、ストレージ７０８は、コンピュータ７０２によって使用されるアプリケーション・プログラムおよびデータを保存する。加えて、メモリ７０６およびストレージ７０８は、物理的に他の場所に位置するメモリを含むと見なされ得る、例えばそれは、バス７２０を介してコンピュータ７０２に結合された別のコンピュータ上である。
【００２９】
入力デバイス７２２は、コンピュータ７０２に入力を提供する任意のデバイスであり得る。例えば、キーボードまたはマウスあるいはその両方が使用されてよい。入力デバイス７２２は、キーボード、マウス、コントローラなどを含む、多様な入力デバイスを代表する。さらに、入力デバイス７２２は、コンピュータ７０２を制御するための、ボタンのセット、スイッチ、または他の物理的デバイス機構を含み得る。出力デバイス７２４は、モニタ、タッチスクリーン・ディスプレイなどのような出力デバイスを含み得る。
【００３０】
示されるとおり、メモリ７０６は、上でより詳細に説明された、インテリジェント・チューター１０を含む。示されるとおり、ストレージ７０８は、上で説明された任意のＭＬモデルを保存するＭＬモデル７１５を含む。一般に、システム７００は、図１〜図９を参照して上で説明されたすべての機能を実施するように構成される。クライアント・システム７５０は、インテリジェント・チューター１００のユーザ・インスタンスを含むユーザ・システムである。ユーザは、クライアント・システム７５０のディスプレイ・デバイス（図示せず）上に提示された少なくともＧＵＩ２００〜２０２を介してインテリジェント・チューター１００の機能にアクセスする。
【００３１】
有利なことに、本明細書に開示される本発明の実施形態は、インテリジェント・チューター・システムの異なるコンポーネントをより緊密に統合するための技術を提供する。より詳細には、本明細書に開示された本発明の実施形態は、ユーザのテキストおよびチャット・インターフェースでチャット・ボットによって生成されたテキストをインテリジェント・チューターの視覚化インターフェースを修正するプログラム・コード・ステートメントに翻訳する。加えて、本明細書に開示された本発明の実施形態は、視覚化インターフェースを修正するユーザ入力に応答して生成されたコード・ステートメントに基づいて自然言語のステートメントを生成する。このようにすることで、インテリジェント・チューター・システムの機能が改善し、ユーザにより卓越した学習体験が提供される。このようにすることでまた、視空間的要素および自然言語を含むユーザ対話のモデルが作り出され、データ取り込みおよび非空間領域での機械学習モデルのトレーニングが可能になる。
【００３２】
本発明の様々な実施形態の説明は、例示を目的として提示されたが、包括的であることまたは開示される実施形態に限定することは意図しない。本発明の範囲から逸脱することなく、多くの修正形態および変形形態が、当業者には明らかとなろう。本明細書で使用される用語は、本発明の原理、市場で見出される技術に対する実際的な適用または技術的な改良を最もよく説明するため、または他の当業者が本明細書で開示される実施形態を理解することを可能にするために選択された。
【００３３】
前述において、本明細書に提示された本発明の実施形態への参照が行われた。しかしながら、本発明の範囲は、特定の説明された実施形態に限定されない。むしろ、記載された特徴および要素のいかなる組合せも、異なる実施形態に関するか否かにかかわらず、本発明を実施および実践することが企図される。さらに、本明細書に開示された本発明の実施形態は、他の可能な解決策または従来技術を上まわる利点を達成し得るが、特定の利点が所与の実施形態によって達成されるかどうかは、本発明の範囲を限定するものではない。従って、記載された態様、特徴、実施形態、および利点は単に例示的なものであり、特許請求の範囲において明示的に記載される場合を除いて、添付の特許請求の範囲の要素または限定とは見なされない。同様に、「本発明」への参照は、本明細書に開示された発明のいかなる主題の一般化としても解釈されるべきでなく、かつ、特許請求の範囲で明示的に記載される場合を除いて、添付の特許請求の範囲の要素または限定とは見なされるべきではない。
【００３４】
本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェア（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）の実施形態、または本明細書においてすべて全般的に「回路」、「モジュール」、または「システム」と呼ばれ得るソフトウェアの態様およびハードウェアの態様を組み合わせた実施形態の形を取り得る。
【００３５】
本発明は、システム、方法、またはコンピュータ・プログラム製品あるいはその組合せとして具体化され得る。コンピュータ・プログラム製品は、プロセッサに本発明の態様を遂行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体を含んでもよい。
【００３６】
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用される命令を保持し、保存することができる有形のデバイスであってよい。コンピュータ可読ストレージ媒体は、例えば、非限定的に、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイスまたは前述のものの任意の適切な組合せであってよい。より具体的なコンピュータ可読ストレージ媒体の例の非網羅的一覧には、以下の、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能なプログラマブル読み出し専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクト・ディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリ・スティック、フロッピーディスク、パンチ・カードまたは命令が記録された溝中の隆起構造のような機械的に符号化されたデバイス、および前述のものの任意の適切な組合せが含まれる。本明細書で使用されるコンピュータ可読ストレージ媒体は、電波または他の自由に伝播する電磁波、導波管または他の伝送媒体を通じて伝播する電磁波（例えば、光ファイバ・ケーブルを通る光パルス）、またはケーブルを通じて伝送される電気信号のような、一時的な信号それ自体として解釈されるべきではない。
【００３７】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれの計算／処理デバイスへと、またはネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワークまたはワイヤレス・ネットワークあるいはその組合せを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードされ得る。ネットワークは、銅伝送ケーブル、光学伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータまたはエッジ・サーバあるいはその組合せを含み得る。各計算／処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令を、それぞれの計算／処理デバイスの中のコンピュータ可読ストレージ媒体に保存のために転送する。
【００３８】
本開示の動作を遂行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはＳｍａｌｌｔａｌｋ（登録商標）、Ｃ＋＋などのようなオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語もしくは同様のプログラミング言語のような、従来の手続き型プログラミング言語を含む１つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードもしくはオブジェクト・コードのいずれかであってよい。コンピュータ可読プログラム命令は、スタンド・アロン型ソフトウェア・パッケージとして、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上でかつ部分的にリモート・コンピュータ上で、または全体的にリモート・コンピュータ上もしくはサーバ上で実行され得る。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを通じてユーザのコンピュータと接続されてよく、あるいは接続は、（例えば、インターネット・サービス・プロバイダを使用してインターネットを通じて）外部コンピュータとなされてもよい。いくつかの実施形態において、例えば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）またはプログラマブル・ロジック・アレイ（ＰＬＡ）を含む電子回路は、本開示の態様を行うために、コンピュータ可読プログラム命令の状態情報を利用することによって電子回路をカスタマイズするためのコンピュータ可読プログラム命令を実行し得る。
【００３９】
本発明の態様が、本発明の実施形態による方法、装置（システム）およびコンピュータ・プログラム製品についてのフローチャート図またはブロック図あるいはその両方を参照して、本明細書において説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実施され得るということが理解されよう。
【００４０】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックに指定される機能／動作を実施する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されて機械を作り出すものであってよい。これらのコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体に保存された命令により、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックに指定される機能／動作の態様を実施する命令を含んだ製品を含むべく、コンピュータ可読ストレージ媒体に保存され、コンピュータ、プログラマブル・データ処理装置、または他のデバイスあるいはその組合せに特定の方式で機能するように指示するものであってもよい。
【００４１】
コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル装置または他のデバイスで実行される命令が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックに指定される機能／動作を実施するように、コンピュータによって実施されるプロセスを作り出すべくコンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の演算ステップを行わせるものであってもよい。
【００４２】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態による、アーキテクチャ、機能性ならびにシステム、方法およびコンピュータ・プログラム製品の可能的な実施の動作を例示する。この点に関し、フローチャートまたはブロック図の各ブロックは、指定された論理関数を実施するための１つまたは複数の実行可能な命令を含むモジュール、セグメント、または命令の一部分を代表し得る。いくつかの代替的実施では、ブロックに記された機能は、図に記された順とは異なって生じ得る。例えば、連続して表示された２つのブロックは、実際には、含まれる機能性によって、実質的に同時に実行されてよく、または、ブロックは、ときには逆順で実行されてよい。ブロック図またはフローチャート説明図あるいはその両方の各ブロックおよびブロック図またはフローチャート図あるいはその両方におけるブロックの組合せは、特定の機能もしくは動作を行う、または、専用ハードウェアおよびコンピュータ命令の組合せを遂行する専用ハードウェア・ベースのシステムによって実施され得るということにも注意されたい。
【００４３】
本発明の実施形態は、クラウド・コンピューティング・インフラストラクチャを通じてエンド・ユーザに提供され得る。クラウド・コンピューティングとは、一般に、ネットワーク上のサービスとしてのスケーラブルなコンピューティング・リソースの提供を意味する。より正式には、クラウド・コンピューティングは、コンピューティング・リソースとその基盤となる技術アーキテクチャ（例えば、サーバ、ストレージ、ネットワーク）との間の抽象化を提供するコンピューティング能力として定義されてよく、最小限の管理作業またはサービス・プロバイダとの対話で、迅速にプロビジョニングおよびリリースされ得る構成可能なコンピューティング・リソースの共有プールへの便利でオンデマンドのネットワーク・アクセスを可能にするものである。従って、クラウド・コンピューティングにより、ユーザは、コンピューティング・リソースを提供するために使用される基盤となる物理的システム（またはこれらシステムの設置場所）を気にすることなく、「クラウド」における仮想コンピューティング・リソース（例えば、ストレージ、データ、アプリケーション、およびさらには完全に仮想化されたコンピューティング・システム）にアクセスできる。
【００４４】
一般的に、クラウド・コンピューティング・リソースは、ユーザに従量制で提供され、ユーザは、実際に使用されたコンピューティング・リソース（例えば、ユーザによって消費されたストレージ容量、またはユーザによってインスタンス化された仮想化システムの数）に対してのみ課金される。ユーザはクラウドにある任意のリソースに、いつでも、またインターネットのどこからでもアクセスすることができる。本発明の文脈において、ユーザは、クラウドで利用できるアプリケーションまたは関連するデータにアクセスし得る。例えば、インテリジェント・チューター１００は、クラウドのコンピューティング・システム上で実行し得る。この場合、インテリジェント・チューター１００は、クラウドにおけるストレージの場所でＭＬモデル７１５を生成し、保存し得る。このようにすることで、ユーザは、クラウドに接続されたネットワーク（例えば、インターネット）に取り付けられた任意のコンピューティング・システムからこの情報にアクセスすることができる。
【００４５】
前述の文では本発明の実施形態を対象とするが、本発明の他のおよびさらなる実施形態が、本発明の基本的な範囲から逸脱することなく考案され得、その範囲は、以下の特許請求の範囲によって決定される。
【図１】
2020525827.tif 000003
【図２】
2020525827.tif 000004
【図３】
2020525827.tif 000005
【図４】
2020525827.tif 000006
【図５】
2020525827.tif 000007
【図６】
2020525827.tif 000008
【図７】
2020525827.tif 000009
【図８】
2020525827.tif 000010
【図９】
2020525827.tif 000011
【図１０】
2020525827.tif 000012
【国際調査報告】
2020525827.tif 000013
2020525827.tif 000014