(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-11-11
(45)【発行日】2024-11-19
(54)【発明の名称】情報提供装置、情報提供方法、及び情報提供プログラム
(51)【国際特許分類】
G06F 16/90 20190101AFI20241112BHJP
【FI】
G06F16/90 100
(21)【出願番号】P 2023122896
(22)【出願日】2023-07-27
【審査請求日】2023-07-27
(73)【特許権者】
【識別番号】399035766
【氏名又は名称】エヌ・ティ・ティ・コミュニケーションズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】坂本 悠記
(72)【発明者】
【氏名】丹野 良介
(72)【発明者】
【氏名】中村 耀
【審査官】原 秀人
(56)【参考文献】
【文献】特許第7313757(JP,B1)
【文献】米国特許出願公開第2022/0400067(US,A1)
【文献】たてばやし 淳,話題のチャットAIはビジネスでこう使え! ChatGPT×Excel実践活用術,日経PC21,日本,日経BP,2023年06月24日,第28巻 第8号 通巻493号,pp. 51-67
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
データ分析に関する一連のプロセスを生成するデータ分析ツールを使用するユーザによる、データを分析するためのアルゴリズムを指定する操作内容をリクエストとして端末装置から受け取り、前記リクエストを基に、前記
操作内容に応じたアドバイスの文章を生成することを言語モデルに命令するプロンプトを生成するプロンプト生成部と、
前記プロンプト生成部によって生成されたプロンプトを前記言語モデルに入力
し、前記操作内容の後に行うべき操作を示す文章を生成する文章生成部と、
前記文章生成部によって生成された文章を、前記端末装置に表示させる表示制御部と、
を有
し、
前記プロンプト生成部は、前記データ分析ツールにおける過去の操作内容及び前記過去の操作内容に応じて生成されたプロセスによるデータ分析の精度を基に、前記リクエストとして受け取った操作内容の後に行われる操作の候補のうち、特定の操作を推薦する情報を前記プロンプトに追加する
ことを特徴とする情報提供装置。
【請求項2】
コンピュータによって実行される情報提供方法であって、
データ分析に関する一連のプロセスを生成するデータ分析ツールを使用するユーザによる、データを分析するためのアルゴリズムを指定する操作内容をリクエストとして端末装置から受け取り、前記リクエストを基に、前記
操作内容に応じたアドバイスの文章を生成することを言語モデルに命令するプロンプトを生成するプロンプト生成工程と、
前記プロンプト生成工程によって生成されたプロンプトを前記言語モデルに入力
し、前記操作内容の後に行うべき操作を示す文章を生成する文章生成工程と、
前記文章生成工程によって生成された文章を、前記端末装置に表示させる表示制御工程と、
を含
み、
前記プロンプト生成工程は、前記データ分析ツールにおける過去の操作内容及び前記過去の操作内容に応じて生成されたプロセスによるデータ分析の精度を基に、前記リクエストとして受け取った操作内容の後に行われる操作の候補のうち、特定の操作を推薦する情報を前記プロンプトに追加する
ことを特徴とする情報提供方法。
【請求項3】
データ分析に関する一連のプロセスを生成するデータ分析ツールを使用するユーザによる、データを分析するためのアルゴリズムを指定する操作内容をリクエストとして端末装置から受け取り、前記リクエストを基に、前記
操作内容に応じたアドバイスの文章を生成することを言語モデルに命令するプロンプトを生成するプロンプト生成ステップと、
前記プロンプト生成ステップによって生成されたプロンプトを前記言語モデルに入力
し、前記操作内容の後に行うべき操作を示す文章を生成する文章生成ステップと、
前記文章生成ステップによって生成された文章を、前記端末装置に表示させる表示制御ステップと、
をコンピュータに実行させ
、
前記プロンプト生成ステップは、前記データ分析ツールにおける過去の操作内容及び前記過去の操作内容に応じて生成されたプロセスによるデータ分析の精度を基に、前記リクエストとして受け取った操作内容の後に行われる操作の候補のうち、特定の操作を推薦する情報を前記プロンプトに追加する
ことを特徴とする情報提供プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報提供装置、情報提供方法、及び情報提供プログラムに関する。
【背景技術】
【0002】
近年、いわゆるノーコードのデータ分析ツール(例えばアプリケーション)が提供されることがある(例えば、特許文献1又は非特許文献1を参照)。ノーコードのデータ分析ツールには、プログラミングスキルが不要であり、初学者でも直感的に使用できるという特徴がある。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【文献】“ノーコードAI開発ツール Node-AI”、[online]、[2023年7月21日検索]、インターネット<https://sdpf.ntt.com/services/nodeai/>
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来のデータ分析ツールは、ユーザにとって使いにくい場合があるという問題がある。
【0006】
例えば、ノーコードのデータ分析ツールであっても、使いこなすためには、データ分析の概念及び手法を理解する必要がある。そのため、初学者には、書籍で調査をしたり、有識者に尋ねたりするための時間と努力が必要である。
【課題を解決するための手段】
【0007】
上述した課題を解決し、目的を達成するために、情報提供装置は、データ分析ツールが実行される端末装置から受け取ったリクエストを基に、前記データ分析ツールの使用を支援するための文章を言語モデルに生成させるためのプロンプトを生成するプロンプト生成部と、前記プロンプト生成部によって生成されたプロンプトを前記言語モデルに入力することにより、文章を生成する文章生成部と、前記文章生成部によって生成された文章を、前記端末装置に表示させる表示制御部と、を有することを特徴とする。
【発明の効果】
【0008】
本発明によれば、データ分析ツールの使いやすさを向上させることができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、第1の実施形態に係る情報提供システムの構成例を示す図である。
【
図4】
図4は、第1の実施形態に係る情報提供システムの変形例を示す図である。
【
図5】
図5は、第1の実施形態に係る情報提供システムの処理の流れを示すフローチャートである。
【
図6】
図6は、情報提供プログラムを実行するコンピュータの構成例を示す図である。
【発明を実施するための形態】
【0010】
以下に、本願に係る情報提供装置、情報提供方法及び情報提供プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
【0011】
[第1の実施形態]
[第1の実施形態の構成]
図1を用いて、情報提供システムの構成を説明する。
図1は、第1の実施形態に係る情報提供システムの構成例を示す図である。
図1に示すように、情報提供システム1は、情報提供装置10及び端末装置20を有する。
【0012】
情報提供装置10は、ネットワークを介して端末装置20と接続されたサーバである。端末装置20は、PC(Personal Computer)、タブレット型端末、スマートフォン等である。
【0013】
情報提供装置10は、非特許文献1に記載のNode-AI等のデータ分析ツールの機能を有する。情報提供装置10は、特許文献1に記載された情報処理装置と同等の機能を有していてもよい。例えば、ユーザは、端末装置20を介してデータ分析ツールを実行し、キャンバスデータを生成する。
【0014】
Node-AIでは、ノーコード、すなわちコーディングレスで、データに対する処理のパイプラインを設計できるFlowbased programmingが採用される。また、Node-AIは、処理したいデータと各処理が実行できる関数を繋ぎ合わせることで、直感的にデータに対する処理のパイプラインを記述することができる。本実施形態では、データに対する所定の処理を実行する関数を「カード」と表記する。また、パイプラインが記述されたデータを「キャンバスデータ」と表記する。
【0015】
また、情報提供装置10は、データ分析ツールの機能に加えて、ユーザに自然言語の文章を提供する機能を有する。情報提供装置10は、メッセージを提供することにより、ユーザによるデータ分析ツールの使用を支援する。
【0016】
情報提供装置10は、データ分析ツールに関するユーザの疑問に対する回答、データ分析ツールの使い方のヒント、ユーザに対して推奨する行動、データに関するインサイト、ユーザの誤りの指摘等を文書により提供する。
【0017】
図1に示すように、情報提供装置10は、インタフェース部11、リクエスト処理部12、プロンプト生成部13、履歴DB14、言語モデル15、文章生成部16を有する。
【0018】
インタフェース部11は、端末装置20との間でデータのやり取りを行う。例えば、インタフェース部11は、端末装置20からのリクエストを受け付ける。また、例えば、インタフェース部11は、端末装置20に画面を表示させる。
【0019】
インタフェース部11は、ユーザによって入力された問い合わせのテキスト、又はデータ分析ツールの操作内容を端末装置20からリクエストとして受け付ける。インタフェース部11は、受け付けたリクエストをリクエスト処理部12に受け渡す。
【0020】
リクエスト処理部12は、リクエストがデータ分析ツールの操作内容である場合、リクエストに対する結果を得る。結果は、データ分析ツールが操作内容に対して返すキャンバスデータである。
【0021】
リクエスト処理部12は、リクエスト及び結果を履歴DB14に保存する。また、リクエスト処理部12は、リクエスト及び結果をプロンプト生成部13に受け渡す。なお、結果が存在しない場合は、リクエスト処理部12は、リクエストを履歴DB14に保存し、また、リクエストをプロンプト生成部13に受け渡す。
【0022】
プロンプト生成部13は、データ分析ツールが実行される端末装置20から受け取ったリクエスト(又はリクエスト及び結果)を基に、データ分析ツールの使用を支援するための文章を言語モデルに生成させるためのプロンプトを生成する。プロンプト生成部13は、生成したプロンプトを文章生成部16に受け渡す。
【0023】
文章生成部16は、プロンプト生成部13によって生成されたプロンプトを言語モデルに入力することにより、文章を生成する。文章生成部16は、得られた文章を、インタフェース部11を介して端末装置20に出力する。
【0024】
言語モデル15は、大規模言語モデル(LLM:Large Language Models)である。言語モデル15は、ニューラルネットワークであってもよい。また、言語モデル15は、例えばChatGPT(登録商標)(参考URL:https://openai.com/blog/chatgpt)である。言語モデル15は、複数の言語モデルを含む言語モデル群であってもよい。
【0025】
言語モデル15は、入力されたプロンプトを基に推論を実行し、推論によって得られた自然言語の文章を出力する。
【0026】
ここで、データ分析ツールは、ユーザの操作に応じて、機械学習モデルを使ったデータ分析に関する一連のプロセス(パイプライン)を生成する。データ分析を行う機械学習モデルを、分析モデルと呼ぶ。例えば、データ分析ツールは、一連のプロセスを実行する実行ファイルを出力する。
【0027】
プロセスは、データに対する前処理、データを使った分析モデルの学習(パラメータの更新)、学習済みの分析モデルの評価、の3つに分けることができる。
【0028】
言語モデル15は、3つのプロセスのそれぞれに合わせてチューニングされた言語モデルを含んでいてもよい。例えば、言語モデル15は、前処理に合わせてチューニングされた言語モデル、学習に合わせてチューニングされた言語モデル、評価に合わせてチューニングされた言語モデルを含む。
【0029】
例えば、前処理に合わせてチューニングされた言語モデルは、学習に用いられるデータに対する前処理を指定する操作内容に基づくプロンプトと、当該操作内容に対するベテランユーザによる文章によるアドバイスを学習する。前処理に合わせてチューニングされた言語モデルは、他の言語モデルに比べて、前処理に関してより適切な文章を生成することができる。
【0030】
なお、データ分析ツールのプロセスの分け方は前述のものに限られず、さらに細分化されていてもよい。そして、言語モデル15は、細分化されたプロセスのそれぞれに合わせてチューニングされた言語モデルを含む。例えば、言語モデル15は、データ分析ツールにおけるカードのそれぞれに合わせてチューニングされた言語モデルを含んでいてもよい。
【0031】
文章生成部16は、プロンプトを基に適切な言語モデルを選択し、選択した言語モデルを用いて文章を生成する。例えば、プロンプトに「前処理」というキーワードが含まれている場合、文章生成部16は、前処理に合わせてチューニングされた言語モデルを選択する。
【0032】
以下、リクエストがユーザによって入力された問い合わせのテキストである場合と、リクエストがデータ分析ツールの操作内容である場合とに分けて、情報提供装置10の動作を詳細に説明する。
【0033】
(1.リクエストがユーザによって入力された問い合わせのテキストである場合)
図2に示すように、データ分析ツールの画面(ユーザインタフェース)には、操作内容に応じて作成されたキャンバスデータが表示される。
図2は、画面の例を示す図である。画面は、情報提供装置10の制御に応じて、端末装置20によって表示される。
【0034】
キャンバスデータは、分析モデルを使ったデータ分析に関する一連のプロセス(パイプライン)を表すものである。まず、キャンバスデータには、ユーザの操作によって指定されたデータ及び関数がカードとして配置される。
【0035】
図2の例では、カード511、カード512及びカード513が配置される。カード511は、分析モデルに入力されるデータを表している。カード512及びカード513は、データに対する前処理を表している。また、領域521及び領域522には、カードに関するコメントが表示される。
【0036】
チャット画面53は、情報提供装置10によって生成された文章を表示する画面である。チャット画面53は、キャンバスデータを表示する画面に重畳してポップアップとして表示されてもよい。例えば、インタフェース部11が、キャンバスデータ及びチャット画面53を端末装置20に表示させる表示制御部として機能する。
【0037】
ボックス5311には、ユーザによって入力された問い合わせのテキストが表示される。なお、問い合わせのテキストは、入力欄533を介して入力される。アイコン532は、情報提供装置10によって生成された文章をチャットにおける発言として出力する際の、疑似的な発言の主体(ボット)を示す画像である。また、ボックス5312には、情報提供装置10によって生成された文章が表示される。
【0038】
図2の例では、ユーザは、「lassoとridgeの違いを教えてください」というテキストを入力する。これに対し、情報提供装置10は、「テメー、lassoとridgeの違いを知らねーのか!?ちゃんと勉強してんのか、この貴様は!?まず、lassoはLeast Absolute Shrinkage and Selection Operatorの略称で、係数を0に近づけることで特徴量の選択を行う正則化手法だ。一方、ridgeはL2正則化を用いて過学習を防止する手法だ。つまり、lassoは特定の特徴量を取り除きたい場合に使い、ridgeはモデル全体を安定化させたい場合に適している。理解できたか、このバカ野郎!?」という文章を生成し、出力する。
【0039】
プロンプト生成部13は、データ分析ツールを使用するユーザによって、端末装置20を介して入力されたテキストをリクエストとして受け取る。プロンプト生成部13は、ユーザが入力したテキストを基に、プロンプトを生成する。プロンプト生成部13は、以下の要素を含むプロンプトを生成する。
(1)命令:言語モデルに実行してほしい特定のタスク又は命令
(2)文脈:モデルをより良い応答に導くための外部情報又は追加の文脈
(3)入力データ:リクエスト
(4)出力指示子:出力のタイプ又は形式
【0040】
図2の例では、リクエストはユーザによって入力されたテキストである。例えば、リクエスト処理部12は、チャット画面53の入力欄533にテキストが入力された場合に、リクエストがユーザによって入力されたテキストであると判定し、判定結果をプロンプト生成部13に通知する。
【0041】
リクエストがユーザによって入力されたテキストである場合、プロンプト生成部13は、要素(1)を、「ユーザに回答するための文章の生成」と設定する。プロンプト生成部13は、チャット画面53に表示されているユーザ側の発言(例えば、ボックス5311のテキスト)がリクエストと一致する場合、リクエストがユーザによって入力されたテキストであると判定してもよい。
【0042】
また、プロンプト生成部13は、以下の手順により要素(2)を決定する。まず、プロンプト生成部13は、ユーザによって入力されたテキストから、あらかじめ定められたデータ分析に関する用語を抽出する。「lasso」と「ridge」はあらかじめ定められたデータ分析に関する用語であるものとする。そして、プロンプト生成部13は、「lasso」と「ridge」がデータ分析に関する用語であることを外部情報又は追加の文脈として要素(2)に追加する。
【0043】
これにより、例えば、言語モデルが「lasso」と「ridge」の単なる文字列としての違いを回答する文章を生成したり、辞書に掲載されている意味の違いを説明する文章を生成したりすることを回避し、言語モデルがデータ分析における違いを説明する文章を生成することを促すことができる。つまり、要素(2)により、ユーザが必要としている情報が提供されやすくなる。
【0044】
要素(3)は、ユーザが入力したテキストそのものである。ただし、プロンプト生成部13は、明らかな誤記(スペルミス、誤字脱字等)を修正した上で、テキストを要素(3)に設定してもよい。
【0045】
また、プロンプト生成部13は、要素(4)を「自然言語の文章」のように設定する。また、プロンプト生成部13は、要素(4)を「英語の文章」、「日本語の文章」のように言語を含めて設定してもよい。例えば、プロンプト生成部13は、データ分析ツール事態に設定済みの言語、又はチャット画面53に既に表示されているテキストの言語と同じ言語の文章となるように、要素(4)を設定する。
【0046】
図2の例では、プロンプト生成部13は、例えば下記のようにプロンプトを生成する。
(1)命令:ユーザに回答するための文章の生成
(2)文脈:「lasso」と「ridge」はデータ分析用語
(3)入力データ:「lassoとridgeの違いを教えてください」
(4)出力指示子:日本語の文章
【0047】
(2.リクエストがデータ分析ツールの操作内容である場合)
図3を用いて、リクエストがデータ分析ツールの操作内容である場合の例を説明する。
図3は、画面の例を示す図である。
図3の画面にはキャンバスデータが示されている。
【0048】
図3の例では、カード514が配置される。カード514は、分析モデルが「線形モデル」であることを表している。分析モデルは、データを分析するためのアルゴリズムと言い換えられてもよい。
【0049】
チャット画面53のボックス5313及びボックス5314には、情報提供装置10によって生成された文章が表示される。
図3の例では、ユーザの操作内容に応じて、情報提供装置10が文章を生成し、生成した文章を出力している。
【0050】
プロンプト生成部13は、データ分析ツールに対する操作内容をリクエストとして受け取る。例えば、プロンプト生成部13は、「分析モデルが線形モデルであることを指定」という操作内容(リクエスト)に応じて、プロンプトを生成する。プロンプトに含まれる要素は、前述の通りである。
【0051】
リクエストがユーザの操作内容である場合、プロンプト生成部13は、要素(1)を、「操作内容に応じたアドバイスの文章の生成」と設定する。プロンプト生成部13は、チャット画面53に表示されているユーザ側の発言(例えば、ボックス5311のテキスト)がリクエストと一致しない場合、リクエストがユーザの操作内容であると判定してもよい。
【0052】
また、プロンプト生成部13は、以下の手順により要素(2)を決定する。まず、プロンプト生成部13は、対象の操作内容の前に所定の操作内容が行われているか否かを判定する。例えば、プロンプト生成部13は、リクエストの操作内容が分析モデルの指定である場合、前処理が既に指定されているか否かを判定する。プロンプト生成部13は、この判定結果を要素(2)として決定する。また、要素(3)は、操作内容そのものである。
【0053】
また、プロンプト生成部13は、要素(4)を「自然言語の文章」のように設定する。また、プロンプト生成部13は、要素(4)を「英語の文章」、「日本語の文章」のように言語を含めて設定してもよい。
【0054】
図3の例では、プロンプト生成部13は、例えば下記のようにプロンプトを生成する。
(1)命令:操作内容に応じたアドバイスの文章の生成
(2)文脈:前処理未指定
(3)入力データ:分析モデルに「線形モデル」を指定
(4)出力指示子:日本語の文章
【0055】
このように、プロンプト生成部13は、データ分析に関する一連のプロセスを生成するデータ分析ツールにおいて、データを分析するためのアルゴリズムを指定する操作内容をリクエストとして受け取り、操作内容に応じたアドバイスの文章を生成することを命令するプロンプトを生成する。また、文章生成部16は、プロンプトを言語モデルに入力し、操作内容の後に行うべき操作(例えば、前処理の指定)を示す文章を生成する。
【0056】
また、プロンプト生成部13は、履歴DB14から取得した過去のリクエスト及び結果を参照してプロンプトを生成してもよい。例えば、プロンプト生成部13は、過去に分析モデルに「線形モデル」が指定された際のキャンバスデータであって、最終的な学習済みの分析モデルの精度の評価値(例えば、線形モデルのRMSE(Root Mean Squared Error))を示すキャンバスデータの中から、最も評価値が高いキャンバスデータを選択する。そして、プロンプト生成部13は、選択したキャンバスデータにおいて指定されている前処理を推薦するような文章を生成することを促すようなプロンプトを生成する。
【0057】
さらに、履歴DB14には、分析対象のデータ内容が保存されていてもよい。例えば、リクエスト処理部12は、リクエスト及び結果とともに、分析対象のデータを履歴DB14に保存する。履歴DB14には、例えばCSV形式又はテーブル形式等の所定の形式のデータがそのまま保存されてもよいし、データの一部が保存されてもよいし、データから算出された統計量が保存されてもよい。
【0058】
プロンプト生成部13は、履歴DB14から取得した過去のリクエスト及び結果だけでなく、履歴DB14から取得した過去の分析対象のデータを参照してプロンプトを生成することができる。これにより、例えば、プロプンプト生成部13は、分析対象のデータを、推薦度の高い前処理を判断するための材料にすることができる。例えば、プロンプト生成部13は、リクエスト処理部12によって取得された分析対象のデータの特徴と、過去に前処理として「外れ値補間」がされた分析対象のデータとの特徴が類似する場合、前処理として「外れ値補間」を薦めるような文章が生成されやすくなるようにプロンプトを生成する。なお、データの特徴は分散、平均等の統計量であってもよい。
【0059】
例えば、プロンプト生成部13は、下記のように、プロンプトの要素(2)に、選択したキャンバスデータにおいて指定されている前処理の推薦度が高いことを記載しておく。
(2)文脈:前処理未指定(ただし、履歴及び分析対象のデータ内容から「外れ値補間」を推薦)
【0060】
この場合、例えば、ボックス5313に示す文章に「おすすめの前処理は外れ値補間だ。」という一文が追加された文章が言語モデル15によって生成される。
【0061】
(変形例)
図4は、第1の実施形態に係る情報提供システムの変形例を示す図である。
図4に示す情報提供システム1aの情報提供装置10aは、言語モデル15を有していない点が情報提供装置10と異なる。
【0062】
情報提供装置10aは、情報提供装置10aとネットワークを介して接続されたサーバ30に備えられた言語モデル15aを使って推論を行ってもよい。サーバ30は、例えば、外部のクラウドサーバである。
【0063】
[第1の実施形態の処理の流れ]
図5を用いて、情報提供装置10の処理の流れを説明する。
図5は、第1の実施形態に係る情報提供システムの処理の流れを示すフローチャートである。
【0064】
まず、リクエスト処理部12は、操作内容又は問い合わせ内容を、インタフェース部11を介してリクエストとして受け付ける(ステップS101)。次に、リクエスト処理部12は、リクエスト内容と結果を履歴DB14に保存する(ステップS102)。
【0065】
ここで、プロンプト生成部13は、過去のリクエスト内容と結果を履歴DBから取得する(ステップS103)。続いて、プロンプト生成部13は、リクエスト内容と結果を基にプロンプトを生成する(ステップS104)。
【0066】
そして、文章生成部16は、プロンプトを言語モデル15(大規模言語モデル)に入力し、文章を生成する(ステップS105)。文章生成部16は、生成した文章を、インタフェース部11を介して出力する(ステップS106)。
【0067】
[第1の実施形態の効果]
これまで説明してきたように、プロンプト生成部13は、データ分析ツールが実行される端末装置から受け取ったリクエストを基に、データ分析ツールの使用を支援するための文章を言語モデルに生成させるためのプロンプトを生成する。文章生成部16は、プロンプト生成部13によって生成されたプロンプトを言語モデルに入力することにより、文章を生成する。インタフェース部11は、文章生成部16によって生成された文章を、端末装置に表示させる。
【0068】
これにより、特に初学者のユーザは、書籍で調査をしたり、有識者に尋ねたりする代わりに、生成された文章を読むことで、データ分析ツールを使いこなすためのヒントを得ることができる。その結果、データ分析ツールの使いやすさを向上する。
【0069】
プロンプト生成部13は、データ分析ツールを使用するユーザによって、端末装置を介して入力されたテキストをリクエストとして受け取る。
【0070】
これにより、例えばチャット形式での文章の提供が可能になる。その結果、ユーザは問い合わせ事項等に対する回答が得られるだけでなく、他者との会話を模擬することで、作業中に気を紛らわせることができる。
【0071】
プロンプト生成部13は、データ分析ツールに対する操作内容をリクエストとして受け取る。
【0072】
ノーコードのデータ分析ツールは、プログラミングスキルは不要であるものの、ツール自体の使用方法を習得するためにユーザが苦労する場合がある。本実施形態によれば、ユーザは、操作内容に応じて生成された文章を読むことで、使用方法を効率良く習得できる。
【0073】
プロンプト生成部13は、データ分析に関する一連のプロセスを生成するデータ分析ツールにおいて、データを分析するためのアルゴリズムを指定する操作内容をリクエストとして受け取り、操作内容に応じたアドバイスの文章を生成することを命令するプロンプトを生成する。文章生成部16は、プロンプトを言語モデルに入力し、操作内容の後に行うべき操作を示す文章を生成する。
【0074】
これにより、ユーザは、次に行うべき操作を速やかに理解することができる。
【0075】
また、プロンプト生成部13は、データ分析ツールにおける過去の操作内容及び過去の操作内容に応じて生成されたプロセスによるデータ分析の精度を基に、リクエストとして受け取った操作内容の後に行われる操作の候補のうち、特定の操作を推薦する情報をプロンプトに追加する。
【0076】
これにより、ユーザは、過去の履歴を考慮した有用性の高いアドバイスを受けることができる。
【0077】
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。なお、プログラムは、CPUだけでなく、GPU等の他のプロセッサによって実行されてもよい。
【0078】
また、実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0079】
[プログラム]
一実施形態として、情報提供装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の情報処理を実行する情報提供プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の情報提供プログラムを情報処理装置に実行させることにより、情報処理装置を情報提供装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置には、タブレット型端末、スマートフォン、携帯電話機やPHS(Personal Handy-phone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
【0080】
また、情報提供装置10は、ユーザが使用する端末装置20をクライアントとし、当該クライアントに上記の情報処理に関するサービスを提供するサーバとして実装することもできる。例えば、サーバは、リクエストを入力とし、文章を出力とする情報処理サービスを提供するサーバ装置として実装される。この場合、サーバは、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の情報処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。
【0081】
図6は、情報提供プログラムを実行するコンピュータの構成例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
【0082】
メモリ1010は、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
【0083】
ハードディスクドライブ1090は、例えば、OS(Operating System)1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、情報提供装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、情報提供装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
【0084】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020は、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した実施形態の処理を実行する。
【0085】
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【符号の説明】
【0086】
1 情報提供システム
10 情報提供装置
11 インタフェース部
12 リクエスト処理部
13 プロンプト生成部
14 履歴DB
15 言語モデル
16 文章生成部
53 チャット画面
511、512、513、514 カード
521、522 領域
532 アイコン
533 入力欄
5311、5312、5313、5314 ボックス
【要約】
【課題】データ分析ツールの使いやすさを向上させること。
【解決手段】情報提供装置10は、インタフェース部11、プロンプト生成部13及び文章生成部16を有する。プロンプト生成部13は、データ分析ツールが実行される端末装置から受け取ったリクエストを基に、データ分析ツールの使用を支援するための文章を言語モデルに生成させるためのプロンプトを生成する。文章生成部16は、プロンプト生成部13によって生成されたプロンプトを言語モデルに入力することにより、文章を生成する。インタフェース部11は、文章生成部16によって生成された文章を、端末装置に表示させる。
【選択図】
図1