(57)【要約】【課題】スキルの習得順序を示すスキルマップを容易且つ適切に生成できるようにする。【解決手段】複数のスキルについての習得順序を示すスキルマップを生成するスキル習得順序推薦装置１００において、複数のユーザのそれぞれについての、ユーザに対して指摘された不足するスキルを示すスキル情報と、スキルの不足が指摘された日時情報とを含む指摘情報の履歴情報２００を記憶する外部記憶装置と、履歴情報２００に基づいて、スキルの習得順序を推定し、スキルの習得順序を示すスキルマップ２２０を生成するスキルマップ生成部２１０とを備えるように構成する。【選択図】図１
2020107210.tif 000002
【特許請求の範囲】
【請求項１】
複数のスキルについての習得順序を示すスキルマップを生成するスキルマップ処理装置であって、
複数のユーザのそれぞれについての、前記ユーザに対して指摘された不足するスキルを示すスキル情報と、前記スキルの不足が指摘された日時情報とを含む指摘情報の履歴情報を記憶する履歴情報記憶部と、
前記履歴情報に基づいて、スキルの習得順序を推定し、前記スキルの前記習得順序を示すスキルマップを生成するスキルマップ生成部と、
を備えるスキルマップ処理装置。
【請求項２】
前記スキルマップ生成部は、
各ユーザの複数の前記指摘情報に基づいて、それぞれの前記スキル情報について、それぞれの前記スキル情報が指摘された最も遅い日時情報の時間的な順序を、前記各ユーザが習得したスキルの習得履歴を示すユーザ毎習得履歴情報として生成するユーザ毎習得履歴情報生成部と、
複数のユーザの前記ユーザ毎習得履歴情報に基づいて、複数のスキルの習得順序を整理し、連続する順序関係にないスキル間の接続関係を除去したスキルマップを生成するマップ化部と、
を備える請求項１に記載のスキルマップ処理装置。
【請求項３】
前記指摘情報は、前記スキルの不足が指摘された成果物の箇所を特定可能な指摘箇所情報を含み、
前記マップ化部は、同一のユーザの複数の前記指摘情報に、前記指摘箇所情報に対応する前記成果物の内容が同一である連続する複数の指摘情報がある場合には、前記指摘情報に含まれるスキル情報を、前記ユーザ毎習得履歴情報から取り除くようにする
請求項２に記載のスキルマップ処理装置。
【請求項４】
前記ユーザ毎習得履歴情報生成部は、
前記指摘情報に含まれるスキル情報と同一のスキル情報が、同一のユーザの前記指摘情報よりも前の所定の範囲内の他の指摘情報に含まれているか否かを判定し、同一のスキル情報が含まれていない場合には、前記スキル情報を前記ユーザ毎習得履歴情報に含ませない
請求項２に記載のスキルマップ処理装置。
【請求項５】
前記マップ化部は、複数のユーザの前記ユーザ毎習得履歴情報に存在するスキル間の順序の出現状況に基づいて、前記スキル間が正しいか否かを判定し、正しくないと判定されたスキル間の順序を、前記複数のユーザのユーザ毎習得履歴情報から取り除く
請求項２から請求項４のいずれか一項に記載のスキルマップ処理装置。
【請求項６】
前記マップ化部は、前記スキルマップにスキル間を循環する順序が存在する場合に、前記スキルマップから循環する接続関係を取り除く
請求項２から請求項５のいずれか一項に記載のスキルマップ処理装置。
【請求項７】
前記ユーザが作成したスキル判定対象の成果物の入力を受け付け、前記成果物を解析して、前記成果物における不足しているスキルを特定し、特定したスキルを示すスキル情報を含む前記指摘情報を出力する解析処理部をさらに備える
請求項１から請求項６のいずれか一項に記載のスキルマップ処理装置。
【請求項８】
生成された前記スキルマップを示す画面を表示するスキルマップ表示部をさらに備える
請求項１から請求項７のいずれか一項に記載のスキルマップ処理装置。
【請求項９】
複数のスキルについての習得順序を示すスキルマップを生成するスキルマップ処理装置によるスキルマップ処理方法であって、
複数のユーザのそれぞれについての、前記ユーザに対して指摘された不足するスキルを示すスキル情報と、前記スキルの不足が指摘された日時情報とを含む指摘情報の履歴情報を記憶し、
前記履歴情報に基づいて、スキルの習得順序を推定し、前記スキルの前記習得順序を示すスキルマップを生成する
スキルマップ処理方法。
【請求項１０】
複数のスキルについての習得順序を示すスキルマップを生成するスキルマップ処理装置を構成するコンピュータに実行させるスキルマップ処理プログラムであって、
前記コンピュータに、
予め記憶された、複数のユーザのそれぞれについての、前記ユーザに対して指摘された不足するスキルを示すスキル情報と、前記スキルの不足が指摘された日時情報とを含む指摘情報の履歴情報に基づいて、スキルの習得順序を推定し、前記スキルの前記習得順序を示すスキルマップを生成させる
スキルマップ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキルの習得順序を示すスキルマップを生成する技術に関する。
【背景技術】
【０００２】
ソフトウェアシステムやハードウェアシステム（以降、総称して「システム」ということもある）を利用して成果物（ソフトウェア、プレゼンテーションスライド、工業製品など）を作成する、ソフトウェアシステムの開発者・利用者や各種装置のオペレータ等（システムユーザという。単にユーザということもある）は、効率良く、品質の良い成果物を作りだすために、様々なスキルを習得する必要がある。
【０００３】
習得すべきスキルは利用するシステムごとに異なっていることも多く、また、システムに変更があった場合には、習得すべきスキルが変化することもある。そのため、システムユーザが習得すべきスキルは膨大であり、一度にすべてのスキルを習得することはできない。そこで、システムユーザはそれぞれのスキルを習得していくことになる。
【０００４】
ここで、一般に、事前にほかのスキルを習得していないと習得できないスキルがあるため、やみくもにスキルの習得を試みる方法では、効率的にスキルを習得できない。つまり、システムユーザが効率的にスキルを習得するためには、習得すべきスキル間の習得順序の関係（以降、「スキルマップ」という）を考慮し、次に習得すべきスキルを把握する必要がある。この問題の解決策の一つとして、システムユーザに次に習得すべきスキルを提示できる情報提供装置が知られている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−３７５８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に開示された技術では、スキル間の習得順序を示すスキルマップを人手で定義して与えておく必要がある。上記したように、スキルは多数あり、昨今の技術革新においては、必要となるスキルの変化も激しいため、このような分野において適切なスキルマップを予め人手で定義することは困難である。
【０００７】
本発明は、上記事情に鑑みなされたものであり、その目的は、スキルの習得順序を示すスキルマップを容易且つ適切に生成することのできる技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、一観点に係るスキルマップ処理装置は、複数のスキルについての習得順序を示すスキルマップを生成するスキルマップ処理装置であって、複数のユーザのそれぞれについての、ユーザに対して指摘された不足するスキルを示すスキル情報と、スキルの不足が指摘された日時情報とを含む指摘情報の履歴情報を記憶する履歴情報記憶部と、履歴情報に基づいて、スキルの習得順序を推定し、スキルの習得順序を示すスキルマップを生成するスキルマップ生成部と、を備える。
【発明の効果】
【０００９】
本発明によれば、スキルの習得順序を示すスキルマップを容易且つ適切に生成することができる。
【図面の簡単な説明】
【００１０】
【図１】第１実施例に係るスキル習得順序推薦装置の一例を示す機能構成図である。
【図２】第１実施例に係るスキル習得順序推薦装置の一例のハードウェア構成図である。
【図３】第１実施例に係るスキルマップの一例を示す図である。
【図４】第１実施例に係る履歴情報の一例の構成図である。
【図５】第１実施例に係るスキル習得履歴の一例の構成図である。
【図６】第１実施例に係るスキル習得履歴生成処理の一例のフローチャートである。
【図７】第１実施例に係るスキル習得履歴マップ化処理の一例のフローチャートである。
【図８】第２実施例に係るスキル習得履歴生成処理の一部のフローチャートである。
【図９】第３実施例に係る履歴情報の一例を示す構成図である。
【図１０】第３実施例に係るスキル習得履歴生成処理の一部のフローチャートである。
【図１１】第４実施例及び第５実施例に係るスキル習得履歴マップ化処理の一例のフローチャートである。
【図１２】第４実施例に係るスキル習得履歴マップ化処理の前処理の一例のフローチャートである。
【図１３】第５実施例に係るスキル習得履歴マップ化処理の後処理の一例のフローチャートである。
【図１４】第６実施例に係るスキル習得順序推薦装置の一例を示す機能構成図である。
【図１５】第６実施例に係る出力画面の第１の例を示す図である。
【図１６】第６実施例に係る出力画面の第２の例を示す図である。
【図１７】第６実施例に係る出力画面の第３の例を示す図である。
【発明を実施するための形態】
【００１１】
いつかの実施例について、図面を参照して説明する。なお、以下に説明する実施例は特許請求の範囲に係る発明を限定するものではなく、また実施例の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【実施例１】
【００１２】
まず、第１実施例に係るスキル習得順序推薦装置１００について説明する。
【００１３】
図１は、第１実施例に係るスキル習得順序推薦装置の一例を示す機能構成図である。
【００１４】
スキル習得順序推薦装置１００は、履歴情報２００（図４参照）と、スキルマップ生成部２１０とを備える。
【００１５】
スキルマップ生成部２１０は、履歴情報２００を入力とし、スキルマップ２２０（図３参照）を生成する。履歴情報２００は、複数のシステムユーザについてのスキル不足に対する指摘事項と、その指摘事項を指摘した日時との履歴を含む。履歴情報２００の詳細については後述する。スキルマップ２２０は、複数のスキルの習得順序の関係（スキル間の依存関係ともいう）を示すマップである。
【００１６】
スキルマップ生成部２１０は、ユーザ毎習得履歴情報生成部の一例としてのスキル習得履歴生成部２１１と、マップ化部の一例としてのスキル習得履歴マップ化部２１３とを備える。スキル習得履歴生成部２１１は、履歴情報２００を入力としてスキル習得履歴２１２（図５参照）を出力する。スキル習得履歴生成機能２１１は、履歴情報２００のレコードをシステムユーザごとに集約する機能を有している。スキル習得履歴２１２は、システムユーザごとに、習得したスキルを順に並べた情報である。スキル習得履歴マップ化部２１３は、スキル習得履歴２１２を入力としてスキルマップ２２０を出力する。
【００１７】
図２は、第１実施例に係るスキル習得順序推薦装置の一例のハードウェア構成図である。
【００１８】
スキル習得順序推薦装置１００は、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ）や、サーバ計算機等の計算機により構成され、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１０と、表示装置１２０と、メモリ１３０と、入力装置１４０と、履歴情報記憶部の一例としての外部記憶装置１５０と、ネットワーク通信装置１６０とを有する。ＣＰＵ１１０と、表示装置１２０と、メモリ１３０と、入力装置１４０と、外部記憶装置１５０と、ネットワーク通信装置１６０とは、バス１７０を介して接続されており、バス１７０を介してデータの送受信が可能である。
【００１９】
ＣＰＵ１１０は、メモリ１３０に記憶されているプログラムを実行することにより、各種処理を実行する。
【００２０】
メモリ１３０は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成され、ＣＰＵ１１０により実行されるプログラム（例えば、スキルマップ処理プログラム）や、ＣＰＵ１１０に使用される各種情報を記憶する。外部記憶装置１５０は、例えば、ハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）などの適宜の記憶媒体で構成され、ＣＰＵ１１０により実行されるプログラム（例えば、スキルマップ処理プログラム）や各種情報を記憶する。
【００２１】
入力装置１４０は、システムユーザから情報の入力を受け付ける装置であり、例えば、キーボード、マウス、タッチパネル等である。表示装置１２０は、システムユーザに情報を提供（出力）する装置であり、例えば、液晶モニタ、ＬＣＤ（Liquid Crystal Display）、グラフィックカード、スピーカ等である。ネットワーク通信装置１６０は、ネットワークを介して、他の装置との間の通信を実現する有線方式又は無線方式の通信インタフェースであり、例えば、ＮＩＣ（Network Interface Card）、無線通信モジュール、ＵＳＢ（Universal Serial Interface）モジュール、シリアル通信モジュール等である。
【００２２】
本実施例では、外部記憶装置１５０や、メモリ１３０が、履歴情報２００、スキルマップ２２０を記憶する。また、本実施形態では、ＣＰＵ１１０がメモリ１３０に格納されたスキルマップ処理プログラムを実行することにより、スキルマップ生成部２１０、スキル習得履歴生成部２１１、スキル習得履歴マップ化部２１３の各機能部を構成（実現）する。
【００２３】
図３は、第１実施例に係るスキルマップの一例を示す図である。
【００２４】
図３に示すスキルマップ２２０は、ＳｋｉｌｌＣ（スキルＣ）３２０を習得する前に、ＳｋｉｌｌＢ３１０を習得する必要があり、ＳｋｉｌｌＢ３１０を習得する前にＳｋｉｌｌＡ３００を習得する必要があることを表している。
【００２５】
図４は、第１実施例に係る履歴情報の一例の構成図である。
【００２６】
履歴情報２００は、複数のシステムユーザのスキル不足に対する指摘に関するレコード（指摘情報）を複数格納している。履歴情報２００のレコードは、項番４００と、日時４１０と、システムユーザ名４２０と、指摘事項（不足スキル）４３０と、指摘数４４０とのフィールドを含む。
項番４００には、レコードを一意に示す項番が格納される。日時４１０には、レコードに対応する指摘がされた（指摘が検出された）日時が格納される。システムユーザ名４２０には、レコードに対応する指摘の対象となるシステムユーザを識別する情報（例えば、システムユーザ名）が格納される。
【００２７】
指摘事項４３０には、レコードに対応する指摘における、システムユーザのスキル不足により発生する成果物の品質低下につながる問題や成果物の作成効率を招く問題である指摘事項、つまり、不足しているスキル（不足スキル）が格納される。指摘数４４０には、レコードに対応する指摘事項４３０の指摘事項が指摘された回数が格納される。
【００２８】
なお、上記した履歴情報２００においては、同じ日時において、同じシステムユーザに対して同じ指摘事項が複数指摘された場合には、同じ指摘事項を指摘された数を指摘数４４０に格納することにより、１つのレコードに集約するようにしているが、各指摘に対応する複数のレコードとしてもよい。
【００２９】
図４に示す履歴情報２００の例は、スキルの実行順序が図３に示したスキルマップ２２０に示す通りである場合において、成果物に対する解析処理により生成されうる履歴情報２００の一例を示している。
【００３０】
図４に示す履歴情報２００における項番が「１」のレコードは、システムユーザ名が「Ｕｓｅｒ１」のユーザに対する指摘に対応し、指摘された日時が、「２０１８／４／１  １０：００」であり、「ＳｋｉｌｌＡ」、「ＳｋｉｌｌＢ」、「ＳｋｉｌｌＣ」のスキル不足を、各々１件ずつ指摘されたことを表している。
【００３１】
また、履歴情報２００において、各システムユーザについて時系列順にレコードを見ると、ＳｋｉｌｌＡ３００の指摘事項が指摘されなくなった後、ＳｋｉｌｌＢ３１０の指摘事項が指摘されなくなり、例えば、Ｕｓｅｒ１及びＵｓｅｒ２については、項番「１８」以降のレコードにおいて、ＳｋｉｌｌＣの指摘事項が指摘されなくなったことを表している。なお、システムユーザがスキルを習得していない場合でも、そのスキルについての指摘事項を常に受けるとは限らないため、履歴情報２００からは、システムユーザがスキルを習得したことを直接的に把握することはできないが、本実施例は、指摘事項が指摘されなくなったことを、スキルを習得したものとみなして処理を実行している。
【００３２】
図５は、第１実施例に係るスキル習得履歴の一例の構成図である。
【００３３】
スキル習得履歴２１２は、ユーザ毎に対応するレコード（ユーザ毎習得履歴情報）を格納する。スキル習得履歴２１２のレコードは、項番６００と、システムユーザ名６１０と、ユーザ毎スキル習得履歴６２０とのフィールドを含む。項番６００には、レコードを示す項番が格納される。システムユーザ名６１０には、レコードに対応するシステムユーザのシステムユーザ名が格納される。ユーザ毎スキル習得履歴６２０には、レコードに対応するユーザがスキルを習得した履歴が格納される。
【００３４】
図５のスキル習得履歴２１２の項番「１」のレコードは、「Ｕｓｅｒ１」のシステムユーザが、ＳｋｉｌｌＡ、ＳｋｉｌｌＢ、ＳｋｉｌｌＣの順にスキルを習得したことを表している。
【００３５】
次に、第１実施例に係るスキル習得順序推薦装置の処理動作について説明する。
【００３６】
図６は、第１実施例に係るスキル習得履歴生成処理の一例のフローチャートである。
【００３７】
スキル習得履歴生成部２１１は、スキル習得履歴生成処理を開始すると、システムユーザ毎に、ループＡの処理（Ｓ７１０〜Ｓ７４０）を繰り返し実行する。ここで、本処理の説明において、ループＡの処理対象となっているシステムユーザを対象システムユーザということとする。
【００３８】
ループＡでは、スキル習得履歴生成部２１１は、対象システムユーザのスキル習得履歴を表すリスト（例えば、メモリ１３０に格納）を空に初期化する（Ｓ７１０）。次いで、スキル習得履歴生成部２１１は、履歴情報２００から対象システムユーザのレコードを取得し、取得したレコードを日時４１０の日時情報の時系列の逆順にソートする（Ｓ７２０）。
【００３９】
次に、スキル習得履歴生成部２１１は、ステップＳ７２０でソートされた履歴情報２００のレコード毎に、ループＢの処理（Ｓ７３０〜Ｓ７４０）を繰り返し実行する。ここで、本処理の説明において、ループＢの処理対象となっているレコードを対象レコードということとする。
【００４０】
ループＢでは、スキル習得履歴生成部２１１は、対象レコードの指摘事項４３０に記載された指摘事項が、対象システムユーザのスキル習得履歴を表すリストに含まれているか否かを判定する（Ｓ７３０）。
【００４１】
この結果、対象レコードの指摘事項４３０に記載された指摘事項が、対象システムユーザのスキル習得履歴を表すリストに含まれている場合（Ｓ７３０：Ｙｅｓ）には、処理をループＢのＥｎｄに進める。一方、対象レコードの指摘事項４３０に記載された指摘事項が、対象システムユーザのスキル習得履歴を表すリストに含まれていない場合（Ｓ７３０：Ｎｏ）には、対象レコードから次の日時のレコードまでの間に、指摘を受けなくなったことを表しているので、スキル習得履歴生成部２１１は、対象レコードの指摘事項４３０の指摘事項（スキル）を習得したものとみなして、指摘事項を、リストにおける先頭の位置に追加し（Ｓ７４０）、処理をループＢのＥｎｄに進める。
【００４２】
ループＢのＥｎｄに進められた場合には、スキル習得履歴生成部２１１は、未処理のレコードがある場合には、次の順番の未処理のレコードを次の対象レコードとし、ループＢの処理を実行し、未処理のレコードがない場合には、ループＡのＥｎｄに処理を進める。
【００４３】
ループＡのＥｎｄに進められた場合には、スキル習得履歴生成部２１１は、未処理のシステムユーザがある場合には、次の順番の未処理のシステムユーザを次の対象システムユーザとし、ループＡの処理を実行し、未処理のシステムユーザがない場合には、ループＡを抜ける。
【００４４】
ループＡを抜けると、スキル習得履歴生成部２１１は、システムユーザ毎のスキル習得履歴を表すリストをまとめてスキル習得履歴２１２として出力し（Ｓ７５０）、処理を終了する。
【００４５】
次に、スキル習得履歴マップ化処理について説明する。
【００４６】
図７は、第１実施例に係るスキル習得履歴マップ化処理の一例のフローチャートである。
【００４７】
スキル習得履歴マップ化処理は、スキル習得履歴生成処理によって、スキル習得履歴２１２が作成された後に実行される。
【００４８】
スキル習得履歴マップ化部２１３は、スキル習得履歴マップ化処理を開始すると、スキル習得履歴集約処理を実行する（Ｓ８１０）。スキル習得履歴集約処理では、スキル習得履歴マップ化部２１３は、複数のシステムユーザのスキル習得履歴を含むスキル習得履歴２１２を用いて、スキル取得履歴におけるスキルをノードとし、スキル間の習得順序の関係を有向グラフのエッジとし、１つの有向グラフを作成する。ここで、ノードと、エッジとから有効グラフを作成する方法としては、公知の技術を使用することができる。
【００４９】
次いで、スキル習得履歴マップ化部２１３は、作成した有向グラフについて、公知のアルゴリズムにて、連続する（隣り合う）順序関係にないスキル間の接続関係を除去する処理（非連続関係除去処理）を実施してスキルマップ２２０を作成して出力する（Ｓ８２０）。連続する順序関係にないスキル間の接続関係とは、例えば、図３に示すスキルの関係がある場合に、間にスキルＢが存在する、スキルＡとスキルＣとを直接接続する接続関係のことをいう。連続する順序関係にないスキル間の接続関係を除去する処理についての公知のアルゴリズムとしては、https://en.wikipedia.org/wiki/Transitive_reductionに記載されているＴｒａｎｓｉｔｉｖｅ  Ｒｅｄｕｃｔｉｏｎを用いることができる。
【００５０】
以上説明したように第１実施例によると、複数のシステムユーザの履歴情報から、スキルの習得順序を示すスキルマップを容易且つ適切に生成することができる。
【実施例２】
【００５１】
次に、第２実施例に係るスキル習得順序推薦装置１００について説明する。
【００５２】
第２実施例に係るスキル習得順序推薦装置１００は、システムユーザがスキルを習得したにもかかわらず、不注意などにより成果物に誤りが含まれてしまったことにより、履歴情報２００に、習得したスキルに対する指摘事項が含まれてしまっている場合であっても適切なスキルマップを生成できるようにするための装置である。ここでは、第１実施例に係るスキル習得順序推薦装置１００の図面を適宜参照し、第１実施例と異なる部分を中心に説明する。なお、第１実施例と同様な機能部分やステップ等は、同一の符号を用いて説明する。
【００５３】
第２実施例のスキルマップ生成部２１０のスキル習得履歴生成部２１１は、履歴情報２００に、スキルを習得した後に、そのスキルに対する指摘事項が含まれてしまっている場合であっても適切なスキルマップを生成するための新たな機能を有する。
【００５４】
第２実施例のスキル習得履歴生成部２１１は、図６に示すスキル習得履歴生成処理に対して、図８に示す処理を加えた処理を実行する。
【００５５】
図８は、第２実施例に係るスキル習得履歴生成処理の一部のフローチャートである。
【００５６】
図８に示すスキル習得履歴生成処理は、図６に示すスキル習得履歴生成処理のステップＳ７３０において、対象レコードの指摘事項４３０に記載された指摘事項が、対象システムユーザのスキル習得履歴を表すリストに含まれていない場合（Ｓ７３０：Ｎｏ）に実行される。
【００５７】
対象レコードの指摘事項４３０に記載された指摘事項が、対象システムユーザのスキル習得履歴を表すリストに含まれていない場合（Ｓ７３０：Ｎｏ）には、スキル習得履歴生成部２１１は、メモリ１３０に用意した連続指摘無し情報を初期化する（Ｓ９１０）。ここで、連続指摘無し情報は、例えば、指摘事項を指摘されなかった回数、最後に指摘された日時からの経過日時、若しくはその両方を記憶しておくために使用される。ステップＳ９１０では、連続指摘無し情報として、指摘事項を指摘されなかった回数を利用する場合には「０」に初期化し、最後に指摘された日時からの経過日時を利用する場合は、図６のループＢで対象にした履歴情報２００のレコード（ループＢ対象レコード）の日時４１０の日時を記憶するとともに、経過時間を「０」とすることにより初期化する。
【００５８】
次いで、スキル習得履歴生成部２１１は、所定の条件を満たす間、ループＢ対象レコードの次のレコードから順に処理対象として、ループＣの処理（Ｓ９２０〜Ｓ９５０）を繰り返し実行する。ここで、所定の条件としては、処理対象とするレコード数や、処理対象とする期間等の処理範囲となるレコードを規定する条件としてもよい。また、所定の条件における閾値は、全てのスキルに共通の閾値としてもよいし、対象とするスキルごとに異なる閾値としてもよい。また、所定の条件における閾値は、予め定められた一意の値としてもよいし、スキル習得履歴２１２を利用して算出した値としてもよい。一例をあげるならば、対象レコードの指摘事項４３０の指摘事項についての、全システムユーザの過去のループＣを抜ける場合の連続指摘無し情報の値の平均の１０倍の値としてもよい。なお、履歴情報２００の処理対象のレコードが無くなるまでとの条件を所定の条件としてもよい。
【００５９】
ループＣにおいて、まず、スキル習得履歴生成部２１１は、ループＣで対象とした履歴情報２００のレコード（ループＣ対象レコード）に、ループＢ対象レコードの指摘事項４３０の指摘事項（スキル）が含まれるか否かを判定する（Ｓ９２０）。
【００６０】
この結果、ループＢ対象レコードの指摘事項が含まれていない場合（Ｓ９２０：Ｎｏ）には、スキル習得履歴生成部２１１は、連続指摘無し情報を、指摘無しの範囲が広くなるように更新する（Ｓ９３０）。例えば、連続指摘無し情報として、指摘されなかった回数を利用する場合は、「１」インクリメントし、連続指摘無し情報として、最後に指摘された日時からの経過時間を利用する場合は、ループＢ対象レコードの日時４１０の日時と、その日時とループＣ対象レコードの日時４１０の日時との差を経過時間として更新する。
【００６１】
一方、ループＢ対象レコードの指摘事項が含まれている場合（Ｓ９２０：Ｙｅｓ）には、スキルを習得していないと考えられるので、スキル習得履歴生成部２１１は、連続指摘無し情報を初期化する（Ｓ９４０）。連続指摘無し情報として、指摘されなかった回数を利用する場合は、「０」に初期化し、連続指摘無し情報として、最後に指摘された日時からの経過時間を利用する場合は、ループＣ対象レコードの日時４１０の日時と、経過時間「０」とを格納することで初期化する。
【００６２】
ステップＳ９３０又はＳ９４０が終了すると、スキル習得履歴生成部２１１は、連続指摘無し情報が閾値を超えたか否かを判定する（Ｓ９５０）。ここで、閾値としては、例えば、連続指摘無し情報として、指摘されなかった回数を利用する場合は、所定の回数とし、連続指摘無し情報として、最後に指摘された日時からの経過時間を利用する場合は、所定の期間としてもよい。また、閾値とする所定の回数や所定の期間は、予め定められた一意の値としてもよいし、スキル習得履歴２１２を利用して算出した値としてもよい。一例をあげるならば、対象レコードの指摘事項４３０の指摘事項についての、全システムユーザの過去のループＣを抜ける場合の連続指摘無し情報の値の平均の１０倍の値としてもよい。また、閾値とする所定の回数や所定の期間は、全てのスキルに共通の値としてもよいし、スキルごとに異なる値としてもよい。
【００６３】
この結果、連続指摘無し情報が閾値を超えない場合（Ｓ９５０：Ｎｏ）には、不注意に起因する指摘である可能性が低いことを意味していると考えられるので、スキル習得履歴生成部２１１は、処理をループＣのＥＮＤに進め、ループＣの対象となるレコードに未処理のレコードがあれば、そのレコードを新たな対象としてループＣの処理を実行する一方、ループＣの対象となるレコードに未処理のレコードが無ければ、ループＣを抜けて、処理をＳ７４０に進める。これにより、不注意に起因しないスキルについては、リストに追加されることとなる。
【００６４】
一方、連続指摘無し情報が閾値を超えている場合（Ｓ９５０：Ｙｅｓ）には、不注意に起因する指摘である可能性が高いことを意味していると考えられるので、スキル習得履歴生成部２１１は、処理をループＢのＥＮＤに進めて、指摘されたスキルをリストに追加しないようにする。
【００６５】
なお、図８に示すスキル習得履歴生成処理では、連続指摘無し情報を適宜計算するようにしていたが、例えば、スキル習得履歴２１２に基づいて、予め各スキルについて連続指摘無し情報を計算するようにしておき、適宜計算する処理（Ｓ９２０〜Ｓ９４０）を実行せずに、ステップＳ９５０で予め計算した連続指摘無し情報を用いて判断するようにしてもよく、このようにすると、重複する処理を削減でき処理効率が向上する。
【実施例３】
【００６６】
次に、第３実施例に係るスキル習得順序推薦装置１００について説明する。
【００６７】
ここで、履歴情報２００には、例えば、成果物の作成上の都合や、成果物に対する指摘事項を解析する解析処理の仕様等により、成果物としては問題ない部分に対する指摘事項が含まれている場合がある。第３実施例に係るスキル習得順序推薦装置１００は、このように、履歴情報２００に成果物としては問題ない部分に対する指摘事項が含まれている場合であっても、適切なスキルマップ２２０を生成できるようにする装置である。ここでは、第１実施例に係るスキル習得順序推薦装置１００の図面を適宜参照し、第１実施例及び第２実施例と異なる部分を中心に説明する。なお、第１実施例及び第２実施例と同様な機能部分やステップ等は、同一の符号を用いて説明する。
【００６８】
第３実施例のスキルマップ生成部２１０の習得履歴生成部２１１は、履歴情報２００に、成果物としては問題ない部分に対する指摘事項が含まれている場合であっても、適切なスキルマップを生成するための新たな機能を有する。
【００６９】
第３実施例のスキル習得順序推薦装置１００は、履歴情報２００に代えて履歴情報２００Ａ（図９参照）を記憶するようにしている。
【００７０】
図９は、第３実施例に係る履歴情報の一例を示す構成図である。
【００７１】
履歴情報２００Ａは、複数のシステムユーザのスキル不足に対する指摘に関するレコードを複数格納している。履歴情報２００Ａのレコードは、履歴情報２００のレコードにおいて、指摘数４４０のフィールドを備えないようにするとともに、新たに指摘箇所４５０のフィールドを含むようにしたものである。
【００７２】
指摘箇所４５０には、指摘事項が、成果物作成におけるどの工程／成果に対する指摘事項であるかが分かる情報（指摘箇所情報）が格納される。指摘箇所情報は、例えば、手順書のページ数や章番号、ソースコードの行数、プレゼンテーションスライドのページ番号などである。なお、図９には、指摘箇所４５０の指摘箇所情報として、ソースコードの行数を用いた例を示している。
【００７３】
図９に示す履歴情報２００Ａにおける項番が「１」のレコードは、システムユーザ「Ｕｓｅｒ１」に対する指摘に対応し、指摘された日時が、「２０１８／４／１  １０：００」であり、「Ｆｉｌｅ１の１０行目」において、「ＳｋｉｌｌＡ」のスキル不足が指摘されたことを表している。
【００７４】
図９に示す履歴情報２００Ａは、システムユーザ「Ｕｓｅｒ１」が項番「１３」のレコードが示す日時から項番「１４」のレコードが示す日時までの間でＳｋｉｌｌＢを習得したが、項番「１８」のレコードが示す日時以降、成果物作成上の都合でＳｋｉｌｌＢの指摘事項が指摘され続けている例を表している。なお、第３実施例では、同じシステムユーザが同じ指摘事項を同時に複数指摘された場合でも、それらを一つのレコードに集約せず、複数のレコードとしている。
【００７５】
第３実施例のスキル習得履歴生成部２１１は、図８に示すスキル習得履歴生成処理に対して、図１０に示す処理を加えた処理を実行する。
【００７６】
図１０は、第３実施例に係るスキル習得履歴生成処理の一部のフローチャートである。
【００７７】
図１０に示すスキル習得履歴生成処理は、図８に示すスキル習得履歴生成処理のステップＳ９２０において、ループＣ対象レコードに、ループＢ対象レコードの指摘事項が含まれている場合（Ｓ９２０：Ｙｅｓ）に実行される。
【００７８】
スキル習得履歴生成部２１１は、ループＣ対象レコードの指摘箇所４５０の指摘箇所と、ループＢ対象レコードの指摘箇所４５０の指摘箇所とが同じであるか否かを判定する（Ｓ１１１０）。
【００７９】
この結果、ループＣ対象レコードの指摘箇所と、ループＢ対象レコードの指摘箇所とが同じである場合（Ｓ１１１０：Ｙｅｓ）には、同じ指摘箇所について意図的に対処していないと考えられるので、スキル習得履歴生成部２１１は、処理をステップＳ９３０に進める。このステップＳ９３０では、連続指摘無し情報が更新されることとなるので、ループＣ対象レコードに、同じ箇所に対する同じ指摘事項（スキル）が含まれている場合には、この指摘事項がリストへ登録をされないようにすることができる。これにより、このスキルについては、スキルマップに含まれないようにすることができる。
【００８０】
一方、ループＣ対象レコードの指摘箇所と、ループＢ対象レコードの指摘箇所とが同じでない場合（Ｓ１１１０：Ｎｏ）には、異なる箇所（異なる内容）について指摘されていると考えられ、スキルを習得していない可能性があるので、スキル習得履歴生成部２１１は、処理をステップＳ９４０に進める。このステップＳ９４０では、連続指摘無し情報を初期化することとなるので、この指摘事項については、リストへ登録されるようにすることができる。
【００８１】
図９に示す履歴情報２００Ａに対して上記処理を実行すると、システムユーザ「Ｕｓｅｒ１」については、項番「１８」のレコードが示す日時以降において、指摘事項「ＳｋｉｌｌＢ」が指摘されているが、各レコードの「ＳｋｉｌｌＢ」についての指摘箇所がすべてＦｉｌｅ１の２０行目（「Ｆｉｌｅ１，Ｌｉｎｅ２０」）となっており、ステップＳ１１１０による判断結果により、処理は、ステップＳ９３０に進むことになる。
【００８２】
上記したように第３実施例に係るスキル習得順序推薦装置１００では、システムユーザがスキルを習得したにもかかわらず、成果物作成上の都合で、指摘事項４３０が指摘されている履歴情報２００でも、正しいスキルマップ２２０を生成することができる。
【００８３】
なお、上記実施例では、同じ指摘事項に対する指摘箇所が同じであるときに、同じ内容に対する指摘事項であるとしていた、すなわち、指摘箇所が変わらないこと場合を想定していた。しかしながら、成果物を修正等することにより、同一の内容であっても存在する箇所が変わってしまう可能性がある。すなわち、違う指摘箇所に対する指摘事項であっても、同じ内容に対する指摘事項である可能性もある。これに対処するために、指摘箇所に対応する内容の同一性を評価する機能、例えば、成果物の修正前と修正後との同じ内容の箇所を特定可能にし、各レコードの指摘箇所が同じ内容であるか否かを判定するようにしてもよい。この場合には、図１０のステップＳ１１１０においては、各指摘箇所に対応する内容が同一内容か否かを判定すればよい。
【実施例４】
【００８４】
次に、第４実施例に係るスキル習得順序推薦装置１００について説明する。
【００８５】
第４実施例に係るスキル習得順序推薦装置１００は、第１実施例乃至第３実施例に係るスキル習得順序推薦装置１００において、スキルマップ２２０に循環が発生することを抑制する機能を有するようにした装置である。
【００８６】
ここで、スキルマップに循環が発生すると、複数のスキルを同時に習得する必要が出るため、極力循環がないスキルマップを生成した方が、システムユーザが効率よくスキルを習得できることとなる。
【００８７】
図１１は、第４実施例及び第５実施例に係るスキル習得履歴マップ化処理の一例のフローチャートである。なお、第４実施例に係るスキル習得履歴マップ化処理においては、ステップＳ１２３０の後処理は、実施しない。また、第１実施例に係るスキル習得履歴マップ化処理と同様なステップについては、同一の符号を付して説明を省略する。
【００８８】
スキル習得履歴マップ化処理は、スキル習得履歴生成処理によって、スキル習得履歴２１２が作成された後に実行される。
【００８９】
まず、スキル習得履歴マップ化部２１３は、スキルマップの循環の発生のもとになりやすいスキル間の依存関係を取り除く前処理（図１２参照）を実行する（Ｓ１２１０）。前処理の実行後には、スキル習得履歴マップ化部２１３は、スキル習得履歴集約処理を実行し（Ｓ８１０）、非連続関係除去処理を実施してスキルマップ２２０を作成して出力する（Ｓ８２０）。
【００９０】
次に、スキル習得履歴マップ化処理の前処理（Ｓ１２１０）について説明する。
【００９１】
図１２は、第４実施例に係るスキル習得履歴マップ化処理の前処理の一例のフローチャートである。
【００９２】
まず、スキル習得履歴マップ化部２１３は、スキル習得履歴２１２から、全システムユーザのスキルの一覧（ユーザ毎スキル習得履歴）を取得する（Ｓ１３１０）。次いで、スキル習得履歴マップ化部２１３は、取得した各スキルを処理対象として、ループＤの処理（ループＥ）を繰り返し実行する。ここで、ループＤにおける処理対象のスキルを、「Ｓｉ」と呼ぶ。
【００９３】
ループＥにおいては、スキル習得履歴マップ化部２１３は、Ｓｉよりも習得順序が後ろとされている各スキル（「Ｓｊ」と呼ぶ）を処理対象として、ループＥの処理（Ｓ１３２０〜Ｓ１３５０）を繰り返し実行する。
【００９４】
ループＥにおいては、スキル習得履歴マップ化部２１３は、スキル習得履歴２１２の全システムユーザのユーザ別スキル習得履歴を対象に、ＳｉをＳｊより先に習得しているシステムユーザの数（「（１）」と表記）と、ＳｊをＳｉより先に習得しているシステムユーザの数（「（２）」と表記）を算出する（Ｓ１３２０）。
【００９５】
次いで、スキル習得履歴マップ化部２１３は、（１）と（２）との比較を行う（Ｓ１３３０）。比較の結果、（１）より（２）が所定の閾値より少ない場合には、ＳｉがＳｊより先の習得順序であることを意味しているので、スキル習得履歴マップ化部２１３は、スキル習得履歴２１２の各システムユーザのユーザ別スキル習得履歴において、ＳｊをＳｉよりも先に習得する順序が含まれていれば、Ｓｊを除いた順序とする（Ｓ１３４０）。
【００９６】
また、比較の結果、（１）より（２）が所定の閾値よりも多い場合には、ＳｊがＳｉよりも先の順序であることを意味しているので、スキル習得履歴マップ化部２１３は、スキル習得履歴２１２の各システムユーザのユーザ別スキル習得履歴において、ＳｉをＳｊよりも先に習得する順序が含まれていれば、Ｓｉを除いた順序とする（Ｓ１３５０）。
【００９７】
また、比較の結果、上記以外である場合（Ｓ１３３０：それ以外）には、スキル習得履歴マップ化部２１３は、処理をループＥのＥＮＤに進める。
【００９８】
なお、ステップＳ１３３０では、（１）と（２）との差を閾値と比較するようにしていたが、本発明はこれに限られず、例えば、（１）／（（１）＋（２））又は（２）／（（１）＋（２））の一方を所定の閾値と比較するようにして、いずれのステップに処理を進めるかを決定するようにしてもよい。また、所定の閾値は、予め定められた一意の値を用いてもよいし、スキル習得履歴２１２を利用して算出した値を用いてもよい。一例をあげるならば、所定の閾値を、全ての２スキル間についての（１）と（２）との差の平均の１／４などとしてもよい。また、所定の閾値を、全てのスキルに共通の値としてもよいし、スキルごとに異なる値としてもよい。
【００９９】
また、ステップＳ１３４０では、Ｓｊに代えて、Ｓｉを除くようにしてもよく、また、ステップＳ１３５０では、Ｓｉに代えて、Ｓｊを除くようにしてもよい。
【０１００】
ループＥの処理を、Ｓｉ以降の全てのスキルを処理対象として実行した後に、他のスキルを対象にループＤの処理を実行し、全てのスキルを対象にループＤの処理を実行した後に、前処理を終了する。
【０１０１】
上記した前処理によると、スキル習得履歴２１２における各スキルの習得順序において、２つのスキル間で双方向の習得順序が含まれてしまうことを低減することができ、結果として、スキル習得履歴２１２に基づいて作成されるスキルマップ２２０における循環の発生を低減することができる。
【実施例５】
【０１０２】
次に、第５実施例に係るスキル習得順序推薦装置１００について説明する。
【０１０３】
第５実施例に係るスキル習得順序推薦装置１００は、第１実施例乃至第４実施例に係るスキル習得順序推薦装置１００において、スキルマップ２２０に循環が発生することを抑制する機能を有するようにした装置である。
【０１０４】
図１１は、第４実施例及び第５実施例に係るスキル習得履歴マップ化処理の一例のフローチャートである。また、第１実施例及び第４実施例に係るスキル習得履歴マップ化処理と同様なステップについては、同一の符号を付して説明を省略する。
【０１０５】
第５実施例に係るスキル習得履歴マップ化処理においては、ステップＳ８２０の非連続関係除去処理を実行した後に、スキルマップに発生している循環を取り除く後処理を実行する（Ｓ１２３０）。なお、第５実施例に係るスキル習得履歴マップ化処理においては、ステップＳ１２１０の前処理を実行しなくてもよい。
【０１０６】
次に、スキル習得履歴マップ化処理の後処理（Ｓ１２３０）について説明する。
【０１０７】
図１３は、第５実施例に係るスキル習得履歴マップ化処理の後処理の一例のフローチャートである。
【０１０８】
スキル習得履歴マップ化部２１３は、その時点のスキルマップ（ステップＳ８２０で生成したスキルマップ、又は後述のステップＳ１４１０で生成されたスキルマップ）に循環がある間、ループＦの処理（Ｓ１４１０）を繰り返し実行する。ここで、スキルマップ２２０は、有向グラフになっており、有向グラフ中の循環を検出する方法としては、公知のアルゴリズムを利用することができる。有向グラフ中の循環を検出する方法としては、例えば、https://en.wikipedia.org/wiki/Topological_sortingに記載されているトポロジカルソートを使用することができる。
【０１０９】
ループＦでは、スキル習得履歴マップ化部２１３は、循環を構成するスキル間の全ての習得順序について、スキル習得履歴２１２の全システムユーザのユーザ毎スキル習得履歴に含まれる数を特定し、特定した数が最小となるスキル間の習得順序を、スキルマップ２２０から取り除く（Ｓ１４１０）。
【０１１０】
その後、スキル習得履歴マップ化部２１３は、Ｓ１４１０で生成されたスキルマップ２２０に循環がある間は、ループＦの処理を繰り返し実行し、Ｓ１４１０で生成されたスキルマップ２２０に循環がなくなった場合には、ループＦを抜けて、後処理を終了する。
【０１１１】
以上説明したように、第５実施例に係るスキル習得順序推薦装置１００によると生成されるスキルマップに循環が発生しないようにすることができる。これにより、スキルマップに従ってスキルを取得することにより、システムユーザが効率よくスキルを習得することができる。
【実施例６】
【０１１２】
次に、第６実施例に係るスキル習得順序推薦装置１００について説明する。
【０１１３】
第６実施例に係るスキル習得順序推薦装置１００は、履歴情報２００を生成する機能と、習得スキルを推薦する機能とを有する。なお、第６実施例に係るスキル習得順序推薦装置１００のハードウェア構成は、図２に示す第１実施例に係るスキル習得順序推薦装置１００と同様となっており、本実施例において適宜図２を参照して説明する。
【０１１４】
図１４は、第６実施例に係るスキル習得順序推薦装置の一例を示す機能構成図である。なお、第１実施例と同様な構成等については、同一符号を付している。
【０１１５】
スキル習得情報推薦装置１００は、ソースコード１５００と、解析処理部１５１０と、指摘情報１５２０と、履歴情報登録部１５３０と、履歴情報２００と、スキルマップ生成部２１０と、スキルマップ２２０と、習得スキル推薦部１５４０とを含む。
【０１１６】
ソースコード１５００と、指摘情報１５２０とは、メモリ１３０や外部記憶装置１５０に格納される。解析処理部１５１０、履歴情報登録部１５３０、及び習得スキル推薦部１５４０は、外部記憶装置１５０に格納されたコンピュータプログラムをＣＰＵ１１０が実行することにより実現される。
【０１１７】
ソースコード１５００は、システムユーザであるソフトウェア開発者が作成した成果物であり、主にテキストで記述されたデータである。指摘情報１５２０は、履歴情報２００に必要な情報を含む情報であり、少なくともソースコード１５００に対する指摘事項を含み、日時や指摘箇所を含んでいてもよい。
【０１１８】
解析処理部１５１０は、ソースコード１５００を入力とし、指摘情報１５２０を出力する。解析処理部１５１０は、例えば、ＪＡＶＡ（登録商標）対応テストツール（https://www.techmatrix.co.jp/product/jtest/）や、ｃｈｅｃｋｓｔｙｌｅ（http://checkstyle.sourceforge.net/）等の公知のツールにより構成してもよい。
【０１１９】
履歴情報登録部１５３０は、指摘情報１５２０を入力とし、指摘情報１５２０に記載の指摘事項を、日時やソースコード１５００を作成したシステムユーザの名前、指摘箇所等を履歴情報２００に格納する。
【０１２０】
習得スキル推薦部１５４０は、スキルマップ２２０を入力とし、表示装置１２０、メモリ１３０、外部記憶装置１５０、ネットワーク通信装置１６０に対して、スキルマップ２２０や、次にシステムユーザが習得すべきスキルを推薦する情報を表示する画面（図１５乃至図１７参照）を出力する。
【０１２１】
図１５、図１６、及び図１７は、第６実施例に係る出力画面の例を示す図である。
【０１２２】
図１５に示す第１出力画面１６００は、習得スキル推薦部１５４０により、スキルマップ２２０の情報を入力して生成される。第１出力画面１６００においては、スキルマップ２２０に含まれる各スキルを示すノード１６０１〜１６０５が、各ノード間が習得順序を示す矢印で接続されているスキルマップの画像が表示される。第１出力画面１６００によると、システムユーザは、スキルをどの順序で習得すればいいのかを容易に把握することができる。
【０１２３】
図１６に示す第２出力画面１６１０は、習得スキル推薦部１５４０により、スキルマップ２２０と、履歴情報２００とを入力として生成される。第２表示画面１６１０においては、スキルマップ２２０に含まれる各スキルを示すノード１６１１〜１６１５が、各ノード間が習得順序を示す矢印で接続されるとともに、スキルを示すノード１６１１〜１６１５が、指定されたシステムユーザが取得済みのスキルか、未取得のスキルかを判別可能とする表示態様（例えば、濃淡付けや、色分け等）とされたスキルマップの画像が表示される。なお、スキルを示すノードの表示態様を、例えば、全システムユーザにおけるスキル習得割合に応じて変えてもよい。
【０１２４】
図１７に示す第３出力画面１６２０は、習得スキル推薦部１５４０により、スキルマップ２２０と、履歴情報２００とを入力として生成される。第３表示画面１６２０においては、所定のシステムユーザが次に習得すべきスキルを一つ以上推薦する推薦情報１６２１が表示される。例えば、システムユーザのスキル習得状況が図１６に示す状況、すなわち、ＳｋｉｌｌＡと、ＳｋｉｌｌＢとを取得している場合においては、第３出力場面１６２０には、図１７に示すように、次にＳｋｉｌｌＣを取得することを推薦する推薦情報１６２１が表示される。
【０１２５】
なお、習得スキル推薦部１５４０は、次に習得すべきスキルが複数ある場合には、それらのスキルに対して習得すべき優先度を算出するようにし、その優先度に応じた表示を行うようにしてもよい。例えば、第２出力画面１６１０のような画面を表示させる場合には、取得すべき優先度に応じて、そのスキルを示すノードの表示態様を変えて表示するようにすればよく、例えば、第３出力画面１６２０のような画面を表示させる場合には、優先度に応じた順でスキルを表示させてもよく、また、最も優先度の高いスキルのみを表示させてもよい。習得すべき優先度を算出する方法としては、例えば、他のシステムユーザが習得している割合が高いスキルについての優先度を高くする方法や、そのスキルを習得した後に習得すべきスキルの数が多いスキルについての優先度を高くする方法等がある。
【０１２６】
以上説明したように、第６実施例に係るスキル習得順序推薦装置１００によると、システムユーザに対して次に取得すべきスキルを容易且つ適切に把握させることができる。
【０１２７】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。
【０１２８】
例えば、上記第１実施例乃至第５実施例に係るスキル習得順序推薦装置１００において、第６実施例に係るスキル習得順序推薦装置１００におけるソースコード１５００、解析処理部１５１０、指摘情報１５２０、及び履歴情報登録部１５３０を備えるようにしてもよい。
【０１２９】
また、上記各実施例において、ＣＰＵが行っていた処理の一部又は全部を、ハードウェア回路で行うようにしてもよい。また、上記実施例におけるプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記憶メディア（例えば可搬型の記憶メディア）であってもよい。
【符号の説明】
【０１３０】
１００    スキル習得順序推薦装置、１１０    ＣＰＵ、１２０    表示装置
１３０    メモリ、１４０    入力装置、１５０    外部記憶装置、１６０    ネットワーク通信装置、１７０    バス、２００，２００Ａ    履歴情報、２１０    スキルマップ生成部、２１１    スキル習得履歴生成部、２１３    スキル習得履歴マップ化部、２２０    スキルマップ、１５１０  解析処理部、１５３０  履歴情報登録部、１５４０  習得スキル推薦部
【図１】
2020107210.tif 000003
【図２】
2020107210.tif 000004
【図３】
2020107210.tif 000005
【図４】
2020107210.tif 000006
【図５】
2020107210.tif 000007
【図６】
2020107210.tif 000008
【図７】
2020107210.tif 000009
【図８】
2020107210.tif 000010
【図９】
2020107210.tif 000011
【図１０】
2020107210.tif 000012
【図１１】
2020107210.tif 000013
【図１２】
2020107210.tif 000014
【図１３】
2020107210.tif 000015
【図１４】
2020107210.tif 000016
【図１５】
2020107210.tif 000017
【図１６】
2020107210.tif 000018
【図１７】
2020107210.tif 000019