(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-11-27
(45)【発行日】2024-12-05
(54)【発明の名称】プログラム、方法、情報処理装置
(51)【国際特許分類】
G06Q 50/10 20120101AFI20241128BHJP
【FI】
G06Q50/10
(21)【出願番号】P 2024042272
(22)【出願日】2024-03-18
【審査請求日】2024-03-18
【早期審査対象出願】
(73)【特許権者】
【識別番号】521541734
【氏名又は名称】株式会社アシュアード
(74)【代理人】
【識別番号】110002815
【氏名又は名称】IPTech弁理士法人
(72)【発明者】
【氏名】鈴木 和幸
(72)【発明者】
【氏名】戸谷 慧
(72)【発明者】
【氏名】萩野 貴拓
【審査官】齊藤 貴孝
(56)【参考文献】
【文献】特開2022-109743(JP,A)
【文献】米国特許出願公開第2021/0397634(US,A1)
【文献】特許第7448293(JP,B1)
【文献】特開2017-054202(JP,A)
【文献】特開2006-119991(JP,A)
【文献】齋藤 純一、外1名,メーリングリストのスレッド構造を利用したFAQ自動作成,第84回 知識ベースシステム研究会資料,日本,社団法人人工知能学会,2009年01月20日,p.27-32
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
プロセッサを備えるコンピュータを動作させるためのプログラムであって、前記プロセッサは、
サービス提供者への質問で、セキュリティについてのチェック項目に応じた質問を少なくとも含む質問リストを受け付け
、受け付けた前記質問リストを記憶部に記憶させるステップと、
前記記憶部に蓄積される複数の質問のうち、1の質問への回答により他の質問への回答が定まる質問群を特定するステップと、
ユーザから、前記記憶部に蓄積される質問に対する回答の入力を受け付けて、前記質問と当該質問に対する前記回答とを関連付けて前記記憶部に記憶させるステップと、
前記ユーザから回答を受け付けた質問が前記質問群に含まれる前記1の質問である場合に、前記他の質問への回答を、前記ユーザの入力操作によらずとも生成するステップと、
前記ユーザに対し、前記生成された前記他の質問への回答を表示するステップと、を実行させる、プログラム。
【請求項2】
前記記憶部に蓄積される1または複数の前記質問リストを参照して、同種の質問を特定するステップと、を実行させ、
前記表示するステップは、特定した前記同種の質問に基づいて、前記質問ごとに、その質問に対する回答の蓄積状況を表示するステップを含む、請求項1に記載のプログラム。
【請求項3】
前記プログラムは、前記プロセッサに、さらに、
前記特定するステップにおいて、蓄積される前記1または複数の前記質問リストにおいて
前記同種の質問が重複して蓄積されていることを特定し、
前記表示するステップにおいて、前記蓄積状況を表示することとして、前記同種の質問が重複して蓄積していることを表示する、請求項
2に記載のプログラム。
【請求項4】
前記表示するステップにおいて、前記蓄積状況を表示することとして、前記同種の質問が重複している件数を表示すること、または、当該同種の質問に対する過去の回答を表示すること、の少なくともいずれかを行う、請求項
3に記載のプログラム。
【請求項5】
前記プログラムは、前記プロセッサに、さらに、
前記質問に対してカテゴリの指定を受け付けて、前記質問と、当該質問について受け付けたカテゴリとを関連付けて前記記憶部に蓄積させるステップを実行させ、
前記表示するステップにおいて、質問それぞれについて、前記質問と関連付けられる前記カテゴリを表示する、請求項
2に記載のプログラム。
【請求項6】
前記プログラムは、前記プロセッサに、さらに、
前記質問のテキストを解析することにより、前記質問に割り当てられる前記カテゴリを特定し、特定した前記カテゴリを前記質問に割り当てるステップを実行させ、
前記表示するステップにおいて、質問それぞれについて、前記割り当てられた前記カテゴリを、前記質問と関連付けて表示する、請求項
5に記載のプログラム。
【請求項7】
前記プログラムは、前記プロセッサに、さらに、
ユーザから、前記記憶部に蓄積される
前記質問に対する回答の入力を受け付けて、前記質問と当該質問に対する
回答とを関連付けて前記記憶部に記憶させるステップと、
前記質問及び
当該質問に対する回答について、質問の入力に対して回答を出力するように学習される学習済みモデルの学習用データとするか否かの指定をユーザから受け付けるステップと、
前記指定された前記学習用データに基づき前記学習済みモデルを学習させるステップと、を実行させる、請求項1に記載のプログラム。
【請求項8】
前記表示するステップにおいて、前記蓄積状況を表示することとして、前記質問ごとに、その質問に対する回答がある件数、または、その質問に対する回答の参照先を示すリンク情報、の少なくともいずれかを表示する、請求項
2に記載のプログラム。
【請求項9】
前記プログラムは、前記プロセッサに、さらに、
前記記憶部に蓄積される前記1または複数の質問リストにおいて、前記特定される前記同種の質問を集約した場合に複数の回答が蓄積しているときに、前記蓄積される前記複数の回答の内容に変更があるか判定し、
前記表示するステップにおいて、前記蓄積状況を表示することとして、前記集約される前記同種の質問に対する回答に変更があるか判定した結果を表示する、請求項
2に記載のプログラム。
【請求項10】
前記表示するステップにおいて、
前記同種の質問に対する回答に変更があった質問と、
前記同種の質問に対する回答に変更がなかった質問とを区別して表示する、請求項9に記載のプログラム。
【請求項11】
前記表示するステップにおいて、前記蓄積状況を表示することとして、前記質問ごとに、前記質問に対する回答をした時期を示す情報を表示する、請求項
2に記載のプログラム。
【請求項12】
前記プログラムは、前記プロセッサに、さらに、
回答を生成させる質問を、質問の入力に対して回答を出力する学習済みモデルへの入力とすることで、前記回答を生成させる質問に対する回答を前記学習済みモデルにより生成させるステップ、を実行させる、請求項1に記載のプログラム。
【請求項13】
前記プログラムは、前記プロセッサに、さらに、
前記回答を生成させる質問それぞれについて、ユーザから、回答の形式の指定を受け付けており、
前記指定された回答の形式に従って、前記回答を生成させる質問に対する回答を前記学習済みモデルにより生成させる、請求項12に記載のプログラム。
【請求項14】
前記表示するステップにおいて、前記質問それぞれについて、前記学習済みモデルにより前記回答を生成した質問と、前記学習済みモデルでは前記回答が生成されなかった質問とを区別して表示する、請求項13に記載のプログラム。
【請求項15】
前記学習済みモデルにより生成するステップにおいて、前記回答を生成することとして、前記回答とともに、当該回答を生成する根拠となったデータの内容または当該データへのリンクの少なくともいずれかを生成し、
前記表示するステップにおいて、前記生成された回答とともに、前記根拠となったデータまたは前記リンクの少なくともいずれかを表示する、請求項13に記載のプログラム。
【請求項16】
前記プログラムは、前記プロセッサに、さらに、
ユーザから、前記記憶部に蓄積される質問に対する回答の入力を受け付けて、前記質問と当該質問に対する前記回答とを関連付けて前記記憶部に記憶させるステップを実行させ、
前記表示するステップにおいて、前記質問それぞれについて、前記質問に対する回答が入力済みであるか否かを表示し、
前記回答の入力があった前記質問と前記回答とを、質問の入力に対して回答を出力するように学習される学習済みモデルの学習用データとして前記記憶部で管理する、請求項1に記載のプログラム。
【請求項17】
前記プログラムは、前記プロセッサに、さらに、
前記記憶部に蓄積される質問について、質問の入力に対して回答を出力するように学習される学習済みモデルを参照することにより前記質問に対する回答を生成させるステップと、
前記学習済みモデルにより生成された回答に、回答として公開すべきでない情報が含まれるか判定するステップと、
判定した結果をユーザに通知するステップと、を実行させる、請求項1に記載のプログラム。
【請求項18】
前記判定するステップにおいて、前記回答として公開すべきでない情報が含まれると判定することとして、
前記質問への回答を行う前記サービス提供者にかかる個人名
を含む個人情報、
前記サービス提供者において利用しているシステムに蓄積されるデータを参照するためのリンク、
の少なくともいずれかが含まれている場合に、前記回答として公開すべきでない情報が含まれると判定する、請求項17に記載のプログラム。
【請求項19】
前記記憶部において、前記質問リストの前記質問と関連付けて、前記質問に対する回答を記憶しており、
前記プログラムは、前記プロセッサに、さらに、
前記質問及び前記回答に、セキュリティに関する語彙を追加するステップと、
前記セキュリティに関する語彙が追加された前記質問及び前記回答からなるデータをベクトル化するステップと、
前記ベクトル化により得られるベクトルと、前記ベクトル化の対象となった前記質問リストとを関連付けて前記記憶部に記憶させるステップと、
質問が入力されることに応じて、入力された前記質問をベクトル化して、前記記憶部に記憶されるベクトルと比較するステップと、
前記比較するステップにおいて比較した結果により、前記記憶部に記憶される前記質問リストを特定し、特定した質問リストと前記入力された質問とを学習済みモデルに入力することにより、入力された質問に対する回答を前記学習済みモデルに生成させる、請求項1に記載のプログラム。
【請求項20】
プロセッサを備えるコンピュータが実行する方法であって、前記方法は、前記プロセッサが、
サービス提供者への質問で、セキュリティについてのチェック項目に応じた質問を少なくとも含む質問リストを受け付け
、受け付けた前記質問リストを記憶部に記憶させるステップと、
前記記憶部に蓄積される複数の質問のうち、1の質問への回答により他の質問への回答が定まる質問群を特定するステップと、
ユーザから、前記記憶部に蓄積される質問に対する回答の入力を受け付けて、前記質問と当該質問に対する前記回答とを関連付けて前記記憶部に記憶させるステップと、
前記ユーザから回答を受け付けた質問が前記質問群に含まれる前記1の質問である場合に、前記他の質問への回答を、前記ユーザの入力操作によらずとも生成するステップと、
前記ユーザに対し、前記生成された前記他の質問への回答を表示するステップと、を実行する、方法
【請求項21】
制御部を備える情報処理装置であって、前記制御部が、
サービス提供者への質問で、セキュリティについてのチェック項目に応じた質問を少なくとも含む質問リストを受け付け
、受け付けた前記質問リストを記憶部に記憶させるステップと、
前記記憶部に蓄積される複数の質問のうち、1の質問への回答により他の質問への回答が定まる質問群を特定するステップと、
ユーザから、前記記憶部に蓄積される質問に対する回答の入力を受け付けて、前記質問と当該質問に対する前記回答とを関連付けて前記記憶部に記憶させるステップと、
前記ユーザから回答を受け付けた質問が前記質問群に含まれる前記1の質問である場合に、前記他の質問への回答を、前記ユーザの入力操作によらずとも生成するステップと、
前記ユーザに対し、前記生成された前記他の質問への回答を表示するステップと、を実行する、情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、方法、情報処理装置に関する。
【背景技術】
【0002】
ITサービス(SaaS(Software as a Service)等のサービス)を提供するサービス提供者が、ITサービスの導入や利用を検討するサービス利用者から、セキュリティチェックシートへの回答を要請されることがある。
【0003】
下記の特許文献1には、「システム監査の迅速化および被監査部門の負担軽減を図る」ことを目的として、「被監査対象について監査を行う際の各チェックポイントを特定するためのチェックポイント配列情報データを、規則に従った順序で並べて記憶」することと、「各チェックポイントについて評価を行うために必要な証跡を特定するための証跡配列情報データを、チェックポイント配列情報データに対応させて記憶する」ことと、「記憶された証跡配列情報データを規則に従った順序に並べ替え、かつ、チェックポイント配列情報データを証跡配列情報データに対応させて並べ替える」ことと、「並べ替えて得られた配列変換済データに基づき証跡を管理するための証跡台帳を作成する」こととが記載されている。特許文献1に記載された技術によると、「証跡配列情報データが、ある規則に従った順序で並べられているので、証跡をインデックスとし、その証跡に対応するチェックポイントを容易に把握可能となり、迅速なシステム監査が実現される」としている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
サービス提供者は、サービス利用者からの要請に応じて、質問に対する回答を含むセキュリティチェックシートを作成する。一方、時間の経過とともに、要請されるセキュリティの水準が変化したり、サービス提供者自身の変化やサービス提供者をとりまく情勢の変化により、セキュリティへの対応状況も更新されていくことがある。そのため、過去に作成したセキュリティチェックシートの回答の内容を参照するだけでは、上記の変化を反映した回答を作成したり、更新したりすることができず、回答として十分ではないことが起こりうる。
【0006】
したがって、過去に作成したセキュリティチェックシートを活かしつつ、質問への回答を容易に作成できるようにする技術が必要とされている。
【課題を解決するための手段】
【0007】
本開示に示す一実施形態によると、プロセッサを備えるコンピュータを動作させるためのプログラムであって、プロセッサは、サービス提供者への質問で、セキュリティについてのチェック項目に応じた質問を少なくとも含む質問リストを受け付ける都度、受け付けた質問リストを記憶部に記憶させるステップと、記憶部に蓄積される1または複数の質問リストを参照して、同種の質問を特定するステップと、特定した結果に基づいて、質問ごとに、その質問に対する回答の蓄積状況を表示するステップと、を実行させる、プログラムが提供される。
【発明の効果】
【0008】
本開示によれば、同種の質問に対する回答の蓄積状況をユーザが参照することができ、質問への回答をよりいっそう容易にすることができる。
【図面の簡単な説明】
【0009】
【
図3】
図3は、サービス提供者のユーザの端末10の構成を示す図である。
【
図4】
図4は、サービス提供者のユーザのデータベースである事業者データベース211のデータ構造を示す図である。
【
図5】
図5は、サービス利用者のユーザのデータベースである利用者データベース212のデータ構造を示す図である。
【
図6】
図6は、質問リスト取得データベース213のデータ構造を示す図である。
【
図7】
図7は、回答データベース214のデータ構造を示す図である。
【
図8】
図8は、関連する質問を質問群として管理するための質問群データベース215のデータ構造を示す図である。
【
図9】
図9は、質問の入力に対して回答を出力する学習済みモデルを管理するための学習済みモデルデータベース216のデータ構造を示す図である。
【
図10】
図10は、質問及び回答からなるデータセットのベクトルを管理するためのベクトルデータベース217のデータ構造を示す図である。
【
図11】
図11は、大規模言語モデルのサービスサーバの利用履歴を示すLLM利用履歴データベース218のデータ構造を示す図である。
【
図12】
図12は、ユーザからのセキュリティについての調査依頼を管理するための調査依頼データベース221のデータ構造を示す図である。
【
図13】
図13は、ユーザからの調査依頼に対するサービス提供者の回答を管理するための回答送信データベース222のデータ構造を示す図である。
【
図14】
図14は、サービス提供者のユーザから、セキュリティについての質問を含む質問リスト、特に、全部又は一部の質問に対し過去に回答を入力済みの質問リストを取得する処理の流れを示すフローチャートである。
【
図15】
図15は、蓄積される質問リストをユーザに提示して、回答の入力を受け付ける処理の流れを示すフローチャートである。
【
図16】
図16は、質問リストでユーザが指定した質問及び回答を回答データベース214に反映させる処理の流れを示すフローチャートである。
【
図17】
図17は、学習処理により、質問の入力に対して回答を出力する学習済みモデルを生成する処理の流れを示すフローチャートである。
【
図18】
図18は、複数の質問が関連する質問群である場合、1の質問への回答の入力で他の質問への回答を生成する処理の流れを示すフローチャートである。
【
図19】質問に対する回答を、学習済みモデルデータベース216で管理される学習済みモデルにより新たに回答を生成する処理の流れを示すフローチャートである。
【
図20】
図20は、質問をベクトル化して、予めベクトル化された質問及び回答を参照して、人工知能のサービスサーバ92により回答を生成させる処理の流れを示すフローチャートである。
【
図21】
図21は、サービス提供者のユーザから、質問リストのアップロードを受け付ける画面の例である。
【
図22】
図22は、アップロードされた質問リストについて、カテゴリ、回答、及び過去に登録されたデータとの比較結果を表示する画面の例である。
【
図24】
図24は、ユーザが回答を入力せずとも回答を生成させる際の画面の例である。
【
図25】
図25は、生成された回答に対して編集を受け付けて、保存する操作を受け付ける画面の例である。
【発明を実施するための形態】
【0010】
以下、図面を参照しつつ、本開示の実施形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【0011】
<実施の形態の概略>
<1.1 システム全体の構成図>
図1は、システム1の構成を示す図である。システム1では、セキュリティチェックサービスを提供する事業者(サーバ20)が、サービス提供者(端末10)と、サービス利用者(端末30)とに対し、上記のセキュリティチェックサービスを提供している。
【0012】
図1に示すシステム1は、セキュリティチェックサービスのサーバ20と、サービス提供者のユーザの端末10と、サービス利用者のユーザの端末30と、人工知能のサービスサーバ92と、サービス提供者のウェブサーバ94と、を含む。これら各装置は、ネットワーク80を介して通信接続する。
【0013】
図示する例では、サーバ20が提供するセキュリティチェックサービスのユーザが利用する端末としては、サービス提供者のユーザの端末10、サービス利用者のユーザの端末30のそれぞれ1つを図示しているが、各ユーザがそれぞれ端末を操作している。
【0014】
本実施形態において、各装置(端末装置、サーバ等)を情報処理装置として把握することもできる。すなわち、各装置の集合体を1つの「情報処理装置」として把握することができ、システム1を複数の装置の集合体として形成してもよい。1つ又は複数のハードウェアに対して本実施形態に係るシステム1を実現することに要する複数の機能の配分の仕方は、各ハードウェアの処理能力及び/又はシステム1に求められる仕様等に鑑みて適宜決定することができる。
【0015】
本実施形態で以下に説明する、各機能部において用いられる人工知能や学習済みモデルは、それぞれ別個のモデルであってもよいし、共通した汎用的な学習済みモデルであってもよい。
【0016】
端末10は、ユーザが操作する装置である。端末10は、例えば、以下のようにして実現される。
・ 据え置き型のPC(Personal Computer)、ラップトップPC
・ スマートフォン、タブレット等のハンドヘルド型の携帯端末
・ ユーザに装着されるウェアラブル端末(腕時計型、眼鏡型など)
端末10は、通信IF(Interface)12と、入力装置13と、出力装置14と、メモリ15と、ストレージ16と、プロセッサ19とを備える。
【0017】
通信IF12は、端末10が外部の装置と通信するため、信号を入出力するためのインタフェースである。
【0018】
入力装置13は、ユーザからの入力操作を受け付けるための装置(例えば、タッチパネル、タッチパッド、マウス等のポインティングデバイス、キーボード等)である。
【0019】
出力装置14は、ユーザに対して情報を提示するための装置(ディスプレイ、スピーカ等)である。
【0020】
メモリ15は、プログラム、および、プログラム等で処理されるデータ等を一時的に記憶するためのものであり、例えばDRAM(Dynamic Random Access Memory)等の揮発性のメモリである。プログラムは、コンピュータが読み取り可能な非一時的な記録媒体(Non-Transitory Computer-Readable Medium)として提供されてもよいし、外部のサーバからダウンロード可能に提供されてもよいし、外部のコンピュータで当該プログラムを起動させてクライアント端末でその機能を実現(いわゆるクラウドコンピューティング)するように提供されてもよい。
【0021】
ストレージ16は、データを保存するためのものであり、例えばフラッシュメモリ、HDD(Hard Disc Drive)である。
【0022】
プロセッサ19は、プログラムに記述された命令セットを実行するためのハードウェアであり、演算装置、レジスタ、周辺回路等により構成される。
【0023】
サーバ20は、サービス提供者と、サービス利用者とに対し、セキュリティチェックシートによる質問と回答を容易にするセキュリティチェックサービスを各ユーザに提供するための装置である。
【0024】
サーバ20は、通信IF22と、入出力IF23と、メモリ25と、ストレージ26と、プロセッサ29とを備える。
【0025】
通信IF22は、サーバ20が外部の装置と通信するため、信号を入出力するためのインタフェースである。
【0026】
入出力IF23は、ユーザからの入力操作を受け付けるための入力装置、及び、ユーザに対し、情報を提示するための出力装置とのインタフェースとして機能する。
【0027】
メモリ25は、プログラム、及び、プログラム等で処理されるデータ等を一時的に記憶するためのものであり、例えばDRAM(Dynamic Random Access Memory)等の揮発性のメモリである。
【0028】
ストレージ26は、データを保存するためのものであり、例えばフラッシュメモリ、HDD(Hard Disc Drive)である。
【0029】
プロセッサ29は、プログラムに記述された命令セットを実行するためのハードウェアであり、演算装置、レジスタ、周辺回路等により構成される。
【0030】
人工知能のサービスサーバ92は、学習処理により構築された学習モデルを備えるAI(Artificial Intelligence)であって、生成AIを含んでもよく、学習モデルによってタスクを実行する。人工知能のサービスサーバ92は、学習モデルとして、言語モデルを用いてサービスを提供してもよく、言語モデルを用いて言語処理タスクを実行するサーバであるとしてもよい。人工知能のサービスサーバ92は、外部の装置から、人工知能のサービスを実行する要求を受け付けて、処理結果を応答する。人工知能のサービスサーバ92は、LLM(Large Language Model)として構築されていてもよく、外部の装置からの要求に応じて、言語処理タスクを実行して、処理結果を応答する。LLMは、大規模なデータ(テキストデータ等)、例えば、(i)インターネット上にあるWebコンテンツを事前に大量に学習した学習済みモデル、または、(ii)所定のデータベースに蓄積されたデータを事前に大量に学習した学習済みモデルであり、タスクを与えることで様々な言語処理タスクを実行することができるものである。また、LLMのような汎用的な学習モデルは、特定のタスクのための追加の学習を行ってファインチューニングされてもよく、One-shot LearningやFew-shot Learning等により、ファインチューニングなしで様々なタスクに対応可能な言語モデルを含む。また、学習モデルは、Zero-shot Learningによっても、様々なタスクに対応可能に構成されてもよい。
【0031】
人工知能のサービスサーバ92は、テキスト、画像、音声等によるプロンプトの入力を受け付けて、プロンプトに対する回答を生成して応答する。LLMの例としては、OpenAI社が開発したGPT-3、GPT-4、Google社が開発したBERT等が挙げられる。本実施形態では、人工知能のサービスサーバ92は、以下のようにして、セキュリティについてのチェック項目に応じた質問に対し、回答を生成する。
【0032】
(i)セキュリティ分野に限らず大規模なデータを大量に学習した学習済みモデルとしてLLMが構築されている。人工知能のサービスサーバ92が、セキュリティについてのチェック項目に応じた質問と、その質問に対する回答とを蓄積したデータベースから、一部(または全部)の質問及び回答を取得して(例えば、プロンプトにおいて、参照すべきデータが指定されている)、入力される質問に対する回答を生成する。この場合、人工知能のサービスサーバ92は、チェック項目に応じた質問を入力とし、入力された質問に対する回答を出力する指示を含むプロンプトを取得し、学習済みモデルに入力し、質問に対する回答を学習済みモデルに出力させる。例えば、人工知能のサービスサーバ92に対し、データベースから抽出される一部の質問及び回答を参照して、入力される質問文に対応する回答を検索し、検索結果を、予め定められた文字数で要約することで、入力される質問文に対応する回答を新たに生成する。
【0033】
(ii)セキュリティ分野のデータを大量に学習した学習済みモデルとしてLLMが構築されている。人工知能のサービスサーバ92は、例えば、セキュリティ分野のデータとして、インターネット上にある情報(様々なサービスの規約など)を学習用のデータとして、大量に学習することで大規模言語モデルを構築する。人工知能のサービスサーバ92が、セキュリティについてのチェック項目に応じた質問を受け付けて、その質問に対する回答を生成する。
【0034】
以上のようにして、人工知能のサービスサーバ92は、セキュリティについてのチェック項目に応じた質問を受け付けて、学習済みモデルにより、質問に対する回答を生成する。
【0035】
サービス提供者のウェブサーバ94は、ユーザに対し、ウェブサービスとしてサービスを提供する。サービス提供者のウェブサーバ94は、ユーザがサービスを利用するために参照すべき情報として、サービスの規約、Q&A、操作するためのマニュアル、ユーザ同士でサービスについてテキスト等でコミュニケーションするための掲示板等の情報を保持している。サーバ20は、サービス提供者のウェブサーバ94と通信することにより、サービスについての規約、Q&A等の情報を取得することができる。
【0036】
(iii)人工知能のサービスサーバ92において、LLMとしては構築されていないが、学習用のデータを受け付けて学習済みモデルを生成し、他の装置からの要求に応じて、入力されたデータに対して学習済みモデルが出力する出力結果を応答するサービスを提供していることとしてもよい。
【0037】
本実施形態において、各装置において、教師あり学習、教師なし学習、又は自己教師あり学習等の学習方法によって構築された学習済みモデルを有してもよい。教師あり学習では、教師データ(学習データ)を用いて機械学習を行う。教師データは、学習用の入力データ及び出力データ(正解データ)のペアで構成される。また、言語モデルは、特定のタスクのために訓練されたものだけでなく、幅広いタスクに対して汎用的に用いることができる汎用モデルであってもよい。
【0038】
<1.2 サーバ20の機能的な構成>
図2は、サーバ20の構成を示す図である。
図2に示すように、サーバ20は、通信部201と、記憶部202と、制御部203としての機能を発揮する。
【0039】
通信部201は、サーバ20が外部の装置と通信するための処理を行う。
【0040】
記憶部202は、事業者データベース211、利用者データベース212、質問リスト取得データベース213、回答データベース214、質問群データベース215、学習済みモデルデータベース216、ベクトルデータベース217、LLM利用履歴データベース218、調査依頼データベース221、回答送信データベース222等の各種データベースを記憶する。
【0041】
事業者データベース211は、サービス提供者のユーザを管理するためのデータベースである。
【0042】
事業者データベース211は、サービス提供者それぞれの識別情報、サービスの識別情報その他の情報を含む。詳細は後述する。
【0043】
利用者データベース212は、サービス利用者のユーザを管理するためのデータベースである。
【0044】
利用者データベース212は、サービス利用者の識別情報その他の情報を含む。詳細は後述する。
【0045】
質問リスト取得データベース213は、サービス提供者がサーバ20にアップロードしたデータとして、セキュリティのチェック項目に対応した質問を含むデータを管理するためのデータベースである。
【0046】
質問リスト取得データベース213は、アップロードした日時、アップロードしたデータの内容その他の情報を含む。詳細は後述する。
【0047】
回答データベース214は、セキュリティの質問に対する回答を管理するためのデータベースである。
【0048】
回答データベース214は、質問及び回答、その他の情報を含む。サーバ20は、これら質問及び回答からなるリストを学習用のデータとして、質問の入力に対する回答を出力する学習済みモデルを生成する。詳細は後述する。
【0049】
質問群データベース215は、関連する質問を質問群として管理するためのデータベースである。
【0050】
質問群データベース215は、質問群に含まれる複数の質問に、順序または主従関係をつけて質問群を管理している。詳細は後述する。
【0051】
学習済みモデルデータベース216は、質問の入力に対して回答を出力する学習済みモデルを管理するためのデータベースである。
【0052】
学習済みモデルデータベース216は、学習済みモデルが生成された時期その他の情報を管理している。詳細は後述する。
【0053】
ベクトルデータベース217は、回答データベース214等で管理されている質問及び回答に対し、新たな質問が入力された際に内容が一定程度近い質問とマッチングさせるために生成されるベクトル(質問のベクトル)を管理するためのデータベースである。
【0054】
ベクトルデータベース217は、質問それぞれについてのベクトルその他の情報を含む。詳細は後述する。
【0055】
LLM利用履歴データベース218は、人工知能のサービスサーバ92を利用して、質問に対する回答を生成させた履歴を管理するためのデータベースである。
【0056】
LLM利用履歴データベース218は、入力された質問文、抽出された質問、人工知能のサービスサーバ92により生成された回答その他の情報を含む。詳細は後述する。
【0057】
調査依頼データベース221は、サービス利用者から、サービス提供者に対し、セキュリティについての質問を調査依頼として受け付けた履歴を管理するためのデータベースである。
【0058】
調査依頼データベース221は、調査依頼がされたサービスその他の情報を含む。詳細は後述する。
【0059】
回答送信データベース222は、サービス提供者が、サービス利用者に対し、セキュリティについての質問に回答をした履歴を管理するためのデータベースである。
【0060】
制御部203は、プロセッサ29が記憶部202に記憶されるプログラムを読み込み、プログラムに含まれる命令を実行することにより実現される。制御部203は、プログラムに従って動作することにより、受信制御モジュール2041、送信制御モジュール2042、ユーザ管理モジュール2043、質問回答管理モジュール2044、回答生成モジュール2045、学習処理モジュール2046、調査依頼処理モジュール2047として示す機能を発揮する。
【0061】
受信制御モジュール2041は、サーバ20が外部の装置から通信プロトコルに従って信号を受信する処理を制御する。
【0062】
送信制御モジュール2042は、サーバ20が外部の装置に対し通信プロトコルに従って信号を送信する処理を制御する。
【0063】
ユーザ管理モジュール2043は、サーバ20が提供するサービスを利用するユーザの登録を受け付けて、事業者データベース211、利用者データベース212を更新する処理を行う。
【0064】
質問回答管理モジュール2044は、質問リスト取得データベース213で管理される質問及び回答、回答データベース214で管理される質問及び回答についての操作(質問のアップロード、回答の入力など)をユーザから受け付けて、質問リスト取得データベース213、回答データベース214を更新する処理を行う。
【0065】
回答生成モジュール2045は、質問に対する回答を、学習済みモデルを利用して生成させる処理を行う。
【0066】
学習処理モジュール2046は、質問及び回答からなるデータセットを学習用のデータとして、学習済みモデルを生成して、学習済みモデルデータベース216を更新する処理を行う。
【0067】
調査依頼処理モジュール2047は、サービス利用者からのセキュリティについての質問を調査依頼として受け付けて調査依頼データベース221を更新し、回答送信データベース222を参照して、サービス提供者からの回答をサービス利用者へ提供する処理を行う。
【0068】
<1.3 端末10の構成>
図3は、サービス提供者のユーザの端末10の構成を示す図である。
【0069】
図3に示すように、端末10は、複数のアンテナ(アンテナ111、アンテナ112)と、各アンテナに対応する通信部(第1通信部120、第2通信部121)と、入力装置130(タッチ・センシティブ・デバイス131を含む)と、ディスプレイ132と、音声処理部140と、マイク141と、スピーカ142と、位置情報センサ150と、カメラ160と、モーションセンサ170と、記憶部180と、制御部190と、を含む。端末10は、
図3では特に図示していない機能及び構成(例えば、電力を保持するためのバッテリ、バッテリから各回路への電力の供給を制御する電力供給回路など)も有している。
図3に示すように、端末10に含まれる各ブロックは、バス等により電気的に接続される。
【0070】
アンテナ111は、端末10が発する信号を電波として放射する。また、アンテナ111は、空間から電波を受信して受信信号を第1通信部120へ与える。
【0071】
アンテナ112は、端末10が発する信号を電波として放射する。また、アンテナ112は、空間から電波を受信して受信信号を第2通信部121へ与える。
【0072】
第1通信部120は、端末10が他の無線機器と通信するため、アンテナ111を介して信号を送受信するための変復調処理などを行う。第2通信部121は、端末10が他の無線機器と通信するため、アンテナ112を介して信号を送受信するための変復調処理などを行う。第1通信部120と第2通信部121とは、チューナー、RSSI(Received Signal Strength Indicator)算出回路、CRC(Cyclic Redundancy Check)算出回路、高周波回路などを含む通信モジュールである。第1通信部120と第2通信部121とは、端末10が送受信する無線信号の変復調、周波数変換等を行い、受信信号を制御部190へ与える。
【0073】
入力装置130は、ユーザの入力操作を受け付けるための機構を有する。具体的には、入力装置130は、タッチスクリーンとして構成され、タッチ・センシティブ・デバイス131を含む。タッチ・センシティブ・デバイス131は、端末10のユーザの入力操作を受け付ける。タッチ・センシティブ・デバイス131は、例えば静電容量方式のタッチパネルを用いることによって、タッチパネルに対するユーザの接触位置を検出する。タッチ・センシティブ・デバイス131は、タッチパネルにより検出したユーザの接触位置を示す信号を入力操作として制御部190へ出力する。
【0074】
ディスプレイ132は、制御部190の制御に応じて、画像、動画、テキストなどのデータを表示する。ディスプレイ132は、例えばLCD、有機ELディスプレイ等によって実現される。
【0075】
音声処理部140は、音声信号の変復調を行う。音声処理部140は、マイク141から与えられる信号を変調して、変調後の信号を制御部190へ与える。また、音声処理部140は、音声信号をスピーカ142へ与える。音声処理部140は、例えば音声処理用のプロセッサによって実現される。マイク141は、音声入力を受け付けて、当該音声入力に対応する音声信号を音声処理部140へ与える。スピーカ142は、音声処理部140から与えられる音声信号を音声に変換して当該音声を端末10の外部へ出力する。
【0076】
位置情報センサ150は、端末10の位置を検出するセンサであり、例えばGPS(Global Positioning System)モジュールである。GPSモジュールは、衛星測位システムで用いられる受信装置である。衛星測位システムでは、少なくとも3個または4個の衛星からの信号を受信し、受信した信号に基づいて、GPSモジュールが搭載される端末10の現在位置を検出する。
【0077】
カメラ160は、受光素子により光を受光して、撮影画像として出力するためのデバイスである。カメラ160は、例えば、カメラ160から撮影対象までの距離を検出できる深度カメラである。
【0078】
モーションセンサ170は、加速度センサ、角速度センサ等を含み、端末10の動きを検出する。
【0079】
記憶部180は、例えばフラッシュメモリ等により構成され、端末10が使用するデータおよびプログラムを記憶する。記憶部180が記憶する各種情報については後述する。
【0080】
制御部190は、記憶部180に記憶されるプログラムを読み込んで、プログラムに含まれる命令を実行することにより、端末10の動作を制御する。制御部190は、例えばアプリケーションプロセッサである。制御部190は、プログラムに従って動作することにより、操作受付部191と、送受信部192と、データ処理部193と、報知制御部194と、記憶制御部195としての機能を発揮する。
【0081】
操作受付部191は、タッチ・センシティブ・デバイス131等の入力装置に対するユーザの入力操作を受け付ける処理を行う。操作受付部191は、タッチ・センシティブ・デバイス131に対してユーザが指などを接触させた座標の情報に基づき、ユーザの操作がフリック操作であるか、タップ操作であるか、ドラッグ(スワイプ)操作であるか等の操作の種別を判定する。
【0082】
送受信部192は、端末10が、サーバ20等の外部の装置と、通信プロトコルに従ってデータを送受信するための処理を行う。
【0083】
データ処理部193は、端末10が入力を受け付けたデータに対し、プログラムに従って演算を行い、演算結果をメモリ等に出力する処理を行う。
【0084】
報知制御部194は、表示画像をディスプレイ132に表示させる処理、音声をスピーカ142に出力させる処理、振動を発生させる処理を行う。
【0085】
記憶制御部195は、記憶部180に対するデータの記憶を制御する。
【0086】
記憶部180が記憶する各種情報について説明する。ある局面において、記憶部180は、ユーザ情報181、質問回答リスト182、回答送信履歴183等の各情報を記憶する。
【0087】
ユーザ情報181は、サーバ20のサービスを利用する、サービス提供者のユーザの情報である。
【0088】
質問回答リスト182は、サービス提供者として、サービス利用者からのセキュリティの質問に対して回答をしたセキュリティチェックシートの情報である。
【0089】
回答送信履歴183は、サービス利用者に対して、セキュリティチェックシートを提供することで、セキュリティについての質問に回答をした履歴の情報である。
【0090】
<2 データ構造>
図4は、サービス提供者のユーザのデータベースである事業者データベース211のデータ構造を示す図である。
【0091】
事業者データベース211は、項目「ユーザID」と、項目「サービス提供者ID」と、項目「サービスID」と、項目「ユーザ名」と、項目「部署」と、項目「役職」と、項目「メールアドレス」と、を含む。
【0092】
項目「ユーザID」は、各ユーザを識別する情報である。
【0093】
具体的には、項目「ユーザID」は、サービス提供者のユーザを識別する情報を含む。
【0094】
項目「サービス提供者ID」は、各サービス提供者を識別する情報である。
【0095】
具体的には、項目「サービス提供者ID」は、サービス提供者として、以下のような事業者についての識別情報を含む。
・サービスを開発している事業者
・サービスを運営または販売している事業者
・サービスの開発、運営を行う事業者と資本関係がある事業者(親会社等)
項目「サービスID」は、各サービスを識別する情報である。
【0096】
具体的には、項目「サービスID」は、セキュリティチェックシートによる質問及び回答の対象となるサービスそれぞれに割り当てられる識別情報を含む。
【0097】
サーバ20は、サービス提供者のユーザの操作に応じて、サービスのバージョン、または、サービスの主要なアップデートごとに識別情報を割り当ててもよく、例えば、サービスに主要なアップデートがあった場合は、アップデート前の当該サービスに割り当てられた識別情報とは異なる識別情報を、アップデート後の当該サービスに割り当て、別の識別情報で管理することとしてもよい。
【0098】
項目「ユーザ名」は、サービス提供者に所属するユーザの名前を示す情報である。
【0099】
項目「部署」は、ユーザが所属する部署の情報である。
【0100】
項目「役職」は、ユーザの役職を示す情報である。
【0101】
項目「メールアドレス」は、ユーザの連絡先として、ユーザのメールアドレスの情報である。
【0102】
図5は、サービス利用者のユーザのデータベースである利用者データベース212のデータ構造を示す図である。
【0103】
利用者データベース212は、項目「ユーザID」と、項目「サービス利用者ID」と、項目「ユーザ名」と、項目「部署」と、項目「役職」と、項目「メールアドレス」と、を含む。
【0104】
項目「ユーザID」は、各ユーザを識別する情報である。
【0105】
具体的には、項目「ユーザID」は、サービス利用者のユーザを識別する情報を含む。
【0106】
項目「サービス利用者ID」は、各サービス利用者を識別する情報である。
【0107】
具体的には、項目「サービス利用者ID」は、サービス利用者として、以下のような事業者についての識別情報を含む。
・サービスを利用している事業者
・サービスの販売代理をしている事業者
・サービスを利用している事業者等と資本関係がある事業者(親会社等)
項目「ユーザ名」は、サービス利用者に所属するユーザの名前を示す情報である。
【0108】
項目「部署」は、サービス利用者のユーザが所属する部署の情報である。
【0109】
項目「役職」は、ユーザの役職を示す情報である。
【0110】
項目「メールアドレス」は、ユーザの連絡先として、ユーザのメールアドレスの情報である。
【0111】
図6は、質問リスト取得データベース213のデータ構造を示す図である。
【0112】
質問リスト取得データベース213は、項目「リストID」と、項目「サービス提供者ID」と、項目「サービスID」と、項目「アップロード日時」と、項目「アップロード者」と、項目「アップロードデータ」と、項目「参照元リンク」とを含む。
【0113】
項目「リストID」は、サーバ20が受け付けた質問リストそれぞれを識別する情報である。
【0114】
項目「サービス提供者ID」は、各サービス提供者を識別する情報である。
【0115】
項目「サービスID」は、各サービスを識別する情報である。
【0116】
項目「アップロード日時」は、サーバ20が質問リストのアップロードを受け付けたタイミングを示す情報である。
【0117】
項目「アップロード者」は、サーバ20に質問リストのアップロードを行ったユーザを識別する情報である。
【0118】
項目「アップロードデータ」は、サーバ20がアップロードを受け付けたデータである。
【0119】
具体的には、項目「アップロードデータ」は、サーバ20がアップロードを受け付けるデータとして、以下を含む。
・サービス提供者が過去に作成したセキュリティチェックシート(質問と回答とが関連付けられてリストとなっているシートなど)
・サービスやサービス提供者に関連するインターネット上のWebページ(URL)に示される情報(Webサイト閲覧用のファイルなど)
・サービスやサービス提供者に関連する規約文書(プライバシーポリシー、利用規約など)
サーバ20が受け付けるデータは、質問について回答が関連付けられている表形式のデータを含む。サーバ20が受け付けるデータは、質問が設定されているが回答が設定されていないものを含み得る。サーバ20は、表形式のデータとして、表計算のアプリケーション(端末にインストールされて実行されるアプリケーション、クラウドサービスとして提供されるアプリケーション等)によってファイルとして出力される構造化データ(CSV形式のような汎用的なファイル形式、特定のアプリケーションによって出力されるファイル形式など)をアップロードすると、そのままの形式で表を表示でき、ユーザが行や列を選択する操作、コピーする操作、ペーストする操作を実行可能な画面をユーザに提供する。詳細は後述する。
【0120】
項目「参照元リンク」は、サーバ20がデータを取得した取得元を参照するための情報である。
【0121】
具体的には、項目「参照元リンク」は、以下のページへのリンクを含み得る。
・Webページ
・オンラインストレージサービスに格納されたファイルを共有するために設定されるリンク
図7は、回答データベース214のデータ構造を示す図である。
【0122】
回答データベース214は、項目「回答リストID」と、項目「サービス提供者ID」と、項目「サービスID」と、項目「回答作成日時」と、項目「回答作成者」と、項目「回答承認者」と、項目「回答承認日時」と、項目「質問ID」と、項目「質問カテゴリ」と、項目「質問文」と、項目「回答文」とを含む。
【0123】
項目「回答リストID」は、サービス提供者が設定した回答リストを識別する情報である。当該回答リストは、後述するように、端末10においても、質問回答リスト182として保持され得る。
【0124】
項目「サービス提供者ID」は、各サービス提供者を識別する情報である。
【0125】
項目「サービスID」は、各サービスを識別する情報である。
【0126】
項目「回答作成日時」は、回答リストとして作成または保存したタイミングを示す情報である。
【0127】
項目「回答作成者」は、回答リストを保存したユーザを示す情報である。
【0128】
項目「回答承認者」は、回答リストを承認したユーザを示す情報である。
【0129】
項目「回答承認日時」は、回答リストを承認するユーザが、承認を行ったタイミングを示す情報である。
【0130】
項目「質問ID」は、質問それぞれを識別する情報である。
【0131】
項目「質問カテゴリ」は、質問に割り当てられたカテゴリを示す情報である。
【0132】
具体的には、項目「質問カテゴリ」は、各質問に対し、ユーザによって割り当てられたカテゴリ、または、サーバ20が質問文から推定したカテゴリの情報を含む。
【0133】
質問に割り当てられるカテゴリは、予めサーバ20によりサービスを提供する事業者、または、サーバ20によりセキュリティチェックサービスを提供する事業者によって定義されたカテゴリ群から選択されることとしてもよい。
【0134】
このように、質問文にカテゴリを付与して回答リストとして蓄積していたとする。サーバ20は、新たな質問があって回答を生成するときに、新たな質問とカテゴリが類似する質問文を特定することで回答の精度をより一層向上させることができる。
【0135】
項目「質問文」は、質問文の内容を示す情報である。
【0136】
項目「回答文」は、回答文の内容を示す情報である。
【0137】
図8は、関連する質問を質問群として管理するための質問群データベース215のデータ構造を示す図である。
【0138】
質問群データベース215は、項目「質問群ID」と、項目「主となる質問の質問ID」と、項目「主となる質問への回答内容」と、項目「従となる質問の質問ID」と、項目「従となる質問への回答内容」とを含む。
【0139】
項目「質問群ID」は、関連する複数の質問からなる質問群を識別する情報である。
【0140】
項目「主となる質問の質問ID」は、質問群に含まれる質問のうち、回答を設定することで他の質問への回答を生成することができる質問(主となる質問)を識別する情報である。
【0141】
項目「主となる質問への回答内容」は、主となる質問への回答の内容を示す情報である。
【0142】
項目「従となる質問の質問ID」は、質問群に含まれる質問のうち、他の質問(主となる質問)に回答が設定されることで質問への回答を生成することができる質問(従となる質問)を識別する情報である。
【0143】
項目「従となる質問への回答内容」は、従となる質問への回答の内容を示す情報である。
【0144】
図9は、質問の入力に対して回答を出力する学習済みモデルを管理するための学習済みモデルデータベース216のデータ構造を示す図である。
【0145】
学習済みモデルデータベース216は、項目「学習済みモデルID」と、項目「サービス提供者ID」と、項目「サービスID」と、項目「学習日時」と、項目「回答リストID」と、項目「利用可否」と、項目「利用可能時期」とを含む。
【0146】
項目「学習済みモデルID」は、質問の入力に対して回答を出力するように学習される学習済みモデルを識別する情報である。
【0147】
項目「サービス提供者ID」は、学習済みモデルを適用してセキュリティに関する質問への回答を生成する対象となるサービスのサービス提供者を識別する情報である。
【0148】
項目「サービスID」は、学習済みモデルを適用してセキュリティに関する質問への回答を生成する対象となるサービスを識別する情報である。
【0149】
項目「学習日時」は、学習済みモデルを学習させた時期を示す情報である。
【0150】
項目「回答リストID」は、学習済みモデルを学習させるための学習データとなる回答リストそれぞれを識別する情報である。
【0151】
項目「利用可否」は、学習済みモデルにより質問の入力に対して回答を出力することを許可するか否かの設定を示す情報である。
【0152】
具体的には、項目「利用可否」は、サービス提供者のユーザから、学習済みモデルの利用可否の設定を受け付けた結果を格納することとしてもよい。
【0153】
例えば、回答データベース214に格納される質問及び回答を更新することで、更新前のデータにより学習させた学習済みモデルの利用を停止したいことがあり得る。
【0154】
サーバ20は、回答データベース214に格納される質問及び回答が更新されることにより、学習処理モジュール2046により学習をさせて得られた学習済みモデルを学習済みモデルデータベース216に登録しつつ、更新前のデータに基づき学習された学習済みモデルを利用停止するよう設定してもよい。
【0155】
項目「利用可能時期」は、学習済みモデルを利用できる期間を示す情報である。
【0156】
具体的には、項目「利用可能時期」は、サービス提供者のユーザから、学習済みモデルを利用する期間の設定を受け付けた結果を格納することとしてもよい。サーバ20は、学習済みモデルを利用できる期間であれば、当該学習済みモデルにより、回答を生成させることができる。
【0157】
例えば、回答データベース214に格納する質問及び回答を更新する時期をユーザが定めている場合、更新後は、更新前のデータに基づき学習させた学習済みモデルを利用できないようにしたいことがあり得る。サーバ20は、学習済みモデルを利用できる期間が到来することにより、学習済みモデルの利用可否の設定を「利用不可」とすることとしてもよい。
【0158】
また、サーバ20は、学習済みモデルを利用できる期間が到来するより前であれば、設定に基づき、学習済みモデルを利用できないようにすることができる。
【0159】
図10は、質問及び回答からなるデータセットのベクトルを管理するためのベクトルデータベース217のデータ構造を示す図である。
【0160】
ベクトルデータベース217は、項目「質問ID」と、項目「サービス提供者ID」と、項目「サービスID」と、項目「回答リストID」と、項目「語を付加後の質問文」と、項目「ベクトル」と、項目「質問文」と、項目「回答文」と、項目「回答利用可否」とを含む。
【0161】
項目「質問ID」は、質問それぞれを識別する情報である。
【0162】
項目「サービス提供者ID」は、各サービス提供者を識別する情報である。
【0163】
項目「サービスID」は、各サービスを識別する情報である。
【0164】
項目「回答リストID」は、サービス提供者が設定した回答リストを識別する情報である。
【0165】
項目「語を付加後の質問文」は、質問に含まれる語に対して、セキュリティチェックシート用の辞書データを用いて、同義語、類義語、関連語、略語を付加した質問文を示す情報である。辞書データを用いて語彙を追加する処理については
図20等の説明で後述する。
【0166】
項目「ベクトル」は、辞書データに基づき語が追加された質問及び回答からなるデータをベクトル化することで得られるベクトルを示す情報である。つまり、ベクトルデータベース217は、元の質問文と、対応するベクトルとをセットで記憶している。
【0167】
具体的には、項目「ベクトル」は、質問及び回答からなる文章について、Word2Vec等の手法によりベクトル化したベクトルを格納する。
【0168】
項目「質問文」は、質問IDに示される質問文の情報である。
【0169】
項目「回答文」は、質問IDに示される質問への回答を示す情報である。
【0170】
項目「回答利用可否」は、新たな質問の入力に対し、ベクトルデータベース217に格納される質問及び回答を根拠として、人工知能のサービスサーバ92により回答を生成することを許可するか否かの設定を示す情報である。
【0171】
具体的には、項目「回答利用可否」は、サービス提供者のユーザから、回答を生成することを許可するか否かの設定を受け付けて、その結果を格納する。
【0172】
例えば、質問または回答の内容を更新することに伴い、回答の生成に用いられなくなることがあり得る。
【0173】
また、サービス提供者の将来の運用変更に伴い質問または回答の内容を変更することが予定される場合に、予め質問及び回答を登録しておきつつ、まだ回答の生成に用いることがふさわしくないことがあり得る。
【0174】
図11は、人工知能のサービスサーバ92の利用履歴を示すLLM利用履歴データベース218のデータ構造を示す図である。
【0175】
LLM利用履歴データベース218は、項目「利用履歴ID」と、項目「質問ID」と、項目「入力された質問文」と、項目「回答リストID」と、項目「LLM利用日時」と、項目「根拠とした質問文の質問ID」と、項目「プロンプト」と、項目「LLM出力結果」とを含む。
【0176】
項目「利用履歴ID」は、人工知能のサービスサーバ92を利用して回答を生成した履歴を識別する情報である。
【0177】
項目「質問ID」は、質問それぞれを識別する情報である。
【0178】
項目「入力された質問文」は、質問として入力された内容を示す情報である。
【0179】
項目「回答リストID」は、サービス提供者が設定した回答リストを識別する情報である。
【0180】
項目「LLM利用日時」は、人工知能のサービスサーバ92を利用して回答を生成したタイミングを示す情報である。
【0181】
項目「根拠とした質問文の質問ID」は、回答を生成するために、人工知能のサービスサーバ92への入力に用いた質問の質問IDを示す情報である。
【0182】
具体的には、項目「根拠とした質問文の質問ID」は、サーバ20が、質問として入力された内容をベクトル化して、ベクトルデータベース217に格納される各質問及び回答のベクトルとマッチングさせ(同種の質問であるか判定し)、マッチングにより得られた質問の質問IDを含む。
【0183】
項目「プロンプト」は、人工知能のサービスサーバ92に回答を生成させるために送信したプロンプトを示す情報である。
【0184】
具体的には、項目「プロンプト」は、ユーザから受け付けた質問文への回答を生成するよう指示すること、回答の生成に際して参照すべきデータ(回答データベース214に含まれるデータ等)、回答データベース214から抽出した質問及び回答を考慮または要約して回答を生成すること、等の指示を含むプロンプトを保持する。
【0185】
項目「LLM出力結果」は、人工知能のサービスサーバ92が生成した回答の内容を示す情報である。
【0186】
図12は、ユーザからのセキュリティについての調査依頼を管理するための調査依頼データベース221のデータ構造を示す図である。
【0187】
調査依頼データベース221は、項目「依頼ID」と、項目「サービスID」と、項目「サービス利用者ID」と、項目「ユーザID」と、項目「依頼日時」とを含む。
【0188】
項目「依頼ID」は、サービス利用者がサービス提供者にセキュリティに関する質問への回答を依頼する依頼それぞれを識別する情報である。
【0189】
項目「サービスID」は、セキュリティに関する質問への回答を依頼する対象となるサービスを識別する情報である。
【0190】
項目「サービス利用者ID」は、依頼をするサービス利用者を識別する情報である。
【0191】
項目「ユーザID」は、依頼をするサービス利用者のユーザを識別する情報である。
【0192】
項目「依頼日時」は、依頼をしたタイミングを示す情報である。
【0193】
図示していないが、調査依頼データベース221は、依頼IDと関連付けて、サービス利用者による依頼内容のデータ(例えば、セキュリティに関する質問を含むセキュリティチェックシート)を格納している。
【0194】
図13は、ユーザからの調査依頼に対するサービス提供者の回答を管理するための回答送信データベース222のデータ構造を示す図である。
【0195】
回答送信データベース222は、項目「回答送信ID」と、項目「依頼ID」と、項目「回答日時」と、項目「回答者」と、項目「回答内容」とを含む。
【0196】
項目「回答送信ID」は、セキュリティに関する質問への回答の依頼に対してサービス提供者が行った回答を識別する情報である。
【0197】
項目「依頼ID」は、回答をする対象となった、サービス利用者の依頼を識別する情報である。
【0198】
項目「回答日時」は、回答をしたタイミングを示す情報である。
【0199】
項目「回答者」は、回答を行ったユーザを識別する情報である。
【0200】
項目「回答内容」は、回答の内容を示す情報である。
【0201】
具体的には、項目「回答内容」は、回答の内容として、以下を含み得る。
・セキュリティチェックシートにおけるセキュリティについての質問に対する回答
<3 動作>
図14は、サービス提供者のユーザから、セキュリティについての質問を含む質問リスト、特に、全部又は一部の質問に対し過去に回答を入力済みの質問リストを取得する処理の流れを示すフローチャートである。
【0202】
ステップS1421において、サーバ20の質問回答管理モジュール2044は、端末10と通信することにより、サービス提供者のユーザに対し、セキュリティチェックシート等の質問リストのアップロード状況を提示しつつ、質問と回答とからなるデータの指定をユーザから受け付ける画面を提示する。
【0203】
サーバ20の質問回答管理モジュール2044は、データの指定として、セキュリティチェックシート、回答のマニュアル等のファイルのアップロード、規約を閲覧できる参照先のリンク(URL等)の指定を受け付ける画面をユーザに提示する。
【0204】
ステップS1411において、端末10は、セキュリティに関するチェック項目についての質問と回答とからなるデータとして、表計算等のファイル(例えば、過去に回答入力済みのセキュリティチェックシートのファイル)のアップロード、URL(例えば、過去に回答入力済みのセキュリティチェックシートのファイルが保管されたクラウドサービス上の場所を示すURL)の指定をユーザから受け付ける。
【0205】
端末10は、ユーザから受け付けた指定にかかるデータをサーバ20へ送信する。
【0206】
ステップS1423において、サーバ20の質問回答管理モジュール2044は、ユーザから受け付けたデータに基づき質問リスト取得データベース213を更新する。
【0207】
ステップS1425において、サーバ20の質問回答管理モジュール2044は、質問リスト取得データベース213を参照し、ユーザがサーバ20のサービスに蓄積させた、セキュリティチェックシート等のデータの蓄積状況を提示する。
【0208】
サーバ20の質問回答管理モジュール2044は、ユーザがアップロードしたファイル等のデータの履歴を表示して、それぞれのファイル等に対し、削除、ダウンロード等の操作を受け付ける画面を提示する。
【0209】
これにより、端末10のユーザは、サーバ20においてセキュリティチェックシート等のセキュリティに関する質問及び回答の情報を蓄積させた履歴を確認することができる。
【0210】
図15は、蓄積される質問リストをユーザに提示して、回答の入力を受け付ける処理の流れを示すフローチャートである。
【0211】
ステップS1521において、サーバ20の質問回答管理モジュール2044は、質問リスト取得データベース213を参照し、取得した各質問について質問の内容に基づき重複しているか判定する。質問回答管理モジュール2044は、以下のようにして、質問の内容が重複しているか判定する。
・ 質問文及び回答文をWord2Vec等の手法によりベクトル化し、各質問文のベクトルを比較して、2つのベクトルの距離が、所定の閾値より近ければ質問の内容が重複している同種の質問であると判定する。ベクトルの類似度を測る指標としては、コサイン類似度を用いてもよい
・ 質問文に含まれる単語を抽出し、単語の重複度合い、単語の並び順の一致度合いを判定して、一定程度に達する場合は(単語の重複度合いが所定割合以上である等)、質問の内容が重複していると判定する
サーバ20の質問回答管理モジュール2044は、質問ごとに、質問が重複している件数をカウントする。
【0212】
ステップS1523において、サーバ20の質問回答管理モジュール2044は、質問ごとに、カテゴリと、質問文と、回答文と、質問が重複しているか否か、質問が重複している件数等を関連付けて、回答の入力を受付可能に表形式でユーザに提示する。
【0213】
ステップS1511において、端末10は、質問ごとに、カテゴリ、質問文、回答、蓄積されたデータとの比較状況として重複している件数を表示して、カテゴリの指定、回答の入力をユーザから受け付ける。
【0214】
ステップS1525において、サーバ20の質問回答管理モジュール2044は、ユーザから受け付けた回答をもとに、質問リスト取得データベース213を更新する。
【0215】
以上により、質問に対する回答をユーザが入力することができ、後述するように学習用のデータとすることもできる。
【0216】
図16は、質問リストでユーザが指定した質問及び回答を回答データベース214に反映させる処理の流れを示すフローチャートである。
【0217】
ステップS1621において、サーバ20の質問回答管理モジュール2044は、質問リスト取得データベース213を参照し、質問ごとに、カテゴリ、質問文、回答文等を表示しつつ、各質問について学習用データとするか否かの指定を受け付ける画面を提示する。
【0218】
ステップS1611において、端末10は、質問ごとに、学習用データとするか否かの指定を受け付けて、各質問についての指定を確定させる操作を受け付ける。
【0219】
このように、端末10は、質問それぞれについて、回答データベース214に登録するか否かの操作をユーザから受け付ける。
【0220】
ステップS1623において、サーバ20の質問回答管理モジュール2044は、ユーザに指定された質問に基づき回答データベース214を更新する。
【0221】
このように、サーバ20の質問回答管理モジュール2044は、ユーザから、回答データベースに登録する質問の指定を受け付けると、受け付けた質問及び回答を、回答データベース214に登録する。
【0222】
サーバ20は、回答データベースにユーザが登録した回答について承認をするユーザがいる場合(回答を登録したユーザと承認をするユーザが同じ場合もあれば、異なる場合もある)、当該ユーザに、回答について承認する画面を提示する。
【0223】
ステップS1613において、端末10は、回答を承認するユーザから、回答を承認して回答データベースに反映させる操作を受け付ける。
【0224】
ステップS1625において、サーバ20は、ユーザによる回答の承認に基づき回答データベース214を更新する。
【0225】
図17は、学習処理により、質問の入力に対して回答を出力する学習済みモデルを生成する処理の流れを示すフローチャートである。
【0226】
ステップS1721において、サーバ20の学習処理モジュール2046は、回答データベース214に蓄積される質問及び回答を学習用のデータとして、質問の入力に対して回答を出力するように学習される学習済みモデルを生成する。学習処理モジュール2046は、生成した学習済みモデルに基づき、学習済みモデルデータベース216を更新する。学習処理モジュール2046は、学習済みモデルデータベース216に基づき、学習済みモデルの生成状況をユーザに提示する。
【0227】
ステップS1711において、端末10は、学習済みモデルの生成状況として、学習された日時等の情報を表示する。端末10は、学習済みモデルの利用可否の指定等の、学習済みモデルを管理するための操作をユーザから受け付ける。
【0228】
ステップS1723において、サーバ20の学習処理モジュール2046は、ユーザの操作に応じて、学習済みモデルデータベース216を更新する。
【0229】
ここで、学習処理モジュール2046は、学習済みモデルの利用可否の指定をユーザから受け付けることなく、学習済みモデルを新たに生成することにより、過去に生成した学習済みモデルについては利用不可とするよう学習済みモデルデータベース216を更新してもよい。
【0230】
図18は、複数の質問が関連する質問群である場合、1の質問への回答の入力で他の質問への回答を生成する処理の流れを示すフローチャートである。
【0231】
ステップS1823において、サーバ20の質問回答管理モジュール2044は、質問群データベース215を参照し、回答を受け付けた質問が、関連する質問群であるか(質問群データベース215において、主となる質問とされているか)判定する。関連する質問群であると判定される場合、質問回答管理モジュール2044は、従たる質問についてのユーザの回答内容が質問群データベース215に登録されていれば、関連する質問(従たる質問)への回答を質問群データベース215から取得する。
【0232】
ステップS1825において、サーバ20の質問回答管理モジュール2044は、関連する質問群について取得した回答をユーザに提示する。
【0233】
ステップS1815において、端末10は、関連する質問群について取得した回答を表示して、ユーザから、回答を確定させる、または、回答を編集する操作を受け付ける。
【0234】
ステップS1827において、サーバ20の質問回答管理モジュール2044は、ユーザから受け付けた回答をもとに、質問リスト取得データベース213を更新する。
【0235】
上記で説明したように、関連する質問群について質問への回答を生成する例として、以下がある。
【0236】
主たる質問として、「委託先の管理において、委託内容に応じたセキュリティ対策を再委託先とも合意しているか」、その回答として「第三者(XX社のクラウドサービス)の国内サーバにデータを保存しており、・・」と外部サービスを利用している趣旨の回答を含むとする。
【0237】
従たる質問として、「業務委託および外部サービスの利用がある場合、外部委託先を管理する方針を定めているか」のように主たる質問での回答内容を前提とする質問であるとする。この場合、サーバ20は、外部サービスを利用していることを前提とした回答、例えば「外部サービスとしてXX社のクラウドサービスを利用しており、当該XX社からの報告書を定期的に確認している」等、主たる質問への回答を踏まえた新たな回答を生成する。
【0238】
また、例えば、主たる質問として、「XX社のクラウドサービスを利用しているか」とあり、その回答として「利用している」とある場合を想定する。従たる質問として、「物理セキュリティへの対応はできているか」という質問がある場合、XX社のクラウドサービスを利用していることを前提とした回答として、XX社のクラウドサービスが物理セキュリティへの対応ができていることを踏まえた「できている」といった回答を自動で生成する。
【0239】
図19は、質問に対する回答を、学習済みモデルデータベース216で管理される学習済みモデルにより新たに回答を生成する処理の流れを示すフローチャートである。
【0240】
ステップS1913において、端末10は、回答を生成させたい質問文の入力を受け付ける。例えば、端末10は、全部または一部の質問に対する回答が未入力であるセキュリティチェクシートのアップロードを受け付ける、または、個々の質問文について、ユーザ自身による質問文の入力(コピー&ペーストによる入力、キーボード操作による入力等を含む)を受け付ける等により、回答を生成させたい質問文の入力を受け付けてサーバ20へ送信する。端末10は、回答を生成させたい各質問について、回答をユーザが入力する操作によらず、学習済みモデルにより生成させる操作をユーザから受け付ける。
【0241】
ステップS1927において、サーバ20の回答生成モジュール2045は、学習済みモデルデータベース216を参照し、回答の生成に利用できる学習済みモデルを特定する。例えば、回答生成モジュール2045は、質問に関連するサービスに向けて学習された学習済みモデルであって、学習された日時が回答を生成しようとする日時(例えば、現在時刻)と近く、利用できる設定の学習済みモデルを特定する。
【0242】
回答生成モジュール2045は、特定した学習済みモデルに質問を入力することにより、質問に対する回答を生成してユーザに提示する。
【0243】
ステップS1915において、端末10は、学習済みモデルにより生成された回答を確定させる操作、または、回答を編集する操作をユーザから受け付ける。
【0244】
ステップS1929において、サーバ20は、ユーザから受け付けた回答をもとに、質問リスト取得データベース213を更新する。
【0245】
図19では、学習済みモデルを利用して質問に対する回答を生成させる例として、学習済みモデルデータベース216で管理される学習済みモデル、すなわち、サーバ20で蓄積される質問及びそれに対応する回答を学習データ(教師データ)として、質問を入力として、それに対応する回答を出力するように学習された学習済みモデルを用いる例を説明した。この他に、学習済みモデルとして、大規模言語モデルを用いてもよく、大規模言語モデルを用いて回答を生成する例については
図20等により後述する。
【0246】
図20は、質問をベクトル化して、予めベクトル化された質問及び回答を参照して、人工知能のサービスサーバ92により回答を生成させる処理の流れを示すフローチャートである。
【0247】
ステップS2021において、サーバ20の回答生成モジュール2045は、質問リスト取得データベース213または回答データベース214に蓄積される質問及び回答について、セキュリティに関する辞書データに基づき、同義語、類義語、関連語、略語を追加する。
【0248】
回答生成モジュール2045は、質問に含まれる単語を抽出して、辞書データを参照して当該単語の同義語、類義語、関連語、略語を取得することにより、質問文に上記の同義語等を追加したものを生成する。辞書データは、セキュリティに関する質問毎に用意されてもよい。また、辞書データは、業種、職種、サービス利用者またはサービス事業者毎に用意されてもよい。
【0249】
辞書データとして、特定のキーワードについて、関連する語彙を予め定めており、例えば以下がある。
・ 「脅威インテリジェンス」等のセキュリティ対策の手法・考え方について、実践するための特定のサービスの名称を定めたもの。例えば「Amazon GuardDuty」のように特定の事業者のサービスの名称がある
・ 「可搬記憶媒体」等の、情報を記憶する媒体について一般に認識されている語。例えば「USBメモリ」などがある
・ 「ウイルス対策ソフト」等の、セキュリティ対策のために導入されるツールについての他の語や類似する語。例えば「EDR」(Endpoint Detection and Response)、「アンチウイルス対策ソフトウェア」などがある
・ 「インシデント対応チーム」等の、セキュリティインシデントが発生した際に対応するための組織、チームを表す語についての他の名称を示す語。例えば「CSIRT」(Computer Security Incident Response Team)などがある
・ 「暗号化通信」等の、セキュリティを向上させるための通信方法についての他の語や類似する語。例えば「HTTPS」(Hypertext Transfer Protocol Secure)などがある
・ 「第三者認証」等の、セキュリティ対策に関する規格を示す語について、具体的な各規格の名称を示す語。例えば「ISO27001」「SOC2」(Service Organization Control Type 2)「ISMAP」(Information system Security Management and Assessment Program)などがある
サーバ20の回答生成モジュール2045は、語彙が追加された質問文をベクトル化する。例えば、Word2Vec等の手法を用いて、文章をベクトル化する。サーバ20の回答生成モジュール2045は、質問と関連付けて、質問文のベクトルをベクトルデータベース217に保持させる。
【0250】
ステップS2011において、端末10は、セキュリティチェックシート等の質問文の入力を新たに受け付ける。
【0251】
ステップS2023において、サーバ20の回答生成モジュール2045は、ユーザから新たに受け付けた質問をベクトル化し、ベクトルデータベース217に蓄積される各質問文のベクトルと比較する。ここで、新たに受け付けた質問にカテゴリが設定されている場合の処理の例については後述する。
【0252】
ステップS2025において、サーバ20の回答生成モジュール2045は、ベクトルを比較した結果に基づき、新たに受け付けた質問文のベクトルとマッチングする(ベクトルが一定程度に近い)質問及び回答をベクトルデータベース217から取得する。回答生成モジュール2045は、取得した情報(質問及び回答)と、新たにユーザから受け付けた質問文とを対応付けて人工知能のサービスサーバ92に入力して、新たにユーザから受け付けた質問文への回答を生成させる。この場合、回答生成モジュール2045は、新たにユーザから受け付けた質問文を入力とし、その質問文とマッチした(ベクトルが一定程度に近い)質問及び回答を参照しながら、質問文への回答を出力する指示を含むプロンプトを、人工知能のサービスサーバ9に入力し、質問文への回答を、人工知能のサービスサーバに出力させる。回答生成モジュール2045は、人工知能のサービスサーバ92が生成した回答を受け付けることで、ユーザから新たに受け付けた質問文に対する回答を取得する。
【0253】
ステップS2013において、端末10は、人工知能のサービスサーバ92により生成された回答を表示する。端末10は、生成された回答を、質問リスト取得データベース213等に蓄積されるセキュリティチェックシート等に反映させる操作を受け付ける。
【0254】
サーバ20は、上記の操作を受けて、質問リスト取得データベース213に蓄積されるセキュリティチェックシート等を更新する。
【0255】
<4 画面例>
図21は、サービス提供者のユーザから、質問リストのアップロードを受け付ける画面の例である。
図14のステップS1411等の処理に対応する。
【0256】
画面2000は、サーバ20がセキュリティチェックサービスにおいて、セキュリティチェックシートの回答生成に関する機能をユーザに提供するための画面である。
【0257】
画面2000は、図示する例では、サービス提供者のユーザがサービスにログインし、セキュリティチェックシートの回答を生成する機能を立ち上げた際の画面を表示している。
【0258】
メニュー表示領域2001は、セキュリティチェックサービスにおける操作のメニューを表示して、メニューの指定をユーザから受け付けるための領域である。
【0259】
コンテンツ表示領域2002は、メニューに対応したコンテンツを表示して、ユーザの操作を受け付けるための領域である。
【0260】
調査依頼メニュー2011は、セキュリティチェックサービスを介して、サービス利用者から、セキュリティについての質問を受け付けたそれぞれの調査依頼を管理するためのメニューの指定を受け付けるための領域である。サーバ20は、調査依頼メニュー2011に対するユーザの操作を受け付けると、サービス利用者からセキュリティの調査依頼を受け付けている案件を表示する画面をサービス提供者のユーザに提供する。サーバ20は、サービス提供者のユーザの操作に応じて、案件についてセキュリティチェックシートへの回答を開始する操作を受け付けて、作成された回答をサービス利用者に送信する。
【0261】
回答共有メニュー2012は、セキュリティチェックサービスにおいて、サービス利用者からの質問に対する回答をセキュリティチェックシート等により行った履歴を管理するためのメニューの指定を受け付けるための領域である。サーバ20は、回答共有メニュー2012に対するユーザの操作を受け付けると、サーバ20が提供するセキュリティチェックサービスにおいてレビュー済みの回答として登録された回答マスタを、サービス利用者に共有する操作を受け付ける画面をサービス提供者のユーザに提供する。サーバ20は、例えば、共有する相手先の情報として、メールアドレス、氏名等の入力を受け付けて、指定された回答マスタを送信する。
【0262】
回答マスタメニュー2013は、セキュリティチェックシートの回答の内容を管理するためのメニューとして、回答のマスタを管理するメニューの指定を受け付けるための領域である。サーバ20は、回答マスタメニュー2013に対するユーザの操作を受け付けると、回答のマスタを管理する画面をユーザに提供する。当該画面において、サーバ20が提供するセキュリティチェックサービスにおいてレビュー済みの回答を、回答のマスタとして保存する操作をユーザから受け付ける。
【0263】
回答生成サポートメニュー2014は、セキュリティチェックシートの回答の編集を行うためのメニューの指定を受け付けるための領域である。
【0264】
回答生成サポートメニュー2014は、図示する例では、他のメニューと比較して強調して表示されており、回答生成サポートのメニューがユーザによって指定されていることを示している。
【0265】
回答アップロードタブ2021は、既にユーザが、全部又は一部の質問に対して回答を入力したセキュリティチェックシート等の質問リストのアップロードを受け付ける画面に切り替える操作を受け付けるための領域である。
【0266】
回答データベースタブ2022は、回答データベース214で管理される回答リストを表示するための画面に切り替える操作を受け付けるための領域である。
【0267】
AI回答生成受付部2023は、学習済みモデルを用いて回答を生成させる画面に切り替える操作を受け付けるための領域である。
【0268】
AI回答生成受付部2023は、図示する例では、サーバ20がユーザの操作を受け付けることで、後述する
図23に示す画面へと切り替える。
【0269】
アップロード受付領域2030は、アップロードするデータの指定を受け付けるための領域である。
【0270】
URL受付部2031は、アップロードするデータが格納される格納場所としてURLの指定をユーザから受け付けるための領域である。
【0271】
ファイル受付部2032は、アップロードするファイルの指定をユーザから受け付けるための領域である。
【0272】
履歴表示領域2040は、ユーザが過去にデータをアップロードした履歴を表示するための領域である。
【0273】
履歴表示領域2040は、図示するように、以下を表示してユーザの操作を受け付けている。
・アップロードしたデータがファイルであるかURLに基づき取得したものか
・アップロードした日時(登録日時)
・アップロードしたユーザ
・アップロードしたデータに対して可能な操作として、データの削除を受け付ける「削除」、データのダウンロードを受け付ける「ダウンロード」
図22は、アップロードされた質問リストについて、カテゴリ、質問、回答、及び過去に登録されたデータとの比較結果を表示する画面の例である。
図15のステップS1511等の処理に対応する。
【0274】
画面2100は、質問リストを表示して、質問への回答の入力をユーザから受け付けるための画面である。
【0275】
追加受付部2101は、ユーザが指定した質問及び回答について、回答データベース214で管理される回答リストに反映させる操作を受け付けるための領域である。
【0276】
追加受付部2101は、図示する例では、質問として表示される6件の質問のうち5件を指定していて、当該5件の質問及び回答を回答データベース214の回答リストとして追加する操作を受け付けることを示している。図示する例では、質問リスト表示領域2110に示されるリストの項目「登録可否」において、各質問について、回答リストに追加するか否かの指定を受け付けて、指定された質問にチェックマークを付加している。
【0277】
再取得受付部2102は、質問を含むデータの再取得をする操作を受け付けるための領域である。
【0278】
再取得受付部2102は、ユーザの操作を受け付けることで、例えば
図20の画面2000に戻り、ファイルのアップロードを受け付けるか、アップロードしたデータの履歴からユーザが編集の対象とするデータの指定を受け付けることとしてもよい。
【0279】
質問リスト表示領域2110は、ユーザが指定したデータに含まれる質問等を表示して、ユーザの編集を受け付けるための領域である。図示する例では、取得した質問のリストを表示しており、項目「登録可否」、項目「カテゴリ」、項目「質問」、項目「回答」、項目「内部メモ」、項目「過去データとの比較」を含む。
【0280】
サーバ20は、アップロードされた質問についてのカテゴリの設定を以下のようにして受け付けて、質問リスト取得データベース213で管理される各質問にカテゴリを関連付けるか、回答データベース214において質問と関連付けて項目「質問カテゴリ」を更新する。
【0281】
(i)質問のカテゴリの指定をユーザから受け付ける
・ 各質問について、ユーザから、任意のカテゴリの設定を受け付ける
・ 各質問について、予め定義されたカテゴリ群から、ユーザの指定に応じてカテゴリを設定する
【0282】
(ii)質問のカテゴリを推測して、ユーザの指定によらず設定
・ 質問リスト取得データベース213または回答データベース214において蓄積されるデータを参照し、質問または回答とカテゴリとが関連付けて蓄積されているとする。新たにアップロードされた質問のテキストを解析することにより、既に蓄積されている質問のうち近い質問を特定して、その質問について関連付けられているカテゴリを、上記の新たにアップロードされた質問に割り当てる。例えば、質問に対して形態素解析をすることにより、質問に含まれる単語を抽出することができる。これら質問に登場する単語、単語の並び順をもとに、蓄積されている質問のうち類似する質問を特定することとしてもよい。
・ 質問、または、質問への回答に対して質問のカテゴリを出力する学習済みモデルを利用する。当該学習済みモデルは、カテゴリが指定されている質問またはカテゴリが指定されている回答等を学習データとして、質問または回答の少なくともいずれかの入力に対してカテゴリを出力するように学習されることで生成される
・ カテゴリを出力する学習済みモデルは、大規模モデルを含む生成AIであってもよい。この場合、質問または回答を入力とし、それらに対応するカテゴリを出力する指示を含むプロンプトを学習済みモデルに入力し、カテゴリを学習済みモデルに出力させる。ここで、プロンプトには、カテゴリの出力指示に加え、入力及び出力のサンプルとして、例えば、1以上の質問又は回答のサンプルと、それに対応する1以上のカテゴリとが挿入され、学習済みモデルに入力されてもよい
サーバ20は、上記によって質問に割り当てられたカテゴリを、質問リスト取得データベース213または回答データベース214において質問と関連付けて保持し、
図21に示すように、質問と関連付けてカテゴリを表示する。
【0283】
警告オブジェクト2111は、質問に対して回答が入力されていないことをユーザに注意喚起するためのオブジェクトである。
【0284】
警告オブジェクト2111は、サーバ20が、質問リスト取得データベース213を参照して、質問に対して回答の入力がない場合に描画することとしてもよい。
【0285】
参照リンク2112は、ユーザが過去にサーバ20に蓄積させた質問及び回答と重複するものがある場合に、その重複する質問及び回答を参照するためのリンク(質問リスト取得データベース213にて管理される質問のリストの各質問へのリンク)である。
【0286】
参照リンク2112は、サーバ20が回答データベース214を参照して同種の質問があると判定した場合に、回答リストに含まれる質問の番号を表示しつつ、回答リストを参照できるリンクの情報を含むこととしてもよい。
【0287】
重複指摘オブジェクト2113は、ユーザが過去にサーバ20に蓄積させた質問及び回答と重複するものがある場合に、その重複する質問及び回答があることをユーザに通知するオブジェクトである。
【0288】
重複指摘オブジェクト2113は、図示する例では重複した質問及び回答があることをユーザに通知しているが、このほかに、サーバ20が、重複している件数を表示することとしてもよい。
【0289】
編集済み表示2114は、質問についての回答をユーザが編集したことを通知する。例えば、サーバ20が、学習済みモデルにより回答を生成させ、その回答をユーザが確認して編集した操作を受け付けた場合に、編集済み表示2114を表示する。
【0290】
【0291】
回答リスト表示領域2230は、回答データベース214で管理される回答データベースを表示するための領域である。図示するように、サーバ20は、管理される質問及び回答についてユーザに確認させつつ、質問及び回答に対する操作を受け付ける。回答データベースに含まれる項目「番号」、項目「カテゴリ」、項目「質問」、項目「回答」、項目「アクション」をユーザに提示する。
【0292】
サーバ20は、各質問について、項目「アクション」において、質問に対する操作を受け付ける領域2231を表示して、以下の操作を受け付ける。
・編集: 回答の内容を編集する操作を受け付ける
・アーカイブ: 学習済みモデルによる回答の生成には使用しないが、回答のリストには含めておく操作を受け付ける
・削除: 質問及び回答を回答のリストから削除する操作を受け付ける
サーバ20は、回答リスト表示領域2230において、各質問に対する回答が登録された時期を示す更新時期2232A、2232B、2232Cを表示する。図示する例では、更新時期2232Aにおいて、回答が登録された時期から一定期間が経過していることと、回答を見直すことをユーザに促すこととを通知している。
【0293】
サーバ20は、ユーザからセキュリティポリシーが変更されたことの登録を受け付ける等のように、ユーザから取得したデータ(
図20)に更新があった場合に、
図22に示す画面等において、質問と関連付けて、回答の内容を確認するようユーザに通知することとしてもよい。
【0294】
図24は、ユーザが回答を入力せずとも回答を生成させる際の画面の例である。
図19のステップS1913、S1927等の処理に対応する。
【0295】
回答生成受付部2311は、学習済みモデルデータベース216で管理される学習済みモデル、または、人工知能のサービスサーバ92により、質問に対する回答を生成する操作をユーザから受け付けるための領域である。
【0296】
回答生成受付部2311は、図示する例では、質問文をコピー&ペーストで入力したり、手入力したりする例を示しているが、ユーザがアップロードしたデータの履歴(質問リスト取得データベース213で管理される質問など)をユーザが指定して回答生成受付部2311に反映させることとしてもよい。
【0297】
サーバ20は、回答生成受付部2311へのユーザの操作を受け付けて、質問受付部2321に入力される質問に対して、学習済みモデルデータベース216で管理される学習済みモデル、または、人工知能のサービスサーバ92により、回答を生成させる。回答を生成させた画面の例については、
図24で後述する。
【0298】
質問受付部2321は、質問の入力をユーザから受け付けるための領域である。
【0299】
質問受付部2321は、図示する例では、質問及び回答について以下の指定を受け付ける。
・質問のカテゴリ:予め定められたカテゴリをプルダウンメニュー等で指定する操作を受け付ける
・質問文
・質問文に対する回答の形式:回答を「はい・いいえ」の択一的なものとするか、自由記述とするか
また、質問受付部2321は、図示する例では、生成される回答について以下を表示する。
・回答の形式:「はい・いいえ」の択一的なものであるか、自由記述であるか
・回答文
例えば、質問文に対する回答の形式として「はい・いいえ」の択一的な形式が指定されている場合、この指定に応じて「はい・いいえ」の回答を生成する。例えば、人工知能のサービスサーバ92に対し、回答の形式に即して回答を生成するよう指示をする(回答の形式をプロンプトで規定し、回答の生成を指示する)ことで、回答形式に即した回答を生成させる。
・参照情報:人工知能のサービスサーバ92により回答を生成させた場合のように、回答の生成にあたって根拠としたデータを出力させた場合に、その根拠となるデータ、そのデータへ参照するためのリンクを含むこととしてもよい。ここで、参照情報は、サーバ20の回答生成モジュール2045が、ベクトルを比較した結果に基づき、新たに受け付けた質問文のベクトルとマッチした(ベクトルが一定程度に近い)質問及び回答であってもよい。つまり、参照情報は、新たにユーザから受け付けた質問文への回答を生成するために、質問文と近い情報として判定され、人工知能のサービスサーバに入力された過去の質問及び回答であってもよい。この場合、参照情報は、マッチした質問及び回答を示すベクトルデータベース217のリンクであってもよい。
【0300】
図25は、生成された回答に対して編集を受け付けて、保存する操作を受け付ける画面の例である。
【0301】
回答保存部2312は、生成された回答を保存して、回答データベース214の回答リストに反映させる操作をユーザから受け付けるための領域である。図示する例では、サーバ20は、学習済みモデルに生成させた回答をユーザに提示しつつ、その回答についてユーザが編集して回答の内容を保存する操作を受け付けると、回答保存部2312において、回答を編集した質問の件数を表示しつつ、回答データベース214の回答リストに保存する操作を受け付けている。ここで、学習済みモデルによって生成された回答の内容の確認をユーザに促すべく、各質問の回答を学習済みモデルに生成させた場合に、ユーザが確認する操作を受け付けるか、ユーザが編集をして内容を保存する操作をすることにより、回答データベース214に格納させるようにする一方、生成された回答についてユーザの確認が未了、または、編集されていない場合には回答データベース214において格納させないようにしてもよい。
【0302】
警告オブジェクト2322は、マッチする質問と回答が、回答データベース214に存在しなかった場合など、回答を学習済みモデルデータベース216で管理する学習済みモデル、または、人工知能のサービスサーバ92により生成できなかったことと、回答をユーザ自身が入力すべきであることを警告するためのオブジェクトである。
【0303】
図示するように、人工知能のサービスサーバ92により回答が生成できなかった場合に、そのことを応答するようプロンプトを定義して、人工知能のサービスサーバ92により回答を生成させる。例えば、人工知能のサービスサーバ92に対し、以下のように規定したプロンプトを送信する。
・ 参照すべき質問及び回答を与えつつ、回答を要する質問についての回答を生成すること
・ 参照すべき質問及び回答からは、回答を要する質問について回答を生成できない場合(例えば、回答を要する質問に対応する質問及び回答がない)は、回答を推測せず、回答を生成できなかったことを応答すべきこと
報告オブジェクト2323は、質問群データベース215で管理される質問群に該当し、他の質問への回答が入力されたことで回答が生成されたことをユーザに通知するためのオブジェクトである。
【0304】
編集結果表示2324は、回答をユーザが入力することで編集済みであることをユーザに通知するためのオブジェクトである。
【0305】
参照リンク2325は、サーバ20が人工知能のサービスサーバ92により回答を生成させた場合に、その回答の生成の根拠となるデータを参照するリンクの情報(回答データベース214の質問及び回答へのリンク)を含むこととしてもよい。人工知能のサービスサーバ92に送信するプロンプトにおいて、回答の生成の根拠となるデータのリンクを含んで回答を生成するよう規定することで、回答案とともに、上記のようにリンクの情報を含む回答を生成させることができる。
【0306】
<変形例>
上記の実施形態で説明した態様の他に、以下のようにしてもよい。以下、ユーザがサービスを利用する際の時系列の体験に沿って説明する。
【0307】
(1)サーバ20がユーザから質問のリストを取得する局面
上記の実施形態の説明では、サーバ20がユーザから質問のリストを取得する態様として、
図21等を参照して、以下について説明した。
・取得するデータ:過去に回答したセキュリティチェックシート、回答のマニュアル等
・データの所在を指定する方法:URLの指定を受け付ける、ユーザの端末に保存されるファイルのアップロードを受け付ける等
この他にも、サーバ20は、アップロード等により質問のリストを取得した際、質問リスト取得データベース213、回答データベース214等において既に蓄積されている質問がある場合(ステップS1521のように、重複している質問及び回答があると判定した場合)、新たに取得した質問及び回答で回答データベース214等の質問及び回答を更新することとしてもよく、上記のように更新することについてユーザの指示を受け付けることとしてもよい。
【0308】
この他にも、サーバ20が提供するサービスにおいて、サービス利用者から調査依頼を受け付けると(調査依頼データベース221)、その調査依頼において添付されるファイルを、質問のリストとして取得して、質問リスト取得データベース213を更新することとしてもよい。このとき、サーバ20は、質問リスト取得データベース213において、調査依頼にかかるサービス利用者の識別情報(利用者データベース212)と、調査依頼の識別情報(調査依頼データベース221)とを関連付けて、質問のリストを保持することとしてもよい。
【0309】
サーバ20は、取得した質問のリストについて、ユーザが編集していないか、編集済みかを管理することとしてもよい。これにより、サービス事業者のユーザは、サービス利用者からの調査依頼を受けて、質問のリストについてユーザが編集済みか編集していないかを表示することで、回答の作成に着手すべき質問のリストを容易に把握できる。また、サービス事業者のユーザは、学習済みモデルによる回答の生成などをしつつ、ユーザが編集済みであることを確認して、調査依頼に対するセキュリティチェックシートによる回答を容易にすることができる。
【0310】
(2)質問のリストを取得して、質問に対する回答の蓄積状況をユーザに提示する局面
上記の実施形態では、質問のリストを取得して、質問に対する回答の蓄積状況をユーザに提示することとして、
図22、
図25を参照して、以下の例を説明した。
・ 質問が重複して蓄積されていることを判定し、質問が重複している旨を表示
・ 質問が重複している件数を表示
・ 重複している質問に対して既に作成されている、過去の回答の内容(過去の回答へのリンク)を表示
・ 質問に対して設定されるカテゴリを表示
・ 関連する質問群であり、一の質問に回答が入力されて、関連する他の質問の回答を生成したことを表示
この他にも、質問に対する回答の蓄積状況をユーザに提示することとして、以下のようにしてもよい。
・ 蓄積される質問を同種のものについて集約した場合に(重複した質問であると判定される場合に)、その質問への回答の内容が、時系列で変化していることを表示
すなわち、サーバ20は、質問に対する回答の内容が変更されていることを判定し、回答の内容が変更されたことを表示する。これにより、回答の内容が過去のものと比較して矛盾していないかユーザが判断することが容易になる。例えば回答の内容に変更があった場合(サービス事業者の事業の進展に伴いセキュリティへの対応が強化される等により、回答の内容が変化することがあり得る)、変更前の回答については学習済みモデルの学習データとしないようユーザが判断する等ができる。
【0311】
このとき、サーバ20は、質問に対する回答の内容に変更があったものと、変更がなかったものを、表示する色を変える等により区別して表示することとしてもよい。また、回答の内容に変更があったこととして、質問及び回答と関連付けて、「回答内容に矛盾がある」、「回答の内容に齟齬がある」等の表示をしてもよい。これにより、サービス事業者のユーザにとっては、回答の内容が妥当か、確認すべき個所を絞ることができ、回答内容を確認する作業の負担を減らすことができる
・ 質問についての回答が生成された時期を表示
ユーザにとっては、蓄積されている回答が生成された時期を容易に把握することができ、例えば、その回答が生成された時期から一定期間以上が経過した場合(回答が古くなった等)、一定期間が経過したことを事情として、回答の修正が必要かどうかを容易に判断することができる。サーバ20は、回答を生成した時期から一定期間が経過すると、ユーザに対しその旨を通知することとしてもよい。これにより、定期的な見直しを促すことができる。
【0312】
(3)質問に対する回答をユーザから受け付ける局面
上記の実施形態では、質問に対する回答をユーザから受け付けることとして、
図22、
図24、
図25を参照して、以下の例を説明した。
・ カテゴリ、質問文、回答形式を表示して、回答をユーザが入力すること、または、学習済みモデルにより回答を生成する操作を受け付けること
この他に、ユーザが回答を入力または学習済みモデルにより回答を生成させることを容易にするために、以下のようにしてもよい。
・ カテゴリ、回答形式、回答が既に入力済みであるか否か等を条件として、質問のリストから質問を抽出する。これにより、回答すべき質問をユーザが容易に把握することができ、質問に対する回答の作成を容易に進めることができる
・ 回答の蓄積状況を条件として(重複している件数が一定以上である、回答の内容が変更された、学習済みモデルで回答を生成できなかった等)、質問のリストから質問を抽出する。例えば、質問が重複している件数が一定以上であると、頻出の質問であると推測して、その回答の入力を優先すべく質問を抽出することが考えられる。
【0313】
(4)質問に対する回答を学習済みモデルにより生成する局面
上記の実施形態の説明では、回答をユーザの入力操作によらず自動で生成することとして、以下の例を説明した。
・ 質問及び回答の履歴を学習用のデータとして(回答データベース214等)、質問の入力に対して回答を出力するように学習される学習済みモデルを用意する。回答を生成させたい質問を、上記の学習済みモデルに入力することで、回答の出力を得る
・ セキュリティ分野に限らず大規模なデータを大量に学習させた学習済みモデル(上記の例では大規模言語モデル)を用意し、回答を生成させたい質問のベクトルと、既に蓄積される質問及び回答の組み合わせのうち質問のベクトルとのマッチング度合いに応じて、上記学習済みモデルに与える質問及び回答からなるデータを抽出して、学習済みモデルに要約を作成させる等により回答を生成する
【0314】
(4-1)参照する質問及び回答を抽出する方法
この他に、以下のようにして、回答を要する質問について、人工知能のサービスサーバ92に与える質問及び回答を抽出して、人工知能のサービスサーバ92に回答を生成させてもよい。
・ 回答を要する質問に含まれるキーワードに基づき、既に蓄積される質問及び回答を検索することで、人工知能のサービスサーバ92に与える質問及び回答を抽出する。例えば回答を要する質問の質問文を形態素解析により単語に分解し、分解された単語を用いて検索をする
・ 単語と単語との意味的な近さをグラフ構造により定義したナレッジグラフと、回答を要する質問に含まれるキーワードとを用いて、人工知能のサービスサーバ92に与える質問及び回答を抽出することとしてもよい。例えば、セキュリティに関する語を含むデータを収集し、収集したデータについて関連する情報をグループ化して、ノードとエッジとを定義することで、これら語をグラフ構造で表現することができる
・ 質問に付与されるカテゴリに基づき、人工知能のサービスサーバ92に与える質問及び回答を抽出する。例えば、回答を要する質問についてのカテゴリをサーバ20が推測する。サーバ20は、既にカテゴリが設定されている質問と回答とから、カテゴリが同じ質問及び回答を回答データベース214等から抽出して、人工知能のサービスサーバ92に対し、抽出した質問及び回答を与えて要約を作成させる等により回答を生成する。例えば、上記のように回答を要する質問にカテゴリが設定されている場合、蓄積されている質問及び回答のうち、同じカテゴリに属する質問及び回答からベクトルを検索することとしてもよい。これにより、マッチングの精度をより一層向上させられ得る
【0315】
(4-2)開示するのに適さない回答を避ける方法
また、サービス利用者に開示するのに適さない回答を生成しないよう、以下のようにしてもよい。
・ 学習済みモデルに与える質問及び回答、すなわち新たな質問に対して回答を生成すべく参照するデータにおいて、サービス利用者に対して公開すべきでない情報を除外する。ここで、サービス利用者に対して公開すべきでない情報として、以下があり得る。
【0316】
サービス提供者にかかる個人情報(個人名、電話番号など)
サービス提供者が利用するシステムに蓄積されるデータを参照するためのリンク(ストレージサービス、メッセージングサービス等において発行されるリンクであって、ファイルや投稿を参照可能とするリンクなど)
サービス事業者の内部向けに入力された情報(例えば、質問に対する回答を含む表形式のリストにおいて、「注意事項」「補足」といった予めサービス事業者の内部向けに記されたフィールドに記載された情報など)
このように、公開すべきでない情報を除外したデータを人工知能のサービスサーバ92に与えたうえで、質問に対する回答を生成させることで、より適切な回答を生成させることができ得る。
【0317】
(4-3)学習済みモデルにより、複数の回答を生成させる方法
学習済みモデルにより回答を生成する際、質問に対し、複数の回答の案を学習済みモデルに生成させることとしてもよい。例えば、大規模言語モデルに対し、生成させる回答の数、異なる内容の回答を生成すること等を定義したプロンプトを与えることにより、複数の回答の案を大規模言語モデルにより生成させることができる。
【0318】
サーバ20は、以下のような質問である場合に、上記のように複数の回答の案を生成させることとしてもよい。
・ ユーザから指定された質問
・ ユーザから指定されたカテゴリの質問
・ 予め定められた特定の語を含む質問
・ 同種の質問として蓄積している件数が一定以上である質問
【0319】
(5)質問に対してセキュリティに関する語彙を追加する局面
上記の
図20等で説明した例のほか、質問に対して入力された回答を保存する操作(
図16等)をユーザから受け付けることにより、セキュリティに関する語彙を質問等に付加することとしてもよい。
【0320】
(6)学習済みモデルにより生成された回答をユーザが確認する局面
また、学習済みモデルにより生成された回答をユーザが確認することとして、以下のようにしてもよい。
・ 生成された回答に、サービス利用者に対して公開すべきでない情報が含まれているか判定する。サービス利用者に対して公開すべきでない情報として、以下があり得る。
【0321】
サービス提供者にかかる個人情報(個人名、電話番号など)
サービス提供者が利用するシステムに蓄積されるデータを参照するためのリンク
サービス事業者の内部向けに入力された情報
サーバ20は、上記のように、生成された回答に、公開すべきでない情報が含まれていると判定した場合に、その旨を画面に表示する等により、ユーザに通知する。
【0322】
(7)サービス利用者からの調査依頼に対して、セキュリティチェックシートにより回答する局面
上記では、サーバ20は、サービス利用者からの調査依頼を受け付けて(調査依頼データベース221、調査依頼メニュー2011)、調査依頼にかかる質問を取得して質問リスト取得データベース213として管理してもよいことを説明した。サーバ20は、調査依頼にかかる質問への回答を学習済みモデルにより生成する、ユーザが回答を入力する等によりユーザが回答を完成させると、調査依頼に対する回答をサービス利用者に送信することとしてもよい(回答送信データベース222)。例えば、調査依頼にかかる各質問に対して、回答を学習済みモデルで生成させる等により漏れなく回答を設定すると、ユーザに対し、サービス利用者に対して回答を共有する操作を受け付けるための操作受付部(操作ボタン等として画面に表示される)を操作可能に表示してもよく、各質問に対する回答が完成していない間はサービス利用者に対する回答の共有を制限する(例えば、操作受付部を有効にしない)こととしてもよい。
【0323】
以上、本開示のいくつかの実施形態を説明したが、これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これら実施形態、その変形は、発明の範囲、要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものとする。
【0324】
本明細書中に記載されている構成要素により実現される機能は、当該記載された機能を実現するようにプログラムされた、汎用プロセッサ、特定用途プロセッサ、集積回路、ASICs(Application Specific Integrated Circuits)、CPU(a Central Processing Unit)、従来型の回路、および/又はそれらの組合せを含む、circuitry又はprocessing circuitryにおいて実装されてもよい。プロセッサは、トランジスタやその他の回路を含み、 circuitry又はprocessing circuitryとみなされる。プロセッサは、メモリに格納されたプログラムを実行する、programmed processorであってもよい。
【0325】
本明細書において、circuitry、ユニット、手段は、記載された機能を実現するようにプログラムされたハードウェア、又は実行するハードウェアである。当該ハードウェアは、本明細書に開示されているあらゆるハードウェア、又は、当該記載された機能を実現するようにプログラムされた、又は、実行するものとして知られているあらゆるハードウェアであってもよい。
【0326】
当該ハードウェアがcircuitryのタイプであるとみなされるプロセッサである場合、当該circuitry、手段、又はユニットは、ハードウェアと、当該ハードウェア及び又はプロセッサを構成する為に用いられるソフトウェアの組合せである。
【0327】
<付記>
上記の実施の形態で説明した事項を以下に付記する。
【0328】
(付記1)
プロセッサを備えるコンピュータを動作させるためのプログラムであって、プロセッサは、サービス提供事業者への質問で、セキュリティについてのチェック項目に応じた質問を少なくとも含む質問リストを受け付ける都度、受け付けた質問リストを記憶部に記憶させるステップと(S1423、2030、2031、2032)、記憶部に蓄積される1または複数の質問リストを参照して、同種の質問を特定するステップと(S1521)、特定した結果に基づいて、質問ごとに、その質問に対する回答の蓄積状況を表示するステップと(S1523、2112、2113)、を実行させる、プログラム。
【0329】
(付記2)
プログラムは、プロセッサに、さらに、特定するステップにおいて、蓄積される1または複数の質問リストにおいて同種の質問が重複して蓄積されていることを特定し(S1521)、表示するステップにおいて、蓄積状況を表示することとして、同種の質問が重複して蓄積していることを表示する(S1523、2112、2113)、付記1に記載のプログラム。
【0330】
(付記3)
表示するステップにおいて、蓄積状況を表示することとして、同種の質問が重複している件数を表示すること、または、当該同種の質問に対する過去の回答を表示すること、の少なくともいずれかを行う(S1523、2112、2113)、付記2に記載のプログラム。
【0331】
(付記4)
プログラムは、プロセッサに、さらに、質問に対してカテゴリの指定を受け付けて、質問と、当該質問について受け付けたカテゴリとを関連付けて記憶部に蓄積させるステップを実行させ(214、S1511)、表示するステップにおいて、質問それぞれについて、質問と関連付けられるカテゴリを表示する(2110)、付記1から3のいずれかに記載のプログラム。
【0332】
(付記5)
プログラムは、プロセッサに、さらに、質問のテキストを解析することにより、質問に割り当てられるカテゴリを特定し、特定したカテゴリを質問に割り当てるステップを実行させ、表示するステップにおいて、質問それぞれについて、割り当てられたカテゴリを、質問と関連付けて表示する(2110)、付記4に記載のプログラム。
【0333】
(付記6)
プログラムは、プロセッサに、さらに、記憶部に蓄積される複数の質問のうち、1の質問への回答により他の質問への回答が定まる質問群を特定するステップと(215、S1823)、ユーザから、記憶部に蓄積される質問に対する回答の入力を受け付けて、質問と当該質問に対する回答とを関連付けて記憶部に記憶させるステップと(S1511、S1823)、質問に対する回答の入力を受け付けることにおいて、質問群における1の質問への回答の入力を受け付けることにより、他の質問への回答を、ユーザの入力操作によらずとも生成するステップと(S1823)、を実行させ、表示するステップにおいて、ユーザに対し、生成された他の質問への回答を表示する(S1825、2323)、付記1から5のいずれかに記載のプログラム。
【0334】
(付記7)
プログラムは、プロセッサに、さらに、ユーザから、記憶部に蓄積される質問に対する回答の入力を受け付けて、質問と当該質問に対する回答とを関連付けて記憶部に記憶させるステップと(214、213、S1525)、質問及び回答について、質問の入力に対して回答を出力するように学習される学習済みモデルの学習用データとするか否かの指定をユーザから受け付けるステップと(S1621、S1611)、指定された学習用データに基づき学習済みモデルを学習させるステップと(S1721)、を実行させる、付記1から6のいずれかに記載のプログラム。
【0335】
(付記8)
表示するステップにおいて、蓄積状況を表示することとして、質問ごとに、その質問に対する回答がある件数、または、その質問に対する回答の参照先を示すリンク情報、の少なくともいずれかを表示する(2112、2113)、付記1から7のいずれかに記載のプログラム。
【0336】
(付記9)
プログラムは、プロセッサに、さらに、記憶部に蓄積される1または複数の質問リストにおいて、特定される同種の質問を集約した場合に複数の回答が蓄積しているときに、蓄積される複数の回答の内容に変更があるか判定し、表示するステップにおいて、蓄積状況を表示することとして、集約される同種の質問に対する回答に変更があるか判定した結果を表示する、付記1から8のいずれかに記載のプログラム。
【0337】
(付記10)
表示するステップにおいて、回答に変更があった質問と、回答に変更がなかった質問とを区別して表示する、付記9に記載のプログラム。
【0338】
(付記11)
表示するステップにおいて、蓄積状況を表示することとして、質問ごとに、質問に対する回答をした時期を示す情報を表示する、付記1から10のいずれかに記載のプログラム。
【0339】
(付記12)
プログラムは、プロセッサに、さらに、回答を生成させる質問を、質問の入力に対して回答を出力する学習済みモデルへの入力とすることで、回答を生成させる質問に対する回答を学習済みモデルにより生成させるステップ、を実行させる(S1913、S1927、S2025)、付記1から11のいずれかに記載のプログラム。
【0340】
(付記13)
プログラムは、プロセッサに、さらに、回答を生成させる質問それぞれについて、ユーザから、回答の形式の指定を受け付けており、指定された回答の形式に従って、回答を生成させる質問に対する回答を学習済みモデルにより生成させる(2321)、付記12に記載のプログラム。
【0341】
(付記14)
表示するステップにおいて、質問それぞれについて、学習済みモデルにより回答を生成した質問と、学習済みモデルでは回答が生成されなかった質問とを区別して表示する(2322)、付記12から13のいずれかに記載のプログラム。
【0342】
(付記15)
学習済みモデルにより生成するステップにおいて、回答を生成することとして、回答とともに、当該回答を生成する根拠となったデータの内容または当該データへのリンクの少なくともいずれかを生成し、表示するステップにおいて、生成された回答とともに、根拠となったデータまたはリンクの少なくともいずれかを表示する(2325)、付記12から14のいずれかに記載のプログラム。
【0343】
(付記16)
プログラムは、プロセッサに、さらに、ユーザから、記憶部に蓄積される質問に対する回答の入力を受け付けて、質問と当該質問に対する回答とを関連付けて記憶部に記憶させるステップを実行させ、表示するステップにおいて、質問それぞれについて、質問に対する回答がユーザによって入力されたか否かを表示し(2111)、回答の入力があった質問と回答とを、質問の入力に対して回答を出力するように学習される学習済みモデルの学習用データとして記憶部で管理する(214)、付記1から15のいずれかに記載のプログラム。
【0344】
(付記17)
プログラムは、プロセッサに、さらに、記憶部に蓄積される質問について、質問の入力に対して回答を出力するように学習される学習済みモデルを参照することにより質問に対する回答を生成させるステップと(S1913、S1927)、学習済みモデルにより生成された回答に、回答として公開すべきでない情報が含まれるか判定するステップと、判定した結果をユーザに通知するステップと、を実行させる、付記1から16のいずれかに記載のプログラム。
【0345】
(付記18)
判定するステップにおいて、回答として公開すべきでない情報が含まれると判定することとして、質問への回答を行うサービス提供事業者にかかる個人名等の個人情報、サービス提供者において利用しているシステムに蓄積されるデータを参照するためのリンク、の少なくともいずれかが含まれている場合に、回答として公開すべきでない情報が含まれると判定する、付記17に記載のプログラム。
【0346】
(付記19)
記憶部において、質問リストの質問と関連付けて、質問に対する回答を記憶しており(213、214)、プログラムは、プロセッサに、さらに、質問及び回答に、セキュリティに関する語彙を追加するステップと(S2021)、セキュリティに関する語彙が追加された質問及び回答からなるデータをベクトル化するステップと(S2021)、ベクトル化により得られるベクトルと、ベクトル化の対象となった質問リストとを関連付けて記憶部に記憶させるステップと(S2021、217)、質問が入力されることに応じて、入力された質問をベクトル化して、記憶部に記憶されるベクトルと比較するステップと(S2023)、比較するステップにおいて比較した結果により、記憶部に記憶される質問リストを特定し、特定した質問リストと入力された質問とを学習済みモデルに入力することにより、入力された質問に対する回答を学習済みモデルに生成させる(S2025、S2013)、付記1から18のいずれかに記載のプログラム。
【0347】
(付記20)
プロセッサを備えるコンピュータが実行する方法であって、方法は、プロセッサが、サービス提供事業者への質問で、セキュリティについてのチェック項目に応じた質問を少なくとも含む質問リストを受け付ける都度、受け付けた質問リストを記憶部に記憶させるステップと、記憶部に蓄積される1または複数の質問リストを参照して、同種の質問を特定するステップと、特定した結果に基づいて、質問ごとに、その質問に対する回答の蓄積状況を表示するステップと、を実行する、方法。
【0348】
(付記21)
制御部を備える情報処理装置であって、制御部が、サービス提供事業者への質問で、セキュリティについてのチェック項目に応じた質問を少なくとも含む質問リストを受け付ける都度、受け付けた質問リストを記憶部に記憶させるステップと、記憶部に蓄積される1または複数の質問リストを参照して、同種の質問を特定するステップと、特定した結果に基づいて、質問ごとに、その質問に対する回答の蓄積状況を表示するステップと、を実行する、情報処理装置。
【要約】
【課題】過去に作成したセキュリティチェックシートを活かしつつ、質問への回答を容易に作成できるようにする技術が必要とされている。
【解決手段】プロセッサを備えるコンピュータを動作させるためのプログラムであって、前記プロセッサは、サービス提供者への質問で、セキュリティについてのチェック項目に応じた質問を少なくとも含む質問リストを受け付ける都度、受け付けた前記質問リストを記憶部に記憶させるステップと、前記記憶部に蓄積される1または複数の前記質問リストを参照して、同種の質問を特定するステップと、前記特定した結果に基づいて、質問ごとに、その質問に対する回答の蓄積状況を表示するステップと、を実行させる、プログラムが提供される。
【選択図】
図22