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