(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025021361
(43)【公開日】2025-02-13
(54)【発明の名称】情報処理システム、及びその方法、並びにプログラム、当該プログラムを記憶した記録媒体
(51)【国際特許分類】
G06F 9/448 20180101AFI20250205BHJP
【FI】
G06F9/448 120
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2023125195
(22)【出願日】2023-07-31
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVASCRIPT
2.PYTHON
(71)【出願人】
【識別番号】513248717
【氏名又は名称】株式会社シナジー研究所
(74)【代理人】
【識別番号】110003454
【氏名又は名称】弁理士法人友野国際特許事務所
(72)【発明者】
【氏名】依田 智夫
(57)【要約】
【課題】 未知/既知に拘らずあらゆる分野において、生成AIから情報を有機的に獲得して知識を樹立することのできる、情報処理システム、及びその方法、並びにプログラム、当該プログラムを記憶した記録媒体を提供すること。
【解決手段】 知識を集約する情報処理システム1であって、知識を有する1以上のノードで満たされる組織内情報部40と、組織内情報部40をノードで満たすため、テキストのプロンプトを生成すると共に、ノードを生成するプロンプタ11と、テキストのプロンプトを取得し応答情報を生成する生成AI20と、プロンプタの実行を規定するキュー13と、プロンプタにより応答情報から生成されたノードを格納するノードベース14と、実行ログを格納する実行ログ記憶部16とを備えたメイン処理部12と、メイン処理部12と組織内情報部40の間でノードの通信を管理する応用部30とを備え、組織内情報部40が完成されるまで、ノードを組織内情報部40に組み込む処理を実行する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
生成AIから情報を引き出すためのプロンプトを生成するとともに前記生成AIに対して前記プロンプトを与え、前記プロンプトを与えられた前記生成AIからの応答情報を受領し、前記応答情報から要求課題もしくは応用分野ごとに規定される型式であるノードモデルを満足する一連のノードを生成する、プロンプタ部と、
前記一連のノード中の個別ノードと、すでにノードベースに存在する既存ノードとの間で同値性を判断し、該同値性が確認された場合には前記個別ノードを、同値性をもつ前記既存ノードにマージするメイン処理部と
を備えたことを特徴とする情報処理システム。
【請求項2】
生成AIから情報を引き出すためのプロンプトを生成するとともに前記生成AIに対して前記プロンプトを与えるプロンプタ部と、
前記プロンプトを与えられた前記生成AIからの応答情報前記プロンプトを与えられた前記生成AIからの応答情報を受領し、前記応答情報に基づき、前記応答情報から要求課題もしくは応用分野ごとに規定される型式であるノードモデルを満足する一連のノードを生成し、前記一連のノード中の個別ノードと、すでにノードベースに存在する既存ノードとの間で同値性を判断し、該同値性が確認された場合には前記個別ノードを、同値性をもつ前記既存ノードにマージするメイン処理部と
を備えたことを特徴とする情報処理システム。
【請求項3】
前記プロンプタ部は、
共通処理を実装する部分であるフレームワーク層にあって前記生成AIを起動する機能を備えるプレームワーク層プロンプタと、
個別の応用分野及び/もしくは応用課題に対応する要件を実装する部分である応用層にあって前記プロンプタを補完する応用層プロンプタと
を備えることを特徴とする請求項1もしくは2記載の情報処理システム。
【請求項4】
前記プロンプタ部は、
個別の応用分野及び/もしくは応用課題に対応する要件を実装する部分である応用層にあって前記個別の応用分野もしくは応用課題に係る定義情報が規定される定義情報部と、
共通処理を実装する部分であるフレームワーク層にあって、前記定義情報部から得られる前記定義情報を読み込むことで前記生成AIを動作させる機能を備えるプログラムであるエンジンと
を備えることを特徴とする請求項1もしくは2記載の情報処理システム。
【請求項5】
前記メイン処理部は、
共通処理を実装する部分であるフレームワーク層にあって主要な処理を実行する部分であるフレームワーク層メイン処理部と、
個別の応用分野及び/もしくは応用課題に対応する要件を実装する部分である応用層にあって前記フレームワーク層メイン処理部を補完する応用層メイン処理部と
を備えることを特徴とする請求項1もしくは2記載の情報処理システム。
【請求項6】
前記メイン処理部は、
個別の応用分野及び/もしくは応用課題に対応する要件を実装する部分である応用層にあって前記の応用分野もしくは応用課題に係る定義情報が規定される定義情報部と、
共通処理を実装する部分であるフレームワーク層にあって、前記定義情報部から得られる前記定義情報を読み込むことで前記メイン処理部を動作させる機能を備えるプログラムであるエンジンと
を備えることを特徴とする請求項1もしくは2記載の情報処理システム。
【請求項7】
前記メイン処理部に対して、初期化、状態取得、キュー制御、イベント受信のうちの少なくともいずれか1つの機能を与える応用部をさらに備えることを特徴とする請求項1もしくは2記載の情報処理システム。
【請求項8】
前記メイン処理部で生成されたノードが前記応用部を介して、集約される組織内情報部をさらに備えることを特徴とする請求項7に記載の情報処理システム。
【請求項9】
前記テキストのプロンプトを取得し応答情報を生成する生成AIをさらに備えることを特徴とする請求項1もしくは2に記載の情報処理システム。
【請求項10】
前記応用部は、前記対話処理の画面に過去の状態を表示するため、過去のノードを記憶した履歴記憶部備えることを特徴とする請求項7に記載の情報処理システム。
【請求項11】
プロンプタ部とメイン処理部とを備えた情報処理システムにおいて、
前記プロンプタ部において、生成AIから情報を引き出すためのプロンプトを生成するとともに前記生成AIに対して前記プロンプトを与える第1のステップと、
前記プロンプタ部において、前記プロンプトを与えられた前記生成AIからの応答情報を受領し、前記応答情報から要求課題もしくは応用分野ごとに規定される型式であるノードモデルを満足する一連のノードを生成する第2のステップと、
前記メイン処理部において、前記一連のノード中の個別ノードと、すでにノードベースに存在する既存ノードとの間で同値性を判断し、該同値性が確認された場合には前記個別ノードを、同値性をもつ前記既存ノードにマージする第3のステップと
を備えたことを特徴とする情報処理方法。
【請求項12】
プロンプタ部とメイン処理部とを備えた情報処理システムにおいて、
前記プロンプタ部において、生成AIから情報を引き出すためのプロンプトを生成するとともに前記生成AIに対して前記プロンプトを与える第1のステップと、
前記メイン処理部において、前記プロンプトを与えられた前記生成AIからの応答情報前記プロンプトを与えられた前記生成AIからの応答情報を受領し、前記応答情報に基づき、前記応答情報から要求課題もしくは応用分野ごとに規定される型式であるノードモデルを満足する一連のノードを生成する第2のステップと、
前記メイン処理部において、前記一連のノード中の個別ノードと、すでにノードベースに存在する既存ノードとの間で同値性を判断し、該同値性が確認された場合には前記個別ノードを、同値性をもつ前記既存ノードにマージする第3のステップと
を備えたことを特徴とする情報処理方法。
【請求項13】
コンピュータを、
生成AIから情報を引き出すためのプロンプトを生成するとともに前記生成AIに対して前記プロンプトを与え、前記プロンプトを与えられた前記生成AIからの応答情報を受領し、前記応答情報から要求課題もしくは応用分野ごとに規定される型式であるノードモデルを満足する一連のノードを生成する、プロンプタ部と、
前記一連のノード中の個別ノードと、すでにノードベースに存在する既存ノードとの間で同値性を判断し、該同値性が確認された場合には前記個別ノードを、同値性をもつ前記既存ノードにマージするメイン処理部と
として機能させることを特徴とするプログラム。
【請求項14】
コンピュータを、
生成AIから情報を引き出すためのプロンプトを生成するとともに前記生成AIに対して前記プロンプトを与えるプロンプタ部と、
前記プロンプトを与えられた前記生成AIからの応答情報前記プロンプトを与えられた前記生成AIからの応答情報を受領し、前記応答情報に基づき、前記応答情報から要求課題もしくは応用分野ごとに規定される型式であるノードモデルを満足する一連のノードを生成し、前記一連のノード中の個別ノードと、すでにノードベースに存在する既存ノードとの間で同値性を判断し、該同値性が確認された場合には前記個別ノードを、同値性をもつ前記既存ノードにマージするメイン処理部と
として機能させることを特徴とするプログラム。
【請求項15】
請求項13もしくは14に記載の情報処理プログラムが記憶されたことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、たとえば情報処理システム、及びその方法、並びにプログラム、当該プログラムを記憶した記録媒体に係り、特に、生成AIに関連する情報処理システム、及びその方法、並びにプログラム、当該プログラムを記憶した記録媒体に関する。
【背景技術】
【0002】
現代社会では、従来型の産業における生産性をイノベーションによって画期的に向上させることや、全く新しい価値をもたらす産業の創出が求められている。
【0003】
従来型産業におけるイノベーションや新しい産業の創出、そのどちらも、企業組織にとっては未知の分野への挑戦となり、新しい知識の獲得が必須となる。
【0004】
一方、非特許文献1のように知識の獲得過程を表したモデルとして、SECI(Socialization Externalzation Combination Internalization)モデルがある。これは、社会の知識が、SECIの4象限をスパイラル上に変換されて拡大していく様子をモデル化したものである。
【先行技術文献】
【特許文献】
【0005】
【非特許文献1】「The Knowledge-Creating Company(知識創造会社)」(1991年)
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、未知の分野においても、あるいは既存分野においても、知識の獲得、すなわち特定の視点や価値観に沿った情報の入手とその集約は、基礎知識、根気、習熟度、高度でコストの高い人材、また、特別な支援システムなどが必要とされ、結果として、生産性の低い作業とならざるを得ないという問題があった。
【0007】
本発明は、上述した問題点を抽出したことから生み出されたものであり、未知/既知に拘らずあらゆる分野において、生成AIから情報を有機的に獲得して知識を樹立することのできる、情報処理システム、及びその方法、並びにプログラム、当該プログラムを記憶した記録媒体を提供することを課題とする。
【課題を解決するための手段】
【0008】
上記課題を解決するに当たり、本発明者は、まず、次の点に着眼した。すなわち、
図20は、知識が社会的に拡大する様子を表したモデル化したものであるが、形式知が存在するという意味で、組織における知識の拡大をモデル化したものであるといえる。インターネットが驚異的に発展し、インターネット空間上に数々のホームページやSNSが誕生し、ブログや論文などの形式で膨大な情報が生まれ、この膨大な情報は、主にテキスト形式であり形式性に乏しく、SECI4象限の左側、つまり暗黙知の領域に相当する知識である。以上から、主に組織における知識拡大のモデルであるSECIモデルにおいて、インターネット上の暗黙知を補足的に取り込みことができれば、この拡大スピードが加速化できると期待される。しかしそのためには、インターネット空間上でパブリック・アクセス可能な、つまり公知の情報を効率的に組織内に取り込む必要があるが、そのための適切な方法は存在しなかった。その理由は、前述の通り、それらがテキスト情報であるため、連結性に乏しいことと、広大なインターネット空間に散在する情報を特定の視点に沿って獲得する手段がなかったからである。しかし、2022年11月、生成AIであるChatGPT(登録商標)が誕生したことで、この状況が一変した。インターネット空間上の暗黙知を形式知に変換可能な形で、しかも特定の視点あるいはテーマに沿った形で、直接的に獲得し形式知に取り込みことが可能となった結果、公知の効率的獲得によって、組織における知識スパイラルを加速化することが可能となったのである。本発明は上述の点に着想を得てなされたものである。
【0009】
そこで、上記課題を解決するために、本発明の第1の態様に係る情報処理システムは、生成AIから情報を引き出すためのプロンプトを生成するとともに前記生成AIに対して前記プロンプトを与え、前記プロンプトを与えられた前記生成AIからの応答情報を受領し、前記応答情報から要求課題もしくは応用分野ごとに規定される型式であるノードモデルを満足する一連のノードを生成する、プロンプタ部と、前記一連のノード中の個別ノードと、すでにノードベースに存在する既存ノードとの間で同値性を判断し、該同値性が確認された場合には前記個別ノードを、同値性をもつ前記既存ノードにマージするメイン処理部とを備えたことを特徴とする。
【0010】
代替的に、上記課題を解決するために、本発明の第2の態様に係る情報処理システムは、生成AIから情報を引き出すためのプロンプトを生成するとともに前記生成AIに対して前記プロンプトを与えるプロンプタ部と、前記プロンプトを与えられた前記生成AIからの応答情報前記プロンプトを与えられた前記生成AIからの応答情報を受領し、前記応答情報に基づき、前記応答情報から要求課題もしくは応用分野ごとに規定される型式であるノードモデルを満足する一連のノードを生成し、前記一連のノード中の個別ノードと、すでにノードベースに存在する既存ノードとの間で同値性を判断し、該同値性が確認された場合には前記個別ノードを、同値性をもつ前記既存ノードにマージするメイン処理部とを備えたことを特徴とする。
【0011】
本発明の第3の態様として、第1の態様または第2の態様において、前記プロンプタ部は、共通処理を実装する部分であるフレームワーク層にあって前記生成AIを起動する機能を備えるプレームワーク層プロンプタと、個別の応用分野及び/もしくは応用課題に対応する要件を実装する部分である応用層にあって前記プロンプタを補完する応用層プロンプタとを備えるとしてもよい。
【0012】
本発明の第4の形態として、第1の態様または第2の態様において、前記プロンプタ部は、個別の応用分野及び/もしくは応用課題に対応する要件を実装する部分である応用層にあって前記個別の応用分野もしくは応用課題に係る定義情報が規定される定義情報部と、共通処理を実装する部分であるフレームワーク層にあって、前記定義情報部から得られる前記定義情報を読み込むことで前記生成AIを動作させる機能を備えるプログラムであるエンジンとを備えるとしてもよい。
【0013】
本発明の第5の形態として、第1の態様または第2の態様において、前記メイン処理部は、共通処理を実装する部分であるフレームワーク層にあって主要な処理を実行する部分であるフレームワーク層メイン処理部と、個別の応用分野及び/もしくは応用課題に対応する要件を実装する部分である応用層にあって前記フレームワーク層メイン処理部を補完する応用層メイン処理部とを備えるとしてもよい。
【0014】
本発明の第6の形態として、第1の態様または第2の態様において、前記メイン処理部は、個別の応用分野及び/もしくは応用課題に対応する要件を実装する部分である応用層にあって前記の応用分野もしくは応用課題に係る定義情報が規定される定義情報部と、共通処理を実装する部分であるフレームワーク層にあって、前記定義情報部から得られる前記定義情報を読み込むことで前記メイン処理部を動作させる機能を備えるプログラムであるエンジンとを備えるとしてもよい。
【0015】
本発明の第7の形態として、第1の態様または第2の態様において、前記メイン処理部に対して、初期化、状態取得、キュー制御、イベント受信のうちの少なくともいずれか1つの機能を与える応用部をさらに備えるとしてもよい。
【0016】
本発明の第8の形態として、第7の態様において、前記メイン処理部で生成されたノードが前記応用部を介して、集約される組織内情報部をさらに備えるとしてもよい。
【0017】
本発明の第9の形態として、第1の態様または第2の態様において、前記テキストのプロンプトを取得し応答情報を生成する生成AIをさらに備えるとしてもよい。
【0018】
本発明の第10の形態として、第7の態様において、前記応用部は、前記対話処理の画面に過去の状態を表示するため、過去のノードを記憶した履歴記憶部備えるとしてもよい。
【0019】
上記課題を解決するために、本発明の第11の態様に係る情報処理方法は、プロンプタ部とメイン処理部とを備えた情報処理システムにおいて、前記プロンプタ部において、生成AIから情報を引き出すためのプロンプトを生成するとともに前記生成AIに対して前記プロンプトを与える第1のステップと、前記プロンプタ部において、前記プロンプトを与えられた前記生成AIからの応答情報を受領し、前記応答情報から要求課題もしくは応用分野ごとに規定される型式であるノードモデルを満足する一連のノードを生成する第2のステップと、前記メイン処理部において、前記一連のノード中の個別ノードと、すでにノードベースに存在する既存ノードとの間で同値性を判断し、該同値性が確認された場合には前記個別ノードを、同値性をもつ前記既存ノードにマージする第3のステップとを備えたことを特徴とする。
【0020】
また、上記課題を解決するために、本発明の第12の態様に係る情報処理方法は、プロンプタ部とメイン処理部とを備えた情報処理システムにおいて、前記プロンプタ部において、生成AIから情報を引き出すためのプロンプトを生成するとともに前記生成AIに対して前記プロンプトを与える第1のステップと、前記メイン処理部において、前記プロンプトを与えられた前記生成AIからの応答情報前記プロンプトを与えられた前記生成AIからの応答情報を受領し、前記応答情報に基づき、前記応答情報から要求課題もしくは応用分野ごとに規定される型式であるノードモデルを満足する一連のノードを生成する第2のステップと、前記メイン処理部において、前記一連のノード中の個別ノードと、すでにノードベースに存在する既存ノードとの間で同値性を判断し、該同値性が確認された場合には前記個別ノードを、同値性をもつ前記既存ノードにマージする第3のステップとを備えたことを特徴とする。
【0021】
上記課題を解決するために、本発明の第13の態様に係るプログラムは、コンピュータを、生成AIから情報を引き出すためのプロンプトを生成するとともに前記生成AIに対して前記プロンプトを与え、前記プロンプトを与えられた前記生成AIからの応答情報を受領し、前記応答情報から要求課題もしくは応用分野ごとに規定される型式であるノードモデルを満足する一連のノードを生成する、プロンプタ部と、前記一連のノード中の個別ノードと、すでにノードベースに存在する既存ノードとの間で同値性を判断し、該同値性が確認された場合には前記個別ノードを、同値性をもつ前記既存ノードにマージするメイン処理部と、として機能させることを特徴とする。
【0022】
また、上記課題を解決するために、本発明の第14の態様に係るプログラムは、コンピュータを、生成AIから情報を引き出すためのプロンプトを生成するとともに前記生成AIに対して前記プロンプトを与えるプロンプタ部と、前記プロンプトを与えられた前記生成AIからの応答情報前記プロンプトを与えられた前記生成AIからの応答情報を受領し、前記応答情報に基づき、前記応答情報から要求課題もしくは応用分野ごとに規定される型式であるノードモデルを満足する一連のノードを生成し、前記一連のノード中の個別ノードと、すでにノードベースに存在する既存ノードとの間で同値性を判断し、該同値性が確認された場合には前記個別ノードを、同値性をもつ前記既存ノードにマージするメイン処理部と、として機能させることを特徴とする。
【0023】
本発明の第15の形態として、第13の態様または第14の態様に係るプログラムが記憶された、コンピュータ読み取り可能な記録媒体として実現されてもよい。
【発明の効果】
【0024】
本発明の各態様によれば、未知の分野における企業活動の実行において、データを扱う作業に習熟度を必要とする、あるいは知識のある人材に換わるシステムの提供に大きく寄与できる。
【図面の簡単な説明】
【0025】
【
図1】本実施の形態に係る情報処理システムの概略を示す概略図である。
【
図2】
図1をオブジェクト指向プログラミング技術の方法によって図示したものである。
【
図3】
図2の上半分であるフレームワーク層は、本発明における共通処理を実装する部分を表し、下半分である応用層は、個別の応用に対応する要件を実装する部分であり、対応関係を示す図である。
【
図4】本発明の一実施形態に係る情報処理システムの動作を示すフローチャートである。
【
図5】本発明の一実施形態に係る情報処理システムの動作を制御するプログラムの1例を示す図である。
【
図6】本発明の一実施形態に係るビジネスモデル・ジェネレーションに係るマトリックスである。
【
図7】本発明の一実施形態に係るビジネスモデル・ジェネレーションに係るノードモデルを示す図である。
【
図8】本発明の一実施形態に係るビジネスモデル・ジェネレーションに係るデータ構造を示す図である。
【
図9】本発明の一実施形態に係る著名人の関係性を無向グラフで示した図である。
【
図10】本発明の一実施形態に係る著名人の関係性をノードモデルで示した図である。
【
図11】本発明の一実施形態に係る著名人の関連に係るノードモデルを示す図である。
【
図12】本発明の一実施形態に係る著名人の関連に係るデータ構造を示す図である。
【
図13】本発明の一実施形態に係るプロンプタのパラメータ化を説明する図である。
【
図14】本発明の一実施形態に係るプロンプタのパラメータ化を説明する図である。
【
図15】本発明の一実施形態に係る1対多に係るノードモデルを示す図である。
【
図16】本発明の一実施形態に係る階層構造に係るノードモデルを示す図である。
【
図17】本発明の一実施形態に係る再帰的階層構造に係るノードモデルを示す図である。
【
図18】本発明の一実施形態に係る有向グラフに係るノードモデルを示す図である。
【
図19】本発明の一実施形態に係る非循環有向グラフに係るノードモデルを示す図である。
【
図20】本発明の骨子を形成するSECIモデルの概略の構成を示した図である。
【
図21】本発明の一実施形態に係るプロンプタがパラメータ化された一例を示す図である。
【
図22】本発明の一実施形態に係るパラメータ化されたプロンプトの一例を示す図である。
【発明を実施するための形態】
【0026】
以下、図面を参照して本発明を実施する為の形態について説明する。なお、以下では本発明の目的を達成するための説明に必要な範囲を模式的に示し、本発明の該当部分の説明に必要な範囲を主に説明することとし、説明を省略する箇所については公知技術によるものとする。
【0027】
<全体構成>
図1は、本発明の一実施形態に係る情報処理システム1の構成の一例を説明するための概念的ブロック図である。本発明の一実施形態に係る、情報処理システム1は、1つ以上のコンピュータを備えてなるものであって、(図示しない)、当該コンピュータは、ハードウェア構成としては、CPU(Central Processing Unit)と、CPU上で動作する制御プログラム等を格納したROM(Read- only Memory)と、各種データを一時的に格納するためのRAM(何れも不図示)を備えて構成されている(図示しない)。
【0028】
図1に示すように、情報処理システム1は、知識を集約する情報処理システム1である。当該情報処理システム1は、機能ブロック構成としては、本発明の根幹に係る処理部10と、生成AI20と、プロンプタ11と、メイン処理部12と、応用部30と、組織内情報部40と、履歴記憶部50を有している。メイン処理部12は、キュー13と、ノードベース14と、実行ログ記憶部16とを備えている。応用部30は、表示部31を備えている。そして、生成AI20と、プロンプタ11と、メイン処理部12と、応用部30と、組織内情報部40とは通信手段(無線又は有線を含む)によって通信可能に接続されている。なお、上記本発明の根幹に係る処理部10のみを本発明の構成部分として、該処理部10以外の各部は、本発明の周囲を形成するものとして捉えることもできる。
【0029】
<情報処理システム1の各構成要素の説明>
生成AI20は、テキストのプロンプトを取得し応答情報を生成する生成AIであり、組織のコンピュータに設置されたものあるいは、外部のWEBサービス等がある。生成AI20を利用すると、ユーザはプロンプトと呼ばれるテキストによって生成AI20に対して質問を行う、あるいは、問いかけを行うことができる。本発明においては、ユーザは人ではなく、プロンプタである。プロンプタは、生成AI20のAPI(Application Programming Interface)を介して、情報を依頼する。生成AI20は、それに対して、JSON等の形式で、プロンプタに依頼された情報を返す。
【0030】
プロンプタ11は、メイン処理からすでにノードベース14に存在するある特定のノードを一つ与えられる。プロンプタ11はその特性に応じて、与えられたノードから必要な情報を取得して、生成AI20のためのテキストを生成する。生成AI20からの応答を受け取ったプロンプタ11は、生成AI20から返されたJSON等の形式から、与えられたノードに接続していて、かつ、ノードモデルの条件を満たす複数のノードをメイン処理部12に返す。プロンプタ11は、本発明の応用分野に応じて多数用意しておき、必要に応じて簡単に利用することができる。
【0031】
ノードの型であるノードタイプには、
図2からわかるように同時に複数のプロンプタが対応する場合がある。「ノード構造で分類した利用例」のグラフ構造の例で説明するバリューチェーンのケースでは、ある特定のノード、例えば半導体産業を起点として、その上流から流れる品目と購入元、そして、その下流へ流れる品目と販売先の両方のノードを取得したい。しかし、そのためのテキストを同じ一つのプロンプタで合成することは、生成AI20の負担となり、また生成AI20が依頼の意図を理解することを妨げる原因となるかもしれない。このような場合は、上記、下流と上流に対応して二つのプロンプタを用意することが望ましい。このような理由で、プロンプタはノードタイプに対して複数対応可能とするのである。
【0032】
メイン処理部12は、本発明の効用を実現するための主要な処理を実行可能に構成されている。ユーザに利便性をもたらす本発明の応用プログラムはこのメイン処理部12を利用することになる。このメイン処理部12は、各種のIT(情報技術)アーキテクチャへの対応が可能である。例えば、応用部30が組織内情報部40の連携を果たすものである場合、あるいは、会話型処理又はバッチ処理のサーバとして機能する場合などがあり得る。アーキテクチャに依存するものではあるものの、メイン処理部12が応用部30に対応して実装すべき処理は、例えば、以下のものである。
1:ノードベースの初期化。
2:ノードの状態取得。
3:キュー制御:キュー13内のノードの順番を変更したり、削除するなどを行う。
4:イベント送信:実行過程の進行に応じたイベントを応用システムに送信する。
【0033】
応用部30には、バッチ的な連携を果たす処理や、会話型の処理を行うものなど、さまざま用途や形態が可能である。特に、グラフィック・ユーザー・インターフェースを活用して、ノードの変化をわかりやすく表示し、画面操作などに対してリアルタイムに前述のメイン処理部12を実行するような形態利便性が高い。
【0034】
組織内情報部40は、組織内に既に存在するか、あるいは新規に開発されるシステム、あるいは、SaaS(Software as a Service)等のWEBサービスである。ERP(Enterprise Resource Planning)、各種業務システム、BI(Business Intelligence)など各種のシステムがある。これらのシステムと本発明を連携することで、外部情報をタイムリーに積極的に利用した組織内情報部40の構築が可能となる。なお、上述の応用部30とこの組織内情報部40又はWEBサービス等を同時に一つの応用部30として考案及び開発してもよい。
【0035】
<オブジェクト技術による構成要素の説明>
本発明の仕組みは、ソフトウェア工学におけるオブジェクト指向プログラミング技術を利用して考案されている。オブジェクト指向プログラミング技術では、システム全体をいわゆるプログラムとデータに分離することなく、その両者の性質を併せ持つ比較的粒度の小さい単位(オブジェクト)を多数組み合わせてシステムを構成する考え方である。オブジェクトは、プログラムとデータから成り立つが、データは、さらにプログラムのためのデータと、いわゆるデータベースにおいて管理されるような、知識や概念の範疇とされるデータとが存在する。
【0036】
本発明においては、この知識や概念の範疇とされるデータに特別な重きを置くため、データを、プログラムデータとノードデータに分類し、以下、ノードデータとして機能するオブジェクトを単にノード、あるいはノード・オブジェクトと呼ぶ。
【0037】
図2は、
図1を、オブジェクト指向プログラミング技術の方法によって図示したものである。
【0038】
全体は上下2層に分かれる。上位のフレームワーク層2には、本発明の用途にかかわりなく、機能する部分が描かれている。
Prompter(プロンプタ)2bは、プロンプタの機能を実装するオブジェクトである。
AI Adaptor:(AIアダプタ)2aは、プロンプタが各種の生成AIに接続できるように、Prompter2bと生成AI20の仲立ちをする。これにより、同じPrompter2bを異なる生成AI20に接続できるようになる。
【0039】
NodeType(ノードタイプ)2eは、ノードの種類ごとの処理を実装するオブジェクトである。
Node(ノード)2fの各ノードが、本発明が扱う個別の情報を保持する単位となる。
NodeQueue(ノードキュー)2gは、各構成要素のキューを実装する。
【0040】
Main(メイン)2hは、本発明を簡易に稼働する場合の処理を行うメインプログラムオブジェクトである。
【0041】
CellPrompter(セルプロンプタ)3aは、情報処理システム1の具体例であるビジネスモデル・ジェネレーションにおけるプロンプタ機能を実装するオブジェクトである。
Cell(セル)3bは、ビジネスモデル・ジェネレーションにおける、マトリクスの交点(セル)に対応するノードである。
Infuluence(インフルエンス)3eは、ビジネスモデル・ジェネレーションにおける、「影響」に対応するノードである。
Raw(ロー)3cは、ビジネスモデル・ジェネレーションにおけるマトリクスの行に対応するオブジェクト(生成AIから取得しないので非ノードである)である。
Column(カラム)3dは、ビジネスモデル・ジェネレーションにおけるマトリクスの列に対応するオブジェクト(生成AIから取得しないので非ノードである)である。
MatrixMain(マトリックスメイン)3fは、情報処理システム1の具体例であるビジネスモデル・ジェネレーションにおける応用部の実装である。
【0042】
図2において、上半分であるフレームワーク層は、本発明における共通処理を実装する部分を表している。また、下半分である応用層は、個別の応用に対応する要件を実装する部分である。
図3に対応関係を示す。このようなフレームワーク方式には、2種類の実装方式がある。一つは、フレームワーク層が応用層に関する定義情報を読み取って動作する、いわゆるエンジンと呼ばれる方式である。また、もう一つは、フレームワーク層、応用層のどちらも実装し、応用層をフレームワーク層に注入する方式である。本文書の説明は、後者に寄せて記述している。
【0043】
<本発明に係る用語の定義>
ノードは、一人一人の人、個別の会社や国など、識別性を持ったデータの単位である。ノードは複数の属性と属性値を持つ。また、ノード同士はリンクで接続される。
【0044】
ノードの識別性とは、属性や属性値が同じであっても異なるノードは区別できるということである。例えば、「トヨタ自動車」、という名前を持ったノード1と、同じく「トヨタ自動車」、という名前を持ったノード2は、ノードが異なるため異なるノードである。
【0045】
ノードの同値性は、異なる複数のノードを実質的に同じとみなすための概念である。本方法では、同値性概念の導入のため、同値性を判断する処理が必要であるが、その方法にはいくつかある。例えば、以下の通りである。
1:「トヨタ自動車」と「トヨタ自動車」のように、名称とみなされる属性値が全く同じであること。
2:「トヨタ自動車」と「トヨタ」のように、名称とみなされる属性値が類似であること。このような判定はアルゴリズム化が可能である。
3:名前に相当する属性値が存在しない場合は、いくつかの属性から総合的に判断する。これもアルゴリズム化が可能である。
4:二つのノードが同値であるかを生成AIなど外部サービスに判断させる。
5:その他。
【0046】
ノードモデルはノードやリンクに型付けを与える。プレス金型とプレス部品の場合は、プレス金型という型付けにより、同一の形状を持った部品を多数生産できる。これと同じように、ノードモデルという型付により、同一の構造的特徴を持ったノードを多数生成することができる。ノードモデルは、型付けの表現である。例えば、一般的な組織図の形は、組織構造というノードモデルによって表され、これはUML(統一モデリング言語)のクラス図で表現が可能である。クラス図により上位組織が一つだけあり、下位組織が複数あるという構造が表現できる。「階層が全部で4階層以内」という型付けは図では表現できないため、制約と呼ばれる文章によって表現される。
【0047】
ノードタイプは、人、会社、国という範疇や概念のことをノードタイプと呼ぶ。後述するプロンプタは、ノードではなく、このノードタイプに対して設定される。
【0048】
ノードベース(NB)14は、ノードがノードモデルに従った形で存在する入れ物がノードベース14である。ノードベース14内のノードは、前述の型付けを満たしていなくてはならない。すなわち、同一の構造的特徴を持たなければならない。
【0049】
プロンプタ11は、ノードベース14から与えられる1個のノードを入力として、そこから生成AIのためのプロンプト・テキストを合成して、生成AI20を起動する。さらに、生成AI20から戻されたJSON(JavaScript Object Notation)形式等のデータから、ノードモデルを満足する新しい一連のノードを生成して、ノードベース14に投入する。
【0050】
キュー13について説明する。ノードベース内のノードはその一つずつがプロンプタの入力となり、プロンプタからは、関連する複数のノードが返される。つまり、メイン処理が始まるとノードの処理に待ちが生じる。この待ち状態のノードを待機させるためにキューが存在する。
【0051】
実行ログ記憶部41は、メイン処理部12が実行した際の様々な情報を記憶するものである。主な用途は、プロンプタを経由して取得されたノードがノードモデルを満たさないなどの例外事象を記録することである。
【0052】
履歴記憶部50は、応用部30が、一定時間を隔てたノード状態などをレポートする際に、新旧比較などができるようにするためのものである。
【0053】
<情報処理システム1の動作の説明>
メイン処理の流れを
図4に示し、各段階を説明する。初めに、ステップS100では、メイン処理部12は、ノードとキュー13を初期化する。すなわち、例えばビジネスモデルジェネレーションの場合は27個のノードを用意する。
ステップS200では、メイン処理部12は、キュー13内の先頭ノードを処理する。
ステップS250では、メイン処理部12は、ノードタイプに設定された複数のプロンプタ11を取得する。
ステップS270では、メイン処理部12が、プロンプタ11を実行し、取得された新ノードを実行する。
【0054】
ステップS271では、メイン処理部12はプロンプタ11を実行する。
ステップS273では、メイン処理部12はプロンプタ11から返された新ノードを一つ処理する。
ステップS275では、メイン処理部12が、同値のノードがあるか否かを判断する。同値のノードがあると判断した場合に処理はステップS277に進む。同値のノードが無いと判断した場合に処理はステップS279に進む。
【0055】
ステップS277では、メイン処理部12が、新ノードを同値ノードにマージする。
ステップS279では、メイン処理部12が、新ノードをキュー13に追加する。
ステップS281では、メイン処理部12が、未処理のノードがあるか否かを判断する。未処理のノードがあると判断された場合に処理はステップS273に戻る。未処理のノードが無いと判断された場合に処理はステップS290に進む。
【0056】
ステップS290では、メイン処理部12が、未実行のプロンプタ11があるか否かを判断する。未実行のプロンプタ11があると判断した場合に処理はステップS270に戻る。未実行のプロンプタが無いと判断した場合に処理はステップS300に進む。
【0057】
ステップS300では、メイン処理部12が、終了条件を満足しているか否かを判断する。終了条件を満足していると判断した場合に処理は終了する。終了条件を満足していないと判断した場合に処理はステップS200に戻る。
【0058】
終了条件の例を以下に示す。
1:キューが空になった。
2:トークン数(生成AI20との情報交換の単位)の制限を超えた。
3:プロンプト呼び出し回数の制限を超えた。
4:キュー13の長さが制限を超えた。
5:特別の終了条件が満たされた。
【0059】
疑似コード:応用部が本方法の処理を一括して動作させる場合の疑似コードをPythonライクな疑似言語によって示す。
図5に示された各クラスに示されたプログラム(メソッド)がどのように呼び出されているかを説明している。
【0060】
<情報処理システム1の使用の具体例>
以下に具体応用例を示す。組織が新しい事業を開始する場合、あるいは、自らの組織にとって実施が可能な新しい事業を模索する段階において用いる手法として、ビジネスモデル・ジェネレーションがある。(翔泳社発行、ビジネスモデル・ジェネレーション、2012年参照)
【0061】
ビジネスモデル・ジェネレーションは、その実施のために、9つの構築ブロックを配置したビジネスモデル・キャンバスと呼ばれる視覚化されたツールを使用することを推奨する。9つの構築ブロックは以下の通りである。
1:Customer Segments:顧客セグメント
2:Value Propositions:価値提案
3:Channels:チャネル
4:Customer Relationships:顧客との関係
5:Revenue Streams:収益の流れ
6:Key Resources: リソース
7:Key Activities:主要活動
8:Key Partners:パートナー
9:Cost Structure:コスト構造
【0062】
ビジネスモデル・キャンバスに配置されたこれらの構築ブロックの一つ一つにビジネスモデルの要素を書き込み議論する。ビジネスモデルに戦略性を持たせるために、各種のビジネスモデル環境要因が上述の構築ブロックの一つ一つに対して与える影響を検討することが推奨されている。その一部の「重要なトレンド」として分類されているビジネスモデル環境要因を以下に示す。
1:技術のトレンド。
2:規制のトレンド。
3:社会的、文化的なトレンド。
【0063】
これら3つの「重要なトレンド」を横軸として、上述の構築ブロックを縦軸にとると、ビジネスモデル環境要因が構築ブロックに与える影響は、このマトリクスの27個のセル内に記入していける。そして、各セルに影響が複数記入されたマトリクスによって、ビジネスモデルの戦略的検討を行えばよい。なお、
図6では、製薬会社がこのビジネスモデルの戦略的検討を行っていると仮定する。本方法を用いれば、このセル内の要素を自動的に生成AI20から取得することができる。その際に使用されたプロンプトについては後述する。生成AI20(ChatGPT(登録商標))によって得られた、「社会的、文化的なトレンド」が製薬会社の「コスト構造」に及ぼす「影響」は、以下の4点である。
1:健康志向による収益機会の増大
2:バイオテクノロジーとパーソナライズド医療による収益拡大
3:医療のデジタル化とテレヘルスによる収益増加
4:医療費制約による収益の制約
【0064】
図7を参照する。ビジネスモデル・キャンバスの上記の手法をノードモデル化したものである。ここで。「*」は多数を表し、「1」は一つを表している(他の図においても同様である)。ビジネス環境要因(横軸)101が多数あり、構築ブロック(縦軸)103が多数あり交わった所がセル(1つ)である。このセルにキュー105を介し生成AI20から取得した影響109が複数リンクされる。
【0065】
図8を参照する。
図7で示したノードモデルの具体的なノード構造である。コスト構造111と、技術のトレンド113の交わるセル1に影響1及び影響2が生成AI20から取得されリンクされている。また、コスト構造111と、規制のトレンドの交わった所のセル2に影響3及び影響4が生成AI20から取得されリンクされている。さらに、コスト構造111と、社会的・文化的トレンド117の交わった所のセル2に影響119、影響121、影響123及び影響125が生成AI20から取得されリンクされている。
【0066】
プロンプタ11は、プロンプタ11への指示(explode)によって
図8のセル3が渡されると、生成AI20がAPIによって呼び出されることになるが、その時に実際に生成AI20に対して送信されるプロンプトは以下のようになる。ただし、以下では、JSON等の出力形式指示に関する説明は省略する。
「今後の社会的、文化的トレンドが、製薬会社の収益の流れに及ぼす影響について述べてください。」
【0067】
メイン処理部12の反復処理に対して、このようなプロンプトが生成されるようにするためには、以下、
図21のようにプロンプタがパラメータ化されれば良い。
【0068】
なお、このマトリクスは、一つの企業や産業に対して作成されるべきものであることから、入力パラメータ1(&1)は、「製薬会社」に固定されることになる。ここで、企業種別をパラメータ化したのは、このプロンプタ11の再利用性のためである。
【0069】
前述のキュー13内のノードをすべてシードノードとして展開して処理は終了する。結果として、前述のマトリクスのセルのすべてに対して、ビジネス環境要因が構築ブロックにもたらす複数の影響が対応付けられることになる。同値性の判断を実行し、新しくデータベース14に投入されたノードとあらかじめ存在していたノードとの同値性を判断することは、本例に関しては必要ない。本例のノードモデルは、<ノード構造で分類した利用例>で説明するように、1対多関連構造であるため、「影響」に関する同値性の判断が不要なのである。上記の説明で外部から渡された縦軸と横軸は、同じく1対多関連を利用して生成AIから取り込むこともできる。その場合は、メイン処理部12の中でメイン処理と同等な処理を入れ子で使用することになる。
【0070】
著名な人物同士の人脈のような情報は、公知の部分に関しては、それを生成AI20から取得し、それを本方法によって可視化することができる。可視化の様式としては、
図9に示すような様式が一般的である。ノードモデルとしては、
図10のような無向グラフと呼ばれる構造の利用が適切である。すなわち、人物131に対して、多数の人物の関係133(人物と人物をつなぐ棒線)が存在する。一方、多数の人物の関係133から見ると、2人の人物131がつながっている。そして、人物131はキュー135につながっている。
【0071】
ノードベース状態の例示として、
図11では、人物AMがノードベース上に存在して、人物AMはさらにキューに接続している。
図12に示すように人物AMがキュー145の先頭にいれば、人物AMはプロンプタ11に渡され、人物MSと人物YOがノードベース14に投入され、検証が済めば、人物MSと人物YOがノードベース14に投入される。本例では、人物AM、人物MS、人物YO間に同値性は存在しないと考えられるため、次のサイクルで人物MSと人物YOがキュー145に追加される。以降、順次、人物MSと人物YOがプロンプタ11に渡される。
【0072】
図12の人物AMが渡されるプロンプタ11の仕様と合成されるプロンプトの例として、実際に生成AI20に送信されるプロンプト・テキストの例(JSON等、出力形式の指示に関する説明は省略する)を以下に示す。
「芸能人の〇〇〇〇ちゃんと仲の良い芸能人を教えてください。」
(〇〇〇〇は、任意の芸能人の名前を表す)
【0073】
メイン処理部12の反復処理に対して、このようなプロンプトが生成されるようにするためには、
図13のようにプロンプタがパラメータ化されれば良い。パラメータ化されたプロンプトは以下、
図22のようになる。
図13の例が各パラメータに代入されると、生成AI20に渡されるプロンプトは、前述のようになる(「芸能人の〇〇〇〇ちゃんと仲の良い芸能人を教えてください。」)。
図13のパラメータの組み合わせにして生成されるプロンプトの例を
図14に示す。新しくノードベース14に投入されたノードとあらかじめ存在していたノードとの同値性の判断は、人物名によって行われる。
【0074】
<ノード構造で分類した利用例>
これまで説明したように、本発明の応用に際しては、その応用分野におけるノード構造を決める必要がある。ノード構造としては普遍性の高いものから、組織固有の特殊なものまで任意の構造を採用することができる。しかしながら、組織固有の特殊なノード構造に対して、ネット情報を学習素材とする生成AIがうまく対応することは期待しがたい。そこで、本発明においては、普遍的なノード構造の採用が推奨できる。
普遍的なノード構造で分類した利用例を以下に説明する。
【0075】
1対多関連構造を
図15に示す。ノードAに対して多数のノードBが存在する。逆に、多数のノードBに対し1つのノードAが存在する。このノードモデルの適用例として、前述のビジネスモデル・ジェネレーション等がある。ビジネスモデル・ジェネレーションの例ではマトリクス構造を利用しているが、そこでのマトリクス構造は、生成AIを通じて取得した構造ではなく、書籍から学んで使用した構造である。ビジネスモデル・ジェネレーションの例において、生成AIから取得されたのは、マトリクスの各セル(あるビジネスモデル環境要因がビジネスモデル構築ブロックにもたらす影響という関連)と実際の複数の「影響」であり、これは1対多関連構造なのである。
【0076】
階層構造のノードモデルについて
図16に示す(直列化した1対多関連による階層構造)。1つのノードAに対して多数のノードBが存在する。そのノードBの中の1つのノードBに対し多数のノードCが存在する。一方、再帰的階層構造161を
図17に示す。1対多の構造がループ状になりいくつもの階層を重ねることができる。適用例としては、組織構成、部品表、WBS(ワークブレークダウンストラクチャ)などがある。これらの構成情報も、適当な初期ノードを利用すると本方法によって取得できる。なお、本方法による階層構造を構成するノードの取得は、必ずしも階層の上位から開始する必要はない。同値性概念を実装することにより、階層の下位から上位に向かってノードを取得することも可能である。
【0077】
グラフ構造とは、複数の事柄の相互の関係を表現する構造である。以下では、この構造をさらに分類して、本方法の適用可能な例を示す。グラフ構造は無向グラフと有向グラフに分かれるが、無向グラフは、すでに、具体例の
図9~
図14で説明した。適用例として、人脈図(
図9参照)、都市などの地理的関係が挙げられる。
【0078】
図18に示すように、有向グラフは、複数の事柄を方向性を含めて表現できる構造である。頂点171に対して、多数の辺173が存在する。有向グラフは、さらに、循環有向グラフ構造と非循環有向グラフ構造に分類される。循環有向グラフは、頂点から辺をたどり同一の頂点に戻ることが許される構造であるのに対して、非循環有向グラフ構造では許されない。
【0079】
循環有向グラフ構造の例としては、バリューチェーンの視覚表現がある。バリューチェーンは組織や産業の間を流れる品目を図式化することで理解される。例えば、半導体産業から販売された半導体が、再び機械装置となって半導体産業に流入することがあるため、非循環有向グラフによる表現が適切なのである。このように、バリューチェーンの視覚化においても本方法を利用することができる。
【0080】
非循環有向グラフの構造は上述の
図18のノードモデルの通りであるが、「辺によって接続される頂点が循環してはならない」という制約が追加される。適用例として、プロジェクト管理などで利用される概念であるアクティビティリストが挙げられる。アクティビティ(活動)には、作業としての前後関係がある一方で、循環はあり得ないため、非循環有向グラフの利用が適切である。
【0081】
複合的構造とは、上述の普遍的なノードモデルが組み合わされたものである。上述のノードモデルには1対多のような基本的なノードモデルが含まれているので、複合的な構造とは任意の構造と呼び変えることもできる。適用例として、階層的非循環有向グラフがある。
【0082】
上述したように、非循環有向グラフはアクティビティリストのノードモデルとして利用できるが、実用的なプロジェクト管理システムを利用すると、このアクティビティにグラフ構造に加えて階層性が追加されている場合が多い。したがって、そのようなシステムへアクティビティリストを投入するべく、本方法を使用する際には、階層性と非循環有向グラフの特性を持つ
図19のようなノードモデルを利用するのが良い。ただし、再帰的階層性と非循環有向グラフの両方の性質を兼ね備えたノードを生成AIによって取得しようとしても、非循環性と階層性が両立していないことがある。本方法では、ノードモデルのチェックによって、このようなノード状態は排除され、プロジェクト管理システムへの投入する際にエラーが生じるような事態を避けることができる。
【0083】
本方法が利用できる複合的構造は、いろいろと考案することができるが、
図19のような、1対多構造と再帰的階層構造を重ね合わせた構造も利用できる。例えば、フェークニュースであることが疑われる複数の記事をグループ化して、その情報源となったニュースを階層を下から上に向かって探索する用途が考えられる。
【0084】
1対多関連構造の具体例として説明したビジネスモデル・ジェネレーションでは、そこで取得されたノードの表現構造としてマトリクス構造が利用されている。このマトリクス構造は生成AI20によって外部から取得されたものではなく、マトリクス構造をそのまま本発明における初期データとして利用したまでで、本発明は、そのマトリクス構造中のセル内に記入する「影響」ノードの取得に使用されている。
【0085】
これに対して、マトリクス構造そのものを生成AIから取得することも可能である。プロンプト「〇〇分析に利用できるマトリクス構造を教えてください。そのための縦軸(行)の要素と横軸(列)」の要素をすべて教えてください」のように依頼することでマトリクス構造そのものの取得が可能である。また、ある分野における縦軸や横軸に使えそうな概念とその要素を取得し、そののちにそれらからN個を選択して、N項(次元)関係をつくることもできる。この時のN=2の場合がマトリクス構造である。このようにして構築したN項関係をこれまで述べた各種の普遍的ノード構造と組み合わせて使用することができる。N=2でかつ普遍的ノード構造が1対多構造の場合は、前述の、ビジネスモデル・ジェネレーションと類似の用例となる。N=3の場合、マトリクスは立方体となる。N>3の場合は、全体を視覚的に表現することはできないので、3次元空間の射影を利用することになる。マトリクス構造を利用した本方法の応用としては、前述のビジネスモデル・ジェネレーションに加えて、いわゆるSWOT(強み・弱み・機会・脅威)分析やその応用であるクロス分析なども考えられる。
【0086】
なお、本発明において、組織内情報部40をノードで満たすことは、必ずしも必要条件ではない。応用部30までであっても良い。
【0087】
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。
【符号の説明】
【0088】
1 情報処理システム
11 プロンプタ
12 メイン処理部
13 キュー
14 ノードベース
16 実行ログ
20 生成AI
30 応用部
31 表示部
40 組織内情報部
50 履歴記憶部