(57)【要約】【課題】予め用意された学習コンテンツに限らない任意のコンテンツを対象にして、ユーザによる知識の習得を支援する。【解決手段】コンテンツ群に含まれる個々のコンテンツをグラフ構造のノードとし、上記コンテンツ間のリンクを上記グラフ構造のリンクとして、上記コンテンツ群を解析するコンテンツ解析部と、上記解析の結果に基づいて、上記コンテンツ群の少なくとも一部によって提供される知識の学習を支援する学習支援情報を生成する学習支援情報生成部とを含む情報処理装置が提供される。【選択図】図１
2014017164.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツ群に含まれる個々のコンテンツをグラフ構造のノードとし、前記コンテンツ間のリンクを前記グラフ構造のリンクとして、前記コンテンツ群を解析するコンテンツ解析部と、
前記解析の結果に基づいて、前記コンテンツ群の少なくとも一部によって提供される知識の学習を支援する学習支援情報を生成する学習支援情報生成部と
を備える情報処理装置。
【請求項２】
前記コンテンツ解析部は、前記ノードが前記グラフ構造内でどの程度中心的なノードであるかを示す中心度を算出する、請求項１に記載の情報処理装置。
【請求項３】
前記学習支援情報生成部は、前記中心度に基づいて前記ノードに対応する前記コンテンツの難易度を推定する難易度推定部を含む、請求項２に記載の情報処理装置。
【請求項４】
前記学習支援情報生成部は、前記コンテンツに対するユーザのフィードバックを取得するフィードバック取得部をさらに含み、
前記難易度推定部は、前記ユーザのフィードバックがまだ取得されていない第１のコンテンツの難易度を、第２のコンテンツについて取得された前記ユーザのフィードバックと、前記第１のコンテンツおよび前記第２のコンテンツのそれぞれに対応する前記ノードの前記中心度の差とに基づいて推定する、請求項３に記載の情報処理装置。
【請求項５】
前記コンテンツ解析部は、前記ノードと他のノードとの間のリンクの数に基づいて前記中心度を算出する、請求項２に記載の情報処理装置。
【請求項６】
前記コンテンツ解析部は、前記ノードから前記他のノードへのリンクと、前記他のノードから前記ノードへのリンクとを区別して用いて前記中心度を算出する、請求項５に記載の情報処理装置。
【請求項７】
前記コンテンツ解析部は、前記ノードをクラスタに分類することによって前記コンテンツ群を解析する、請求項１に記載の情報処理装置。
【請求項８】
前記学習支援情報生成部は、
前記コンテンツに対するユーザのフィードバックを取得するフィードバック取得部と、
前記フィードバックを前記クラスタごとに集計した結果に基づいて、前記ユーザに学習対象の前記コンテンツを推薦する学習対象推薦部と
をさらに含む、請求項７に記載の情報処理装置。
【請求項９】
前記学習対象推薦部は、分類されたノードに対応する前記コンテンツに対する前記ユーザのフィードバックがまだ取得されていない第１のクラスタの推薦度を、前記第１のクラスタに分類されたノードに対応する前記コンテンツに対して取得された他のユーザのフィードバックと、第２のクラスタに分類されたノードに対応する前記コンテンツに対して取得された前記ユーザのフィードバックと、前記第１のクラスタと前記第２のクラスタとの類似度とに基づいて算出し、前記推薦度に基づいて前記ユーザに学習対象の前記コンテンツを推薦する、請求項８に記載の情報処理装置。
【請求項１０】
前記学習支援情報生成部は、前記ノードに対応する前記コンテンツの難易度を推定する難易度推定部をさらに含み、
前記学習対象推薦部は、前記推薦度に応じて選択された前記クラスタに分類されたノードに対応する前記コンテンツのうち、前記難易度が所定の閾値よりも低いコンテンツを前記ユーザに学習対象として推薦する、請求項９に記載の情報処理装置。
【請求項１１】
前記フィードバック取得部は、前記フィードバックによって示される前記ユーザのアクションの種類に応じて前記コンテンツに対する前記ユーザの嗜好度を推定し、
前記学習対象推薦部は、前記クラスタに分類されたノードに対応する前記コンテンツに対する前記嗜好度に基づいて前記クラスタの推薦度を算出し、該推薦度に基づいて前記ユーザに学習対象の前記コンテンツを推薦する、請求項８に記載の情報処理装置。
【請求項１２】
前記学習支援情報生成部は、前記ノードに対応する前記コンテンツの難易度を推定する難易度推定部をさらに含み、
前記学習対象推薦部は、前記推薦度に応じて選択された前記クラスタに分類されたノードに対応する前記コンテンツのうち、前記推薦度に応じて設定された前記難易度のコンテンツを前記ユーザに学習対象として推薦する、請求項１１に記載の情報処理装置。
【請求項１３】
前記学習支援情報生成部は、前記コンテンツについての演習問題を、前記コンテンツに対応する前記ノードとの間に直接的なリンクを有する他のノードに対応するコンテンツのタイトルを正答選択肢とする択一問題として生成する演習問題生成部を含む、請求項１に記載の情報処理装置。
【請求項１４】
前記演習問題生成部は、前記ノードとの間に間接的なリンクを有する他のノードに対応するコンテンツのタイトルを前記択一問題の誤答選択肢とする、請求項１３に記載の情報処理装置。
【請求項１５】
前記コンテンツ解析部は、前記ノードをクラスタに分類することによって前記コンテンツ群を解析し、
前記演習問題生成部は、前記コンテンツに対応する前記ノードと同じクラスタに分類されたノードの中から前記択一問題の選択肢として用いるノードを選択する、請求項１３に記載の情報処理装置。
【請求項１６】
前記学習支援情報生成部は、
前記コンテンツに対するユーザのフィードバックを取得するフィードバック取得部と、
前記フィードバックに基づいて、前記ユーザに学習対象の前記コンテンツを推薦する学習対象推薦部と
をさらに含み、
前記演習問題生成部は、前記推薦されたコンテンツについて演習問題を生成する、請求項１３に記載の情報処理装置。
【請求項１７】
前記学習支援情報生成部は、
前記ノードに対する前記コンテンツの難易度を推定する難易度推定部と、
前記コンテンツに対するユーザのフィードバックを取得し、該フィードバックによって示される前記ユーザのアクションの種類に応じて前記コンテンツに対する前記ユーザの嗜好度を推定するフィードバック取得部と、
前記難易度および前記嗜好度に基づいて、前記コンテンツに対する前記ユーザの習得コストを算出するコスト算出部と
をさらに含む、請求項１に記載の情報処理装置。
【請求項１８】
前記学習支援情報生成部は、前記習得コストに基づいて、複数のユーザが前記コンテンツ群の少なくとも一部によって提供される知識を学習する場合の、前記複数のユーザの間での前記コンテンツの配分を決定する配分決定部をさらに含む、請求項１７に記載の情報処理装置。
【請求項１９】
コンテンツ群に含まれる個々のコンテンツをグラフ構造のノードとし、前記コンテンツ間のリンクを前記グラフ構造のリンクとして、前記コンテンツ群を解析することと、
前記解析の結果に基づいて、前記コンテンツ群の少なくとも一部によって提供される知識の学習を支援する学習支援情報を生成することと
を含む情報処理方法。
【請求項２０】
端末装置と、前記端末装置にサービスを提供する１または複数のサーバ装置とを含み、
前記端末装置と前記１または複数のサーバ装置とが協働して、
コンテンツ群に含まれる個々のコンテンツをグラフ構造のノードとし、前記コンテンツ間のリンクを前記グラフ構造のリンクとして、前記コンテンツ群を解析する機能と、
前記解析の結果に基づいて、前記コンテンツ群の少なくとも一部によって提供される知識の学習を支援する学習支援情報を生成する機能と
を提供するシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法およびシステムに関する。
【背景技術】
【０００２】
ｅラーニングシステムのように、ユーザが何らかのコンテンツを習得するためのシステムが、現在広く普及している。ｅラーニングシステムでは、例えば、教科書や演習問題などを含む専用の学習コンテンツが用意される。ユーザは、学習コンテンツとして提供される教科書や演習問題にアクセスし、テキストを読んだり問題に回答したりすることによって学習を進め、コンテンツを習得する。このようなシステムにおいて、例えば学習コンテンツをユーザの到達度や適性などに応じてパーソナライズして、ユーザの学習効率を向上させる技術が提案されている。例えば、特許文献１には、過去の練習問題に対するユーザの回答の正誤に基づいて適切な練習問題を選択して出題することによってユーザの学習効率を向上させる技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２３２４４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のｅラーニングシステムにおいて、ユーザが習得可能な知識は、予め用意された学習コンテンツに含まれるものに限られていた。その一方で、ｅラーニングシステム以外で、電子媒体上に記録された知識の集積は拡大の一途を辿っている。例えば、オンライン百科事典や、特定の分野の技術を説明するためのＷｅｂサイトなど、それを閲覧したユーザに何らかの知識を提供するコンテンツが、ネットワーク上のサーバや端末装置において数多く提供されている。ユーザが、知識の習得にあたってこのようなコンテンツを利用することも日常的になっている。ところが、こうしたコンテンツについて、例えばｅラーニングシステムの学習コンテンツのように、学習のためのガイダンスや、学習の到達度判定などのように、ユーザの学習を支援する情報が提供されることはなかった。【０００５】
そこで、本開示では、予め用意された学習コンテンツに限らない任意のコンテンツを対象にして、ユーザによる知識の習得を支援することが可能な、新規かつ改良された情報処理装置、情報処理方法およびシステムを提案する。
【課題を解決するための手段】
【０００６】
本開示によれば、コンテンツ群に含まれる個々のコンテンツをグラフ構造のノードとし、上記コンテンツ間のリンクを上記グラフ構造のリンクとして、上記コンテンツ群を解析するコンテンツ解析部と、上記解析の結果に基づいて、上記コンテンツ群の少なくとも一部によって提供される知識の学習を支援する学習支援情報を生成する学習支援情報生成部とを含む情報処理装置が提供される。【０００７】
また、本開示によれば、コンテンツ群に含まれる個々のコンテンツをグラフ構造のノードとし、上記コンテンツ間のリンクを上記グラフ構造のリンクとして、上記コンテンツ群を解析することと、上記解析の結果に基づいて、上記コンテンツ群の少なくとも一部によって提供される知識の学習を支援する学習支援情報を生成することとを含む情報処理方法が提供される。【０００８】
また、本開示によれば、端末装置と、上記端末装置にサービスを提供する１または複数のサーバ装置とを含み、上記端末装置と上記１または複数のサーバ装置とが協働して、コンテンツ群に含まれる個々のコンテンツをグラフ構造のノードとし、上記コンテンツ間のリンクを上記グラフ構造のリンクとして、上記コンテンツ群を解析する機能と、上記解析の結果に基づいて、上記コンテンツ群の少なくとも一部によって提供される知識の学習を支援する学習支援情報を生成する機能とを提供するシステムが提供される。【０００９】
知識習得のためのコンテンツ群に含まれる個々のコンテンツをグラフ構造のノードとし、コンテンツ間のリンクをグラフ構造のリンクとして解析することによって、予め用意された学習コンテンツでなくても、例えばコンテンツ間の関連や各コンテンツの重要度といった情報を抽出することが可能である。このような解析の結果を利用して学習支援情報を生成すれば、ユーザによる知識の習得を効率化することができる。
【発明の効果】
【００１０】
以上説明したように本開示によれば、予め用意された学習コンテンツに限らない任意のコンテンツを対象にして、ユーザによる知識の習得を支援することができる。
【図面の簡単な説明】
【００１１】
【図１】本開示の実施形態に係るシステム構成の第１の例を示す図である。
【図２】本開示の実施形態に係るシステム構成の第２の例を示す図である。
【図３】本開示の実施形態に係るシステム構成の第３の例を示す図である。
【図４】本開示の実施形態における知識コンテンツ表示画面の例を示す図である。
【図５】本開示の実施形態における演習問題表示画面の例を示す図である。
【図６】本開示の実施形態における到達度表示画面の例を示す図である。
【図７】本開示の実施形態におけるコンテンツ解析部および学習支援情報生成部の構成例を示す図である。
【図８】本開示の第１の実施形態におけるクラスタリングの概念について説明するための図である。
【図９】本開示の第１の実施形態におけるクラスタリング処理を概略的に示す図である。
【図１０】本開示の第１の実施形態におけるグラフ構造ＤＢの例を示す図である。
【図１１】本開示の第１の実施形態におけるクラスタＤＢの例を示す図である。
【図１２】本開示の第１の実施形態におけるクラスタリングの処理の例を示すフローチャートである。
【図１３】本開示の第１の実施形態における中心度設定処理の例を示すフローチャートである。
【図１４】本開示の第２の実施形態における難易度推定処理を概略的に示す図である。
【図１５】本開示の第２の実施形態における進捗ＤＢの例を示す図である。
【図１６】本開示の第２の実施形態における難易度ＤＢの例を示す図である。
【図１７】本開示の第２の実施形態におけるフィードバック取得処理の例を示すフローチャートである。
【図１８】本開示の第２の実施形態における難易度推定処理の例を示すフローチャートである。
【図１９】本開示の第２の実施形態における難易度推定処理の他の例を概略的に示す図である。
【図２０】図１９の例における難易度推定処理を示すフローチャートである。
【図２１】本開示の第３の実施形態における学習対象推薦処理を概略的に示す図である。
【図２２】本開示の第３の実施形態におけるクラスタ進捗ＤＢの例を示す図である。
【図２３】本開示の第３の実施形態における学習対象推薦処理の例を示すフローチャートである。
【図２４】本開示の第４の実施形態における学習対象推薦処理を概略的に示す図である。
【図２５】本開示の第４の実施形態における嗜好ＤＢの例を示す図である。
【図２６】本開示の第４の実施形態におけるクラスタ嗜好ＤＢの例を示す図である。
【図２７】本開示の第４の実施形態におけるアクションＤＢの例を示す図である。
【図２８】本開示の第４の実施形態におけるフィードバック取得処理の例を示すフローチャートである。
【図２９】本開示の第４の実施形態における学習対象推薦処理の例を示すフローチャートである。
【図３０】本開示の第５の実施形態における演習問題生成処理を概略的に示す図である。
【図３１】本開示の第５の実施形態における演習問題生成処理の例を示すフローチャートである。
【図３２】本開示の第６の実施形態における配分決定処理を概略的に示す図である。
【図３３】本開示の第６の実施形態における配分決定処理の例を示すフローチャートである。
【図３４】本開示の第６の実施形態における習得コスト算出処理の例を示すフローチャートである。
【図３５】情報処理装置のハードウェア構成を説明するためのブロック図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１３】
なお、説明は以下の順序で行うものとする。
１．システム構成
２．提供される情報の例
３．解析および情報生成の実施形態
３−１．第１の実施形態
３−２．第２の実施形態
３−３．第３の実施形態
３−４．第４の実施形態
３−５．第５の実施形態
３−６．第６の実施形態
４．ハードウェア構成
５．補足
【００１４】
（１．システム構成）
まず、図１〜図３を参照して、本開示の実施形態に係るシステム構成の例について説明する。図１〜図３は、システム構成の第１〜第３の例をそれぞれ示す。なお、これらの例は、システム構成の例の一部にすぎない。これらの例から明らかなように、本開示の実施形態に係るシステム構成は、説明されるもの以外にも様々な構成をとりうる。
【００１５】
なお、本開示の実施形態において、端末装置として説明される装置は、例えば各種のＰＣ（Personal  Computer）、または携帯電話（スマートフォンを含む）などの、ユーザに情報を出力する機能とユーザの操作を受け付ける機能とを有する各種の装置でありうる。かかる端末装置は、例えば後述する情報処理装置のハードウェア構成を用いて実現されうる。端末装置は、例えばネットワークを介してサーバ装置などと通信するための通信部など、端末装置の機能を実現するために必要な機能構成を、図示されたもの以外にも必要に応じて含みうる。
【００１６】
また、本開示の実施形態において、サーバは、有線または無線の各種ネットワークを介して端末装置に接続されており、１または複数のサーバ装置によって実現される。個々のサーバ装置は、例えば後述する情報処理装置のハードウェア構成を用いて実現されうる。サーバが複数のサーバ装置によって実現される場合、各サーバ装置は、有線または無線の各種ネットワークを介して相互に接続される。各サーバ装置は、ネットワークを介して端末装置または他のサーバ装置などと通信するための通信部など、サーバ装置の機能を実現するために必要な機能構成を、図示されたもの以外にも必要に応じて含みうる。
【００１７】
（第１の例）
図１は、本開示の実施形態に係るシステム構成の第１の例を示す図である。この例において、システム１０には、端末装置１００と、サーバ２００とが含まれ、サーバ２００はネットワーク上の知識コンテンツ３００にアクセスする。
【００１８】
端末装置１００は、入出力部１１０と制御部１３０とを有する。入出力部１１０は、ディスプレイまたはスピーカのような出力装置と、マウス、キーボード、またはタッチパネルのような入力装置によって実現され、ユーザに情報を出力するとともに、ユーザの操作を受け付ける。入出力部１１０によって出力される情報は、例えば、知識コンテンツや、知識コンテンツを用いた学習のための各種の学習支援情報などを含みうる。一方、入出力部１１０によって取得される操作は、例えば、知識コンテンツにアクセスしてコンテンツを閲覧するための操作、学習支援情報を取得するための操作、学習支援情報の１つとして出題された演習問題に回答する操作などを含みうる。制御部１３０は、ＣＰＵ（Central  Processing  Unit）などのプロセッサによって実現され、入出力部１１０を含む端末装置１００の全体の動作を制御する。
【００１９】
サーバ２００は、コンテンツ解析部２１０と学習支援情報生成部２３０とを有する。これらは、例えばサーバ装置のプロセッサによって実現される。コンテンツ解析部２１０は、ネットワーク上の知識コンテンツ３００にアクセスする。ここで、知識コンテンツ３００を構成する個々のコンテンツは、例えばネットワーク上に存在するＷｅｂページや各種の文書ファイルなどのコンテンツであり、ユーザに何らかの知識を提供するものである。知識コンテンツ３００は、後述するようにグラフ構造におけるノードの集合として扱うことが可能である。サーバ２００のコンテンツ解析部２１０は、上記のグラフ構造を解析する。より具体的には、コンテンツ解析部２１０は、知識コンテンツ３００をクラスタリングする。学習支援情報生成部２３０は、コンテンツ解析部２１０による知識コンテンツ３００のクラスタリングの結果に基づいて、知識コンテンツ３００を用いた学習のための各種の学習支援情報を生成する。
【００２０】
システム１０では、サーバ２００によって生成された学習支援情報が、端末装置１００に送信される。端末装置１００は、学習支援情報を受信して、ユーザに向けて出力する。付加的に、端末装置１００は、知識コンテンツまたは学習支援情報に対するユーザの操作を、フィードバックとしてサーバ２００に送信してもよい。この場合、サーバ２００の学習支援情報生成部２３０は、受信したフィードバックにさらに基づいて、学習支援情報を生成してもよい。また、端末装置１００は、知識コンテンツ３００にアクセスするときに、サーバ２００を介してアクセスしてもよいし、サーバ２００を介さずに、ネットワークを経由して直接アクセスしてもよい。
【００２１】
（第２の例）
図２は、本開示の実施形態に係るシステム構成の第２の例を示す図である。この例において、システムは、端末装置４００によって成り立つ。
【００２２】
端末装置４００は、入出力部１１０と、制御部１３０と、コンテンツ解析部２１０と、学習支援情報生成部２３０とを有する。入出力部１１０は、例えば上記のような各種の出力装置と入力装置とによって実現されうる。制御部１３０、コンテンツ解析部２１０、および学習支援情報生成部２３０は、例えば、プロセッサによって実現されうる。各構成要素の機能は、上記の第１の例において同じ符号が付された構成要素と同様である。
【００２３】
第１の例と第２の例とを参照すれば明らかなように、本開示の実施形態に係るシステム構成では、ユーザに情報を出力するとともにユーザの操作を受け付ける入出力部は端末装置によって実現されるものの、その他の構成要素を、端末装置によって実現するか、１または複数のサーバ装置によって実現するかは、任意に設計可能である。
【００２４】
なお、上記の第２の例のように、各構成要素が端末装置によって実現される場合も、例えば各種のＤＢ（データベース）をサーバ上のストレージ装置に格納したり、知識コンテンツまたは学習支援情報に対する他のユーザのフィードバックを取得したりすることがありうる。つまり、ここで説明した各構成要素が端末装置によって実現される場合も、すべての処理が単一の端末装置の内部で実行されるとは限らない。
【００２５】
（第３の例）
図３は、本開示の実施形態に係るシステム構成の第３の例を示す図である。この例において、システムは、端末装置５００によって成り立つ。さらに、上記の２つの例との違いとして、知識コンテンツ３００が、ネットワーク上ではなく端末装置５００の内部に存在する。
【００２６】
端末装置５００は、上記の第２の例の端末装置４００と同様に、入出力部１１０と、制御部１３０と、コンテンツ解析部２１０と、学習支援情報生成部２３０とを有する。この例において、知識コンテンツ３００は、例えば端末装置５００のストレージ装置などに格納される。従って、コンテンツ解析部２１０は、知識コンテンツ３００に内部的にアクセスして、これを解析する。
【００２７】
第１および第２の例と第３の例とを参照すれば明らかなように、本開示の実施形態では、知識コンテンツ３００がネットワーク上に存在してもよいし、端末装置またはサーバの内部に存在してもよい。例えば、上記の第１の例において、知識コンテンツ３００はサーバ２００の内部に存在し、コンテンツ解析部２１０がこれに内部的にアクセスしてもよい。あるいは、第１の例において、知識コンテンツ３００が端末装置１００の内部に存在し、コンテンツ解析部２１０がこれにネットワークを経由してアクセスしてもよい。さらに、知識コンテンツ３００は、ネットワーク上、端末装置の内部、またはサーバの内部のいずれか、またはすべてに存在していてもよい。コンテンツ解析部２１０は、ネットワークを介したアクセスと内部的なアクセスを適宜組み合わせて、知識コンテンツ３００にアクセスしうる。
【００２８】
（２．提供される情報の例）
次に、図４〜図６を参照して、本開示の実施形態においてユーザに出力される情報の例について説明する。図４〜図６は、端末装置の入出力部がディスプレイを含む場合に、このディスプレイに表示されうる画面の例を示す。なお、これらの例は、表示されうる画面の例の一部に過ぎず、知識コンテンツや、後述する学習支援情報は、これ以外にも様々な画面として表示されうる。また、端末装置の入出力部は、必ずしもディスプレイによって実現されなくてもよく、例えばスピーカによって実現されてもよい。この場合、知識コンテンツや学習支援情報は、音声として出力されてもよい。
【００２９】
（知識コンテンツ表示画面の例）
図４は、本開示の実施形態における知識コンテンツ表示画面の例を示す図である。知識コンテンツ表示画面１１０１は、ユーザが端末装置から知識コンテンツにアクセスしたときに表示される画面である。知識コンテンツ表示画面１１０１は、例えば、知識コンテンツ表示１１０３を含み、知識コンテンツ表示１１０３は、タイトル１１０５およびテキスト１１０７を含む。
【００３０】
図示された例では、知識コンテンツ表示１１０３として、Ｗｅｂページが表示されている。このＷｅｂページでは、タイトル１１０５として“Hidden  Markov  Model”という文字列が表示されている。Hidden  Markov  Modelは、統計モデルの１つであり、ここで表示されているＷｅｂページは、このHidden  Markov  Modelについて説明したページである。もちろん、本開示の実施形態で生成される演習問題の対象は、統計モデルには限定されない。ページには、この説明のためのテキスト１１０７が表示されている。なお、テキストだけでなく、例えば画像や動画、グラフなどが、同様に説明のために表示されてもよい。このページを読み進めることで、Hidden  Markov  Modelについての知識を習得することができる。
【００３１】
ここで、表示されるテキスト１１０７には、リンク１１０７ａが含まれる。ユーザ操作によってリンク１１０７ａが選択されると、知識コンテンツ表示１１０３として表示されるＷｅｂページが、リンク１１０７ａによって示される別のＷｅｂページへと遷移する。図示された例では、“statistical”、“Markov  Model”、および“dynamic  Bayesian  network”といった用語にリンク１１０７ａが設定されている。これらのリンクは、“Hidden  Markov  Model”の説明の中で登場するこれらの他の用語について、さらに説明する別のＷｅｂページへの遷移をもたらすものでありうる。
【００３２】
本明細書でいう知識コンテンツは、図示された例のＷｅｂページのように、ユーザが何らかの知識を習得するためのコンテンツである。コンテンツは、例えば電子媒体上に記録されたファイルであり、テキスト、画像、動画またはグラフなどによって、さまざまな情報をユーザに呈示するものでありうる。こうしたコンテンツは、例えば、Ｗｅｂサーバ上に配置され、ネットワークを介して端末装置から閲覧される。また、知識コンテンツは、端末装置側のストレージ装置やリムーバブル記録媒体に格納され、そこから読み込まれて閲覧されてもよい。
【００３３】
また、知識コンテンツには、図示された例のリンク１１０７ａのように、別の知識コンテンツへのリンクが設定されている。つまり、複数の知識コンテンツの間では、あるコンテンツから別のコンテンツを参照し、別のコンテンツからさらにまた別のコンテンツを参照する、といったように、コンテンツ間にリンクを設定することが可能である。コンテンツ間のリンクは、リンク１１０７ａのようなリンクテキストによるものには限られず、他のコンテンツへの遷移をもたらす任意のアイコンによるものであってもよい。また、例えば大分類、中分類、小分類のように階層化された知識コンテンツの場合、端末装置において上下、または左右などの所定の方向を操作によって指示することで他のコンテンツへの遷移が可能であってもよい。この場合、コンテンツ自体にはリンクのためのアイコンなどが表示されなくても、所定の操作によって遷移するコンテンツが予め決まっていれば、コンテンツ間にはリンクが設定されているといえる。
【００３４】
さらに、知識コンテンツ表示画面１１０１は、目標コンテンツ表示１１０９、および推薦コンテンツ表示１１１１といった、知識コンテンツによる学習を支援するための情報や操作アイコンなどを含みうる。このうち、目標コンテンツ表示１１０９は、ユーザが現在学習中の、または学習対象として設定した、他の知識コンテンツのタイトルが表示される。推薦コンテンツ表示１１１１は、学習支援情報生成部２３０によって生成される情報に従って、ユーザに対して推薦される知識コンテンツのタイトルを表示する。なお、知識コンテンツの推薦のような、学習支援情報生成部２３０による学習支援情報の生成の詳細については、後述する。
【００３５】
（演習問題表示画面の例）
図５は、本開示の実施形態における演習問題表示画面の例を示す図である。演習問題表示画面１１１３は、例えば知識コンテンツを用いた学習の到達度の確認のために、ユーザに演習問題が出題されるときに表示される画面である。演習問題は、例えばユーザ操作によって表示されてもよいし、ユーザが知識コンテンツを閲覧して所定の量の学習（例えば上記の図４の例ではＷｅｂページ１ページ分など）を終了したときに自動的に表示されてもよい。演習問題表示画面１１１３は、例えば、問題表示１１１５を含み、問題表示１１１５は、問題文１１１７、選択肢１１１９、および回答ボタン１１２１を含む。
【００３６】
図示された例では、問題文１１１７と選択肢１１１９によって、“ID3  algorithm”に関する５択の演習問題が表示されている。“ID3  algorithm”は、機械学習に用いられるアルゴリズムの１つであり、ここで表示されている演習問題は、このID3  algorithmについてのユーザの理解を確認するための問題である。もちろん、本開示の実施形態で生成される演習問題の対象は、機械学習に用いられるアルゴリズムには限定されない。選択肢１１１９には、ID3  algorithmにいくらかの関連性を有する５つの用語が表示される。これらの用語は、例えば、出題対象の用語（ID3  algorithm）との関連性が最も高い１つの用語と、その用語よりは関連性が低い残りの用語とを含みうる。ユーザが、関連性が最も高い用語を操作によって選択した上で回答ボタン１１２１を押下した場合、ユーザの回答は正答であると判定される。なお、選択肢の数は５つには限られず、正答の数も１つには限られない。このような演習問題も、後述するように、学習支援情報の１つとして学習支援情報生成部２３０によって生成されうる。
【００３７】
さらに、演習問題表示画面１１１３は、問題選択表示１１２３、およびメッセージエリア１１２５を含みうる。このうち、問題選択表示１１２３は、学習支援情報生成部２３０によって生成される情報に従って、ユーザに対して推薦される演習問題を表示する。メッセージエリア１１２５は、知識コンテンツを用いた学習に関する様々なメッセージを表示する。このメッセージは、例えば学習支援情報生成部２３０によって生成される情報に従って表示されてもよい。なお、学習支援情報生成部２３０によって生成される情報の詳細については後述する。
【００３８】
（到達度表示画面の例）
図６は、本開示の実施形態における到達度表示画面の例を示す図である。到達度表示画面１１２７は、知識コンテンツを用いた学習の到達度を表示する画面である。到達度は、例えばユーザ操作によって表示されてもよいし、ユーザが知識コンテンツを閲覧して所定の量の学習（例えば上記の図４の例ではＷｅｂページ１ページ分など）を終了したときに自動的に表示されてもよい。到達度表示画面１１２７は、例えば、到達度表示１１２９を含み、到達度表示１１２９は、ラベル１１３１、到達度１１３３、学習ボタン１１３５、および演習ボタン１１３７を含む。さらに、到達度表示画面１１２７は、上記の図５の例と同様のメッセージエリア１１２５を含んでもよい。
【００３９】
図示された例では、“Machine  learning”、“Cluster  analysis”などといったラベル１１３１について、ユーザの学習の到達度１１３３が表示されている。このラベル１１３１は、例えば、コンテンツ解析部２１０による知識コンテンツのクラスタリングの結果として生成されたクラスタの名称に対応しうる。この場合、到達度１１３３は、各クラスタに分類されるノードにあたる知識コンテンツに対するユーザの学習の到達の度合いを示すものでありうる。なお、クラスタの名称は、例えば、クラスタに分類される知識コンテンツの中で、後述する中心度が最も高いものの名称であってもよい。
【００４０】
同様に、学習ボタン１１３５、および演習ボタン１１３７も、知識コンテンツが分類されるクラスタごとに表示されうる。例えば、学習ボタン１１３５が押下された場合、学習支援情報生成部２３０によって生成される情報に従って、当該クラスタに分類されるノードの中で、ユーザに対して推薦されるノードに対応する知識コンテンツが、例えば上記の図４に示す知識コンテンツ表示画面１１０１として表示されてもよい。また、演習ボタン１１３７が押下された場合、学習支援情報生成部２３０によって生成される情報に従って、当該クラスタに分類されるノードについて生成される演習問題の中で、ユーザに対して推薦される演習問題が、例えば上記の図５に示す演習問題表示画面１１１３として表示されてもよい。
【００４１】
このように、本開示の実施形態では、コンテンツ解析部２１０および学習支援情報生成部２３０の機能によって、任意の知識コンテンツについて、ユーザによる知識の習得を支援する情報が提供される。これによって、ユーザは、予め用意された学習コンテンツではないコンテンツを用いて知識を習得する場合にも、習得すべきコンテンツの推薦や、演習問題などを提供されることで、効率的に知識の取得を進めることができる。
【００４２】
以下では、このような情報をユーザに提供するための、コンテンツ解析部２１０および学習支援情報生成部２３０のより詳細な構成の例について、さらに説明する。
【００４３】
（３．解析および情報生成の実施形態）
以下、図７〜図３４を参照して、本開示の実施形態に係るコンテンツ解析部および学習支援情報生成部の構成の例について説明する。まず、図７を参照して全体的な構成について説明する。
【００４４】
図７は、本開示の実施形態におけるコンテンツ解析部および学習支援情報生成部の構成例を示す図である。上述のように、コンテンツ解析部２１０および学習支援情報生成部２３０は、本開示の実施形態に係るシステムで、サーバまたは端末装置によって実現される構成要素である。図１〜図３で説明したように、コンテンツ解析部２１０は、ネットワーク上、またはサーバもしくは端末装置の内部に存在する知識コンテンツ３００のグラフ構造を解析し、知識コンテンツ３００をクラスタリングする。学習支援情報生成部２３０は、クラスタリングの結果に基づいて各種の学習支援情報を生成し、これを端末装置の制御部に提供する。また、学習支援情報生成部２３０は、端末装置の制御部から、知識コンテンツまたは学習支援情報に対するユーザの操作をフィードバックとして取得し、このフィードバックにさらに基づいて学習支援情報を生成しうる。
【００４５】
ここで、コンテンツ解析部２１０および学習支援情報生成部２３０は、必要に応じて、ＤＢ２５０にアクセスし、データを記録、読み出し、または更新する。コンテンツ解析部２１０、学習支援情報生成部２３０、およびＤＢ２５０は、そのすべてが同一の装置によって実現されてもよいし、それぞれが異なる装置によって実現されてもよい。以下では、コンテンツ解析部２１０および学習支援情報生成部２３０の内部的な構成要素について説明するが、これらの各構成要素も、それぞれ異なる装置によって実現されうる。
【００４６】
図示されているように、コンテンツ解析部２１０は、データ取得部２１１と、クラスタリング部２１３とを含む。データ取得部２１１は、知識コンテンツ３００にアクセスして、各知識コンテンツ、つまりグラフ構造のノードに関する情報を取得する。データ取得部２１１は、取得した情報をＤＢ２５０に格納する。クラスタリング部２１３は、データ取得部２１１が取得した情報に基づいて、グラフ構造に対するクラスタリングを実行する。これによって、各知識コンテンツが分類されるクラスタが特定される。クラスタリング部２１３は、クラスタリングの結果をＤＢ２５０に格納する。
【００４７】
一方、学習支援情報生成部２３０は、難易度推定部２３１と、フィードバック取得部２３３と、学習対象推薦部２３５と、演習問題生成部２３７と、配分決定部２３９と、コスト算出部２４１とを含む。これらの構成要素は、単独で、または協働して、ＤＢ２５０に格納された知識コンテンツのクラスタリングの結果に基づいて学習支援情報を生成する。学習支援情報は、知識コンテンツ群の少なくとも一部によって提供される知識の学習を支援する情報である。それぞれの構成要素は、処理の結果をＤＢ２５０に格納してもよい。また、それぞれの構成要素は、ＤＢ２５０に格納された他の構成要素による処理の結果に基づいて、学習支援情報を生成してもよい。
【００４８】
以下の説明では、まず、コンテンツ解析部２１０の各構成要素による知識コンテンツのクラスタリングの例について、本開示の第１の実施形態として説明し、次いで、学習支援情報生成部２３０の各構成要素による様々な学習支援情報生成の例について、本開示の第２〜第６の実施形態として説明する。なお、学習支援情報生成部２３０は、それぞれの構成要素を、以下で説明する学習支援情報生成のいずれかに必要なものに限って含んでもよい。つまり、学習支援情報生成部２３０は、必ずしも難易度推定部２３１〜コスト算出部２４１のすべてを含まなくてもよく、その一部だけを含んでもよい。
【００４９】
（３−１．第１の実施形態）
次に、図８〜図１３を参照して、本開示の第１の実施形態について説明する。本実施形態では、クラスタリング処理が実行される。
【００５０】
図８は、本開示の第１の実施形態におけるクラスタリングの概念について説明するための図である。上述のように、複数の知識コンテンツでは、互いの間にリンクを設定することが可能である。本開示の第１の実施形態において、コンテンツ解析部２１０のクラスタリング部２１３は、このような知識コンテンツの集合をグラフ構造として捉えて、クラスタリングを実行する。つまり、クラスタリング部２１３は、図示されているように、それぞれの知識コンテンツをグラフ構造のノードＮとし、知識コンテンツ間のリンクをノード間のリンクＬとして、知識コンテンツの集合に対してクラスタリングを実行し、それぞれのノードＮをクラスタＣに分類する。
【００５１】
なお、クラスタリング部２１３によって実行されるクラスタリングには、例えばVoltage  Clustering、またはSpectral  Clusteringなど、様々な手法が用いられうる。これらの手法は、グラフ構造に対するクラスタリングの手法として既に知られているため、詳細な説明は省略する。なお、Voltage  Clusteringの例については、例えば米国特許出願公開第２００６／０１１２１０５号明細書などに記載されている。また、Spectral  Clusteringの例については、例えば、特開２０１１−１８６７８０号公報などに記載されている。クラスタリングには、これらの手法に限らず、公知の様々な手法を利用することが可能である。
【００５２】
図９は、本開示の第１の実施形態におけるクラスタリング処理を概略的に示す図である。本開示の第１の実施形態において、データ取得部２１１は、知識コンテンツ３００にアクセスして、そのグラフ構造を表すデータをグラフ構造ＤＢ２５０１に格納する。クラスタリング部２１３は、グラフ構造ＤＢ２５０１からデータを取得して、上記のようなクラスタリングを実行する。このとき、クラスタリング部２１３は、グラフ構造の各ノードをクラスタに分類するだけではなく、各ノードについてグラフ構造での中心度を算出してもよい。なお、中心度の詳細については後述する。クラスタリング部２１３は、クラスタリングの結果を、クラスタＤＢ２５０３に格納する。なお、後述するように、中心度は、クラスタリングの結果とは別に算出することが可能である。従って、クラスタリング部２１３は、クラスタリングをせずに中心度を算出してもよい。この場合、算出された中心度は、例えばグラフ構造ＤＢ２５０１などに格納されてもよい。
【００５３】
なお、グラフ構造ＤＢ２５０１、およびクラスタＤＢ２５０３のように、以下で説明されるＤＢは、例えば上記のＤＢ２５０に含まれ、学習支援情報生成部２３０から必要に応じて参照可能であるものとする。
【００５４】
図１０は、本開示の第１の実施形態におけるグラフ構造ＤＢの例を示す図である。グラフ構造ＤＢ２５０１は、例えば、ノードテーブル２５０１−１と、リンクテーブル２５０１−２を含みうる。
【００５５】
ノードテーブル２５０１−１は、知識コンテンツのグラフ構造におけるノードの情報を保持するテーブルであり、例えばノードＩＤ、タイトル、本文などの項目を含む。“ノードＩＤ”は、例えばデータ取得部２１１によって、知識コンテンツ３００に含まれる個々のコンテンツに付与されるＩＤである。つまり、ノードテーブル２５０１−１において、個々の知識コンテンツは、１つのノードとして扱われる。なお、以下の説明では、“ノード”という用語によって個々の知識コンテンツを指す場合もある。
【００５６】
“タイトル”は、各コンテンツのタイトルであり、例えば図４に例示した知識コンテンツ表示画面１１０１においてタイトル１１０５として表示される文字列でありうる。“本文”は、各コンテンツの本文であり、例えば上記の知識コンテンツ表示画面１１０１においてテキスト１１０７として表示される文字列などでありうる。知識コンテンツ表示画面１１０１について説明したように、本文はテキストには限られず、例えば画像や動画、グラフなどを含んでもよい。ノードテーブル２５０１−１における“本文”の項目は、こうしたテキストなどのデータをそのまま格納したものであってもよいし、そうした項目を含むファイルの格納場所を示すものであってもよい。
【００５７】
リンクテーブル２５０１−２は、知識コンテンツのグラフ構造におけるリンクの情報を保持するテーブルであり、例えばノードＩＤ、リンク先などの項目を含む。“ノードＩＤ”は、例えばノードテーブル２５０１−１におけるノードＩＤと同様の項目であり、各ノードを識別するＩＤである。“リンク先”は、各ノードからリンクされている他のノードのノードＩＤである。例えば、ノードＩＤ“１”の行を参照すると、このノードからは、ノードＩＤ“３”のノード、およびノードＩＤ“１１”のノードなどにリンクが設定されていることがわかる。
【００５８】
知識コンテンツ間のリンクは、例えば図４に例示した知識コンテンツ表示画面１１０１におけるリンク１１０７ａのように、コンテンツ閲覧中の所定の操作によって他のコンテンツに遷移することを規定する要素として実現されうる。データ取得部２１１は、例えば、知識コンテンツのファイルをスキャンしてそうした要素を検出することで、リンクテーブル２５０１−２の情報を取得する。一例として、知識コンテンツがｈｔｍｌファイルである場合、データ取得部２１１は、ファイルの中の“<a  href="…">…</a>”といったようなリンクのためのタグを検出し、このタグにおいて指定されている他の知識コンテンツのファイルをリンク先として特定する。
【００５９】
なお、グラフ構造ＤＢ２５０１の構成は、図示された例には限られず、グラフ構造を記述することが可能な任意の構成とすることが可能である。
【００６０】
図１１は、本開示の第１の実施形態におけるクラスタＤＢの例を示す図である。クラスタＤＢ２５０３は、例えば、クラスタテーブル２５０３−１を含みうる。
【００６１】
クラスタテーブル２５０３−１は、知識コンテンツのグラフ構造について設定されたクラスタの情報を保持するテーブルであり、例えばノードＩＤ、クラスタＩＤ、中心度などの項目を含む。“ノードＩＤ”は、グラフ構造ＤＢ２５０１におけるノードＩＤと同様の項目であり、各ノードを識別するＩＤである。“クラスタＩＤ”は、クラスタリング部２１３によるクラスタリングの結果、各ノードが分類されたクラスタを識別するＩＤである。図示された例では、ノードＩＤ“１”およびノードＩＤ“３”のノードがクラスタＩＤ“１”のクラスタに、ノードＩＤ“２”のノードがクラスタＩＤ“５”のクラスタに、それぞれ分類されたことがわかる。“中心度”は、各ノードのグラフ構造における中心度である。この中心度について、以下でさらに説明する。
【００６２】
中心度は、知識コンテンツのノードが、グラフ構造の中でどの程度中心的なノードであるかを示す値である。本実施形態では、概略的にいうと、より多くの他のノードからリンクされているノードが、より中心的なノードであると判定する。かかる中心度の計算方法として、例えば、以下の式１、または式２が用いられうる。なお、式１、式２において、ＣＶは中心度を表し、ｋｉｎはｉｎリンク、つまり他のノードから対象ノードへのリンクの数を表し、ｋｏｕｔはｏｕｔリンク、つまり対象ノードから他のノードへのリンクの数を表す。
【００６３】
【数１】
2014017164.tif 000003
【００６４】
【数２】
2014017164.tif 000004
【００６５】
なお、中心度の計算方法は上記の例には限られず、各ノードがグラフ構造の中でどの程度中心的なノードであるかを示す各種の計算値が中心度として採用されうる。
【００６６】
図１２は、本開示の第１の実施形態におけるクラスタリングの処理の例を示すフローチャートである。図では、データ取得部２１１が知識コンテンツのグラフ構造のデータを取得した後、クラスタリング部２１３がグラフ構造に対するクラスタリングを実行する処理が示されている。
【００６７】
まず、クラスタリング部２１３は、グラフ構造ＤＢ２５０１にアクセスし、リンクテーブル２５０１−１から、全ノード分のリンク情報を取得する（ステップＳ１０１）。これによって、クラスタリング部２１３は、図８に示したノードＮとリンクＬからなるグラフ構造の全容を把握する。
【００６８】
次に、クラスタリング部２１３は、取得したリンク情報に基づいて、クラスタリングを実行する（ステップＳ１０３）。これによって、知識コンテンツの各ノードが、図８に示したようにクラスタＣに分類される。
【００６９】
次に、クラスタリング部２１３は、クラスタリングによって各ノードに割り当てられたクラスタを記録する（ステップＳ１０５）。具体的には、クラスタリング部２１３は、クラスタＤＢ２５０３にアクセスして、クラスタテーブル２５０３−１に、全ノード分のクラスタ情報を記録する。
【００７０】
図１３は、本開示の第１の実施形態における中心度設定処理の例を示すフローチャートである。図では、クラスタリング部２１３が、各ノードについてグラフ構造の中での中心度を設定する処理が示されている。
【００７１】
まず、クラスタリング部２１３は、グラフ構造ＤＢ２５０１にアクセスし、リンクテーブル２５０１−１から、全ノード分のリンク情報を取得する（ステップＳ１１１）。これによって、クラスタリング部２１３は、各ノードからどのノードに対してリンクが存在するかを判別することが可能になる。
【００７２】
次に、クラスタリング部２１３は、取得した情報に基づいて、各ノードの中心度を算出する（ステップＳ１１３）。上述のように、中心度は、ノードがグラフ構造の中でどの程度中心的なノードであるかを示す値である。この例において、クラスタリング部２１３は、各ノードと他のノードとの間に存在するリンクの数に基づいて中心度を算出する。
【００７３】
次に、クラスタリング部２１３は、各ノードについて算出された中心度を記録する（ステップＳ１１５）。具体的には、クラスタリング部２１３は、クラスタＤＢ２５０３にアクセスして、クラスタテーブル２５０３−１に、全ノード分の中心度を記録する。
【００７４】
本開示の第１の実施形態では、以上のような処理によって、知識コンテンツのグラフ構造がクラスタリングされ、各ノードについて中心度が算出される。このクラスタリングの結果および中心度は、以下で説明する様々な学習支援情報を生成する処理において利用されうる。
【００７５】
（３−２．第２の実施形態）
次に、図１４〜図２０を参照して、本開示の第２の実施形態について説明する。本実施形態では、第１の実施形態として説明されたクラスタリング処理の結果を利用して、難易度推定処理が実行される。
【００７６】
図１４は、本開示の第２の実施形態における難易度推定処理を概略的に示す図である。本開示の第２の実施形態において、難易度推定部２３１は、クラスタＤＢ２５０３と、各ノードに対するユーザの学習の進捗を記録した進捗ＤＢ２５０５とから取得したデータに基づいて各ノードの難易度を推定し、結果を難易度ＤＢ２５０７に格納する。進捗ＤＢ２５０５のデータは、フィードバック取得部２３３によって記録される。フィードバック取得部２３３は、ユーザＵによる知識コンテンツまたは学習支援情報に対する操作を、フィードバックとして取得する。
【００７７】
図１５は、本開示の第２の実施形態における進捗ＤＢの例を示す図である。進捗ＤＢ２５０５は、例えば、進捗テーブル２５０５−１を含みうる。
【００７８】
進捗テーブル２５０５−１は、各ノードに対するユーザの学習の進捗を記録するテーブルであり、例えばユーザＩＤ、ノードＩＤ、回答数、正解数、正答率などの項目を含む。“ユーザＩＤ”は、フィードバック取得部２３３によってフィードバックが取得される個々のユーザに付与されるＩＤである。例えば、図１４の例において、複数のユーザＵ１〜Ｕ３についてそれぞれフィードバックを取得する場合、ユーザＩＤなどによって各ユーザを識別することが望ましい。一方、単一のユーザＵ１だけについてフィードバックを取得するような場合、進捗テーブル２５０５−１にユーザＩＤの項目がない構成も可能である。“ノードＩＤ”は、既に説明した他のＤＢにおけるノードＩＤと同様の項目であり、各ノードを識別するＩＤである。つまり、進捗テーブル２５０５−１では、ユーザとノードとの組み合わせごとにデータが記録される。
【００７９】
“回答数”は、各ノードについて出題された演習問題にユーザが回答した回数である。ここでいう演習問題は、後述するように学習支援情報の１つとして生成されたものであってもよく、また別途用意されたものであってもよい。“正解数”は、上記の演習問題へのユーザの回答が正解であった回数である。“正答率”は、演習問題への回答の中でユーザが正解した割合、すなわち正解数／回答数である。なお、正答率は、後の処理での計算負荷を低減するために、図示された例のように予め計算されて進捗テーブル２５０５−１に含まれていてもよいし、進捗テーブル２５０５−１には含まれずに、その都度回答数と正解数とから算出されてもよい。
【００８０】
図１６は、本開示の第２の実施形態における難易度ＤＢの例を示す図である。難易度ＤＢ２５０７は、例えば、難易度テーブル２５０７−１を含みうる。
【００８１】
難易度テーブル２５０７−１は、各ノードについての難易度を記録するテーブルであり、例えばユーザＩＤ、ノードＩＤ、難易度、正規化された難易度などの項目を含む。“ユーザＩＤ”は、進捗ＤＢ２５０５におけるユーザＩＤと同様の項目であり、各ユーザを識別するＩＤである。難易度の推定が単一のユーザを対象として、またはユーザを特定せずに実行される場合、難易度テーブル２５０７−１にユーザＩＤの項目がない構成も可能である。“ノードＩＤ”は、既に説明した他のＤＢにおけるノードＩＤと同様の項目であり、各ノードを識別するＩＤである。つまり、難易度テーブル２５０７−１でも、ユーザとノードとの組み合わせごとにデータが記録される。
【００８２】
“難易度”は、後述するような難易度推定部２３１の処理によって算出された、各ノードについての難易度である。“正規化された難易度”は、各ノードの難易度を、ユーザごとに最大値で正規化した値である。なお、進捗テーブル２５０５−１における正答率と同様に、正規化された難易度も、図示された例のように予め計算されて難易度テーブル２５０７−１に含まれていてもよいし、難易度テーブル２５０７−１には含まれずに、その都度難易度から算出されてもよい。以下の説明で例示される各ＤＢにおける正規化された項目も、同様に、テーブルに含まれてもよいし、テーブルには含まれずにその都度算出されてもよい。
【００８３】
図１７は、本開示の第２の実施形態におけるフィードバック取得処理の例を示すフローチャートである。図では、フィードバック取得部２３３が、ユーザから取得したフィードバックに応じたデータを進捗ＤＢ２５０５に記録する処理が示されている。
【００８４】
まず、フィードバック取得部２３３は、ユーザのノードに対するフィードバックを取得する（ステップＳ１２１）。ここでいうフィードバックは、ノードに関する演習問題へのユーザの回答であり、回答があったこと、およびその回答が正解であったか不正解であったかの情報が取得される。
【００８５】
次に、フィードバック取得部２３３は、取得したフィードバックに基づいて、各ノードの正答率などの情報を記録／更新する（ステップＳ１２３）。具体的には、フィードバック取得部２３３は、進捗ＤＢ２５０５にアクセスして、対象のユーザとノードとの組み合わせに対応するデータが既に記録されていれば、回答数、正解数、正答率といった項目を更新する。データがまだ記録されていなければ、新たにデータを記録する。
【００８６】
図１８は、本開示の第２の実施形態における難易度推定処理の例を示すフローチャートである。図では、図１７に示したフィードバック取得処理の結果を受けて、難易度推定部２３１が、各ノードについての難易度を推定する処理が示されている。
【００８７】
まず、難易度推定部２３１は、クラスタＤＢ２５０３にアクセスし、クラスタテーブル２５０３−１から、全ノード分のクラスタ情報を取得する（ステップＳ１３１）。図示された例では、難易度推定の処理に、各ノードの中心度が用いられる。
【００８８】
以下、難易度推定部２３１は、難易度推定の対象になるノードについて、ノードごとのループ処理を実行する（ステップＳ１３３）。難易度推定の対象になるノードは、全ノードであってもよいし、ユーザ操作などによって指定された一部のノードであってもよい。また、対象になるノードは１つであってもよく、その場合処理はループしない。
【００８９】
ノードごとの処理において、まず、難易度推定部２３１は、ノードの中心度を取得する（ステップＳ１３５）。次いで、難易度推定部２３１は、進捗ＤＢ２５０５にアクセスして、難易度推定の対象ユーザが学習済みのノードのうち、中心度がステップＳ１３５で取得された中心度に類似するものを抽出し、それらのノードの正答率のデータを取得する（ステップＳ１３７）。なお、中心度は、上記のステップＳ１３１で取得されたクラスタ情報から抽出されうる。中心度が類似するとは、例えば、中心度の差が所定の閾値以内であることを意味してもよい。
【００９０】
次に、難易度推定部２３１は、ステップＳ１３７で取得された正答率の平均に基づいて、ノードの難易度を決定する（ステップＳ１３９）。難易度は、例えば、上記の正答率の平均をＴａｖｇとして、１−Ｔａｖｇとして定義されてもよい。つまり、ここでは、正答率が高いほど難易度が低く、正答率が低いほど難易度が高いという定義の下に難易度が決定されている。難易度推定部２３１は、難易度ＤＢ２５０７にアクセスして、決定された難易度を記録、または更新する（ステップＳ１４１）。
【００９１】
以上のような処理によって、ユーザがまだ学習していないノードについても、ユーザが学習した場合の難易度を推定することが可能である。例えば、難易度の情報を予めユーザに提供したり、難易度に基づいてユーザが学習するノードを推薦したりすることによって、ユーザが次に学習すべきノードを適切に選択できるように支援することが可能である。
【００９２】
なお、上記の処理は、クラスタＤＢ２５０３のデータと、難易度推定の対象になるユーザからのフィードバックに基づく進捗ＤＢ２５０５のデータとがあれば実行可能である。つまり、難易度の推定は、単一のユーザ（図１４の例でいえばユーザＵ１だけ）についての処理で完結しうる。従って、進捗ＤＢ２５０５や難易度テーブル２５０７は、必ずしも複数のユーザについてのデータを含まなくてもよい。
【００９３】
（難易度推定の変形例１）
知識コンテンツの各ノードに対する難易度の推定は、上記の例以外にも、さまざまな処理によって実行することが可能である。
【００９４】
図１９は、本開示の第２の実施形態における難易度推定処理の他の例を概略的に示す図である。この例において、難易度推定部２３１は、クラスタＤＢ２５０３から取得したデータに基づいて各ノードの難易度を推定し、結果を難易度ＤＢ２５０７に格納する。図示された例では、各ノードの中心度に基づいて難易度が推定される。従って、難易度の推定にあたってユーザからのフィードバックは必要とされない。
【００９５】
図２０は、図１９の例における難易度推定処理を示すフローチャートである。なお、図示された例の処理は、各ノードについて個別に実行することが可能である。
【００９６】
まず、難易度推定部２３１は、クラスタＤＢ２５０３にアクセスして、クラスタテーブル２５０３−１から、ノードの中心度を取得する（ステップＳ１５１）。次いで、難易度推定部２３１は、取得した中心度に基づいてノードの難易度を決定する（ステップＳ１５３）。難易度は、例えば、中心度を正規化した値ＣＶｎを用いて１−ＣＶｎとして定義されてもよい。つまり、ここでは、中心度が高いほど、一般的な知識を扱うノードであるために難易度が低く、中心度が低いほど、特殊な知識を扱うノードであるために難易度が高いという定義の下に難易度が決定されている。難易度推定部２３１は、難易度ＤＢ２５０７にアクセスして、決定された難易度を記録、または更新する（ステップＳ１５５）。
【００９７】
（難易度推定の変形例２）
別の例として、各ノードの難易度は、各ノードについての演習問題に回答したすべてのユーザの、そのノードについての正答率の平均に基づいて推定されてもよい。例えば、下記の表１の例において、ユーザＵ１のノードのＩＤ“５”のノードについての難易度は、ａｖｅｒａｇｅ（0.2，0.3，0.1）＝0.2になる。
【００９８】
【表１】
2014017164.tif 000005
【００９９】
（難易度推定の変形例３）
さらに別の例として、各ノードの難易度は、協調フィルタリングを用いて推定されてもよい。より具体的には、難易度推定の対象ノードと他のノードとの類似度が、対象ノードと他のノードとについての演習問題に既に回答したユーザの正答率に基づいて算出される。対象ノードの難易度は、他のノードに対する各ユーザの正答率に、対象ノードと当該他のノードとの類似度を乗じた値の総和である予測正答率に基づいて決定されうる。
【０１００】
上記のような難易度推定の計算には、例えば以下の式３および式４が用いられうる。なお、式３、式４において、ｓｉｍ（ｊ，ｋ）はノードｊとノードｋとの類似度を表し、Ｍ（ｉ，ｊ）はユーザｉのノードｊに対する正答率を表し、ＳＣＦ（ｋ）はノードｋの予測正答率を表す。ここで、ユーザは１，２，…，ＮのＮ人存在し、ノードは１，２，…，ＰのＰ個存在するものとする。
【０１０１】
【数３】
2014017164.tif 000006
【０１０２】
【数４】
2014017164.tif 000007
【０１０３】
なお、ノード同士の類似度の計算方法は、上記の式３の例には限られず、公知の様々な類似度の計算方法が採用されうる。また、ノードの予測正答率の計算方法も、上記の式４の例には限られず、同様の意味をもつ値を算出可能な様々な計算方法が採用されうる。
【０１０４】
以上で説明したように、本開示の第２の実施形態では、ノードに対応する知識コンテンツの難易度が推定される。難易度は、例えば最初の例および第１の変形例のように中心度を用いて推定されてもよい。あるいは、難易度は、第２および第３の変形例のように中心度を用いずに推定されてもよい。中心度は、ノードのクラスタへの分類とは独立して算出可能である。従って、中心度を用いる場合、用いない場合ともに、難易度の推定のためには、必ずしも知識コンテンツがクラスタリングされていなくてもよい。
【０１０５】
（３−３．第３の実施形態）
次に、図２１〜図２３を参照して、本開示の第３の実施形態について説明する。本実施形態では、第１の実施形態として説明されたクラスタリング処理の結果を利用して、学習対象推薦処理が実行される。
【０１０６】
図２１は、本開示の第３の実施形態における学習対象推薦処理を概略的に示す図である。学習対象推薦部２３５は、クラスタＤＢ２５０３と、進捗ＤＢ２５０５と、難易度ＤＢ２５０７とから取得したデータに基づいて、ユーザに対して推薦ノード情報２５０９を提供する。第１の例で提供される推薦ノード情報２５０９は、学習対象推薦の対象ユーザ（ユーザＵ１）がまだ学習したことがない、新領域の学習対象ノードを推薦する情報でありうる。また、学習対象推薦部２３５は、中間的なデータとして、クラスタ進捗ＤＢ２５１１を生成する。
【０１０７】
なお、進捗ＤＢ２５０５および難易度ＤＢ２５０７のデータは、上記の難易度推定処理と同様にして生成されうるため、ここではこれらのデータに関する詳細な説明は省略する。学習対象推薦処理は、別途に実行された難易度推定処理で生成された上記の各データを利用して実行されてもよいし、学習対象推薦処理のために、難易度推定処理と同様の処理によって各データが新たに生成されてもよい。図示された第１の例において、フィードバック取得部２３３は、学習対象推薦の対象ユーザと他のユーザとを複数のユーザＵ（図２１の例ではユーザＵ１と、ユーザＵ２，Ｕ３を含む）からのフィードバックを取得する。
【０１０８】
図２２は、本開示の第３の実施形態におけるクラスタ進捗ＤＢの例を示す図である。クラスタ進捗ＤＢ２５１１は、例えば、クラスタ進捗テーブル２５１１−１を含みうる。
【０１０９】
クラスタ進捗テーブル２５１１−１は、各クラスタに対するユーザの学習の進捗を記録するテーブルであり、例えばユーザＩＤ、クラスタＩＤ、回答数などの項目を含む。“ユーザＩＤ”は、既に説明した他のＤＢにおけるユーザＩＤと同様の項目であり、各ユーザを識別するＩＤである。“クラスタＩＤ”は、クラスタＤＢ２５０３におけるクラスタＩＤと同様の項目であり、ノードが分類されたクラスタを識別するＩＤである。“回答数”は、各クラスタに分類されるノードについて出題された練習問題にユーザが回答した回数である。なお、後述するように、回答数の項目は、各ユーザがクラスタに含まれるノードに学習のためにアクセスした回数を示す情報として用いられる。それゆえ、例えば、回答数に代えて、またはこれとともに、閲覧回数などの項目が設定されてもよい。
【０１１０】
上記の説明からわかるように、クラスタ進捗テーブル２５１１−１には、上述した進捗テーブル２５０５−１と類似した内容のデータが記録されるが、ユーザとクラスタとの組み合わせごとにデータが記録される点で進捗テーブル２５０５−１とは異なる。
【０１１１】
図２３は、本開示の第３の実施形態における学習対象推薦処理の例を示すフローチャートである。図では、学習対象推薦部２３５が各ＤＢからデータを取得して処理し、推薦ノードを出力するまでの処理が示されている。
【０１１２】
まず、学習対象推薦部２３５は、クラスタＤＢ２５０３にアクセスしてクラスタ情報を取得するとともに、進捗ＤＢ２５０５にアクセスして進捗情報を取得する（ステップＳ１６１）。なお、ここで取得される進捗情報は、ユーザとノードとの組み合わせごとに記録された情報である。
【０１１３】
次に、学習対象推薦部２３５は、クラスタ進捗ＤＢ２５１１にクラスタ進捗情報を生成する（ステップＳ１６３）。例えば、クラスタ進捗情報に含まれる回答数は、ステップＳ１６１で取得されたノードごとの進捗情報に含まれる回答数を、クラスタ情報に従ってクラスタごとに合計することによって算出されうる。
【０１１４】
次に、学習対象推薦部２３５は、推薦クラスタを、順位とともに決定する（ステップＳ１６５）。この例において、推薦クラスタは、後述するように各クラスタの推薦度を算出することによって決定されるため、例えば推薦度の大きい順などとして、順位も決定することが可能である。
【０１１５】
次に、学習対象推薦部２３５は、上位の推薦クラスタに含まれるノードを抽出する（ステップＳ１６７）。例えば、学習対象推薦部２３５は、推薦クラスタのうち、順位が上位ｓ件（ｓは所定の数）に含まれるクラスタに分類されているノードを抽出する。なお、順位は、例えば“上位ｓ件”のように件数で指定されてもよいし、“上位ｓ％”のように割合で指定されてもよい。
【０１１６】
次に、学習対象推薦部２３５は、抽出されたノードのうち、所定の難易度以下のノードを、推薦ノードとして出力する（ステップＳ１６９）。ここで、学習対象推薦部２３５は、抽出されたノードの難易度のデータを、難易度ＤＢ２５０７から取得する。この例において、所定の難易度以下のノードが推薦ノードとして出力されるのは、１つには、推薦ノードはユーザがこれまで学習していないクラスタのノードであるため、難易度があまり高くなく、ユーザが取り組みやすいノードの方が望ましいと考えられるためである。
【０１１７】
ここで、上記のステップＳ１６５における推薦クラスタの決定処理の例について、さらに説明する。推薦クラスタは、例えば、上記の難易度推定の処理例と同様に、協調フィルタリングを用いて決定されうる。この場合、クラスタ同士の類似度が、それぞれのクラスタについての対象ユーザと他のユーザとの回答数に基づいて算出される。対象ユーザがまた学習していないクラスタ（未習クラスタ）の推薦度は、対象ユーザが既に学習しているクラスタ（既習クラスタ）の回答数に、既習クラスタと未習クラスタとの類似度を乗じた値の総和として算出されうる。
【０１１８】
上記のようなクラスタ推薦度の計算には、例えば、以下の式５および式６が用いられうる。なお、式５、式６において、ｓｉｍ（ｍ，ｎ）はクラスタｍとクラスタｎとの類似度を表し、Ｋ（ｉ，ｍ）はユーザｉのクラスタｍに対する回答数を表し、ＲＣＦ（ｎ）はクラスタｎの推薦度を表す。ここで、ユーザは１，２，…，ＮのＮ人存在し、クラスタは１，２，…，ＱのＱ個存在するものとする。
【０１１９】
【数５】
2014017164.tif 000008
【０１２０】
【数６】
2014017164.tif 000009
【０１２１】
なお、クラスタ同士の類似度の計算方法は、上記の式５の例には限られず、公知の様々な類似度の計算方法が採用されうる。また、クラスタの推薦度の計算方法も、上記の式６の例には限られず、同様の意味をもつ値を算出可能な様々な計算方法が採用されうる。
【０１２２】
以上のような処理によって、ユーザがまだ学習していないクラスタについて、ユーザの新たな学習対象として適しているかを判定し、より適しているクラスタのノードを、新たな知識を身につけるための推薦ノードとしてユーザに提示することができる。また、このときに、ある程度の難易度以下のノードを推薦ノードとすることによって、ユーザが新しい分野の学習を始めることを容易にすることが可能である。
【０１２３】
（３−４．第４の実施形態）
次に、図２４〜図２９を参照して、本開示の第４の実施形態について説明する。本実施形態では、第１の実施形態として説明されたクラスタリング処理の結果を利用して、上記の第３の実施形態とは異なる学習対象推薦処理が実行される。
【０１２４】
図２４は、本開示の第４の実施形態における学習対象推薦処理を概略的に示す図である。学習対象推薦部２３５は、クラスタＤＢ２５０３と、難易度ＤＢ２５０７と、嗜好ＤＢ２５１３とから取得したデータに基づいて、ユーザに対して推薦ノード情報２５１５を提供する。第２の例で提供される推薦ノード情報２５１５は、学習対象推薦の対象ユーザ（ユーザＵ１）が既に学習したことがあるクラスタのノードを推薦する情報でありうる。また、学習対象推薦部２３５は、中間的なデータとして、クラスタ嗜好ＤＢ２５１７を生成する。
【０１２５】
上記の処理で用いられる嗜好ＤＢ２５１３のデータは、フィードバック取得部２３３によって記録される。フィードバック取得部２３３は、ユーザＵによる知識コンテンツまたは学習支援情報に対する操作を、フィードバックとして取得する。さらに、フィードバック取得部２３３は、アクションＤＢ２５１９にアクセスして、フィードバックとして取得されたユーザの操作に対応する重みの情報を取得する。フィードバック取得部２３３は、嗜好ＤＢ２５１３にアクセスして、取得された重みに対応する値をノードの嗜好スコアに加算する。なお、図示された第２の例において、フィードバック取得部２３３は、学習対象推薦の対象ユーザ（図２４の例ではユーザＵ１）からのフィードバックを取得する。
【０１２６】
なお、難易度ＤＢ２５０７のデータは、上記の難易度推定処理と同様にして生成されうるため、ここでは詳細な説明は省略する。学習対象推薦処理は、別途に実行された難易度推定処理で生成されたデータを利用して実行されてもよいし、学習対象推薦処理のために、難易度推定処理と同様の処理によってデータが新たに生成されてもよい。
【０１２７】
図２５は、本開示の第４の実施形態における嗜好ＤＢの例を示す図である。嗜好ＤＢ２５１３は、例えば、嗜好テーブル２５１３−１を含みうる。
【０１２８】
嗜好テーブル２５１３−１は、各ノードに対するユーザの嗜好を記録するテーブルであり、例えばユーザＩＤ、ノードＩＤ、嗜好スコア、正規化された嗜好スコアなどの項目を含む。“ユーザＩＤ”および“ノードＩＤ”は、既に説明した他のＤＢにおけるユーザＩＤおよびノードＩＤと同様の項目であり、各ユーザおよび各ノードをそれぞれ識別するＩＤである。上述のように、この例において、学習対象推薦の処理は対象ユーザからのフィードバックによって成り立つ。それゆえ、ユーザＩＤの項目は必ずしも設定されなくてもよい。ただし、例えば嗜好テーブル２５１３−１に、複数のユーザにそれぞれ学習対象を推薦するためにデータが記録されるような場合、データがどのユーザのためのものかを識別するために、ユーザＩＤの項目が設定されうる。
【０１２９】
“嗜好スコア”は、ユーザからの各ノードに対するフィードバックがあった場合に、後述するアクションＤＢ２５１９に記録された重みに応じて加算されるスコアである。“正規化された嗜好スコア”は、各ノードの嗜好スコアを、ユーザごとに最大値で正規化した値である。
【０１３０】
図２６は、本開示の第４の実施形態におけるクラスタ嗜好ＤＢの例を示す図である。クラスタ嗜好ＤＢ２５１７は、例えば、クラスタ嗜好テーブル２５１７−１を含みうる。
【０１３１】
クラスタ嗜好テーブル２５１７−１は、各クラスタに対するユーザの嗜好を記録するテーブルであり、例えばユーザＩＤ、クラスタＩＤ、嗜好スコアなどの項目を含む。“ユーザＩＤ”および“クラスタＩＤ”は、既に説明した他のＤＢにおけるユーザＩＤおよびクラスタＩＤと同様の項目であり、各ユーザおよび各クラスタをそれぞれ識別するＩＤである。“嗜好スコア”は、各クラスタに分類されるノードの嗜好スコアを、クラスタごとに合計したものである。
【０１３２】
上記の説明からわかるように、クラスタ嗜好テーブル２５１７−１には、上述した嗜好テーブル２５１３−１と類似した内容のデータが記録されるが、ユーザとクラスタとの組み合わせごとにデータが記録される点で嗜好テーブル２５１３−１とは異なる。
【０１３３】
図２７は、本開示の第４の実施形態におけるアクションＤＢの例を示す図である。アクションＤＢ２５１９は、例えば、アクションテーブル２５１９−１を含みうる。
【０１３４】
アクションテーブル２５１９−１は、ユーザからのフィードバックとして取得される各種のアクションに対応する重みを記録したテーブルであり、例えばアクション種類、重みなどの項目を含む。“アクション種類”は、フィードバック取得部２３３によってユーザからのフィードバックとして取得されるアクションの種類である。図示された例では、“演習問題解答”、“閲覧”、“ブックマーク”などの種類が定義されている。このように、アクションは、何らかの意味をもった一連のユーザ操作によって構成されるものでありうる。
【０１３５】
“重み”は、各アクション種類に対して設定される。重みは、例えば、そのアクションによって表される、ノードに対するユーザの興味の高さに応じて設定される。図示された例では、単なる“閲覧”に比べて、“演習問題解答”では５倍、“ブックマーク”では３倍の重みが設定されている。これは、単に知識コンテンツを閲覧した場合よりも、コンテンツをブックマークした場合や、コンテンツに関する演習問題に回答した場合の方が、ユーザがコンテンツに対してより高い興味を持っていることが推測されるためである。なお、別の例として、“演習問題解答”は、“正解”、“不正解”の２つに区分され、それぞれについて異なる重みが設定されてもよい。
【０１３６】
図２８は、本開示の第４の実施形態におけるフィードバック取得処理の例を示すフローチャートである。本実施形態では、上記で図１７を参照して説明したものとは異なるフィードバック取得処理が実行されうる。図では、フィードバック取得部２３３が、ユーザから取得したフィードバックに応じたデータを嗜好ＤＢ２５１３に記録する処理が示されている。
【０１３７】
まず、フィードバック取得部２３３は、ユーザのノードに対するフィードバックを取得する（ステップＳ１７１）。ここでいうフィードバックは、ノードに関するユーザの各種のアクションを示すものであり、例えばコンテンツの閲覧、ブックマーク、または演習問題への回答などでありうる。
【０１３８】
次に、フィードバック取得部２３３は、アクションＤＢ２５１９にアクセスして、取得したフィードバックによって示されるアクションに対応する重みを取得する（ステップＳ１７３）。
【０１３９】
次に、フィードバック取得部２３３は、取得された重みに応じた値を、ノードの嗜好スコアに加算する（ステップＳ１７５）。具体的には、フィードバック取得部２３３は、嗜好ＤＢ２５１３にアクセスして、対象のユーザとノードとの組み合わせに対応するデータが既に記録されていれば、嗜好スコアの値に取得された重みに応じた値を加算する。データがまだ記録されていなければ、新たにデータを記録する。
【０１４０】
図２９は、本開示の第４の実施形態における学習対象推薦処理の例を示すフローチャートである。図では、図２８に示したフィードバック取得処理の結果を受けて、学習対象推薦部２３５が、推薦ノードを出力するまでの処理が示されている。
【０１４１】
まず、学習対象推薦部２３５は、クラスタＤＢ２５０３にアクセスしてクラスタ情報を取得するとともに、嗜好ＤＢ２５１３にアクセスして嗜好情報を取得する（ステップＳ１８１）。なお、ここで取得される嗜好情報は、ノードごとに記録された情報である。
【０１４２】
次に、学習対象推薦部２３５は、クラスタ嗜好ＤＢ２５１７にクラスタ嗜好情報を生成する（ステップＳ１８３）。例えば、クラスタ嗜好情報に含まれる嗜好スコアは、ステップＳ１８１で取得された嗜好情報に含まれる嗜好スコアを、クラスタ情報に従ってクラスタごとに合計することによって算出されうる。
【０１４３】
次に、学習対象推薦部２３５は、推薦クラスタを、順位とともに決定する（ステップＳ１８５）。この例において、推薦クラスタは、各クラスタの嗜好スコアに基づいて決定されるため、例えば嗜好スコアが高い順などとして、順位も決定することが可能である。
【０１４４】
次に、学習対象推薦部２３５は、所定の順位の推薦クラスタに含まれるノードを抽出する（ステップＳ１８７）。例えば、学習対象推薦部２３５は、推薦クラスタのうち、順位が上位ｔ件（ｔは所定の数）に含まれるクラスタに分類されているノードを抽出する。なお、順位は、例えば“上位ｔ件”のように件数で指定されてもよいし、“上位ｔ％”のように割合で指定されてもよい。
【０１４５】
あるいは、学習対象推薦部２３５は、推薦クラスタのうち、順位が上位ｔ％〜ｕ％（ｔ，ｕは所定の数）の範囲に含まれるクラスタに分類されているノードを抽出してもよい。本実施形態では、ユーザが既に学習したことがあるクラスタのノードを推薦するため、あまり嗜好スコアが高すぎるクラスタは推薦するまでもないとも考えられるためである。
【０１４６】
次に、学習対象推薦部２３５は、抽出されたノードのうち、難易度が所定の範囲にあるノードを、推薦ノードとして出力する（ステップＳ１８９）。ここで、学習対象推薦部２３５は、抽出されたノードの難易度のデータを、難易度ＤＢ２５０７から取得する。この例において、難易度が所定の範囲にあるノードが推薦ノードとして出力されるのは、１つには、推薦ノードはユーザが既に学習したことがあるクラスタのノードであるため、難易度が低すぎてもユーザの意欲を削ぐと考えられるためである。従って、ここで設定される難易度の範囲は、例えばノードが分類されるクラスタの嗜好スコアに応じて変更されてもよい（クラスタの嗜好スコアが高いほど、より高い難易度の範囲が設定される）。
【０１４７】
以上のような処理によって、ユーザが既に学習したことがあるクラスタについて、ユーザがどの程度の興味を持っているかを判定し、より興味を持っているクラスタのノードを、より一層の知識を身につけるための推薦ノードとしてユーザに提示することができる。また、このときに、適切な難易度範囲のノードを推薦ノードとすることによって、ユーザが適度な手ごたえ（やりがい）を感じながら学習できるようにすることが可能である。
【０１４８】
（３−５．第５の実施形態）
次に、図３０および図３１を参照して、本開示の第５の実施形態について説明する。本実施形態では、第１の実施形態として説明されたクラスタリング処理の結果を利用して、演習問題生成処理が実行される。
【０１４９】
図３０は、本開示の第５の実施形態における演習問題生成処理を概略的に示す図である。演習問題生成部２３７は、学習対象推薦部２３５から出力された推薦ノードの情報、および、グラフ構造ＤＢ２５０１と、難易度ＤＢ２５０７とから取得したデータに基づいて演習問題２５２１を生成する。
【０１５０】
図３１は、本開示の第５の実施形態における演習問題生成処理の例を示すフローチャートである。図では、演習問題生成部２３７が、上記のような情報を取得して、演習問題を生成して出力する処理が示されている。
【０１５１】
まず、演習問題生成部２３７は、学習対象推薦部２３５から出力された推薦ノードの情報を取得する（ステップＳ１９１）。推薦ノードの情報は、学習対象推薦部２３５から直接演習問題生成部２３７に出力されてもよい。この場合、例えば、演習問題生成処理は、学習対象推薦処理に引き続いて実行される。あるいは、演習問題生成処理の前処理として、学習対象推薦処理が実行される。
【０１５２】
以下、演習問題生成部２３７は、推薦ノードについて、ノードごとのループ処理を実行する（ステップＳ１９３）。なお、対象になるノードは１つであってもよく、その場合処理はループしない。
【０１５３】
ノードごとの処理において、まず、演習問題生成部２３７は、ノードに直接リンクされた他のノードのうち、所定の難易度以上のノードの中から正答を選択する（ステップＳ１９５）。ここで、ノードに直接リンクされた他のノードとは、換言すれば、グラフ構造上でノードから１ステップ以内の他のノードである。演習問題生成部２３７は、グラフ構造ＤＢ２５０１および難易度ＤＢ２５０７にアクセスして、条件を満たすノードの情報を取得する。なお、ここで抽出される他のノードは、対象のノードと同じクラスタに分類されたノードに限定されてもよい。この場合、演習問題生成部２３７は、グラフ構造ＤＢ２５０１に加えてクラスタＤＢ２５０３にアクセスして、条件を満たすノードの情報を取得する。正答として選択されるノードは、条件を満たすノードの中からランダムに選択されうる。
【０１５４】
次に、演習問題生成部２３７は、ノードからある程度の距離で間接的にリンクされた他のノードから、所定の個数の誤答を選択する（ステップＳ１９７）。ここで、ノードからある程度の距離で間接的にリンクされた他のノードとは、換言すれば、グラフ構造上でノードからｖステップ以上、ｗステップ以下（ｖ，ｗは任意の数。ただし、１≦ｖ＜ｗ）の他のノードである。演習問題生成部２３７は、グラフ構造ＤＢ２５０１にアクセスして、条件を満たすノードの情報を取得する。また、ここで抽出される他のノードは、対象のノードと同じクラスタに分類されたノードに限定されてもよい。この場合、演習問題生成部２３７は、グラフ構造ＤＢ２５０１に加えてクラスタＤＢ２５０３にアクセスして、条件を満たすノードの情報を取得する。誤答として選択されるノードも、条件を満たすノードの中からランダムに選択されうる。
【０１５５】
次に、演習問題生成部２３７は、選択された正答および誤答を組み合わせて問題を生成する（ステップＳ１９９）。この例において、生成される問題は、正答として選択されたノードのタイトルと、誤答として選択されたノードのタイトルとを選択肢に含む択一問題である。ここまでの処理で、ノードごとのループ処理は終了する。推薦ノードのそれぞれについての処理を実行した後、演習問題生成部２３７は、生成された問題を出力する（ステップＳ２０１）。
【０１５６】
以上のような処理によって、例えば上記の図５に示す演習問題表示画面１１１３に表示されたような演習問題が生成される。この例のように、演習問題は、“このコンテンツに最も近いコンセプトはどれですか？”といったような問題文１１１７と、選択された正答および誤答からなる選択肢１１１９としてユーザに提示される。ユーザがノードに対応するコンテンツを十分に理解していれば、ノードに直接リンクされた他のノードと、ノードに近いけれども直接リンクされてはいない他のノードとを識別可能なはずである。ここで、誤答として選択されるノードを、対象のノードと同じクラスタに分類されたノードに限定すれば、そのクラスタについての十分な知識がないと誤答を排除できないため、問題の難易度は相対的に高くなる。一方、誤答として選択されるノードを、対象ノードと異なるクラスタに分類されたノードからも選択すれば、クラスタについての知識がある程度あれば誤答を排除することができるため、問題の難易度は相対的に低くなる。
【０１５７】
このようにして、本開示の第５の実施形態では、知識コンテンツのグラフ構造の解析に基づいて、自動的に、コンテンツに対するユーザの理解をチェックするための演習問題を生成することが可能である。従って、ユーザは、予め用意された学習コンテンツではないコンテンツを用いて知識を習得する場合にも、演習問題によって自らの理解度を把握することができ、効率的に知識の取得を進めることができる。
【０１５８】
なお、上記の処理は、進捗ＤＢや嗜好ＤＢなどを直接的には参照していないことからも明らかなように、ユーザの既習、未習を問わず、任意のノードについて実行可能である。従って、演習問題生成の対象として与えられる推薦ノードは、上述した第１の例によるものであっても、第２の例によるものであっても、また他の例によるものであってもよい。さらにいえば、演習問題生成の対象は、必ずしも推薦ノードでなくてもよく、例えばユーザ操作によって指定される任意のノード、または他の基準によって自動的に選択されたノードについて、演習問題を生成することが可能である。この場合、第１の実施形態として説明されたクラスタリング処理も、演習問題の生成のために必ずしも必要ではない。
【０１５９】
（３−６．第６の実施形態）
次に、図３２〜図３４を参照して、本開示第６の実施形態について説明する。本実施形態では、第１の実施形態として説明されたクラスタリング処理の結果を利用して、配分決定処理が実行される。配分決定処理は、例えばチームなどの複数のユーザで、あるカテゴリの知識コンテンツを習得する必要がある場合に、どのユーザにどのコンテンツの習得を配分するのが適切かを決定する処理である。
【０１６０】
図３２は、本開示の第６の実施形態における配分決定処理を概略的に示す図である。配分決定部２３９は、対象ノード情報２５２３と、対象メンバー情報２５２５と、制約条件情報２５２７とを入力として、グラフ構造ＤＢ２５０１からデータを取得し、配分情報２５２９を出力する。このとき、配分決定部２３９は、コスト算出部２４１が算出した、対象ノードについての対象メンバーの学習コストの情報を利用する。コスト算出部２４１は、難易度ＤＢ２５０７および嗜好ＤＢ２５１３からデータを取得して、学習コストを算出する。
【０１６１】
なお、難易度ＤＢ２５０７、および嗜好ＤＢ２５１３のデータは、上記の難易度推定処理および学習対象推薦処理と同様にして生成されうるため、ここでは詳細な説明は省略する。配分決定処理は、別途に実行された難易度推定処理および学習対象推薦処理で生成されたデータを利用して実行されてもよいし、配分決定処理のために、難易度推定処理および学習対象推薦処理と同様の処理によってデータが新たに生成されてもよい。
【０１６２】
図３３は、本開示の第６の実施形態における配分決定処理の例を示すフローチャートである。図では、配分決定部２３９が、各情報を入力として取得し、配分情報を出力する処理が示されている。
【０１６３】
まず、配分決定部２３９は、入力として与えられる対象ノード情報２５２３および対象メンバー情報２５２５を取得する（ステップＳ２１１）。対象ノード情報２５２３は、例えば、ノードを直接指定することによって与えられてもよいし、上記のクラスタリング処理の結果として出力されたクラスタの単位で与えられてもよい。
【０１６４】
以下、対象ノードおよび対象メンバーについて、ノードごとのループ処理（ステップＳ２１３）と、その中で実行されるメンバーごとのループ処理（ステップＳ２１５）とによって、各ノードについての各メンバーの習得コストが算出される。ループ処理の一部または全部は、配分決定部２３９で制御されてもよい。この場合、配分決定部２３９は、ノードごと、メンバーごと、またはノードおよびメンバーごとに、習得コストの算出処理をコスト算出部２４１に依頼する。配分決定部２３９によって制御されないループ処理は、コスト算出部２４１で制御されうる。
【０１６５】
ノードごとおよびメンバーごとの処理として、コスト算出部２４１は、ノードについてのメンバーの習得コストを算出する（ステップＳ２１７）。習得コストは、例えば、メンバーがあるノードを習得するとした場合のコストを、時間や労力の単位で表現したものである。なお、習得コスト算出処理の詳細については後述する。
【０１６６】
ノードごとおよびメンバーごとのループ処理が終了すると、配分決定部２３９は、算出された習得コストに基づき、さらに制約条件情報２５２７によって与えられる制約条件を適用した上で、最適解を算出する（ステップＳ２１９）。制約条件は、例えば、“全メンバーが最低１つのノードを担当する”、または“習得コストの合計を最小化する”などのような条件でありうる。最適解の算出には、例えば、全数検索、遺伝的アルゴリズム、または動的計画法などが利用されうる。配分決定部２３９は、算出された最適解に基づいて、配分情報２５２９を出力する（ステップＳ２２１）。
【０１６７】
上記の例における習得コストと配分との関係について、以下に例として表２を示しながらさらに説明する。
【０１６８】
【表２】
2014017164.tif 000010
【０１６９】
表２のうち、“かけられるコスト”は、各メンバーが、一連のノードの学習のためにかけられるコストの合計であり、例えば各メンバーが用意できる作業時間の長さなどによって決まる。この“かけられるコスト”の情報は、例えば対象メンバー情報２５２５に含まれうる。“ノード１”〜“ノード４”に示されるのは、各メンバーが各ノードを学習すると仮定した場合の学習コストである。ここで、各メンバーに配分される学習コストの合計は、かけられるコストを超えない。従って、例えば、ノード１〜４をすべてメンバー４に配分する（学習コストの合計が２＋２＋３＋４＝１１になり、メンバー４のかけられるコストである１０を超える）というような解は算出されない。
【０１７０】
このような例において、例えば“全メンバーが最低１つのノードを担当する”という制約条件を設定すると、ノード１はメンバー４に、ノード２はメンバー１に、ノード３はメンバー２に、ノード４はメンバー３に、それぞれ配分するのが適切であるという最適解が得られる。また、例えば“習得コストの合計を最小化する”という制約条件を設定すると、ノード１，２，４をメンバー４に、ノード３をメンバー２に、それぞれ配分するのが適切であるという最適解が得られる。
【０１７１】
図３４は、本開示の第６の実施形態における習得コスト算出処理の例を示すフローチャートである。図では、コスト算出部２４１が、ノードの難易度および嗜好スコアの情報に従って習得コストを算出する処理が示されている。
【０１７２】
まず、コスト算出部２４１は、難易度ＤＢ２５０７および嗜好ＤＢ２５１３にアクセスして、処理対象のメンバー（ユーザ）およびノードの組み合わせについて、難易度および嗜好スコアの情報を取得する（ステップＳ２３１）。
【０１７３】
次に、コスト算出部２４１は、取得された嗜好スコアが０よりも大きいか否かを判定する（ステップＳ２３３）。上記の第４の実施形態で説明したように、嗜好スコアは、例えばユーザによるノードへのフィードバックによって加算される。従って、嗜好スコアが０であるとは、例えばユーザがそのノードを学習していないことを示しうる。あるいは、嗜好スコア加算時の重みが０に設定されているアクションがある場合、ユーザがそのノードを学習していても、有効なアクション（重み＞０）をしていなければ、嗜好スコアは０になる。
【０１７４】
ステップＳ２３３において、嗜好スコアが０よりも大きいと判定された場合、コスト算出部２４１は、以下の式７によって習得コストを算出する（ステップＳ２３５）。なお、式７において、ａ，ｂ，ｃは所定の係数であり、嗜好度は、ノードの正規化された嗜好スコアである。
【０１７５】
習得コスト＝｛ａ＊（１−難易度）＋ｂ＊（１−嗜好度）｝＊ｃ  ・・・（式７）
【０１７６】
一方、ステップＳ２３３において、取得された嗜好スコアが０であると判定された場合、コスト算出部２４１は、嗜好ＤＢ２５１３にアクセスして、嗜好スコアが０よりも大きい他のノードを検索し、そのような他のノードから処理対象のノードまでの最小ステップ数を算出する（ステップＳ２３７）。ステップ数は、グラフ構造において当該他のノードと処理対象のノードとの間に介在するリンクの数である。
【０１７７】
次に、コスト算出部２４１は、以下の式８によって習得コストを算出する（ステップＳ２３９）。なお、式８において、ａ，ｂ，ｃは所定の係数であり、例えば式７と同じ値をとってもよい。
【０１７８】
習得コスト＝｛ａ＊（１−難易度）＋ｂ｝＊（ステップ数＋ｃ）  ・・・（式８）
【０１７９】
以上のような処理によって、知識コンテンツ群に対する学習タスクが、複数のユーザの間で自動的に適切に配分される。難易度および嗜好スコアに基づいて習得コストを算出することによって、各ユーザがノード（知識コンテンツ）を習得する際のコストを定量的に評価でき、学習タスクの配分をより適正化してグループでの学習を効率化することができる。
【０１８０】
（４．ハードウェア構成）
次に、図３５を参照して、本開示の実施形態に係る情報処理装置のハードウェア構成について説明する。図３５は、情報処理装置のハードウェア構成を説明するためのブロック図である。図示された情報処理装置９００は、例えば、上記の実施形態における端末装置およびサーバ装置などを実現しうる。
【０１８１】
情報処理装置９００は、ＣＰＵ（Central  Processing  unit）９０１、ＲＯＭ（Read  Only  Memory）９０３、およびＲＡＭ（Random  Access  Memory）９０５を含む。また、情報処理装置９００は、ホストバス９０７、ブリッジ９０９、外部バス９１１、インターフェース９１３、入力装置９１５、出力装置９１７、ストレージ装置９１９、ドライブ９２１、接続ポート９２３、通信装置９２５を含んでもよい。情報処理装置９００は、ＣＰＵ９０１に代えて、またはこれとともに、ＤＳＰ（Digital  Signal  Processor）などの処理回路を有してもよい。
【０１８２】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、ＲＯＭ９０３、ＲＡＭ９０５、ストレージ装置９１９、またはリムーバブル記録媒体９２７に記録された各種プログラムに従って、情報処理装置９００内の動作全般またはその一部を制御する。ＲＯＭ９０３は、ＣＰＵ９０１が使用するプログラムや演算パラメータなどを記憶する。ＲＡＭ９０５は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一次記憶する。ＣＰＵ９０１、ＲＯＭ９０３、およびＲＡＭ９０５は、ＣＰＵバスなどの内部バスにより構成されるホストバス９０７により相互に接続されている。さらに、ホストバス９０７は、ブリッジ９０９を介して、ＰＣＩ（Peripheral  Component  Interconnect/Interface）バスなどの外部バス９１１に接続されている。
【０１８３】
入力装置９１５は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなど、ユーザによって操作される装置である。入力装置９１５は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置９００の操作に対応した携帯電話などの外部接続機器９２９であってもよい。入力装置９１５は、ユーザが入力した情報に基づいて入力信号を生成してＣＰＵ９０１に出力する入力制御回路を含む。ユーザは、この入力装置９１５を操作することによって、情報処理装置９００に対して各種のデータを入力したり処理動作を指示したりする。
【０１８４】
出力装置９１７は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。出力装置９１７は、例えば、ＬＣＤ（Liquid  Crystal  Display）、ＰＤＰ（Plasma  Display  Panel）、有機ＥＬ（Electro-Luminescence）ディスプレイなどの表示装置、スピーカおよびヘッドホンなどの音声出力装置、ならびにプリンタ装置などでありうる。出力装置９１７は、情報処理装置９００の処理により得られた結果を、テキストまたは画像などの映像として出力したり、音声または音響などの音声として出力したりする。
【０１８５】
ストレージ装置９１９は、情報処理装置９００の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置９１９は、例えば、ＨＤＤ（Hard  Disk  Drive）などの磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。このストレージ装置９１９は、ＣＰＵ９０１が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
【０１８６】
ドライブ９２１は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体９２７のためのリーダライタであり、情報処理装置９００に内蔵、あるいは外付けされる。ドライブ９２１は、装着されているリムーバブル記録媒体９２７に記録されている情報を読み出して、ＲＡＭ９０５に出力する。また、ドライブ９２１は、装着されているリムーバブル記録媒体９２７に記録を書き込む。
【０１８７】
接続ポート９２３は、機器を情報処理装置９００に直接接続するためのポートである。接続ポート９２３は、例えば、ＵＳＢ（Universal  Serial  Bus）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Small  Computer  System  Interface）ポートなどでありうる。また、接続ポート９２３は、ＲＳ−２３２Ｃポート、光オーディオ端子、ＨＤＭＩ（登録商標）（High-Definition  Multimedia  Interface）ポートなどであってもよい。接続ポート９２３に外部接続機器９２９を接続することで、情報処理装置９００と外部接続機器９２９との間で各種のデータが交換されうる。
【０１８８】
通信装置９２５は、例えば、通信ネットワーク９３１に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置９２５は、例えば、有線または無線ＬＡＮ（Local  Area  Network）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、またはＷＵＳＢ（Wireless  USB）用の通信カードなどでありうる。また、通信装置９２５は、光通信用のルータ、ＡＤＳＬ（Asymmetric  Digital  Subscriber  Line）用のルータ、または、各種通信用のモデムなどであってもよい。通信装置９２５は、例えば、インターネットや他の通信機器との間で、ＴＣＰ／ＩＰなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置９２５に接続される通信ネットワーク９３１は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、ラジオ波通信または衛星通信などである。
【０１８９】
以上、情報処理装置９００のハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。かかる構成は、実施する時々の技術レベルに応じて適宜変更されうる。
【０１９０】
（５．補足）
本開示の実施形態は、例えば、上記で説明したような情報処理装置（端末装置またはサーバ）、システム、情報処理装置またはシステムで実行される情報処理方法、情報処理装置を機能させるためのプログラム、およびプログラムが記録された記録媒体を含みうる。
【０１９１】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１９２】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）コンテンツ群に含まれる個々のコンテンツをグラフ構造のノードとし、前記コンテンツ間のリンクを前記グラフ構造のリンクとして、前記コンテンツ群を解析するコンテンツ解析部と、
前記解析の結果に基づいて、前記コンテンツ群の少なくとも一部によって提供される知識の学習を支援する学習支援情報を生成する学習支援情報生成部と
を備える情報処理装置。
（２）前記コンテンツ解析部は、前記ノードが前記グラフ構造内でどの程度中心的なノードであるかを示す中心度を算出する、前記（１）に記載の情報処理装置。
（３）前記学習支援情報生成部は、前記中心度に基づいて前記ノードに対応する前記コンテンツの難易度を推定する難易度推定部を含む、前記（２）に記載の情報処理装置。
（４）前記学習支援情報生成部は、前記コンテンツに対するユーザのフィードバックを取得するフィードバック取得部をさらに含み、
前記難易度推定部は、前記ユーザのフィードバックがまだ取得されていない第１のコンテンツの難易度を、第２のコンテンツについて取得された前記ユーザのフィードバックと、前記第１のコンテンツおよび前記第２のコンテンツのそれぞれに対応する前記ノードの前記中心度の差とに基づいて推定する、前記（３）に記載の情報処理装置。
（５）前記コンテンツ解析部は、前記ノードと他のノードとの間のリンクの数に基づいて前記中心度を算出する、前記（２）〜（４）のいずれか１項に記載の情報処理装置。
（６）前記コンテンツ解析部は、前記ノードから前記他のノードへのリンクと、前記他のノードから前記ノードへのリンクとを区別して用いて前記中心度を算出する、前記（５）に記載の情報処理装置。
（７）前記コンテンツ解析部は、前記ノードをクラスタに分類することによって前記コンテンツ群を解析する、前記（１）〜（６）のいずれか1項に記載の情報処理装置。
（８）前記学習支援情報生成部は、
前記コンテンツに対するユーザのフィードバックを取得するフィードバック取得部と、
前記フィードバックを前記クラスタごとに集計した結果に基づいて、前記ユーザに学習対象の前記コンテンツを推薦する学習対象推薦部と
をさらに含む、前記（７）に記載の情報処理装置。
（９）前記学習対象推薦部は、分類されたノードに対応する前記コンテンツに対する前記ユーザのフィードバックがまだ取得されていない第１のクラスタの推薦度を、前記第１のクラスタに分類されたノードに対応する前記コンテンツに対して取得された他のユーザのフィードバックと、第２のクラスタに分類されたノードに対応する前記コンテンツに対して取得された前記ユーザのフィードバックと、前記第１のクラスタと前記第２のクラスタとの類似度とに基づいて算出し、前記推薦度に基づいて前記ユーザに学習対象の前記コンテンツを推薦する、前記（８）に記載の情報処理装置。
（１０）前記学習支援情報生成部は、前記ノードに対応する前記コンテンツの難易度を推定する難易度推定部をさらに含み、
前記学習対象推薦部は、前記推薦度に応じて選択された前記クラスタに分類されたノードに対応する前記コンテンツのうち、前記難易度が所定の閾値よりも低いコンテンツを前記ユーザに学習対象として推薦する、前記（９）に記載の情報処理装置。
（１１）前記フィードバック取得部は、前記フィードバックによって示される前記ユーザのアクションの種類に応じて前記コンテンツに対する前記ユーザの嗜好度を推定し、
前記学習対象推薦部は、前記クラスタに分類されたノードに対応する前記コンテンツに対する前記嗜好度に基づいて前記クラスタの推薦度を算出し、該推薦度に基づいて前記ユーザに学習対象の前記コンテンツを推薦する、前記（８）に記載の情報処理装置。
（１２）前記学習支援情報生成部は、前記ノードに対応する前記コンテンツの難易度を推定する難易度推定部をさらに含み、
前記学習対象推薦部は、前記推薦度に応じて選択された前記クラスタに分類されたノードに対応する前記コンテンツのうち、前記推薦度に応じて設定された前記難易度のコンテンツを前記ユーザに学習対象として推薦する、前記（１１）に記載の情報処理装置。
（１３）前記学習支援情報生成部は、前記コンテンツについての演習問題を、前記コンテンツに対応する前記ノードとの間に直接的なリンクを有する他のノードに対応するコンテンツのタイトルを正答選択肢とする択一問題として生成する演習問題生成部を含む、前記（１）〜（１２）のいずれか１項に記載の情報処理装置。
（１４）前記演習問題生成部は、前記ノードとの間に間接的なリンクを有する他のノードに対応するコンテンツのタイトルを前記択一問題の誤答選択肢とする、前記（１３）に記載の情報処理装置。
（１５）前記コンテンツ解析部は、前記ノードをクラスタに分類することによって前記コンテンツ群を解析し、
前記演習問題生成部は、前記コンテンツに対応する前記ノードと同じクラスタに分類されたノードの中から前記択一問題の選択肢として用いるノードを選択する、前記（１３）または（１４）に記載の情報処理装置。
（１６）前記学習支援情報生成部は、
前記コンテンツに対するユーザのフィードバックを取得するフィードバック取得部と、
前記フィードバックに基づいて、前記ユーザに学習対象の前記コンテンツを推薦する学習対象推薦部と
をさらに含み、
前記演習問題生成部は、前記推薦されたコンテンツについて演習問題を生成する、前記（１３）〜（１５）のいずれか１項に記載の情報処理装置。
（１７）前記学習支援情報生成部は、
前記ノードに対する前記コンテンツの難易度を推定する難易度推定部と、
前記コンテンツに対するユーザのフィードバックを取得し、該フィードバックによって示される前記ユーザのアクションの種類に応じて前記コンテンツに対する前記ユーザの嗜好度を推定するフィードバック取得部と、
前記難易度および前記嗜好度に基づいて、前記コンテンツに対する前記ユーザの習得コストを算出するコスト算出部と
をさらに含む、前記（１）〜（１６）のいずれか１項に記載の情報処理装置。
（１８）前記学習支援情報生成部は、前記習得コストに基づいて、複数のユーザが前記コンテンツ群の少なくとも一部によって提供される知識を学習する場合の、前記複数のユーザの間での前記コンテンツの配分を決定する配分決定部をさらに含む、前記（１７）に記載の情報処理装置。
（１９）コンテンツ群に含まれる個々のコンテンツをグラフ構造のノードとし、前記コンテンツ間のリンクを前記グラフ構造のリンクとして、前記コンテンツ群を解析することと、
前記解析の結果に基づいて、前記コンテンツ群の少なくとも一部によって提供される知識の学習を支援する学習支援情報を生成することと
を含む情報処理方法。
（２０）端末装置と、前記端末装置にサービスを提供する１または複数のサーバ装置とを含み、
前記端末装置と前記１または複数のサーバ装置とが協働して、
コンテンツ群に含まれる個々のコンテンツをグラフ構造のノードとし、前記コンテンツ間のリンクを前記グラフ構造のリンクとして、前記コンテンツ群を解析する機能と、
前記解析の結果に基づいて、前記コンテンツ群の少なくとも一部によって提供される知識の学習を支援する学習支援情報を生成する機能と
を提供するシステム。
【符号の説明】
【０１９３】
１００，４００，５００    端末装置
２００    サーバ装置
２１０    コンテンツ解析部
２１１    データ取得部
２１３    クラスタリング部
２３０    学習支援情報生成部
２３１    難易度推定部
２３３    フィードバック取得部
２３５    学習対象推薦部
２３７    演習問題生成部
２３９    配分決定部
２４１    コスト算出部
２５０    ＤＢ
３００    知識コンテンツ
【図１】
2014017164.tif 000011
【図２】
2014017164.tif 000012
【図３】
2014017164.tif 000013
【図４】
2014017164.tif 000014
【図５】
2014017164.tif 000015
【図６】
2014017164.tif 000016
【図７】
2014017164.tif 000017
【図８】
2014017164.tif 000018
【図９】
2014017164.tif 000019
【図１０】
2014017164.tif 000020
【図１１】
2014017164.tif 000021
【図１２】
2014017164.tif 000022
【図１３】
2014017164.tif 000023
【図１４】
2014017164.tif 000024
【図１５】
2014017164.tif 000025
【図１６】
2014017164.tif 000026
【図１７】
2014017164.tif 000027
【図１８】
2014017164.tif 000028
【図１９】
2014017164.tif 000029
【図２０】
2014017164.tif 000030
【図２１】
2014017164.tif 000031
【図２２】
2014017164.tif 000032
【図２３】
2014017164.tif 000033
【図２４】
2014017164.tif 000034
【図２５】
2014017164.tif 000035
【図２６】
2014017164.tif 000036
【図２７】
2014017164.tif 000037
【図２８】
2014017164.tif 000038
【図２９】
2014017164.tif 000039
【図３０】
2014017164.tif 000040
【図３１】
2014017164.tif 000041
【図３２】
2014017164.tif 000042
【図３３】
2014017164.tif 000043
【図３４】
2014017164.tif 000044
【図３５】
2014017164.tif 000045
【国際調査報告】
2014017164.tif 000046
2014017164.tif 000047
2014017164.tif 000048
2014017164.tif 000049