(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2025-09-18
(45)【発行日】2025-09-29
(54)【発明の名称】評価装置、評価方法、およびコンピュータプログラム
(51)【国際特許分類】
G09B 19/00 20060101AFI20250919BHJP
G06Q 10/0639 20230101ALI20250919BHJP
【FI】
G09B19/00 H
G06Q10/0639
(21)【出願番号】P 2025075780
(22)【出願日】2025-04-30
【審査請求日】2025-04-30
【早期審査対象出願】
(73)【特許権者】
【識別番号】524293740
【氏名又は名称】株式会社エヌ・エフ・ラボラトリーズ
(74)【代理人】
【識別番号】100141139
【氏名又は名称】及川 周
(74)【代理人】
【識別番号】100145481
【氏名又は名称】平野 昌邦
(74)【代理人】
【識別番号】100181722
【氏名又は名称】春田 洋孝
(72)【発明者】
【氏名】渡邉 龍星
(72)【発明者】
【氏名】富永 大智
(72)【発明者】
【氏名】栗原 樹
【審査官】狩野 寛子
(56)【参考文献】
【文献】特開2018-124439(JP,A)
【文献】特開2013-178294(JP,A)
【文献】国際公開第2022/190455(WO,A1)
【文献】特許第7615341(JP,B1)
【文献】特開2021-073486(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G09B 1/00-9/56、17/00-19/26
G06Q 10/0639
(57)【特許請求の範囲】
【請求項1】
熟練者がコンピューターを用いた所定の作業を行った際に得られた第1熟練者操作履歴情報を、予め定められた分類項目ごとに分類することによって得られる複数の第2熟練者操作履歴情報を記憶する記憶部と、
判定対象の利用者がコンピューターを用いて前記所定の作業を行った際に得られた第1利用者操作履歴情報を取得し、前記第1利用者操作履歴情報について前記第2熟練者操作履歴情報ごとに類似している1又は複数の第2利用者操作履歴情報を取得する取得部と、
同一の分類項目に該当する第2熟練者操作履歴情報と第2利用者操作履歴情報とに基づいて、前記利用者の前記分類項目についての作業を評価する評価部と、
を備える評価装置。
【請求項2】
前記取得部は、前記第1利用者操作履歴情報の一部分である部分履歴情報を生成し、前記部分履歴情報と前記第2熟練者操作履歴情報との類似度を取得し、前記類似度が所定の閾値を超えた部分履歴情報を、前記第2利用者操作履歴情報として取得する、
請求項1に記載の評価装置。
【請求項3】
前記評価部は、前記同一の分類項目に該当する第2熟練者操作履歴情報および第2利用者操作履歴情報と、前記作業の評価に関する指示情報とを大規模言語モデルに入力することにより、前記大規模言語モデルに前記作業の評価を行わせる、
請求項1に記載の評価装置。
【請求項4】
情報処理装置が、
熟練者がコンピューターを用いた所定の作業を行った際に得られた第1熟練者操作履歴情報を、予め定められた分類項目ごとに分類することによって得られる複数の第2熟練者操作履歴情報を記憶するステップと、
判定対象の利用者がコンピューターを用いて前記所定の作業を行った際に得られた第1利用者操作履歴情報を取得し、前記第1利用者操作履歴情報について前記第2熟練者操作履歴情報ごとに類似している1又は複数の第2利用者操作履歴情報を取得するステップと、
同一の分類項目に該当する第2熟練者操作履歴情報と第2利用者操作履歴情報とに基づいて、前記利用者の前記分類項目についての作業を評価するステップと、
を有する評価方法。
【請求項5】
情報処理装置に、
熟練者がコンピューターを用いた所定の作業を行った際に得られた第1熟練者操作履歴情報を、予め定められた分類項目ごとに分類することによって得られる複数の第2熟練者操作履歴情報を記憶するステップと、
判定対象の利用者がコンピューターを用いて前記所定の作業を行った際に得られた第1利用者操作履歴情報を取得し、前記第1利用者操作履歴情報について前記第2熟練者操作履歴情報ごとに類似している1又は複数の第2利用者操作履歴情報を取得するステップと、
同一の分類項目に該当する第2熟練者操作履歴情報と第2利用者操作履歴情報とに基づいて、前記利用者の前記分類項目についての作業を評価するステップと、
を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、評価装置、推薦装置、評価方法、推薦方法、およびコンピュータプログラムに関する。
【背景技術】
【0002】
セキュリティ人材は、サイバー攻撃や法規制への対応、個人情報保護など、企業の安全・信頼性を守るために必要である。サイバー攻撃の高度化・複雑化に伴い、セキュリティ人材の需要は高まっているが、供給が追いついていないため、慢性的な人材不足が課題となっている。一方で、遠隔で、複数の講師が連携して、多人数の生徒の学習を効果的かつ効率的にサポートするオンライン学習システムを提供する技術が提案されている(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
情報処理技術の進展により高度化・複雑化したサイバー攻撃に対処するためには、情報処理技術の基礎知識に加え、OS(Operating System)、ネットワーク、サーバ等のインフラ知識や、C言語、PHP、Pythonなどのプログラミングスキルなどの幅広い知識やスキルが必要となる。このように学習対象が多岐に渡ることから、学習者の知識レベルやスキルレベルも多様である。一方で、効率の良い学習には、学習者の知識レベルやスキルレベルに合った適切な難易度の課題を選定することが重要である。しかしながら、従来技術では、このようなセキュリティ人材の育成に対応できない場合があった。また、情報セキュリティ分野の学習に関しては、学習者の知識レベルやスキルレベルが多様に異なっていることや、学習対象が多岐に渡ることから、学習者に対して個々の知識レベルやスキルレベルに応じた適切な課題を選定することができない場合があった。
【0005】
上記事情に鑑み、本発明は、セキュリティ人材の育成をより効率良く実施することを可能にする技術の提供を目的としている。
【課題を解決するための手段】
【0006】
本発明の一態様は、熟練者がコンピューターを用いた所定の作業を行った際に得られた第1熟練者操作履歴情報を、予め定められた分類項目ごとに分類することによって得られる複数の第2熟練者操作履歴情報を記憶する記憶部と、判定対象の利用者がコンピューターを用いて前記所定の作業を行った際に得られた第1利用者操作履歴情報を取得し、前記第1利用者操作履歴情報について前記第2熟練者操作履歴情報ごとに類似している1又は複数の第2利用者操作履歴情報を取得する取得部と、同一の分類項目に該当する第2熟練者操作履歴情報と第2利用者操作履歴情報とに基づいて、前記利用者の前記分類項目についての作業を評価する評価部と、を備える評価装置である。
【0007】
本発明の一態様は、上記の評価装置であって、前記取得部は、前記利用者操作履歴情報の一部分である部分履歴情報を生成し、前記部分履歴情報と前記第2熟練者操作履歴情報との類似度を取得し、前記類似度が所定の閾値を超えた部分履歴情報を、前記第2利用者操作履歴情報として取得するものである。
【0008】
本発明の一態様は、上記の評価装置であって、前記評価部は、前記同一の分類項目に該当する第2熟練者操作履歴情報および第2利用者操作履歴情報と、前記作業の評価に関する指示情報とを大規模言語モデルに入力することにより、前記大規模言語モデルに前記作業の評価を行わせるものである。
【0009】
本発明の一態様は、判定対象課題の模範解答である第1模範解答を、予め定められた分類項目ごとに分類することによって得られる複数の第2模範解答を記憶する記憶部と、前記第2模範解答と他の課題の模範解答である第3模範解答との類似度に応じて、前記判定対象課題に関係する利用者に対して推薦する他の課題を選択する推薦課題選択部と、を備える推薦装置である。
【0010】
本発明の一態様は、上記の推薦装置であって、前記推薦課題選択部は、前記第2模範解答との類似度が所定の閾値を超えた第3模範解答に対応する他の課題を選択するものである。
【0011】
本発明の一態様は、情報処理装置が、熟練者がコンピューターを用いた所定の作業を行った際に得られた第1熟練者操作履歴情報を、予め定められた分類項目ごとに分類することによって得られる複数の第2熟練者操作履歴情報を記憶するステップと、判定対象の利用者がコンピューターを用いて前記所定の作業を行った際に得られた第1利用者操作履歴情報を取得し、前記第1利用者操作履歴情報について前記第2熟練者操作履歴情報ごとに類似している1又は複数の第2利用者操作履歴情報を取得するステップと、同一の分類項目に該当する第2熟練者操作履歴情報と第2利用者操作履歴情報とに基づいて、前記利用者の前記分類項目についての作業を評価するステップと、を有する評価方法である。
【0012】
本発明の一態様は、情報処理装置が、判定対象課題の模範解答である第1模範解答を、予め定められた分類項目ごとに分類することによって得られる複数の第2模範解答を記憶するステップと、前記第2模範解答と他の課題の模範解答である第3模範解答との類似度に応じて、前記判定対象課題に関係する利用者に対して推薦する他の課題を選択するステップと、を有する推薦方法である。
【0013】
本発明の一態様は、情報処理装置に、熟練者がコンピューターを用いた所定の作業を行った際に得られた第1熟練者操作履歴情報を、予め定められた分類項目ごとに分類することによって得られる複数の第2熟練者操作履歴情報を記憶するステップと、判定対象の利用者がコンピューターを用いて前記所定の作業を行った際に得られた第1利用者操作履歴情報を取得し、前記第1利用者操作履歴情報について前記第2熟練者操作履歴情報ごとに類似している1又は複数の第2利用者操作履歴情報を取得するステップと、同一の分類項目に該当する第2熟練者操作履歴情報と第2利用者操作履歴情報とに基づいて、前記利用者の前記分類項目についての作業を評価するステップと、を実行させるためのコンピュータプログラムである。
【0014】
本発明の一態様は、情報処理装置に、判定対象課題の模範解答である第1模範解答を、予め定められた分類項目ごとに分類することによって得られる複数の第2模範解答を記憶するステップと、前記第2模範解答と他の課題の模範解答である第3模範解答との類似度に応じて、前記判定対象課題に関係する利用者に対して推薦する他の課題を選択するステップと、を実行させるためのコンピュータプログラムである。
【発明の効果】
【0015】
本発明により、セキュリティ人材の育成をより効率良く実施することが可能となる。
【図面の簡単な説明】
【0016】
【
図1】実施形態のオンライン学習システム1のシステム構成の一例を示す図である。
【
図2】実施形態のコンテンツサーバ100の機能構成の一例を示す図である。
【
図3】実践環境を使用する学習コンテンツの一例を示す図である。
【
図4】熟練者情報122について説明する図である。
【
図5】関連ログ抽出部133が利用者の操作ログから関連ログを抽出する方法の一例を説明する図である。
【
図6】関連ログ抽出部133が利用者の操作ログから関連ログを抽出する方法の一例を説明する図である。
【
図7】スキル評価部134によるスキルレベル分析について説明する図である。
【
図8】スキル評価部134が、推論モデル123に対してスキルレベル分析の実施を指示する際のインストラクション(指示文)の一例を示す図(その1)である。
【
図9】スキル評価部134が、推論モデル123に対してスキルレベル分析の実施を指示する際のインストラクション(指示文)の一例を示す図(その2)である。
【
図10】スキル評価部134が、推論モデル123に対してスキルレベル分析の実施を指示する際のインストラクション(指示文)の一例を示す図(その3)である。
【
図11】スキル評価部134が、推論モデル123に対してスキルレベル分析の実施を指示する際のインストラクション(指示文)の一例を示す図(その4)である。
【
図12】スキル評価部134が、推論モデル123に対してスキルレベル分析の実施を指示する際のインストラクション(指示文)の一例を示す図(その5)である。
【
図13】学習コンテンツ推薦部135により利用者にオススメの学習コンテンツを提案する処理の内容を説明する図。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態について図面を参照しながら説明する。
【0018】
図1は、実施形態のオンライン学習システム1のシステム構成の一例を示す図である。オンライン学習システム1は、利用者に情報セキュリティに関する学習コンテンツを提供するシステムである。オンライン学習システム1は、利用者端末10と、実践環境サーバ20と、コンテンツサーバ100と、を含む。利用者端末10、実践環境サーバ20、およびコンテンツサーバ100はネットワークNWを介して互いに通信可能である。ネットワークNWは、LANや、セルラー網、インターネットなどを含んでもよい。
【0019】
利用者端末10は、オンライン学習システム1の利用者が使用する端末である。利用者端末10は、例えば、スマートフォンやタブレット、PC等の情報処理端末である。利用者端末10には、オンライン学習システム1の学習コンテンツを使用するためのアプリケーションプログラム(以下「学習アプリ」という。)APが予めインストールされている。学習アプリAPは、オンライン学習システム1に専用のアプリケーションであってもよいし、ウェブブラウザなどの汎用的なアプリケーションであってもよい。
【0020】
学習アプリAPは、利用者の操作に応じてコンテンツサーバ100に接続し、コンテンツサーバ100から利用者が指定した学習コンテンツを取得して再生する。学習コンテンツは、動画であってもよいし、画像であってもよいし、音声であってもよいし、それらの組み合わせたものであってもよい。また、学習コンテンツは、動画像等を視聴する講義形式のコンテンツであってもよいし、利用者に問題を出して回答を受け付けるテスト形式のコンテンツであってもよい。出題される問題は、選択形式の問題であってもよいし、論述形式の問題であってもよいし、実際に機器の操作を行わせる実践形式の問題であってもよい。
【0021】
実践環境サーバ20は、実践形式の学習コンテンツを提供するために、実践用の環境を提供するサーバである。例えば、実践環境サーバ20は、ターミナルサーバの機能を有し、学習対象の機器(例えばネットワーク機器やサーバ装置、端末装置など)についてGUI(Graphic User Interface )やCUI(Character User Interface)等によるターミナル環境を提供するものであってもよい。実践環境サーバ20は、利用者端末10から実践環境に対する操作の入力を受け付けるとともに、入力された操作の内容(操作ログ)をコンテンツサーバ100と共有する。
【0022】
コンテンツサーバ100は、利用者端末10に学習コンテンツを提供する。また、コンテンツサーバ100は、利用者による学習コンテンツの視聴状況に基づいて当該利用者にオススメのコンテンツをピックアップして提示する機能を有する。コンテンツの視聴状況には、学習の進捗状況や、学習の履歴、テストに対する利用者の回答内容、採点結果、実践環境に対する操作の内容などが含まれる。
【0023】
図2は、実施形態のコンテンツサーバ100の機能構成の一例を示す図である。コンテンツサーバ100は、通信部110、記憶部120、および制御部130を備える。通信部110は、他の装置との間で通信を行う。例えば、通信部110は、利用者端末10及び実践環境サーバ20との間で通信を行う。通信部110は、学習コンテンツの提供要求を利用者端末10から受信し、要求された学習コンテンツを利用者端末10に送信する。また、通信部110は、利用者が実践環境に対して行った操作の内容(操作ログ)を実践環境サーバ20から取得する。
【0024】
記憶部120には、コンテンツ情報121、熟練者情報122、推論モデル123、および、利用者情報124が記憶される。記憶部120は、HDD(Hard Disk Drive)等の磁気記憶装置やSSD(Solid State Drive)、フラッシュメモリ等の半導体記憶装置などを用いて構成される。
【0025】
コンテンツ情報121は、学習コンテンツの提供に必要な情報である。コンテンツ情報121には、例えば、講義やテストの内容を含む動画や画像、音声、テキスト等のデータが含まれる。また、コンテンツ情報121には、実践環境サーバ20へのアクセス方法など、利用者に実践環境を使用させるために必要な情報が含まれてもよい。
【0026】
熟練者情報122は、実践形式の学習コンテンツに関する熟練者の操作内容(操作ログ)を保存した情報である。ここで熟練者は、情報セキュリティに関する十分な知識やスキルを有する者であり、熟練者の操作ログは、オンライン学習システム1において学習の見本や課題に対する正解を示すデータとして用いられる。
【0027】
推論モデル123は、学習コンテンツの視聴状況の分析のために使用されるモデルであり、ChatGPT(登録商標)などのいわゆる大規模言語モデル(LLM: Large Language Model)を用いて構成される。推論モデル123は、或る時点でのインターネット上の公開情報をもとに学習されたものであり、自然言語の入力に対して、文脈や意図に沿った内容の回答をするように構成されたものである。また、推論モデル123は、いわゆるRAG(Retrieval-Augmented Generation:検索拡張生成)により、学習済みの情報に外部情報を加えた知識をベースとして回答することができる。例えば、推論モデル123は、コンテンツ情報121や熟練者情報122、利用者情報124を外部情報として参照することができる。
【0028】
利用者情報124は、オンライン学習システム1の利用者に関する情報である。利用者情報には、利用者の実践環境に対する操作ログが含まれる。また、利用者情報124には、例えば、利用者のサービス登録情報や受講履歴、テストに対する回答内容などが含まれてもよい。
【0029】
制御部130は、CPU(Central Processing Unit)等のプロセッサやメモリを用いて構成され、アプリケーションプログラムを実行することにより、コンテンツサーバ100の全体を制御する。より具体的には、制御部130は、例えば、コンテンツ制御部131と、利用者ログ取得部132と、関連ログ抽出部133と、スキル評価部134と、学習コンテンツ推薦部135とを備える。
【0030】
コンテンツ制御部131、利用者ログ取得部132、関連ログ抽出部133、スキル評価部134、および学習コンテンツ推薦部135のうち一部または全部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)、FPGAなどのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアとの協働によって実現されてもよい。プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置などの非一時的な記憶媒体である。プログラムは、電気通信回線を介して送信されてもよい。
【0031】
コンテンツ制御部131は、利用者端末10に対する学習コンテンツの提供を制御する。コンテンツ制御部131は、利用者端末10からのコンテンツ提供要求に応じて、要求された学習コンテンツをコンテンツ情報121から抽出して利用者端末10に送信する。また、コンテンツ制御部131は、学習コンテンツの中で実施される利用者の情報入力を受け付ける。コンテンツ制御部131は、利用者の入力情報を利用者情報124に保存する。
【0032】
利用者ログ取得部132は、実践環境に対する利用者の操作ログを実践環境サーバ20から取得する。利用者ログ取得部132は、取得した利用者の操作ログは利用者情報124に保存する。
【0033】
関連ログ抽出部133は、利用者の操作ログから各スキル項目に関連する部分のログ(関連ログ)を抽出する。より具体的には、関連ログ抽出部133は、利用者の操作ログを時系列に所定の大きさの部分ログに分割し、各部分ログについて熟練者の操作ログとの類似度を算出することにより、各部分ログがどのスキル項目に対応する操作ログであるかを識別する。関連ログは、利用者情報124に保存されてもよい。なお、部分ログは前後の部分ログと一部が重複するように生成されてもよい。ここで、スキル項目は「分類項目」の一例である。また、コンピュータを操作して、分類項目(スキル項目)に関する目的を達成しようとすることが「所定の作業」の一例である。
【0034】
スキル評価部134は、スキル項目ごとに抽出された利用者の関連ログの内容に基づき、各スキル項目についての利用者のスキルレベルを分析する。より具体的には、スキル評価部134は、分析対象の関連ログを推論モデル123に入力し、その出力としてスキルレベルの判定結果を得る。推論モデル123には、必要に応じて関連ログに加えてコンテンツ情報や熟練者の操作ログが入力されてもよい。
【0035】
学習コンテンツ推薦部135は、スキル評価部134によるスキルレベルの分析結果に基づいて利用者に推奨するオススメの学習コンテンツを選定する。学習コンテンツ推薦部135は、選定したオススメの学習コンテンツを利用者に提示する。ここで、学習コンテンツ推薦部は「推薦課題選択部」の一例である。
【0036】
図3は、実践環境を使用する学習コンテンツの一例を示す図である。
図3は、利用者が「不正アクセス実践」という学習コンテンツの受講を選択した場合の例である。利用者が当該学習コンテンツを選択する操作を行うと、例えば、利用者端末10に第1画面IM1が表示される。例えば、第1画面IM1には、実践環境へのアクセスに必要な情報や、学習を実施する際に必要となる情報などが表示される。例えば、第1画面IM1には、実践環境へのアクセスに必要な情報の一例として、実践環境のURL情報INF11と、実践環境にログインするためのログイン情報INF12が表示されている。また、例えば、第1画面IM1には、学習を実施する際に必要となる情報の一例として、不正アクセスを行う対象(攻略対象)となる演習用サーバのIPアドレスが表示されている。
【0037】
この場合、例えば利用者は、利用者端末10においてウェブブラウザを起動して第1画面IM1に表示されたURL情報INF11を入力して実践環境にアクセスする。これにより、第1画面IM1が第2画面IM2に遷移する。第2画面IM2は、実践環境へのログイン画面である。利用者が、第1画面IM1に表示されたログイン情報INF12をログイン画面に入力することにより、第2画面IM2が第3画面IM3に遷移する。第3画面IM3は、利用者が実践環境に対して操作を入力するためのユーザインターフェースである。例えば、コマンド操作を実践する形式の学習の場合、第3画面IM3は、実践環境サーバに接続された仮想ターミナル画面であってもよい。
図3の例の第3画面IM3は、利用者が第1画面IM1に表示されたIPアドレスを用いて、実践環境サーバ20から演習用サーバにログインした状態の仮想ターミナル画面である。なお、仮想ターミナル画面に入力された操作の内容は、実践環境サーバ20により操作ログとして記録され、適宜コンテンツサーバ100に提供される。
【0038】
図4は、熟練者情報122について説明する図である。上述のとおり、熟練者情報122は、実践形式の学習コンテンツに関する熟練者の操作ログを保存した情報である。より具体的には、熟練者情報122には、熟練者の操作ログがスキル項目ごとに分解された形で含まれる。以下、スキル項目ごとに分解された熟練者の操作ログを「熟練者部分ログ」という。
図4の例は、熟練者の操作ログLG1がスキル項目ごとの熟練者部分ログLG1-1、LG1-2、LG1-3に分解された態様で熟練者情報122に含まれることを表している。熟練者部分ログの生成は、人手によって実施されてもよいし、所定の抽出ルールに基づいて機械的に実施されてもよい。ここで、熟練者の操作ログは「第1熟練者操作履歴情報」の一例であり、熟練者部分ログは「第2熟練者操作履歴情報」の一例である。
【0039】
例えば、熟練者部分ログLG1-1は、熟練者の操作ログから、スキル項目「ポートスキャン」に対応する操作の実施部分が抽出されたものである。また、例えば、熟練者部分ログLG1-2は、熟練者の操作ログから、スキル項目「ディレクトリスキャン」に対応する操作の実施部分が抽出されたものである。また、例えば、熟練者部分ログLG1-3は、熟練者の操作ログから、スキル項目「SQLインジェクション」に対応する操作の実施部分が抽出されたものである。
図4に例示するスキル項目は一例であり、熟練者部分ログは任意のスキル項目について生成されてよい。
【0040】
図5は、関連ログ抽出部133が利用者の操作ログから関連ログを抽出する方法の一例を説明する図(その1)である。まず、関連ログ抽出部133は、利用者の操作ログを、所定の大きさを有する時系列の部分ログに分割する。以下、時系列に分割された利用者の操作ログを「利用者部分ログ」という。利用者部分ログは、前後の利用者部分ログと一部が重複するように構成されてもよい。
図5は、操作ログLG2を10行ずつの利用者部分ログに分割した場合の例である。
図5には、前半5行が一つ前の利用者部分ログと重複し、後半5行が一つ後の利用者部分ログと重複するように構成された利用者部分ログLG2-1、LG2-2、LG2-3、…が例示されている。ここで、利用者の操作ログは「第1利用者操作履歴情報」の一例であり、利用者部分ログは「部分履歴情報」の一例である。
【0041】
続いて、関連ログ抽出部133は、各利用者部分ログについて、スキル項目ごとの熟練者部分ログとの類似度を算出する。
図5は、各利用者部分ログLG2-1、LG2-2、LG2-3、…をスキル項目「ポートスキャン」の熟練者部分ログと比較する場合を例を示している。類似度を算出する方法は特定の方法に限定されない。例えば、Word2Vec等の手法により各ログをベクトル化し、ベクトル間のLevenshtein距離やコサイン類似度、ジャカード係数などを類似度として計算することができる。グラフG1は、各利用者部分ログLG2-1、LG2-2、LG2-3、…について算出された類似度の高さを表している。
【0042】
グラフG1において、横軸は操作ログの時系列に対応し、縦軸は類似度の高さを表す。
図5は、利用者部分ログLG2-1およびLG2-2について、熟練者部分ログとの類似度が比較的低くなり、利用者部分ログLG2-3について、熟練者部分ログとの類似度が比較的高くなった場合の例を表している。この場合、関連ログ抽出部133は、予め定められた類似度の閾値Sthと各類似度を比較することにより、各利用者部分ログがスキル項目「ポートスキャン」についての操作ログであるか否かを判定することができる。
図5の例の場合、利用者部分ログLG2-3がスキル項目「ポートスキャン」の操作ログと判定される。
【0043】
図6は、関連ログ抽出部133が利用者の操作ログから関連ログを抽出する方法の一例を説明する図(その2)である。
図6のグラフG2は、
図5に示した利用者の操作ログLG2について、全てのスキル項目についての類似度を計算した結果を示す。
図6におけるスキル項目A、スキル項目B、スキル項目C、およびスキル項目Dは、「全てのスキル項目」の例示である。すなわち、
図6の例では、各利用者部分ログについて4つの類似度が計算されている。なお、ここでは、利用者の操作ログLG2が8つの利用者部分ログLG2-1~LG2-8に分割された場合を想定する。
【0044】
図6の例では、利用者部分ログLG2-1の類似度のうち、スキル項目Aとの類似度が閾値Sthを超えており、利用者部分ログLG2-3の類似度のうち、スキル項目Bとの類似度が閾値Sthを超えており、利用者部分ログLG2-6の類似度のうち、スキル項目Cとの類似度が閾値Sthを超えており、利用者部分ログLG2-8の類似度のうち、スキル項目Dとの類似度が閾値Sthを超えている。この場合、関連ログ抽出部133は、利用者の操作ログLG2から、利用者部分ログLG2-1をスキル項目Aの関連ログとして、利用者部分ログLG2-3をスキル項目Bの関連ログとして、利用者部分ログLG2-6をスキル項目Cの関連ログとして、利用者部分ログLG2-8をスキル項目Dの関連ログとして、それぞれ抽出することができる。ここで、関連ログは「第2利用者操作履歴情報」の一例である。
【0045】
なお、ここでは簡単のため、全てのスキル項目A~Dのそれぞれについて関連ログが抽出された場合について説明したが、どのスキル項目について関連ログが抽出されるかは、利用者の操作ログに含まれている操作の内容によるので、必ずしもすべてのスキル項目について関連ログが抽出される必要はない。また、ここでは簡単のため、1つのスキル項目について1つの利用者部分ログが関連ログとして抽出される場合について説明したが、どのスキル項目をどのタイミングで、何回学習するかなどは利用者の自由であるので、1つスキル項目について複数の利用者部分ログが関連ログとして抽出されてもよい。
【0046】
図7は、スキル評価部134によるスキルレベル分析について説明する図である。
図7に示されるように、スキル評価部134は、関連ログ抽出部133によって抽出された各スキル項目の関連ログを推論モデル123に入力し、推論モデル123の出力として、スキルレベルの判定結果を取得する。なお、上述のとおり、推論モデル123は大規模言語モデルによって構成されるので、関連ログのみを与えて分析をさせたとしても或る程度の分析は可能であるが、以下のような態様で推論モデル123に追加情報を入力することにより推論精度の向上を図ってもよい。
【0047】
例えば、スキル評価部134は、関連ログに対応するスキル項目のコンテンツ情報を追加情報として推論モデル123に入力してもよい。対応するスキル項目のコンテンツ情報は、推論モデル123が、関連ログに対応するスキル項目を認識するのに役立つことが期待される。また、対応するスキル項目のコンテンツ情報は、推論モデル123が、利用者の操作の意図を理解するのに役立つことが期待される。
【0048】
また、例えば、スキル評価部134は、関連ログに対応するスキル項目の熟練者部分ログを追加情報として推論モデル123に入力してもよい。対応するスキル項目の熟練者部分ログは、推論モデル123が、当該スキル項目について望ましい回答(操作)を認識するのに役立つことが期待される。このように、対応するスキル項目のコンテンツ情報や熟練者部分ログを追加情報とすることにより、推論モデル123の推論精度が向上することが期待される。
【0049】
例えば、
図8~
図12は、スキル評価部134が、推論モデル123に対してスキルレベル分析の実施を指示する際のインストラクション(指示文)の一例を示す図(その1~その5)である。図の例において、{{}}は変数を表し、{%%}はいわゆるテンプレートタグを表す。
図8~
図12の例のように、分析の意図や目的、手順、前提事項、注意事項、制限事項、変数の説明等の補足情報を含むインストラクション(プロンプト)とともに関連ログを推論モデル123に入力することで、推論モデル123の推論精度の向上を図っている。例えば、
図8~
図12のインストラクションの例には、スキルレベルの分析に関する評価基準や判定結果、出力形式、変数の説明に関する記載が含められている。また、
図8~
図12のインストラクションの例では、推論モデル123に実施させるスキルレベル分析について、必要な作業工程を実施順序に紐づけて提示するようにしている。これにより、推論モデル123の推論精度が向上し、安定した推論結果が得られるようになることが期待される。
【0050】
図13は、学習コンテンツ推薦部135により利用者にオススメの学習コンテンツを提案する処理の内容を説明する図である。学習コンテンツ推薦部135は、スキル評価部134によるスキルレベルの分析結果をもとに利用者に学習コンテンツを提案する機能を有している。本実施形態では、利用者が、複数のスキル項目に亘る演習問題の学習コンテンツ(以下「総合演習コンテンツ」という。)を受講する場合について説明する。以下では、複数のスキル項目に亘る総合演習コンテンツに対して、個々のスキル項目ごとの演習問題の学習コンテンツを「個別演習コンテンツ」と称する。
【0051】
この場合、学習コンテンツ推薦部135は、利用者が総合演習コンテンツを受講する際に、総合演習コンテンツの模範解答と、個別演習コンテンツの模範解答との類似度に基づいて、利用者に推奨するオススメの学習コンテンツを決定する。より具体的には、模範解答のデータは、演習問題に対する模範的な解答の内容や、解法の解説、模範的な操作手順(コマンドや設定方法など)等を記載した文書形式のデータである。
【0052】
まず、学習コンテンツ推薦部135は、利用者が受講中の総合演習コンテンツの模範解答(以下「総合演習模範解答」という。)を取得する。ここでは、総合演習模範解答は予め記憶部120に保存されているものとする。学習コンテンツ推薦部135は、総合演習模範解答を複数のスキル項目に対応づけて分解する。以下、総合演習模範解答がスキル項目ごとに分解されたものを「部分模範解答」という。
【0053】
例えば、部分模範解答は、総合演習模範解答が人手によって分解されたものであってもよい。この場合、部分模範解答は、予め記憶部120に保存されていてもよい。また、部分模範解答は、操作ログの場合と同様の方法(
図5、
図6参照)で機械的に生成されるものであってもよい。例えば、学習コンテンツ推薦部135は、総合演習模範解答を所定の単位量ごとに分割し、単位量に分割された総合演習模範解答のそれぞれについて、予め用意されたスキル項目ごとの比較用データと比較することにより、それぞれがどのスキル項目に対応するものかを確定するようにしてもよい。
【0054】
スキル項目ごとの比較用データは、対応するスキル項目に関するテキスト情報を含むものであればよい。比較用データは、例えば、総合演習模範解答がスキル項目に対応したセクションごとに分解されたものであってもよいし、スキル項目に応じた個別模範解答(後述)であってもよい。例えば、比較用データは、スキル項目に応じたタグ情報を含んでもよく、この場合、学習コンテンツ推薦部135は、単位量に分割された総合演習模範解答のそれぞれを、類似度の高い比較用データのタグ情報に対応づけて振り分けることで、総合演習模範解答をスキル項目ごとに分解することができる。例えば、
図8~
図12の例における{skill}はタグ情報の一例である。
【0055】
図13は、総合演習模範解答MA3から、スキル項目「ポートスキャン」に対応する部分模範解答MA3-1、スキル項目「ディレクトリスキャン」に対応する部分模範解答MA3-2、スキル項目「SQLインジェクション」に対応する部分模範解答MA3-3を取得する様子を示している。ここで、総合演習模範解答は「第1模範解答」の一例であり、部分模範解答は「第2模範解答」の一例である。
【0056】
続いて、学習コンテンツ推薦部135は、スキル項目ごとに分解された総合演習模範解答(部分模範解答)と、各個別演習コンテンツの模範解答(以下「個別模範解答」という。)との類似度を計算する。具体的には、テキスト情報としての一致度や、記載されている手順・コマンドの類似性などの観点からスコアリングを行い、各スキル項目に対応する総合演習模範解答(部分模範解答)と個別模範解答との近似度を求める。
図13の例では、部分模範解答MA3-2について、個別模範解答MA41~MA44のうち、「ディレクトリスキャン」に対応する個別模範解答MA41について最も高い類似度(0.9)が得られた場合を表している。この場合、学習コンテンツ推薦部135は、最も高い類似度を有する個別模範解答MA41に対応する個別演習コンテンツをオススメとして提案することができる。ここで、個別模範解答は「第3模範解答」の一例である。
【0057】
学習コンテンツ推薦部135は、スキル項目ごとの部分模範解答について、複数の個別模範解答との類似度を算出し、類似度の高いものから順にオススメの学習コンテンツとして提示してもよい。例えば、
図13のように、類似度の閾値を0.5とし、同一の部分模範解答MA3-2に対して、複数の個別模範解答MA41およびMA43で閾値以上の類似度(0.9および0.5)が算出された場合、当該個別模範解答MA41およびMA43に対応する個別演習コンテンツをまとめてオススメとして提示してもよい。また、必要に応じて、閾値は、より大きな値に変更されてもよいし、より小さな値に変更されてもよい。例えば、閾値は、スキル項目ごとの優先度に応じて調整されてもよい。優先度は利用者全員に一律のものであってもよいし、学習状況に応じて利用者ごとに判定されてもよい。
【0058】
さらに、学習コンテンツ推薦部135は、スキル評価部134の分析結果をもとに、利用者が特に苦手とするスキル項目や、演習問題において不正解が多かったスキル項目を優先度高く扱うようにフィルタリングを行ってもよい。例えば、優先度の高いスキル項目では類似度の閾値を下げ、優先度の低いスキル項目については閾値を上げるなどの構成が考えられる。これらにより、個々の利用者の習熟度や学習状況に応じたきめ細やかな学習コンテンツの推薦が可能となる。
【0059】
以上説明した実施形態によれば、セキュリティ人材の育成をより効率良く実施することが可能となる。より具体的には、実施形態のオンライン学習システム1によれば、セキュリティ人材としての利用者のレベルを知識レベルだけではなく、実際の機器の操作スキルのレベルも加味して判断することが可能となるので、知識に基づいて必要なアクションを実践できるより高度なセキュリティ人材を育成することができる。
【0060】
また、一般に機器の操作の内容は、操作の目的は同じであっても、実行する人や実行するタイミングによってさまざまに異なり得るものである。例えば、誤ったコマンドが入力されたり、コマンドの入力ミスがあったり、目的と関係のないコマンドが入力されたり、人によってはコマンドの実行順序が異なったりすることがある。このような統一性のない操作ログという情報をルールベースで処理するのは難しいため、操作ログの内容から利用者のスキルレベルを正確に判定するのは従来困難であった。これに対して、実施形態のオンライン学習システム1は、機器の操作ログも自然言語の一態様であるという新たな知見を見出し、その意図や文脈(操作の類似性や妥当性も含む)を大規模言語モデルを用いて認識・判断するようにしたものである。これにより、利用者の操作ログから利用者のスキルレベルを正確に判定することが可能となる。
【0061】
<変形例>
上記実施形態では、スキルレベル分析のインストラクションにおいて、推論モデル123(大規模言語モデル)に熟練者部分ログ(正解や模範解答の位置づけ)を入力する場合について説明した。一方で、大規模言語モデルは、目的達成までの明確な手段や方法を与えなくても、与えられた目的や意図などを理解して自発的に必要な処理や推論を実行する場合がある。そのため、推論モデル123が与えられた情報や学習済みの知識から熟練者部分ログを自発的に推論するようにインストラクションを調整できる場合、推論モデル123には必ずしも熟練者部分ログが供給される必要はない。
【0062】
上記実施形態では、スキルレベル分析に関して、スキル項目に共通のインストラクションを例示したが(
図8~
図12参照)、スキル項目ごとに操作ログ内で注目すべき箇所や評価の観点が大きく異なるような場合がある。そのような場合、スキル項目ごとに個別のインストラクションを使用するようにしてもよい。本実施形態では、推論モデル123に対してスキル項目ごとに場合分けしたインストラクションを入力するようにしている。例えば、
図11、
図12の例では、log_type(何のログであるかを示すパラメータであり、スキル項目に対応する)に応じてインストラクションの内容を変更するようにしている。このようにすることで、推論モデル123が誤推論を行う可能性を低減させることが可能となり、推論精度が向上することが期待される。
【0063】
上記実施形態では、コンテンツサーバ100が、利用者のスキルレベルを評価する評価機能と、利用者に学習コンテンツを推薦する推薦機能とを有する場合について説明したが、評価機能と推薦機能とはそれぞれ評価装置と推薦装置とに分割して構成されてもよい。
【0064】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0065】
1 オンライン学習システム
10 利用者端末
20 実践環境サーバ
100 コンテンツサーバ
110 通信部
120 記憶部
121 コンテンツ情報
122 熟練者情報
123 推論モデル
124 利用者情報
130 制御部
131 コンテンツ制御部
132 利用者ログ取得部
133 関連ログ抽出部
134 スキル評価部
135 学習コンテンツ推薦部
【要約】
【課題】セキュリティ人材の育成をより効率良く実施することを可能にする技術の提供を目的としている。
【解決手段】本発明の一態様は、熟練者がコンピューターを用いた所定の作業を行った際に得られた第1熟練者操作履歴情報を、予め定められた分類項目ごとに分類することによって得られる複数の第2熟練者操作履歴情報を記憶する記憶部と、判定対象の利用者がコンピューターを用いて前記所定の作業を行った際に得られた第1利用者操作履歴情報を取得し、前記第1利用者操作履歴情報について前記第2熟練者操作履歴情報ごとに類似している1又は複数の第2利用者操作履歴情報を取得する取得部と、同一の分類項目に該当する第2熟練者操作履歴情報と第2利用者操作履歴情報とに基づいて、前記利用者の前記分類項目についての作業を評価する評価部と、を備える評価装置である。
【選択図】
図2