(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2025-01-20
(45)【発行日】2025-01-28
(54)【発明の名称】プログラム、方法、情報処理装置及びシステム
(51)【国際特許分類】
G06F 16/53 20190101AFI20250121BHJP
【FI】
G06F16/53
(21)【出願番号】P 2024100317
(22)【出願日】2024-06-21
【審査請求日】2024-06-21
【早期審査対象出願】
(73)【特許権者】
【識別番号】519165490
【氏名又は名称】A1A株式会社
(74)【代理人】
【識別番号】110002815
【氏名又は名称】IPTech弁理士法人
(72)【発明者】
【氏名】森岡 周平
【審査官】酒井 恭信
(56)【参考文献】
【文献】特開2021-022330(JP,A)
【文献】特開2023-100311(JP,A)
【文献】特開2022-047915(JP,A)
【文献】特開2023-083931(JP,A)
【文献】特開2024-037022(JP,A)
【文献】特許第7465025(JP,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00 - 16/958
(57)【特許請求の範囲】
【請求項1】
プロセッサと、メモリとを備えるコンピュータ
の前記メモリに格納されたプログラムであって、前記プログラムは、前記プロセッサに、
図面に関する図面情報と、前記図面に図示された図示対象物の見積書に関する見積情報と、前記図示対象物に関する
テキスト情報である第1情報の出力を指示する第1プロンプトとを第1生成AIモデルに入力し、前記第1生成AIモデルから前記第1情報を出力させる出力ステップと、
複数の前記図面について出力させた複数の前記第1情報をデータベースに格納して、検索データベースを構築する構築ステップと、
検索対象の
画像データ及び前記検索対象に関するテキスト情報の入力を、第2情報の入力
として受け付ける入力ステップと、
受け付けた前記第2情報
、及び前記検索対象の画像データの内容と前記検索対象に関するテキスト情報とを統合した統合テキスト情報の出力を指示する第2プロンプトを、前記第1生成AIモデルと異なる第2生成AIモデルに入力し、当該第2生成AIモデルから出力された前記統合テキスト情報に基づいて、前記検索データベースから前記統合テキスト情報と類似する前記第1情報を類似情報として検索し、検索した前記類似情報、及び検索情報の出力を指示する第3プロンプトを前記第2生成AIモデルに入力し、当該第2生成AIモデルから出力された前記検索情報を提示する提示ステップとを実行させるプログラム。
【請求項2】
前記出力ステップにおいて、
更に、前記図面、前記見積書、前記見積書を他の見積書と比較したときの比較結果に関する資料、又はこれらの少なくとも2つの組み合わせに関する通信情報を前記第1生成AIモデルに入力する請求項1に記載のプログラム。
【請求項3】
前記通信情報は、前記見積書に記載された見積額の決定に至るまでのやり取りに関する情報を含む請求項2に記載のプログラム。
【請求項4】
前記入力ステップにおいて、所定の入力フォームに設けられた複数種類の項目のそれぞれに前記検索対象の該当情報が入力されることにより、前記第2情報の入力を受け付ける請求項1に記載のプログラム。
【請求項5】
前記
検索情報は、前記類似情報を含んだ類似図面の画像データを
含む請求項1に記載のプログラム。
【請求項6】
前記
検索情報は、前記類似情報を含んだ類似見積書の画像データを
含む請求項1に記載のプログラム。
【請求項7】
前記
検索情報は、前記類似情報を含んだ類似見積書を他の見積書と比較したときの比較結果に関する資料の画像データを
含む請求項1に記載のプログラム。
【請求項8】
前記検索情報は、前記
類似情報を説明する説明文を
含む請求項
1に記載のプログラム。
【請求項9】
前記出力ステップにおいて、
前記第1生成AIモデルは、第1マルチモーダル生成AIモデルと、大規模言語モデルとを含み、
前記第2生成AIモデルは、第2マルチモーダル生成AIモデルを含み、
前記図面情報としての前記図面の画像データを、前記第1プロンプトと共に前記第1マルチモーダル生成AIモデルに入力し、当該第1マルチモーダル生成AIモデルから前
記図示対象物に関する第1テキスト情報を出力させ、
前記見積情報としての前記見積書に関するテキスト情報を、前記第1プロンプトと共に前記大規模言語モデルに入力し、当該大規模言語モデルから前
記図示対象物に関する第2テキスト情報を出力させ、
前記第1テキスト情報及び前記第2テキスト情報を、前記第1生成AIモデルから出力させる前記第1情報とする請求項1に記載のプログラム。
【請求項10】
前記出力ステップにおいて、前記第1テキスト情報、前記第2テキスト情報、前記図面の画像データ、前記図面の画像データに関する説明文及び前記第1プロンプトを、前記第1マルチモーダル生成AIモデル及び前記第2マルチモーダル生成AIモデルの何れとも異なる第3マルチモーダル生成AIモデルに入力し、当該第3マルチモーダル生成AIモデルから前記第1情報として前記図示対象物に関する第3テキスト情報を出力させる請求項
9に記載のプログラム。
【請求項11】
提示した検索情報に基づいて、前記第2マルチモーダル生成AIモデルをファインチューニングする調整ステップを前記プロセッサに実行させる請求項
9に記載のプログラム。
【請求項12】
プロセッサと、メモリとを備えるコンピュータに実行される方法であって、前記プロセッサが、請求項1から請求項
11の何れかに係る発明において実行される全てのステップを実行する方法。
【請求項13】
プロセッサと、
メモリとを備える
コンピュータを含む情報処理装置であって、前記
プロセッサが、請求項1から請求項
11の何れかに係る発明において実行される全てのステップを実行する情報処理装置。
【請求項14】
プロセッサと、メモリとを備えるコンピュータを含むシステムであって、前記プロセッサが、請求項1から請求項
11の何れかに係る発明において実行される全てのステップを実行する
、システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、方法、情報処理装置及びシステムに関する。
【背景技術】
【0002】
従来から、生成AIモデルの出力データを格納したデータベースを用いて、検索対象と類似するデータを検索する技術が知られている。例えば、特許文献1には、検索画像及び当該検索画像についての質問文に対する回答文(以下、第1回答文)と、参照画像及び当該参照画像についての質問文に対する回答文(以下、第2回答文)との類似度を算出することにより、第1回答文に関して、検索画像と類似する類似参照画像を検索する技術が開示されている。第1回答文は、検索画像及び当該検索画像についての質問文をVQA(Visual Question Answering)モデルに入力したときの出力結果として得られる。参照画像及び第2回答文は、過去の検索で用いられた検索画像及び第1回答文であり、互いに関連付けられて参照事例データベースに格納されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に開示された技術は、災害、事故、故障及び/又は事件のような、人間及び/又は機械が画像の撮像対象となる事例に用いられることを前提とした技術であり、例えば、図面及び見積書等を画像の撮像対象とすることを前提としていない。そのため、特許文献1に開示された技術は、図面の撮像画像及び見積書の撮像画像を用いた検索に対応すること自体が困難である。ましてや、見積書に関する情報を加味して図面検索を行う、図面に関する情報を加味して見積書検索を行う等の多様なユースケースに対して柔軟に対応することは極めて困難である。
【0005】
本開示の目的は、図面に関する情報を用いたデータ検索において、多様なユースケースに柔軟に対応することである。
【課題を解決するための手段】
【0006】
前記の課題を解決するために、本開示の一態様に係るプログラムは、プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムである。プログラムは、プロセッサに、図面に関する図面情報と、図面に図示された図示対象物の見積書に関する見積情報と、図示対象物に関する第1情報の出力を指示する第1プロンプトとを生成AIモデルに入力し、生成AIモデルから第1情報を出力させる出力ステップと、出力させた複数の第1情報をデータベースに格納して、検索データベースを構築する構築ステップと、検索対象に関する第2情報の入力を受け付ける入力ステップと、受け付けた第2情報に基づいて、検索データベースから第2情報に類似する第1情報を類似情報として検索し、検索結果に関する検索情報を提示する提示ステップとを実行させる。
【発明の効果】
【0007】
本開示によれば、図面情報を用いたデータ検索において、多様なユースケースに柔軟に対応することができる。
【図面の簡単な説明】
【0008】
【
図1】システム1の全体構成の例を示すブロック図である。
【
図2】
図1に示す端末装置10の構成例を示すブロック図である。
【
図3】
図1に示すサーバ20の機能的な構成の例を示すブロック図である。
【
図4】
図3に示すユーザ情報テーブル2023のデータ構造を示す図である。
【
図5】
図3に示す検索データベース2024のデータ構造を示す図である。
【
図6】ユーザに検索情報を提示するときにおける、サーバ20の動作の例を示すフローチャートである。
【
図7】ユーザが第2情報を入力するときにおける、タッチ・センシティブ・デバイス131の操作面の例を示す模式図である。
【
図8】ユーザに検索情報を提示したときにおける、ディスプレイ141の表示画面の例を示す模式図である。
【
図9】ユーザに検索情報を提示したときにおける、ディスプレイ141の表示画面の他の例を示す模式図である。
【
図10】コンピュータ90の基本的なハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【0009】
以下、本開示の実施形態について図面を参照して説明する。実施形態を説明する全図において、共通の構成要素には同一の符号を付し、繰り返しの説明を省略する。なお、以下の実施形態は、特許請求の範囲に記載された本開示の内容を不当に限定するものではない。また、実施形態に示される構成要素のすべてが、本開示の必須の構成要素であるとは限らない。また、各図は模式図であり、必ずしも厳密に図示されたものではない。
【0010】
〔1 システム全体の構成〕
図1は、システム1の全体構成の例を示すブロック図である。
図1に示すシステム1は、例えば、図面検索サービス、見積書検索サービス、又はこれら2つの組み合わせに係る検索サービス(以下、検索サービスと総称)を提供するためのシステムである。システム1は、例えば、端末装置10、サーバ20及び生成AIシステム30を含む。端末装置10、サーバ20及び生成AIシステム30は、例えば、ネットワーク80を介して通信接続する。
【0011】
図1において、システム1が端末装置10を2台含む例を示しているが、システム1に含まれる端末装置10は、3台未満であってもよいし、3台以上であってもよい。
図1において、システム1が1つの生成AIシステム30を含む例を示しているが、システム1に含まれる生成AIシステム30は、2つ以上であってもよい。
図1において、生成AIシステム30がサーバ20から独立している例を示しているが、サーバ20は、生成AIシステム30の機能を含んでいてもよい。
【0012】
本実施形態において、複数の装置の集合体を1つのサーバとしてもよい。本実施形態に係るサーバ20を実現するために要する複数の機能を1又は複数のハードウェアに配分する仕方は、各ハードウェアの処理能力及び/又はサーバ20に求められる仕様等に応じて適宜決定できる。
【0013】
図1に示す端末装置10は、例えば、検索サービスを利用するユーザ(以下、ユーザと略記)が操作する情報処理装置である。端末装置10は、例えば、スマートフォン、タブレット等の携帯端末により実現される。端末装置10は、例えば、据え置き型のPC(Personal Computer)、ラップトップPC等により実現されてもよい。本実施形態では、端末装置10は、タブレットであるものとする。
【0014】
端末装置10は、通信IF(Interface)12と、入力装置13と、出力装置14と、メモリ15と、ストレージ16と、プロセッサ19とを備える。入力装置13は、ユーザからの入力操作を受け付けるための装置(例えば、タッチパネル、タッチパッド、マウス等のポインティングデバイス、キーボード等)である。出力装置14は、ユーザに対して情報を提示するための装置(ディスプレイ、スピーカー等)である。本実施形態では、端末装置10は、入力装置13と出力装置14とが一体化したタッチパネルを備えているものとする。
【0015】
サーバ20は、例えば、検索サービスを展開する情報処理装置であり、検索サービスに利用される各種情報を管理及び処理する。サーバ20は、例えば、ネットワーク80に接続されたコンピュータにより実現される。
図1に示すように、サーバ20は、通信IF22と、入出力IF23と、メモリ25と、ストレージ26と、プロセッサ29とを備える。入出力IF23は、ユーザからの入力操作を受け付けるための入力装置、及び、ユーザに対して情報を出力するための出力装置のインタフェースとして機能する。
【0016】
生成AIシステム30は、例えば、第1生成AIモデル、及び第1生成AIモデルと異なる第2生成AIモデルとを有している。第1生成AIモデル及び第2生成AIモデルは、例えば、大規模言語モデル又はマルチモーダル生成AIモデルである。大規模言語モデルは、大量のデータセットを使用してトレーニングされた、自然言語処理に特化した人工知能システムであり、トランスフォーマーアーキテクチャなどのニューラルネットワークを基にして構築される。マルチモーダル生成AIモデルは、例えば、テキスト、音声、画像、動画等の2種類以上の情報を収集し、それらを統合的に処理する深層学習により構築された人工知能システムである。大規模言語モデルの例としては、「OpenAI ChatGPT GTP-3.5(登録商標)」等が挙げられる。マルチモーダル生成AIモデルの例としては、「OpenAI ChatGPT GTP-4(登録商標)」等が挙げられる。
【0017】
なお、各情報処理装置は、演算装置と記憶装置とを備えたコンピュータ90(
図10参照)により構成される。コンピュータ90の基本ハードウェア構成、及び当該基本ハードウェア構成により実現されるコンピュータ90の基本機能構成のそれぞれについては後述する。なお、端末装置10、サーバ20、生成AIシステム30のそれぞれについて、コンピュータ90の基本ハードウェア構成及びコンピュータの基本機能構成と重複する説明は省略する。
【0018】
<1.1 端末装置の構成>
図2は、
図1に示す端末装置10の構成例を示すブロック図である。
図2に示すように、端末装置10は、通信部120と、入力装置13と、出力装置14と、記憶部180と、制御部190とを備える。端末装置10に含まれる各ブロックは、例えば、バス等により電気的に接続される。なお、端末装置10は、音声処理部、マイク、スピーカー、カメラ、位置情報センサ、又はこれらの少なくとも2つの組み合わせを備えていてもよい。
【0019】
通信部120は、端末装置10が他の装置との間で通信するための変復調処理等の処理を行う。通信部120は、制御部190で生成された信号に対して送信処理を施し、外部(例えば、サーバ20)へ送信する。通信部120は、外部から受信した信号に受信処理を施し、制御部190へ出力する。
【0020】
入力装置13は、端末装置10を操作するユーザが指示又は情報を入力するための装置である。入力装置13は、例えば、操作面へ触れることで指示が入力されるタッチ・センシティブ・デバイス131により実現される。端末装置10がPC等である場合には、入力装置13は、リーダー、キーボード、マウス等により実現されてもよい。入力装置13は、ユーザにより入力される指示を電気信号に変換し、制御部190へ出力する。なお、入力装置13には、例えば、外部の入力機器から入力される電気信号を受け付ける受信ポートが含まれてもよい。
【0021】
出力装置14は、端末装置10を操作するユーザに情報を提示するための装置である。出力装置14は、例えば、ディスプレイ141により実現される。ディスプレイ141は、制御部190の制御に応じて各種情報を表示する。ディスプレイ141は、例えば、LCD(Liquid Crystal Display)、又は有機EL(Electro-Luminescence)ディスプレイにより実現される。
【0022】
記憶部180は、例えば、メモリ15及びストレージ16により実現され、端末装置10が使用するデータ及びプログラムを記憶する。記憶部180は、例えば、アプリ181を記憶する。記憶部180に記憶されるアプリはアプリ181に限定されない。アプリ181は、ユーザによる検索サービスの利用を管理するためのアプリケーションである。アプリ181は、端末装置10にインストールされており、ブラウザを含む概念である。アプリ181は、例えば、端末装置10にインストールされている他のアプリのバックグランドで実行され、ユーザにより実行される処理を監視する。
【0023】
制御部190は、プロセッサ19が記憶部180に記憶されたプログラムを読み込み、プログラムに含まれる命令を実行することにより実現される。制御部190は、端末装置10の動作を制御する。制御部190は、プログラムに従って動作することにより、操作受付部191、送受信部192及び提示制御部193としての各機能を発揮する。
【0024】
操作受付部191は、入力装置13から入力される指示又は情報を受け付けるための処理を行う。具体的には、操作受付部191は、タッチ・センシティブ・デバイス131から入力される指示又は情報を受け付ける。
【0025】
送受信部192は、端末装置10が、サーバ20等の外部の装置との間で、通信プロトコルに従ってデータを送受信するための処理を行う。具体的には、送受信部192は、ユーザから入力された指示又は情報をサーバ20へ送信する。送受信部192は、サーバ20から送信された情報を受信する。
【0026】
提示制御部193は、サーバ20から送信された情報をユーザに提示するために出力装置14を制御する。具体的には、提示制御部194は、サーバ20から受信した検索情報をディスプレイ141に表示させる。検索情報の詳細については後述する。
【0027】
<1.2 サーバの機能的な構成>
図3は、
図1に示すサーバ20の機能的な構成の例を示すブロック図である。
図3に示すように、サーバ20は、通信部201、記憶部202及び制御部203としての各機能を発揮する。
【0028】
通信部201は、サーバ20が外部の装置との間で通信するための処理を行う。記憶部202は、例えば、図面情報2021と、見積情報2022とを記憶する。
【0029】
図面情報2021は、図面に関する情報であり、具体的には、例えば、製造業のサプライヤーから納められた図面に関する情報を含むデータファイルである。図面情報2021のファイル形式は、例えば、サプライヤー毎に異なっており、様々な形式がある。図面情報2021は、例えば、画像データであってもよいし、テキスト情報であってもよい。また、画像データにテキスト情報が含まれていてもよいし、含まれていなくてもよい。画像データのファイル形式は、例えば、TIFF、JPEG、PDF(登録商標)等の何れであってもよい。図面情報2021に含まれ得るテキスト情報としては、図面に図示された図示対象物が工業製品(又はその部品)であれば、図面名称、製品(又は部品)の概要、寸法情報(寸法公差を含む)、材料情報、製造方法に関する情報(加工方法、成形方法、溶接の有無等)、製品名(又は部品名)、品番等が挙げられる。
【0030】
本実施形態では、図面に図示された図示対象物が工業製品の部品であるものとして説明する。但し、図示対象物の種類に特段の限定は無い。例えば、図示対象物は、工業製品自体、つまり完成品であってもよい。また例えば、図示対象物は、部品の一部又は完成品の一部であってもよい。或いは、図示対象物は、商品の一部又は全部であってもよい。
【0031】
見積情報2022は、図面情報2021の基となる図面に図示された部品の見積書に関する情報であり、具体的には、例えば、部品のサプライヤーから納められた見積書に関する情報を含むデータファイルである。見積書は、例えば、部品の発注前に当該部品の価格の妥当性を把握するため、サプライヤーから受け取る書類であり、材料費、加工費、管理費等、単価(総合計)の細かい内訳まで記載されている。見積情報2022のファイル形式は、例えば、サプライヤー毎に異なっており、様々な形式がある。見積情報2022は、例えば、画像データであってもよいし、テキスト情報であってもよい。また、画像データにテキスト情報が含まれていてもよいし、含まれていなくてもよい。画像データのファイル形式は、例えば、PNG、TIFF、JPEG、PDF等の何れであってもよい。見積情報2022に含まれ得るテキスト情報としては、例えば、前述した材料費、加工費、管理費の他、部品名、品番、重量、寸法情報、基準数、工法、サプライヤー情報等が挙げられる。なお、システム1の適用対象となる見積書は、サプライヤーから納められた見積書に限定されない。システム1は、例えば、ユーザ(検索サービスを利用する企業等)自身が用意した見積書を適用対象としてもよい。また例えば、システム1の適用対象となる見積書には、例えば、部品の提供に要した費用、コストを示す原価明細も含まれる。
【0032】
記憶部202は、例えば、所定の部品に対応する図面情報2021と見積情報2022とのデータセット(以下、基本情報データセット)を記憶している。また、図示の簡略化の観点から、
図3の例では1つの図面情報2021及び1つの見積情報2022しか記憶部202に記憶されていないが、実際には、基本情報データセットが部品の種類毎に記憶されている。
【0033】
なお、例えば、1つの部品について複数のサプライヤーに見積依頼する相見積の場合、基本情報データセットは、1つの図面情報2021に対して複数の見積情報2022が対応付けられて構成されていてもよい。また例えば、図面情報2021の基となる図面に図示された部品がアセンブリであり、複数のコンポーネントで構成されている場合、基本情報データセットは、1つの図面情報2021に含まれる複数のコンポーネントに関する情報に対して、1つの見積情報2022が対応付けられて構成されていてもよい。
【0034】
図面情報2021及び見積情報2022のサーバ20へのアップロードについては、例えば、端末装置10又は検索サービスの利用者が操作する情報処理装置から過去にサーバ20へアップロードされた複数の基本情報データセットが、記憶部202に蓄積されたものであってもよい。ここで、「過去にサーバ20へアップロードされた複数の基本情報データセット」における「過去」とは、具体的には、例えば、部品の設計者が端末装置10等を操作して、設計者自身が作図した図面の図面情報2021をサーバ20へアップロードした時点のことを指す。部品の設計者は、例えば、ユーザが所属する企業の設計者、又は検索サービスの利用者が所属する企業の設計者である。この場合、部品のバイヤーは、例えば、ユーザ又は検索サービスの利用者である。つまり、バイヤーであるユーザ又は検索サービスの利用者が設計者から図面を受け取った時点では、図面情報2021が既にアップロードされている。なお、バイヤーは、設計者から受け取った図面をサプライヤーに提供することで、サプライヤーから見積書を受領する。
【0035】
本実施形態では、図面情報2021は、過去にサーバ20へアップロードされた図面の画像データであるものとする。また、見積情報2022は、過去にサーバ20へアップロードされた見積書に関するテキスト情報であるものとする。見積書に関するテキスト情報は、例えば、サーバ20へアップロードされた時点でテキスト情報になっていてもよいし、サーバ20へ見積書の画像データがアップロードされた後にOCR処理等が施されてテキスト情報になってもよい。つまり、本実施形態では、図面の画像データと見積書の画像データとのデータセットが基本情報データセットとなる。
【0036】
また、記憶部202は、例えば、ユーザ情報テーブル2023と、検索データベース2024とを有する。記憶部202が有するテーブル/データベースの種類は、これらに限定されない。例えば、検索データベース2024は、記憶部202に記憶されていなくてもよい。具体的には、検索データベース2024に記憶された第1情報の内容に応じて検索サービスの内容が異なることがある。そのため、検索データベース2024は、異なる内容の検索サービスを管理するサーバ毎に記憶されていてもよい。また例えば、検索データベース2024は、複数のユーザ間で情報を共有するための検索サービスに係るサーバに記憶されていてもよい。
【0037】
ユーザ情報テーブル2023は、ユーザに関する各種情報を記憶するテーブルである。検索データベース2024は、複数の第1情報を格納するデータベースである。ユーザ情報テーブル2023及び検索データベース2024の詳細については後述する。
【0038】
第1情報は、図面情報2021の基となる図面に図示された図示対象物に関する情報である。本実施形態では、第1情報は、図面情報2021の基となる図面に図示された部品に関する情報となる。第1情報は、基本的にテキスト情報であるが、画像データが含まれていてもよい。
【0039】
図示対象物が本実施形態のような部品の場合、第1情報としてのテキスト情報は、部品の構成要素、機能を説明する文章及びテキストデータである。第1情報としてのテキスト情報には、例えば、品名、品番、材料、寸法、機能、特性、工法、取り付け方法、保守方法等が含まれる。また、第1情報としての画像データは、部品の外観、構造を表す画像データである。第1情報としての画像データには、例えば、部品の実物の外観が撮像された撮像画像、部品の設計図又は断面図が撮像された撮像画像、部品の設計図又は断面図がスキャンされたスキャンデータ、部品の設計図又は断面図を表す2次元データ、部品のCADデータ等の3次元データ、部品の製造工程が撮像された撮像画像等が含まれる。画像データのファイル形式は、例えば、TIFF、JPEG、PDF(登録商標)等の何れであってもよい。
【0040】
第1情報は、図面情報2021と、見積情報2022と、第1情報の出力を指示する第1プロンプトとが第1生成AIモデル(詳細については後述)に入力されることにより、第1生成AIモデルから出力される。
【0041】
第1プロンプトは、具体的には、第1生成AIモデルに対してどのような第1情報を生成し出力するかを指示する役割を果たす。例えば、「図面情報2021の基となる図面に図示された部品の部品情報と、見積情報2022の基となる見積対象の部品の部品情報とで、共通する情報及び関連性が高い情報を抽出して第1情報としてください。」のような第1プロンプトが想定される。また例えば、「第1情報をテキスト形式且つリスト形式で出力してください。」のような第1プロンプトが想定される。
【0042】
制御部203は、プロセッサ29が記憶部202に記憶されたプログラムを読み込み、プログラムに含まれる命令を実行することにより実現される。プログラムは、ウェブブラウザアプリケーション等のアプリケーションを含む。プログラムは、端末装置10に記憶されているウェブブラウザアプリケーション上で実行されるJavaScript(登録商標)等のプログラミング言語を含む。制御部203は、プログラムに従って動作することにより、受信制御モジュール2031、送信制御モジュール2032、データベース構築モジュール2033、検索モジュール2034及び提示制御モジュール2035としての各機能を発揮する。
【0043】
受信制御モジュール2031は、サーバ20が外部の装置から通信プロトコルに従って信号を受信する処理を制御する。送信制御モジュール2032は、サーバ20が外部の装置へ通信プロトコルに従って信号を送信する処理を制御する。
【0044】
データベース構築モジュール2033は、例えば、第1生成AIモデルから出力された複数の第1情報を記憶部202が有しているデータベースに格納して、検索データベース2024を構築する。つまり、サーバ20は、記憶部202から複数の基本情報データセットを順次読み出し、基本情報データセット毎に第1生成AIモデルに入力して、当該第1生成AIモデルから複数の第1情報を取得する。
【0045】
検索モジュール2034は、第2情報に基づいて、検索データベース2024から第2情報に類似する第1情報を類似情報として検索する。第2情報は、検索サービスの検索対象に関する情報であり、例えば端末装置10から送信される。第2情報は、テキスト情報であってもよいし、画像データであってもよい。或いは、第2情報は、テキスト情報と画像データとが混在していてもよい。検索モジュール2034による第1情報と第2情報との類比判断の詳細については、後述する。
【0046】
検索サービスの検索対象は、例えば図面、見積書である。以下、検索対象となる図面を検索図面と称し、検索対象となる見積書を検索見積書と称する。つまり、検索対象が検索図面の場合、検索図面に図示された部品に関する情報が第2情報となる。また、検索対象が検索見積書の場合、検索見積書の見積対象となっている部品に関する情報が第2情報となる。本実施形態では、検索対象が検索図面であるものとするが、前述の通り検索対象が検索見積書であってもよく、或いは検索対象が検索図面及び検索見積書の両方であってもよい。
【0047】
検索対象が検索図面の場合、第2情報としてのテキスト情報は、前述した第1情報としてのテキスト情報と同様である。また、第2情報としての画像データも、前述した第1情報としての画像データと同様である。
【0048】
検索対象が検索見積書の場合、第2情報としてのテキスト情報は、検索見積書の見積対象となる部品の価格、条件等に関する文章及びテキストデータである。第2情報としてのテキスト情報には、例えば、サプライヤー情報、顧客(ユーザ)情報、有効期限、部品のスペック、価格、支払条件、保証条件等が含まれる。第2情報としての画像データは、検索見積書を映し出した画像データである。第2情報としての画像データには、検索見積書が表示された画面がキャプチャされたキャプチャ画像、検索見積書がスキャンされたスキャンデータ、検索見積書が撮像された撮像画像等が含まれる。
【0049】
提示制御モジュール2035は、ユーザに対して情報を提示する処理を制御する。例えば、提示制御モジュール2035は、検索モジュール2034の検索結果に関する情報を検索情報としてユーザに提示する処理を制御する。
【0050】
<1.3 生成AIシステムの構成>
生成AIシステム30は、例えば、端末装置10から受信した図面情報2021、見積情報2022及び第1プロンプトを第1生成AIモデルに入力し、当該第1生成AIモデルに第1情報を出力させる。具体的には、例えば、第1生成AIモデルは、第1マルチモーダル生成AIモデルと、大規模言語モデルとを含んでいる。大規模言語モデルは、例えばFew-Shot Promptingの手法によって学習されていてもよい。
【0051】
本実施形態では、過去にサーバ20へアップロードされた図面の画像データが、図面情報2021として第1プロンプトと共に第1マルチモーダル生成AIモデルに入力される。生成AIシステム30は、第1マルチモーダル生成AIモデルに、第1情報として第1テキスト情報を出力させる。第1テキスト情報は、過去にサーバ20へアップロードされた図面に図示された部品に関するテキスト情報である。
【0052】
本実施形態では、過去にサーバ20へアップロードされた見積書に関するテキスト情報が、見積情報2022として第1プロンプトと共に大規模言語モデルに入力される。生成AIシステム30は、大規模言語モデルに、第1情報として第2テキスト情報を出力させる。第2テキスト情報は、見積情報2022の基となる見積書の見積対象である部品(言い換えれば、図面情報2021の基となる図面に図示された部品)に関するテキスト情報である。第1テキスト情報と第2テキスト情報とは、全部が一致してもよいし、全部が異なってもよい。或いは、第1テキスト情報と第2テキスト情報とは、一部が一致してもよい(言い換えれば、一部が異なってもよい)。
【0053】
生成AIシステム30は、例えば、端末装置10から受信した第2情報及び第2プロンプトを第2生成AIモデルに入力し、当該第2生成AIモデルに検索情報を出力させる。第2プロンプトは、検索情報の出力を指示するテキスト情報である。本実施形態では、第2生成AIモデルは、第1マルチモーダル生成AIモデルと異なる第2マルチモーダル生成AIモデルである。また、検索図面の画像データ及び検索図面に関するテキスト情報が第2情報となる。以下の説明では、検索対象が検索図面であるものとする。また、検索図面の画像データを検索画像データと称し、検索図面に関するテキスト情報を検索テキスト情報と称する。
【0054】
なお、第1生成AIモデルは、例えば、第1マルチモーダル生成AIモデル又は大規模言語モデルの何れか一方であってもよい。第1生成AIモデルが第1マルチモーダル生成AIモデルの場合、生成AIシステム30は、図面情報2021、見積情報2022及び第1プロンプトを第1生成AIモデルとしての第1マルチモーダル生成AIモデルに入力する。この場合において、図面情報2021及び見積情報2022の少なくとも一方は、画像データであってもよいし、テキスト情報であってもよい。また、第1情報も、画像データであってもよいし、テキスト情報であってもよい。第1生成AIモデルが大規模言語モデルの場合、生成AIシステム30は、図面情報2021、見積情報2022及び第1プロンプトを第1生成AIモデルとしての大規模言語モデルに入力する。この場合において、図面情報2021、見積情報2022及び第1情報は、何れもテキスト情報となる。
【0055】
また、第2生成AIモデルは、例えば、大規模言語モデルであってもよい。この場合、生成AIシステム30は、第2情報及び第2プロンプトを第2生成AIモデルとしての大規模言語モデルに入力する。この場合において、第2情報は検索テキスト情報のみで構成される。
【0056】
また、生成AIシステム30は、例えば、第2生成AIモデルに代えてニューラルネットワークモデル等の学習済み機械学習モデルを有していてもよい。この場合、第2情報が学習済み機械学習モデルに入力され、第2プロンプトは不要となる。或いは、生成AIシステム30は、例えば、第2情報を入力データとするAIモデル全般を有していなくてもよい。この場合、例えば、第2情報が検索モジュール2034へ送信され、検索モジュール2034が検索情報を生成する。
【0057】
生成AIシステム30が有し得るAIモデルは、例えば、教師あり学習により学習されてもよいし、教師あり学習と強化学習の両方の手法で学習されてもよい。また、前記のAIモデルは、複数のサプライヤーから提供された図面及び見積書に対応可能な汎用的なモデルであってもよいし、サプライヤー毎に図面及び見積書の内容が学習された、個々のサプライヤー専用のAIモデルであってもよい。
【0058】
〔2 データ構造〕
図4及び
図5は、サーバ20が記憶する各テーブルのデータ構造を示す図である。なお、
図4及び
図5はあくまで一例であり、記載されていないデータを除外するものではない。また、同一のテーブルに記載されているデータであっても、記憶部202において離れた記憶領域に記憶されていることもあり得る。
【0059】
図4は、ユーザ情報テーブル2023のデータ構造を示す図である。
図4に示すユーザ情報テーブル2023は、ユーザIDをキーとして、氏名、年齢、性別、生年月日及び連絡先の各カラムを有するテーブルである。
【0060】
ユーザIDは、ユーザを一意に識別するための識別子を記憶する項目である。氏名は、ユーザの氏名を記憶する項目である。年齢は、ユーザの年齢を記憶する項目である。性別は、ユーザの性別を記憶する項目である。生年月日は、ユーザの生年月日を記憶する項目である。連絡先は、ユーザが有している端末装置10の連絡先(例えば、電話番号、メールアドレス等)を記憶する項目である。
【0061】
図5は、検索データベース2024のデータ構造を示す図である。
図5に示す検索データベース2024は、部品IDをキーとして、図面ID、図面URL、見積書ID、見積書URL及び部品情報の各カラムを有するデータテーブル形式になっている。
【0062】
部品IDは、図面情報2021の基となる図面に図示された部品を一意に識別するための識別子を記憶する項目である。図面IDは、図面情報2021の基となる図面を一意に識別するための識別子を記憶するための項目である。図面URLは、図面の画像データ、つまり図面情報2021に対する参照情報(パス)を記憶する項目である。見積書IDは、見積情報2022の基となる見積書を一意に識別するための識別子を記憶する項目である。見積書URLは、見積情報2022の基となる見積書の画像データに対する参照情報(パス)を記憶する項目である。部品情報は、図面情報2021の基となる図面に図示された部品に関する情報、つまり第1情報を記憶する項目である。
【0063】
部品情報は、例えば、品名、品番、数量、カテゴリ、形状、交差、重量、寸法(最大直径、最小直径)、単価、受領日時、構成部品、材料、調達区分、サプライヤー情報及び工法等を含んでいる。また例えば、図面情報2021の基となる図面に図示された部品が複数の構成部品から成る場合、複数の構成部品のそれぞれについて、品名、品番等の情報が部品情報に含まれる。また例えば、材料の内容として、材料名、材料品番、投入重量、歩留り、単価、数量、寸法等が部品情報に含まれる。また例えば、工法の内容として、工程名、設備名、段取り時間、加工工数、合計工数、合計工数単位、マンレート、マシンレート、合計賃率、合計賃率単位、加工費等の情報が部品情報に含まれる。なお、部品情報に含まれる品名等のトークン化されたテキスト情報は、第2情報との類似度の算出が容易になるように、ベクトル化されて検索データベース2024に格納されるのが好ましい。
【0064】
部品情報は、部品の種類によって内容が異なり得る。例えば、部品がパイプ又はチューブの場合、部品情報は、外径、内径、肉厚等を含み得る。また例えば、部品がボルトの場合、部品情報は、直径、全長、頭部形状、強度区分等を含み得る。或いは、部品がブラケットの場合、部品情報は、機能(支持、取付、固定等)等を含み得る。
【0065】
〔3 動作〕
図6を参照して、ユーザに検索情報を提示するときのサーバ20の動作について説明する。
図6は、ユーザに検索情報を提示するときにおける、サーバ20の動作の例を示すフローチャートである。前提として、端末装置10等から送信された複数の図面情報2021及び複数の見積情報2022が、サーバ20へアップロードされているものとする。
【0066】
まず、ユーザが端末装置10を起動させる。アプリ181は、例えば、端末装置10が起動すると共に、端末装置10のOSによって自動的に起動される。アプリ181が起動されると、提示制御部193は、アプリ181が動作していることをユーザに提示してもよいし、提示しなくてもよい。本実施形態では、提示制御部193は、タッチ・センシティブ・デバイス131の操作面、言い換えればディスプレイの141の表示画面に
図7に示す入力フォーム画面(所定の入力フォーム)を表示させることにより、アプリ181が動作していることをユーザに提示する。入力フォーム画面の詳細については後述する。
【0067】
ステップS11において、サーバ20は、第1生成AIモデルから第1情報を出力させる(出力ステップ)。具体的には、例えば、システム1を管理する担当者、又はサーバ20を操作/管理する担当者(以下、担当者と総称)が、サーバ20に備えられた不図示の入力装置を操作して第1プロンプトをサーバ20に入力する。なお、第1プロンプトの入力先は、サーバ20ではなく、例えば検索サービス提供元の不図示のPCであってもよい。制御部203は、不図示の操作受付モジュールとしての機能を発揮して第1プロンプトを受け付け、送信制御モジュール2032へ第1プロンプトを送信する。
【0068】
送信制御モジュール2032は、記憶部202から基本情報データセットを部品の種類毎に順次読み出し、第1プロンプトと共に生成AIシステム30へ送信する。このとき、送信制御モジュール2032から送信される図面情報2021は、図面の画像データである。また、送信制御モジュール2032から送信される見積情報2022は、見積書に関するテキスト情報である。
【0069】
生成AIシステム30は、送信制御モジュール2032から受信した図面情報2021(図面の画像データ)を、第1プロンプトと共に第1マルチモーダル生成AIモデルに入力する。図面情報2021及び第1プロンプトを入力された第1マルチモーダル生成AIモデルは、第1情報として第1テキスト情報を出力する。
【0070】
また、生成AIシステム30は、送信制御モジュール2032から受信した見積情報2022(見積書に関するテキスト情報)を、第1プロンプトと共に大規模言語モデルに入力する。第1プロンプトの大規模言語モデルへの入力処理は、例えば、前述した第1マルチモーダル生成AIモデルへの入力処理と同様である。見積情報2022及び第1プロンプトを入力された大規模言語モデルは、第1情報として第2テキスト情報を出力する。
【0071】
なお、本実施形態では、記憶部202に予め記憶された図面情報2021及び見積情報2022が第1生成AIモデルに入力される処理内容となっているが、この処理内容に限定されない。例えば、サーバ20、又は検索サービス提供元の不図示のPCに入力される第1プロンプトの内容に、図面情報2021及び見積情報2022の少なくとも一方が含まれていてもよい。つまり、第1プロンプトの入力の際には、図面情報2021及び見積情報2022の少なくとも一方を含んだ動的な内容の第1プロンプトが生成されてもよい。
【0072】
生成AIシステム30は、第1マルチモーダル生成AIモデルから出力された第1テキスト情報、及び大規模言語モデルから出力された第2テキスト情報をサーバ20へ送信する。生成AIシステム30は、これら一連の処理を、送信制御モジュール2032から部品の種類毎に順次送信された基本情報データセットの全てについて実行する。
【0073】
ステップS12において、サーバ20は、検索データベース2024を構築する(構築ステップ)。具体的には、例えば、受信制御モジュール2031は、生成AIシステム30から順次送信された部品の種類毎の第1テキスト情報及び第2テキスト情報を受信し、データベース構築モジュール2033へ送信する。データベース構築モジュール2033は、例えば、部品の種類に対応する第1テキスト情報と第2テキスト情報とのデータセット(以下、テキスト情報データセット)を受信する度に、記憶部202に記憶された第1情報格納用のデータベースにテキスト情報データセットを格納する。
【0074】
このとき、第1テキスト情報に含まれている項目(例えば、品名、品番等)と第2テキスト情報に含まれている項目とで重複する項目がある場合、データベース構築モジュール2033は、例えば、第1テキスト情報又は第2テキスト情報のうち情報の信頼性が高い方の項目を選択する。データベース構築モジュール2033は、例えば、選択しなかった項目に対応する情報を削除する。このようにして、テキスト情報データセットから特定のテキスト情報が削除されたものが、検索データベース2024に格納された第1情報となる。
【0075】
データベース構築モジュール2033は、これら一連の処理を、全てのテキスト情報データセットについて実行する。全てのテキスト情報データセットについて前述した一連の処理が完了すると、第1情報格納用のデータベースが検索データベース2024となる。なお、データベース構築モジュール2033は、例えば、全てのテキスト情報データセットを一旦受信した後、当該全てのテキスト情報データセットを一括して第1情報格納用のデータベースに格納してもよい。また、検索データベース2024に格納された第1情報の状態に特段の限定はないものの、第1情報と統合テキスト情報との類比判断(詳細については後述)を容易にする観点から、ベクトル化された状態の第1情報が検索データベース2024に格納されるのが好ましい。本実施形態では、ベクトル化された状態の第1情報が検索データベース2024に格納されているものとする。但し、検索データベース2024は、例えば、全文検索方式のデータベースであってもよいし、リレーショナルデータベースであってもよい。
【0076】
S13において、サーバ20は、第2情報の入力を受け付ける(入力ステップ)。具体的には、例えば、ユーザは、入力装置13を操作して第2情報を端末装置10に入力する。操作受付部191は、入力装置13に入力された第2情報を受け付け、送受信部192へ送信する。送受信部192は、操作受付部191から受信した第2情報をサーバ20へ送信する。サーバ20は、端末装置10から送信された第2情報を受信制御モジュール2031が受信することにより、ユーザによる第2情報の入力を受け付ける。
【0077】
以下、
図7を参照して、第2情報の入力の受け付け処理について詳細に説明する。
図7は、ユーザが第2情報を入力するときにおける、タッチ・センシティブ・デバイス131の操作面の例を示す模式図である。ここで、
図7及び
図8では、紙面向かって左側を上側とし、紙面向かって右側を下側とする。また、
図7及び
図8では、紙面向かって上側を右側とし、紙面向かって下側を左側とする。
【0078】
前述した通り、アプリ181が起動されると、提示制御部193は、タッチ・センシティブ・デバイス131の操作面(ディスプレイの141の表示画面)に図面検索画面を表示させる。
図7に示すように、図面検索画面は、例えば、入力フォーム画面と図面表示画面とを有している。本実施形態では、図面検索画面において、入力フォーム画面が左側に配置され、図面表示画面が右側に配置されている。なお、この配置は任意に変更可能である。
【0079】
入力フォーム画面には、例えば、利用シーンボタン1311と、重視項目フィールド1312と、絞り込みフィールド1313と、アップロードボタン1314と、開始ボタン1315と、フィードバックフィールド1316とが設けられている。
【0080】
利用シーンボタン1311がタップ等されると、提示制御部193は、例えば、利用シーンボタン1311の配置領域付近に不図示のドロップダウンメニューを表示させる。ドロップダウンメニューには、ユーザによる図面検索の利用場面のリストが提示される。
【0081】
重視項目フィールド1312には、複数種類の項目の選択肢13121が表示される。項目は、例えば「寸法」、「公差」、「材料」、「工法」、「生産量」、「設備」等、第2情報の内容の一部を構成し得る指標である。また、例えば、各選択肢の画面向かって左側にチェックボックス13122が設けられている。特定のチェックボックス13122がタップ等されると、操作受付部191は、特定のチェックボックス13122に対応する選択肢13121の選択を受け付ける。
図7に示すように、ユーザが所望する第2情報の内容に応じて、複数の選択肢13121が選択されてよい。
【0082】
この選択受け付けにより、選択された項目の種類に対応する検索図面の該当情報がタッチ・センシティブ・デバイス131に入力される。例えば、項目「寸法」のチェックボックスがタップ等されると、「図面検索において、検索図面に図示された部品の寸法が検索基準となる」との情報が、検索図面の該当情報として端末装置10に入力される。選択された項目の種類全てについて検索図面の該当情報がタッチ・センシティブ・デバイス131に入力されると、操作受付部191は、タッチ・センシティブ・デバイス131に入力されたすべての該当情報を送受信部192へ送信する。
【0083】
送受信部192は、例えば、操作受付部191から受信した全ての該当情報に基づいて、検索テキスト情報及び第2プロンプトを生成する。送受信部192は、例えば、検索テキスト情報と第2プロンプトとを、「この検索図面に図示された部品と同じ製造設備で似たような加工方法を採用している部品の図面を探しています。該当する図面があるか検索してもらえますか?」のように1つのテキスト情報として纏めて生成してもよい。送受信部192は、検索テキスト情報及び第2プロンプトをサーバ20へ送信する。なお、操作受付部191が、送受信部192の代わりに検索テキスト情報及び第2プロンプトを生成してもよい。
【0084】
提示制御部193は、例えば、ドロップダウンメニューのリストの中から選択された利用場面の種類に応じて、重視項目フィールド1312に表示される項目の種類及び数を変更させる。これにより、ユーザが所望する図面検索の利用場面に応じて検索テキスト情報を適切に生成することができる。
【0085】
絞り込みフィールド1313には、絞り込み項目ボタン13131と、絞り込み項目13132と、テキストボックス13133とが設けられている。絞り込み項目ボタン13131がタップ等されると、提示制御部193は、例えば、絞り込み項目ボタン13131の配置領域付近に不図示のドロップダウンメニューを表示させる。ドロップダウンメニューには、重視項目フィールド1312に表示されている複数種類の項目のリストが提示される。ユーザがドロップダウンメニューのリストの中から特定の種類の項目を選択すると、操作受付部191がその選択を受け付け、受け付けた旨の情報を提示制御部193へ送信する。提示制御部193は、絞り込み項目13132の表示を特定の種類の項目に切り替える。
図7の例では、絞り込み項目13132の表示が項目「公差」に切り替わっている。
【0086】
テキストボックス13133は、上限値が入力されるテキストボックス及び下限値が入力されるテキストボックスで構成されている。テキストボックス13133に上限値及び下限値が入力されると、送受信部192は、絞り込み項目13132に表示された項目の種類が下限値から上限値までの数値範囲内となるように、検索条件を絞り込んだ検索テキスト情報を生成する。これにより、ユーザが所望する検索条件を盛り込んだ検索テキスト情報を生成することができる。
【0087】
図7の例では、送受信部192が検索テキスト情報及び第2プロンプトを生成するが、この場合に限定されない。例えば、重視項目フィールド1312及び絞り込みフィールド1313に代えて、テキストボックスが入力フォーム画面に設けられていてもよい。この場合、ユーザがテキストボックスに検索テキスト情報及び第2プロンプトを入力し、操作受付部191が検索テキスト情報及び第2プロンプトの入力を受け付ける。送受信部192は、操作受付部191から受信した検索テキスト情報及び第2プロンプトをサーバ20へ送信する。テキストボックスは、検索テキスト情報の入力用のテキストボックスと、第2プロンプトの入力用のテキストボックスとに分かれていてもよい。
【0088】
アップロードボタン1314がタップ等されると、提示制御部193は、例えば、アップロードボタン1314の配置領域付近に不図示のドロップダウンメニューを表示させる。ドロップダウンメニューには、検索画像データのリストが提示される。本実施形態では、このリストに提示される検索画像データは、記憶部202に記憶されている図面の画像データ、つまり図面情報2021となる。なお、ドロップダウンメニューのリストに提示される検索画像データは、例えば、ユーザが端末装置10に記憶した1又は複数の図面の画像データであってもよい。この場合、当該1又は複数の画像データのみがリストに提示されてもよいし、当該1又は複数の画像データ及び複数の図面情報2021の両方がリストに提示されてもよい。
【0089】
ユーザがドロップダウンメニューのリストの中から特定の検索画像データを選択すると、操作受付部191は、その選択を受け付ける。送受信部192は、特定の検索画像データの選択を受け付けた旨の受付情報をサーバ20へ送信する。
【0090】
ここで、送受信部192は、検索テキスト情報、第2プロンプト及び受付情報を一括してサーバ20へ送信するが、検索テキスト情報、第2プロンプト、受付情報、又はこれらのうちの2つの組み合わせを順次サーバ20へ送信してもよい。サーバ20は、端末装置10から送信された検索テキスト情報、第2プロンプト及び受付情報を受信制御モジュール2031が受信することにより、ユーザによる第2情報の入力を受け付ける。
【0091】
開始ボタン1315がタップ等されると、操作受付部191は、入力フォーム画面を初期画面から入力可能な画面に切り替える旨の指示として受け付け、当該指示を表す指示情報を提示制御部193へ送信する。指示情報を受信した提示制御部193は、入力フォーム画面は、初期画面から入力可能な画面に切り替える。具体的には、例えば、初期状態の入力フォーム画面には、重視項目フィールド1312の各項目及び絞り込みフィールド1313の絞り込み項目に何も表示されていない(以上、不図示)。一方、例えば、初期状態の入力フォーム画面において、利用シーンボタン1311のドロップダウンメニューのリストから利用場面が選択された後に開始ボタン1315がタップ等されると、入力フォーム画面が
図7に示す状態に切り替わる。
【0092】
フィードバックフィールド1316には、検索情報が表示される。
図7は、第2情報が入力された時点、つまり図面検索が行われる前の操作面を例示しているため、フィードバックフィールド1316には何も表示されていない。なお、フィードバックフィールド1316は図面検索画面に設けられていなくてもよく、例えば、検索情報の表示専用のフィードバック画面が、図面検索画面の別画面として操作面に表示されてもよい。
【0093】
図面表示画面には、例えば、検索図面表示フィールド1317と、類似図面表示フィールド1318とが設けられている。検索図面表示フィールド1317には、第2情報としての検索画像データ(図中の「検索図面1」)が表示される。提示制御モジュール2035は、操作受付部191から特定の検索画像データの選択を受け付けた旨の受付情報を受信すると、記憶部202から特定の検索画像データ(特定の図面情報2021)を読み出して検索図面表示フィールド1317に表示させる。
【0094】
図7は、第2情報が入力された時点、つまり図面検索が行われる前の操作面を例示しているため、類似図面表示フィールド1318には何も表示されていない。なお、
図7に示す図面検索画面の画面構成及び表示内容はあくまで一例であり、様々な画面構成及び表示内容を採用することができる。
【0095】
S14において、サーバ20は、受け付けた第2情報に基づいて、検索データベース2024から類似情報を検索する(提示ステップ)。具体的には、例えば、受信制御モジュール2031は、端末装置10から送信された検索画像データ、検索テキスト情報及び第2プロンプトを受信して、記憶部202に一旦記憶する。なお、検索画像データ、検索テキスト情報及び第2プロンプトは、生成AIシステム30の不図示の記憶部に一旦記憶されてもよい。
【0096】
指示情報を受信した受信制御モジュール2031は、記憶部202から検索画像データ、検索テキスト情報及び第2プロンプトを読み出して送信制御モジュール2032へ送信する。送信制御モジュール2032は、受信した検索画像データ、検索テキスト情報及び第2プロンプトを生成AIシステム30へ送信する。
【0097】
生成AIシステム30は、受信した検索画像データ、検索テキスト情報及び第2プロンプトを第2マルチモーダル生成AIモデルに入力して、当該第2マルチモーダル生成AIモデルから統合テキスト情報を出力させる。統合テキスト情報は、検索図面に関するテキスト情報であり、検索テキスト情報の内容と検索画像データの内容とを統合したテキスト情報である。生成AIシステム30は、第2マルチモーダル生成AIモデルから出力された統合テキスト情報をサーバ20へ送信する。
【0098】
受信制御モジュール2031は、生成AIシステム30から送信された統合テキスト情報を受信して、検索モジュール2034へ送信する。統合テキスト情報を受信した検索モジュール2034は、検索データベース2024から第1情報を部品の種類毎に読み出し、統合テキスト情報と対比する。
【0099】
検索モジュール2034は、第1情報と統合テキスト情報との類比判断を、例えばコサイン類似度の手法を用いて行う。コサイン類似度は、ベクトル空間内で2つのベクトルの間の類似度を計算するための一手法である。コサイン類似度の値は、-1から1までの範囲内の値をとる。コサイン類似度の値が1に近いほど2つのベクトルが類似しており、0に近いほど類似性が低くなる。また、コサイン類似度の値が-1に近いほど2つのベクトルが対立している。コサイン類似度はベクトルの向きや大きさに依存するため、類比判断にあたり、ベクトルのスケールによらず当該ベクトルの方向のみに注目することができる。従って、ベクトル化された2つのテキスト情報の類比判断を容易に行うことができる。なお、検索モジュール2034は、コサイン類似度以外の手法を用いて第1情報と統合テキスト情報との類比判断を行ってもよい。
【0100】
具体的には、例えば、検索モジュール2034は、受信制御モジュール2031から受信した統合テキスト情報をベクトル化する。検索モジュール2034は、既にベクトル化された第1情報と、ベクトル化した統合テキスト情報とのコサイン類似度を、コサイン類似度の一般式を用いて算出する。検索モジュール2034は、例えば、算出したコサイン類似度の値が基準値(任意に設定可)以上であれば、第1情報と統合テキスト情報とが類似していると判断する。
【0101】
S15において、サーバ20は、第2生成AIモデルから検索情報を出力させる(提示ステップ)。具体的には、例えば、検索モジュール2034は、検索データベース2024から統合テキスト情報と類似する特定の第1情報を検索できた場合、当該特定の第1情報を第2情報(検索画像データ及び検索テキスト情報)と類似すると見做して類似情報とする。検索モジュール2034は、検索した類似情報を送信制御モジュール2032へ送信する。送信制御モジュール2032は、受信した類似情報を生成AIシステム30へ送信する。生成AIシステム30は、受信した類似情報を第2マルチモーダル生成AIモデルに入力し、当該第2マルチモーダル生成AIモデルから検索情報を出力させる。
【0102】
また例えば、検索モジュール2034は、検索データベース2024から統合テキスト情報と類似する特定の第1情報を検索できなかった場合、検索できなかった旨の検索結果を表す検索不可情報を生成する。検索モジュール2034は、検索不可情報を送信制御モジュール2032へ送信する。送信制御モジュール2032は、受信した検索不可情報を生成AIシステム30へ送信する。生成AIシステム30は、受信した検索不可情報を第2マルチモーダル生成AIモデルに入力し、当該第2マルチモーダル生成AIモデルから検索情報を出力させる。これらの一連の処理により、サーバ20は、第2生成AIモデルから検索情報を出力させる。
【0103】
S16において、サーバ20は、検索情報をユーザに提示する(提示ステップ)。具体的には、例えば、生成AIシステム30は、第2生成AIモデル(第2マルチモーダル生成AIモデル)から出力させた検索情報をサーバ20へ送信する。受信制御モジュール2031は、受信した検索情報を提示制御モジュール2035へ送信する。提示制御モジュール2035は、受信した検索情報を端末装置10へ送信することにより、受信した検索情報をディスプレイ141の表示画面(タッチ・センシティブ・デバイス131の操作面)に表示させる。これらの一連の処理により、サーバ20は、ユーザに検索情報を提示する。
【0104】
以下、
図8を参照して、ユーザへの検索情報の提示例について説明する。
図8は、ユーザに検索情報を提示するときにおける、ディスプレイ141の表示画面の例を示す模式図である。ディスプレイ141の表示画面はタッチ・センシティブ・デバイス131の操作面でもあるため、提示制御モジュール2035が検索情報を端末装置10へ送信すると、図面検索画面は、
図7に示す状態から例えば
図8に示す状態に遷移する。つまり、
図7に示す状態の入力フォーム画面のフィードバックフィールド1316に、検索情報が表示されることとなる。また、
図7に示す状態の図面表示画面の類似図面表示フィールド1318にも、検索情報が表示されることとなる。
【0105】
検索情報は、検索結果に関する情報であればどのような内容及び形式の情報でもよい。
図8の例では、フィードバックフィールド1316に、「上記条件で、類似図面A~Dが見つかりました。」とのテキスト形式の検索情報が表示されている。また、
図8の例では、フィードバックフィールド1316に、検索情報として「公差を緩めると、AA及びBBの図面が類似図面に該当します。項目「設備」のチェックを外すと、CC及びDDの図面が類似図面に該当します。」とのテキスト形式のアドバイス情報が表示されている。アドバイス情報は、検索図面及び第2情報の各内容に応じて、検索図面に類似する類似図面(類似情報を含んだ図面)の検索を容易にするために変更等するのが好ましい第2情報の内容を提示する情報である。ユーザに提示される検索情報にアドバイス情報が含まれていることで、ユーザは、類似図面の検索が容易になる。
【0106】
更に、提示制御モジュール2035は、検索情報として、検索データベース2024に格納された類似図面の画像データの参照情報(パス)を類似図面表示フィールド1318に表示させる。例えば、ユーザが類似図面表示フィールド1318に表示された参照情報をタップ等すると、提示制御モジュール2035は、
図8に示すような類似図面の画像データ(図中の「類似図面A」から「類似図面D」)を類似図面表示フィールド1318に表示させる。
【0107】
〔4 画面例〕
タッチ・センシティブ・デバイス131の操作面に表示される第2情報の入力画面、及びディスプレイ141の表示画面に表示される検索情報の提示画面は、
図7及び
図8の各例以外にも種々の画面構成が想定される。入力装置13及び出力装置14が本実施形態のようなタッチパネルの場合、例えば、
図9に示すチャットベースの入力/提示画面が想定される。
図9は、ユーザに検索情報を提示したときにおける、ディスプレイ141の表示画面の他の例を示す模式図である。
図9に示す入力/提示画面は、例えば、入力データであるテキスト情報(第2情報)の内容に応じて第2生成AIモデル(第2マルチモーダル生成AIモデル)からアドバイス情報を含む検索情報が出力され、ユーザに提示されることにより、テキスト情報の入力のみで図面検索することができる。
【0108】
具体的には、例えば、
図9に示す入力/提示画面には、テキスト入力フィールド1411と、画像表示フィールド1412と、検索情報表示フィールド1413と、セレクトボックス1414とが表示される。
【0109】
テキスト入力フィールド1411には、第2情報としてのテキスト情報が入力される。
図9の例では、「株式会社XXさんにお願いした、ソレノイドバルブの図面くれませんか?・・・材料はプラスチックを使っているものが望ましいです。」とのテキスト情報がテキスト入力フィールド1411に入力されている。
【0110】
端末装置10は、操作受付部191が受け付けたテキスト情報をサーバ20へ送信する。サーバ20は、受信制御モジュール2031が受信したテキスト情報を、例えば生成AIシステム30へ送信する。生成AIシステム30は、例えば、受信したテキスト情報を第2マルチモーダル生成AIモデルに入力し、当該第2マルチモーダル生成AIモデルからアドバイス情報を含む検索情報を出力させる。生成AIシステム30は、第2マルチモーダル生成AIモデルから出力させた検索情報をサーバ20へ送信する。サーバ20は、受信制御モジュール2031が受信した操作情報を提示制御モジュール2035へ送信する。提示制御モジュール2035は、端末装置10へ検索情報を送信し、検索情報表示フィールド1413に検索情報を表示させる。
【0111】
ここで、類似図面が1種類以上検索できた場合、提示制御モジュール2035は、例えば、検索データベース2024に格納された類似図面の画像データの参照情報(パス)を画像表示フィールド1412に表示させる。例えば、ユーザが画像表示フィールド1412に表示された参照情報をタップ等すると、提示制御モジュール2035は、
図9に示すような類似図面の画像データを画像表示フィールド1412に表示させる。
【0112】
なお、システム1の検索対象が検索見積書の場合、
図9の例において、検索データベース2024に格納された類似見積書(類似情報を含んだ見積書)の画像データの参照情報(パス)を画像表示フィールド1412に表示させてもよい。また例えば、ユーザが画像表示フィールド1412に表示された参照情報をタップ等することにより、提示制御モジュール2035は、類似見積書の画像データを画像表示フィールド1412に表示させてもよい。更には、システム1の検索対象が検索見積書及び検索見積書の両方の場合であれば、提示制御モジュール2035は、類似図面の画像データ及び類似見積書の画像データを画像表示フィールド1412に表示させてもよい。
【0113】
以上のように、類似図面の画像データ及び類似見積書の画像データの少なくとも一方がユーザに提示されることで、サーバ20により検索された類似図面等がユーザの所望する図面等と一致しているか否かを、ユーザが容易に判断できる。
【0114】
図9の例では、テキスト入力フィールド1411に入力されたテキスト情報の内容に応じて2種類の類似図面の参照情報が画像表示フィールド1412に表示され、これらの参照情報のタップ等により2種類の類似図面の画像データが画像表示フィールド1412に表示されている。また、
図9の例では、テキスト入力フィールド1411に入力されたテキスト情報に対するテキストチャットとして、「指示された条件に近い図面は10点ありました。・・・より絞り込むためには、図面受領日時と設備を下記項目から指定してください。」との検索情報が検索情報表示フィールド1413に表示されている。
【0115】
図9の例のように、検索情報の中に、特定の検索条件(第2情報に含まれる特定の内容)を絞り込んだ方が好ましい旨の情報が含まれている場合、提示制御モジュール2035は、例えば、当該特定の検索条件を絞り込むための選択肢が設けられたセレクトボックス1414を表示させる。つまり、セレクトボックス1414は、
図9に示す入力/提示画面に必ず表示されるものではなく、検索情報表示フィールド1413の表示内容によっては表示されない場合がある。
図9の例では、検索情報表示フィールド1413における図面受領日時及び設備を絞り込んだ方がよい旨の表示内容に基づいて、図面受領日時及び設備を絞り込むための選択肢が設けられたセレクトボックス1414が表示されている。
【0116】
また、
図9の例では、セレクトボックス1414の特定の選択肢をユーザが選択したことに対するチャットテキストとして、新たな参照情報(及び参照情報のタップ等による類似図面の画像データ)が画像表示フィールド1412に、「選択していただいた項目から上記の図面が類似図面の候補として出てきました。・・・」との検索情報が検索情報表示フィールド1413に、それぞれ表示されている。
【0117】
このように、
図9の例では、テキスト入力フィールド1411に入力されたテキスト情報の内容に応じて、提示制御モジュール2035が、検索情報、及び検索条件を絞り込むためのUI要素を臨機応変且つ動的に表示させる。これにより、ユーザは少ないUI操作で所望の類似図面を効率的に検索することができる。
【0118】
〔5 小括〕
以上のように、本実施形態では、データベース構築モジュール2033は、図面情報2021及び見積情報2022を第1生成AIモデルに入力して得られた第1情報を第1情報格納用のデータベースに格納して、検索データベース2024を構築する。検索モジュール2034は、検索データベース2024を用いて類似情報を検索し、第2生成AIモデルから検索情報を出力させる。提示制御モジュール2035は、検索情報をディスプレイ141の表示画面に表示させることにより、ユーザに検索情報を提示する。これにより、見積情報2022を加味して図面検索ができることから、図面情報2021を用いた図面検索において、多様なユースケースに柔軟に対応することができる。
【0119】
また、本実施形態では、操作受付部191は、タッチ・センシティブ・デバイス131の操作面に表示された入力フォーム画面上の複数の項目のそれぞれに検索図面の該当情報が入力されることにより、第2情報の入力を受け付ける。これにより、ユーザが第2情報の全ての内容を入力する必要が無くなるため、図面検索におけるユーザの利便性が向上する。
【0120】
また、本実施形態では、生成AIシステム30は、図面情報2021としての画像データを第1マルチモーダル生成AIモデルに入力し、且つ、見積情報2022としてのテキスト情報を大規模言語モデルに入力することで、第1情報を取得する。生成AIシステム30は、検索画像データ及び検索テキスト情報を第2マルチモーダル生成AIモデルに入力することで、検索情報を取得する。これにより、第1情報及び検索情報が、画像データ及びテキスト情報という異なる形式の情報の関連性を考慮した確度のより高い情報となる。よって、図面検索の精度が向上する。
【0121】
〔6 変形例〕
<6.1 第1変形例>
本実施形態では、システム1が、図面検索サービス、見積書検索サービス、又はこれら2つの組み合わせに係る検索サービスを提供するためのシステムであるものとして説明した。しかしながら、システム1は、これらの検索サービスに加えて、例えば見積査定資料の検索サービスをも提供するものであってもよい。
【0122】
見積査定資料は、見積書の内容が適切であるか否かをユーザが所属する企業内で査定するのに用いられる資料であり、例えば、稟議書、見積比較資料等が挙げられる。稟議書は、検索見積書の見積対象の部品について、ユーザが所属する企業内で発注の承認/決裁を得るための資料である。見積比較資料は、見積書を他の見積書と比較したときの比較結果に関する資料であり、例えば、類似部品見積比較資料、相見積比較資料、同品番過去見積比較資料、同サプライヤー過去見積比較資料等が挙げられる。
【0123】
類似部品見積比較資料は、検索見積書の見積対象の部品と類似する部品についての見積書を、検索見積書と比較したときの比較結果に関する資料である。相見積比較資料は、検索見積書の相見積の対象である見積書を、検索見積書と比較したときの比較結果に関する資料である。見積同品番過去見積比較資料は、検索見積書の見積対象の部品と同品番の部品についての見積書を、検索見積書と比較したときの比較結果に関する資料である。同サプライヤー過去見積比較資料は、検索見積書の見積対象の部品のサプライヤーと同じサプライヤーから提出された見積書を、検索見積書と比較したときの比較結果に関する資料である。
【0124】
システム1が見積査定資料の検索サービスを提供する場合、例えば、サーバ20は、図面情報2021及び見積情報2022に加えて見積査定資料に関する情報を記憶部202に記憶していてもよい。送信制御モジュール2032は、記憶部202から図面情報2021、見積情報2022及び見積査定資料に関する情報を読み出して生成AIシステム30へ送信してもよい。生成AIシステム30は、受信したこれら3種類の情報を第1プロンプトと共に第1生成AIモデルに入力して、当該第1生成AIモデルから第1情報を出力させてもよい。
【0125】
これにより、第1生成AIモデルから見積査定資料に関する情報を加味した第1情報が出力されるため、検索データベース2024に格納される第1情報の確度が高くなる。よって、検索情報の確度も高くなり、ユーザが類似見積査定資料(類似情報を含んだ見積査定資料)等を精度高く検索することができる。なお、システム1が例えば見積査定資料の検索サービスを提供しない場合、つまり、システム1が本実施形態に係る検索サービス(図面検索サービス、見積書検索サービス、又はこれら2つの組み合わせに係る検索サービス)のみを提供する場合でも、見積査定資料に関する情報を第1生成AIモデルへの入力データとして用いてもよい。
【0126】
また、システム1が見積査定資料の検索サービスを提供する場合、提示制御モジュール2035は、検索情報として、例えば類似見積査定資料(類似情報を含んだ見積査定資料)に関するテキスト情報をユーザに提示してもよい。この場合、提示制御モジュール2035は、類似見積査定資料の画像データを検索情報と共に提示してもよい。この画像データをユーザに提示することで、サーバ20により検索された類似見積査定資料がユーザの所望する見積査定資料と一致しているか否かを、ユーザが容易に判断できる。
【0127】
本実施形態及び第1変形例において、取引通信情報を第1生成AIモデルへの入力データに加えてもよい。取引通信情報は、図面情報2021の基となる図面、見積情報2022の基となる見積書、見積査定資料に関する情報の基となる見積査定資料、又はこれらの少なくとも2つの組み合わせに関する通信情報である。具体的には、例えば、取引通信情報は、ユーザとサプライヤーとの間で無線通信(又は有線通信)によりやり取りされる取引情報であり、記憶部202に記憶されている。
【0128】
取引通信情報は、図面自体及び見積書自体には現れていない、当該図面及び当該見積書に関する詳細な情報を含んでいる。従って、第1生成AIモデルへの入力データに取引通信情報を加えることで、第1生成AIモデルから取引通信情報を加味した第1情報が出力されるため、検索データベース2024に格納される第1情報の確度が高くなる。よって、検索情報の確度も高くなり、ユーザが類似図面等を精度高く検索することができる。
【0129】
なお、取引通信情報は、見積情報2022の基となる見積書に記載された見積額の決定に至るまでのやり取りに関する情報を含んでいてもよい。この情報を含んだ取引通信情報を第1生成AIモデルへの入力データに加えることで、検索データベース2024に格納される第1情報の確度が更に高くなる。ひいては、検索情報の確度も更に高くなり、ユーザが類似図面等をより精度高く検索することができる。
【0130】
<6.2 第2変形例>
本実施形態では、第1マルチモーダル生成AIモデルから出力された第1テキスト情報と、大規模言語モデルから出力された第2テキスト情報とで第1情報を構成した。しかしながら、生成AIシステム30は、第1テキスト情報及び第2テキスト情報を、第1マルチモーダル生成AIモデル及び第2マルチモーダル生成AIモデルの何れとも異なる第3マルチモーダル生成AIモデルへ更に入力して、当該第3マルチモーダル生成AIモデルから第1情報を出力させてもよい。第3マルチモーダル生成AIモデルの種類に特段の限定はなく、どのような種類のマルチモーダル生成AIモデルを第3マルチモーダル生成AIモデルとして用いてもよい。
【0131】
第3マルチモーダル生成AIモデルから出力される第1情報は、第3テキスト情報である。第3テキスト情報は、過去にサーバ20へアップロードされた図面に図示された部品に関するテキスト情報である。第3テキスト情報は、第1テキスト情報及び第2テキスト情報と全部が一致してもよいし、全部が異なってもよい。或いは、第3テキスト情報は、第1テキスト情報及び第2テキスト情報の少なくとも一方と一部が一致してもよい。
【0132】
具体的には、例えば、生成AIシステム30は、第1生成AIモデル(第1マルチモーダル生成AIモデル及び大規模言語モデル)及び第2生成AIモデル(第2マルチモーダル生成AIモデル)に加えて、第3マルチモーダル生成AIモデルを有していてもよい。送信制御モジュール2032は、記憶部202から図面情報2021としての図面の画像データを読み出し、当該画像データに関する説明文と共に生成AIシステム30へ送信してもよい。説明文については、例えば、操作受付部191が入力を受け付けた説明文のテキスト情報を受信制御モジュール2031が受信し、送信制御モジュール2032が生成AIシステム30へ送信してもよい。また例えば、説明文のテキスト情報が、図面情報2021としての図面の画像データと対応付けられて、記憶部202に予め記憶されていてもよい。
【0133】
生成AIシステム30は、第1マルチモーダル生成AIモデルから出力させた第1テキスト情報、及び大規模言語モデルから出力させた第2テキスト情報を、図面情報2021としての図面の画像データ、説明文及び第1プロンプトと共に第3マルチモーダル生成AIモデルに入力し、当該第3マルチモーダル生成AIモデルから第3テキスト情報を出力させてもよい。検索モジュール2034は、第3テキスト情報と統合テキスト情報との類比判断を、本実施形態と同様にコサイン類似度の手法を用いて行ってもよい。
【0134】
これにより、説明文を介して図面の画像データと第1テキスト情報及び第2テキスト情報とをより適切に関連させた第3テキスト情報を、第1情報として検索データベース2024に格納することができる。よって、検索情報の確度が高くなり、ユーザが類似図面等を精度高く検索することができる。なお、第2変形例において、説明文を第3マルチモーダル生成AIモデルに入力することは必須ではない。
【0135】
<6.3 第3変形例>
本実施形態では、第2マルチモーダル生成AIモデルは、ファインチューニング(Fine Tuning)されていなかった。しかしながら、例えば、生成AIシステム30は、ユーザに提示した検索情報に基づいて第2マルチモーダル生成AIモデルをファインチューニングしてもよい。ここで、ファインチューニングは、事前に訓練されたAIモデルを特定のタスクやデータセットに適応させるために、AIモデルのパラメータを調整するプロセスである。プロセスファインチューニングのタイミングは任意であり、月次で行われてもよいし、日次で行われてもよい。
【0136】
例えば、生成AIシステム30は、ファインチューニングのタイミングになったことを検知することにより、不図示の記憶部から複数のチューニング用データセットを読み出し、複数のチューニング用データセットを用いて第2マルチモーダル生成AIモデルをファインチューニングしてもよい。チューニング用データセットは、例えば、過去検索情報と過去評価情報とのデータセットであり、記憶部202に記憶されていてもよい。過去検索情報は、例えば、提示制御モジュール2035が過去にディスプレイ141の表示画面(タッチ・センシティブ・デバイス131の操作面)に表示させた検索情報である。過去評価情報は、例えば、過去検索情報に対するユーザ等の評価に関する情報であり、過去検索情報と対応付けられている。過去評価情報は、例えば、入力装置13から入力され、生成AIシステム30へ送信されてもよい。なお、複数のチューニング用データセットは、記憶部202に記憶されていてもよい。この場合、送信制御モジュール2032が、記憶部202から複数のチューニング用データセットを読み出して生成AIシステム30へ送信する。
【0137】
生成AIシステム30による第2マルチモーダル生成AIモデルのファインチューニングは、具体的には次のように行われてもよい。即ち、生成AIシステム30は、第2マルチモーダル生成AIモデルの一部の層を固定し、他の層を解凍して学習可能にする(モデルの調整)。次に、生成AIシステム30は、学習率を設定/調整した上で、複数のチューニング用データセットを用いてファインチューニングを実行する。次に、生成AIシステム30は、ファインチューニング後の第2マルチモーダル生成AIモデルを評価する。評価手法としては、例えば、再現率、適合率、又はF1スコア等が採用される。ファインチューニング後の第2マルチモーダル生成AIモデルがパフォーマンスを十分に発揮しないとの評価結果の場合、生成AIシステム30は、再度モデルの調整を行ってファインチューニングを実行する。ファインチューニング後の第2マルチモーダル生成AIモデルがパフォーマンスを十分に発揮するとの評価結果の場合、生成AIシステム30は、当該第2マルチモーダル生成AIモデルをデプロイする。
【0138】
これにより、図面検索、見積検索等の検索サービスに最適化された第2マルチモーダル生成AIモデルを構築することができ、検索情報の確度が高くなる。よって、ユーザが類似図面等を精度高く検索することができる。なお、第2生成AIモデルが、例えば、第2マルチモーダル生成AIモデルではなく大規模言語モデル又はニューラルネットワークモデル(学習済み機械学習モデル)である場合、これらの何れかのモデルをファインチューニングしてもよい。
【0139】
〔7 コンピュータの基本ハードウェア構成〕
図10は、コンピュータ90の基本的なハードウェア構成を示すブロック図である。コンピュータ90は、プロセッサ901、主記憶装置902、補助記憶装置903、通信IF991(インタフェース、Interface)を少なくとも備える。これらは通信バス921により相互に電気的に接続される。
【0140】
プロセッサ901とは、プログラムに記述された命令セットを実行するためのハードウェアである。プロセッサ901は、演算装置、レジスタ、周辺回路等から構成される。
【0141】
主記憶装置902とは、プログラム、及びプログラム等で処理されるデータ等を一時的に記憶するためのメモリである。例えば、DRAM(Dynamic Random Access Memory)等の揮発性のメモリである。
【0142】
補助記憶装置903とは、データ及びプログラムを保存するためのストレージである。例えば、フラッシュメモリ、HDD(Hard Disc Drive)、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等である。
【0143】
通信IF991とは、有線又は無線の通信規格を用いて、他のコンピュータとネットワークを介して通信するための信号を入出力するためのインタフェースである。
【0144】
ネットワークは、インターネット、LAN、無線基地局等によって構築される各種移動通信システム等で構成される。例えば、ネットワークには、3G、4G、5G移動通信システム、LTE(Long Term Evolution)、所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク(例えばWi-Fi(登録商標))等が含まれる。無線で接続する場合、通信プロトコルとして例えば、Z-Wave(登録商標)、ZigBee(登録商標)、Bluetooth(登録商標)等が含まれる。有線で接続する場合は、ネットワークには、USB(Universal Serial Bus)ケーブル等により直接接続するものも含む。
【0145】
なお、各ハードウェア構成の全部又は一部を複数のコンピュータ90に分散して設け、ネットワークを介して相互に接続することによりコンピュータ90を仮想的に実現することができる。このように、コンピュータ90は、単一の筐体、ケースに収納されたコンピュータ90だけでなく、仮想化されたコンピュータシステムも含む概念である。
【0146】
〔8 コンピュータの基本機能構成〕
コンピュータ90の基本ハードウェア構成(
図10)により実現されるコンピュータの機能構成を説明する。コンピュータは、制御部、記憶部、通信部の機能ユニットを少なくとも備える。
【0147】
なお、コンピュータ90が備える機能ユニットは、それぞれの機能ユニットの全部又は一部を、ネットワークで相互に接続された複数のコンピュータ90に分散して設けても実現することができる。コンピュータ90は、単一のコンピュータ90だけでなく、仮想化されたコンピュータシステムも含む概念である。
【0148】
制御部は、プロセッサ901が補助記憶装置903に記憶された各種プログラムを読み出して主記憶装置902に展開し、当該プログラムに従って処理を実行することにより実現される。制御部は、プログラムの種類に応じて様々な情報処理を行う機能ユニットを実現することができる。これにより、コンピュータは情報処理を行う情報処理装置として実現される。
【0149】
記憶部は、主記憶装置902、補助記憶装置903により実現される。記憶部は、データ、各種プログラム、各種データベースを記憶する。また、プロセッサ901は、プログラムに従って記憶部に対応する記憶領域を主記憶装置902又は補助記憶装置903に確保することができる。また、制御部は、各種プログラムに従ってプロセッサ901に、記憶部に記憶されたデータの追加、更新、削除処理を実行させることができる。
【0150】
データベースは、リレーショナルデータベースを指し、行と列によって構造的に規定された表形式のテーブル、マスタと呼ばれるデータ集合を、互いに関連づけて管理するためのものである。データベースでは、表をテーブル、マスタ、表の列をカラム、表の行をレコードと呼ぶ。リレーショナルデータベースでは、テーブル、マスタ同士の関係を設定し、関連づけることができる。
【0151】
通常、各テーブル、各マスタにはレコードを一意に特定するための主キーとなるカラムが設定されるが、カラムへの主キーの設定は必須ではない。制御部は、各種プログラムに従ってプロセッサ901に、記憶部に記憶された特定のテーブル、マスタにレコードを追加、削除、更新を実行させることができる。
【0152】
また、記憶部に、データ、各種プログラム、各種データベースを記憶させることにより、本開示に係る情報処理装置、情報処理システムが製造されたものとして捉えることができる。
【0153】
なお、本開示におけるデータベース、マスタは、情報が構造的に規定された任意のデータ構造体(リスト、辞書、連想配列、オブジェクトなど)を含み得る。データ構造体には、データと、任意のプログラミング言語により記述された関数、クラス、メソッドなどを組み合わせることにより、データ構造体と見なし得るデータも含むものとする。
【0154】
通信部は、通信IF991により実現される。通信部は、ネットワークを介して他のコンピュータ90と通信を行う機能を実現する。通信部は、他のコンピュータ90から送信された情報を受信し、制御部へ入力することができる。制御部は、各種プログラムに従ってプロセッサ901に、受信した情報に対する情報処理を実行させることができる。また、通信部は、制御部から出力された情報を他のコンピュータ90へ送信することができる。
【0155】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0156】
また、本実施形態に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
【0157】
更に、実施形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【0158】
本明細書中に記載されている構成要素により実現される機能は、当該記載された機能を実現するようにプログラムされた、汎用プロセッサ、特定用途プロセッサ、集積回路、ASICs (Application Specific Integrated Circuits)、CPU (a Central Processing Unit)、従来型の回路、及び/又はそれらの組合せを含む、circuitry又はprocessing circuitryにおいて実装されてもよい。プロセッサは、トランジスタやその他の回路を含み、circuitry又はprocessing circuitryとみなされる。プロセッサは、メモリに格納されたプログラムを実行する、programmed processorであってもよい。
【0159】
本明細書において、circuitry、ユニット、手段は、記載された機能を実現するようにプログラムされたハードウェア、又は実行するハードウェアである。当該ハードウェアは、本明細書に開示されているあらゆるハードウェア、又は、当該記載された機能を実現するようにプログラムされた、又は、実行するものとして知られているあらゆるハードウェアであってもよい。
【0160】
当該ハードウェアがcircuitryのタイプであるとみなされるプロセッサである場合、当該circuitry、手段、又はユニットは、ハードウェアと、当該ハードウェア及び又はプロセッサを構成するために用いられるソフトウェアの組合せである。
【0161】
以上、本開示のいくつかの実施形態を説明したが、これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものとする。
【0162】
〔9 付記〕
前記の実施形態及び変形例で説明した事項を以下に付記する。
【0163】
<付記1>
プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムであって、プログラムは、プロセッサに、図面に関する図面情報と、前記図面に図示された図示対象物の見積書に関する見積情報と、前記図示対象物に関する第1情報の出力を指示する第1プロンプトとを第1生成AIモデルに入力し、前記第1生成AIモデルから前記第1情報を出力させる出力ステップと、出力させた複数の前記第1情報をデータベースに格納して、検索データベースを構築する構築ステップと、検索対象に関する第2情報の入力を受け付ける入力ステップと、受け付けた前記第2情報に基づいて、検索データベースから前記第2情報に類似する前記第1情報を類似情報として検索し、検索結果に関する検索情報を提示する提示ステップとを実行させるプログラム。
【0164】
<付記2>
出力ステップにおいて、図面、見積書、見積書を他の見積書と比較したときの比較結果に関する資料、又はこれらの少なくとも2つの組み合わせに関する通信情報を第1生成AIモデルに入力する(付記1)に記載のプログラム。
【0165】
<付記3>
通信情報は、見積書に記載された見積額の決定に至るまでのやり取りに関する情報を含む(付記2)に記載のプログラム。
【0166】
<付記4>
入力ステップにおいて、所定の入力フォームに設けられた複数種類の項目のそれぞれに検索対象の該当情報が入力されることにより、第2情報の入力を受け付ける(付記1)乃至(付記3)の何れかに記載のプログラム。
【0167】
<付記5>
提示ステップにおいて、類似情報を含んだ類似図面の画像データを提示する(付記1)乃至(付記4)の何れかに記載のプログラム。
【0168】
<付記6>
提示ステップにおいて、類似情報を含んだ類似見積書の画像データを提示する(付記1)乃至(付記4)の何れかに記載のプログラム。
【0169】
<付記7>
提示ステップにおいて、類似情報を含んだ類似見積書を他の見積書と比較したときの比較結果に関する資料の画像データを提示する(付記1)乃至(付記4)の何れかに記載のプログラム。
【0170】
<付記8>
提示ステップにおいて、前記第2情報及び前記検索情報の出力を指示する第2プロンプトを、前記第1生成AIモデルと異なる第2生成AIモデルに入力し、当該第2生成AIモデルから出力された検索情報を提示する(付記1)乃至(付記7)の何れかに記載のプログラム。
【0171】
<付記9>
検索情報は、検索結果を説明する説明文を有する(付記8)に記載のプログラム。
【0172】
<付記10>
出力ステップにおいて、第1生成AIモデルは、第1マルチモーダル生成AIモデルと、大規模言語モデルとを含み、図面情報としての図面の画像データを、第1プロンプトと共に第1マルチモーダル生成AIモデルに入力し、当該第1マルチモーダル生成AIモデルから第1情報として図示対象物に関する第1テキスト情報を出力させ、見積情報としての見積書に関するテキスト情報を、第1プロンプトと共に大規模言語モデルに入力し、当該大規模言語モデルから第1情報として図示対象物に関する第2テキスト情報を出力させ、入力ステップにおいて、検索対象の画像データ及び検索対象に関するテキスト情報の入力を、第2情報の入力として受け付け、提示ステップにおいて、受け付けた検索対象の画像データ、受け付けた検索対象に関するテキスト情報、及び検索情報の出力を指示する第2プロンプトを、第1マルチモーダル生成AIモデルと異なる第2マルチモーダル生成AIモデルに入力し、当該第2マルチモーダル生成AIモデルから出力された検索情報を提示する(付記1)に記載のプログラム。
【0173】
<付記11>
出力ステップにおいて、第1テキスト情報、第2テキスト情報、図面の画像データ、図面の画像データに関する説明文及び第1プロンプトを、第1マルチモーダル生成AIモデル及び第2マルチモーダル生成AIモデルの何れとも異なる第3マルチモーダル生成AIモデルに入力し、当該第3マルチモーダル生成AIモデルから第1情報として図示対象物に関する第3テキスト情報を出力させる(付記10)に記載のプログラム。
【0174】
<付記12>
提示した検索情報に基づいて、第2マルチモーダル生成AIモデルをファインチューニングする調整ステップをプロセッサに実行させる(付記10)又は(付記11)に記載のプログラム。
【0175】
<付記13>
プロセッサと、メモリとを備えるコンピュータに実行される方法であって、プロセッサが、(付記1)から(付記12)の何れかに係る発明において実行される全てのステップを実行する方法。
【0176】
<付記14>
制御部と、記憶部とを備える情報処理装置であって、制御部が、(付記1)から(付記12)の何れかに係る発明において実行される全てのステップを実行する情報処理装置。
【0177】
<付記15>
(付記1)から(付記12)の何れかに係る発明において実行される全てのステップを実行する手段を備えるシステム。
【符号の説明】
【0178】
1…システム
10…端末装置
120…通信部
13…入力装置
14…出力装置
15…メモリ
16…ストレージ
19…プロセッサ
20…サーバ
22…通信IF
23…入出力IF
25…メモリ
26…ストレージ
29…プロセッサ
30…生成AIシステム
【要約】
【課題】図面に関する情報を用いたデータ検索において、多様なユースケースに柔軟に対応する。
【解決手段】プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムである。プログラムは、プロセッサに、図面に関する図面情報と、図面に図示された図示対象物の見積書に関する見積情報と、図示対象物に関する第1情報の出力を指示する第1プロンプトとを生成AIモデルに入力し、生成AIモデルから第1情報を出力させる出力ステップと、出力させた複数の第1情報をデータベースに格納して、検索データベースを構築する構築ステップと、検索対象に関する第2情報の入力を受け付ける入力ステップと、受け付けた第2情報に基づいて、検索データベースから第2情報に類似する第1情報を類似情報として検索し、検索結果に関する検索情報を提示する提示ステップとを実行させる。
【選択図】
図1