IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 新日鉄住金ソリューションズ株式会社の特許一覧

特許7628204情報処理装置、情報処理方法、及びプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2025-01-30
(45)【発行日】2025-02-07
(54)【発明の名称】情報処理装置、情報処理方法、及びプログラム
(51)【国際特許分類】
   G06F 40/253 20200101AFI20250131BHJP
   G06F 16/30 20190101ALI20250131BHJP
   G06Q 10/10 20230101ALI20250131BHJP
【FI】
G06F40/253
G06F16/30
G06Q10/10
【請求項の数】 10
(21)【出願番号】P 2024056207
(22)【出願日】2024-03-29
【審査請求日】2024-10-18
【早期審査対象出願】
(73)【特許権者】
【識別番号】000191076
【氏名又は名称】日鉄ソリューションズ株式会社
(74)【代理人】
【識別番号】100117857
【弁理士】
【氏名又は名称】南林 薫
(72)【発明者】
【氏名】樫村 孝
【審査官】齊藤 貴孝
(56)【参考文献】
【文献】特開2021-043955(JP,A)
【文献】特開2023-082330(JP,A)
【文献】特開2018-010349(JP,A)
【文献】特開2011-141766(JP,A)
【文献】中国特許出願公開第114240160(CN,A)
【文献】米国特許出願公開第2023/0394235(US,A1)
【文献】天野 富夫、外1名,モデルとパターンに基づく静的テスト仕様記述の自動生成,PROVISION,日本,日本アイ・ビー・エム株式会社,2010年11月01日,第67号,p.94-100
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-40/58
G06Q 10/00-99/00
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
第1文書及び第2文書を取得する取得手段と、
前記第1文書から確認する内容を抽出して前記内容毎のタスクを生成する解析手段と、
前記第1文書の特徴を示す属性情報を抽出する情報抽出手段と、
前記属性情報に基づいて、1又は複数の前記第2文書の内から候補文書を選択する選択手段と、
前記タスクで確認する内容に関する条件を前記候補文書から検索する検索手段と、
前記解析手段により生成された前記タスクを学習済モデルに順次入力し、入力された前記タスクで確認する内容が前記候補文書から検索された前記条件に適合するか否かを前記学習済モデルに回答させる処理手段と、
前記処理手段による処理結果を出力する出力手段とを有することを特徴とする情報処理装置。
【請求項2】
前記選択手段は、前記属性情報が示す前記第1文書の特徴と前記第2文書の特徴との類似度に基づいて、1又は複数の前記第2文書の内から前記候補文書を選択することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記選択手段は、前記第2文書の特徴を示す情報を抽出して構築された前記第2文書に関するルールインデックスに対する前記属性情報に基づく検索結果から前記第1文書の特徴と前記第2文書の特徴との類似度を取得することを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記情報抽出手段は、前記第1文書と、前記第1文書の特徴を示す情報を抽出する指示を含むプロンプトを学習済モデルに入力することで前記属性情報を抽出することを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記処理手段に入力された前記タスクに複数の前記内容が含まれる場合、該タスクを複数のタスクにさらに分割することを特徴とする請求項1に記載の情報処理装置。
【請求項6】
前記学習済モデルは、大規模言語モデルであることを特徴とする請求項1に記載の情報処理装置。
【請求項7】
前記学習済モデルは、大規模マルチモーダルモデルであることを特徴とする請求項1に記載の情報処理装置。
【請求項8】
前記解析手段は、前記第1文書を学習済モデルに入力することで前記内容毎のタスクを生成し、
前記検索手段は、前記タスクで確認する内容を学習済モデルに入力することで前記タスクで確認する内容に関する条件を検索することを特徴とする請求項1に記載の情報処理装置。
【請求項9】
情報処理装置が実行する情報処理方法であって、
第1文書及び第2文書を取得する取得工程と、
前記第1文書から確認する内容を抽出して前記内容毎のタスクを生成する解析工程と、
前記第1文書の特徴を示す属性情報を抽出する情報抽出工程と、
前記属性情報に基づいて、1又は複数の前記第2文書の内から候補文書を選択する選択工程と、
前記タスクで確認する内容に関する条件を前記候補文書から検索する検索工程と、
前記解析工程にて生成された前記タスクを学習済モデルに順次入力し、入力された前記タスクで確認する内容が前記候補文書から検索された前記条件に適合するか否かを前記学習済モデルに回答させる処理工程と、
前記処理工程での処理結果を出力する出力工程とを有することを特徴とする情報処理方法。
【請求項10】
情報処理装置のコンピュータに、
第1文書及び第2文書を取得する取得ステップと、
前記第1文書から確認する内容を抽出して前記内容毎のタスクを生成する解析ステップと、
前記第1文書の特徴を示す属性情報を抽出する情報抽出ステップと、
前記属性情報に基づいて、1又は複数の前記第2文書の内から候補文書を選択する選択ステップと、
前記タスクで確認する内容に関する条件を前記候補文書から検索する検索ステップと、
前記解析ステップにて生成された前記タスクを学習済モデルに順次入力し、入力された前記タスクで確認する内容が前記候補文書から検索された前記条件に適合するか否かを前記学習済モデルに回答させる処理ステップと、
前記処理ステップでの処理結果を出力する出力ステップとを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
従来、ドキュメント同士の比較は人が目視等で行っていたが、近年では大量の電子文書が取り扱われるようになり、コンピュータを利用して作業を効率的に行われるようになった。しかし、大量の文書を人が確認する場合、ヒューマンエラーが発生しやすく、また、コンピュータを利用した電子文書の比較では、統一されたフォーマットの文書同士であれば比較することは容易であるが、フォーマットが統一されていない文書を比較することは容易ではない。例えば、フォーマットが必ずしも統一されていない仕様書等の内容が規格等に準拠しているか否かの確認作業などに利用するのには適していなかった。
【0003】
特許文献1には、規格基準の各基準内容に対して、組織内規程の複数の規定内容のそれぞれについて意味的な同一性を演算して同一性のスコアを算出し、最も同一性のスコアが高い規定内容を紐づけ、各基準内容とそれに紐づく規定内容との同一性のスコアを用いて平均化して規格基準と組織内規程との合致性のスコアを算出し、各基準内容と基準内容に紐づく規定内容と合致性のスコアをユーザに表示する技術が提案されている。
【0004】
特許文献2には、複数のデータタイプを含むクエリドキュメントを異なるデータタイプの要素へと分解し、分解したデータタイプの要素についてそのデータタイプの類似性探索を行い、クエリドキュメントに類似するドキュメントを見つける技術が提案されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2020-86737号公報
【文献】特表2002-537604号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
フォーマットを限定されることなく、対象の文書の内容が、求められる条件に適合しているか否かの判定をコンピュータ等の情報処理装置を利用して行うことが可能な仕組みが望まれている。本発明は、対象の文書の内容が、求められる条件に適合しているか否かの確認作業を効率化することが可能な情報処理装置、情報処理方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明に係る情報処理装置は、第1文書及び第2文書を取得する取得手段と、前記第1文書から確認する内容を抽出して前記内容毎のタスクを生成する解析手段と、前記第1文書の特徴を示す属性情報を抽出する情報抽出手段と、前記属性情報に基づいて、1又は複数の前記第2文書の内から候補文書を選択する選択手段と、前記タスクで確認する内容に関する条件を前記候補文書から検索する検索手段と、前記解析手段により生成された前記タスクを学習済モデルに順次入力し、入力された前記タスクで確認する内容が前記候補文書から検索された前記条件に適合するか否かを前記学習済モデルに回答させる処理手段と、前記処理手段による処理結果を出力する出力手段とを有することを特徴とする。
【発明の効果】
【0008】
本発明によれば、対象の文書の内容が、求められる条件に適合しているか否かの確認作業を効率化することが可能な情報処理装置、情報処理方法、及びプログラムを提供することができる。
【図面の簡単な説明】
【0009】
図1】情報処理装置のハードウェア構成の例を示す図である。
図2】第1の実施形態における情報処理装置の機能構成の例を示す図である。
図3】第1の実施形態における情報処理装置の処理例を説明する図である。
図4】仕様書の分割の例を説明する図である。
図5】タスク分解の例を説明する図である。
図6】タスク分解でのプロンプトの例を説明する図である。
図7】タスク分解の例を説明する図である。
図8】タスク分解でのプロンプトの例を説明する図である。
図9】前提情報抽出でのプロンプトの例を説明する図である。
図10】規格文書DBの例を説明する図である。
図11】検索ツールによる検索の例を説明する図である。
図12】突合処理の例を説明する図である。
図13】突合処理の例を説明する図である。
図14】突合処理の例を説明する図である。
図15】突合処理の例を説明する図である。
図16A】突合処理の例を説明する図である。
図16B】突合処理の例を説明する図である。
図17A】突合処理の例を説明する図である。
図17B】突合処理の例を説明する図である。
図18】突合処理の例を説明する図である。
図19】突合処理の例を説明する図である。
図20】処理結果の出力例を示す図である。
図21】第2の実施形態における情報処理装置の機能構成の例を示す図である。
図22】第2の実施形態における情報処理装置の処理例を説明する図である。
図23】属性情報抽出の例を説明する図である。
図24】ルールインデックス構築の例を説明する図である。
図25】第2の実施形態における処理を説明する図である。
図26A】突合処理に関するサンプルの例を説明する図である。
図26B】突合処理に関するサンプルの例を説明する図である。
図26C】突合処理に関するサンプルの例を説明する図である。
図26D】突合処理に関するサンプルの例を説明する図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下の説明では、「文書」と称した場合、デジタルデータで構成された電子文書(デジタル文書)も含まれるものとする。
【0011】
<第1の実施形態>
図1は、本発明の一実施形態における情報処理装置100のハードウェア構成の一例を示す図である。情報処理装置100は、CPU101、ROM102、RAM103、補助記憶装置104、出力装置105、入力装置106、及びネットワークI/F107を有する。CPU101、ROM102、RAM103、補助記憶装置104、出力装置105、入力装置106、及びネットワークI/F107は、システムバス108を介して通信可能に接続されている。
【0012】
CPU(Central Processing Unit)101は、情報処理装置100の各種動作を制御する中央演算装置である。例えば、CPU101は、情報処理装置100全体の動作を制御してもよい。ROM(Read Only Memory)102は、CPU101で実行可能な制御プログラムやブートプログラム等を記憶する。RAM(Random Access Memory)103は、CPU101の主記憶メモリであり、ワークエリア又は各種プログラムを展開するための一時記憶領域として用いられる。
【0013】
補助記憶装置104は、各種データや各種プログラム等を記憶する。補助記憶装置104は、HDD(Hard Disk Drive)や、SSD(Solid State Drive)に代表される不揮発性メモリ等のような、各種データを一時的又は持続的に記憶可能な記憶デバイスにより実現される。
【0014】
出力装置105は、各種情報を出力する装置であり、ユーザに対する各種情報の提示に利用される。例えば、出力装置105は、ディスプレイ等の表示デバイスにより実現される。出力装置105は、各種表示情報を表示させることで、ユーザに対して情報を提示する。他の例として、出力装置105は、音声や電子音等の音を出力する音響出力デバイスにより実現されてもよい。この場合には、出力装置105は、音声や電子音等の音を出力することで、ユーザに対して情報を提示する。また、出力装置105として適用されるデバイスは、ユーザに対して情報を提示するために利用する媒体に応じて適宜変更されてもよい。
【0015】
入力装置106は、ユーザからの各種指示の受け付けに利用される。例えば、入力装置106は、マウス、キーボード、タッチパネル等の入力デバイスを含む。他の例として、入力装置106は、マイクロフォン等の集音デバイスを含み、ユーザが発話した音声を集音してもよい。この場合には、集音された音声に対して音響解析や自然言語処理等の各種解析処理が施されることで、この音声が示す内容がユーザからの指示として認識される。また、入力装置106として適用されるデバイスは、ユーザからの指示を認識する方法に応じて適宜変更されてもよい。また、入力装置106として複数種類のデバイスが適用されてもよい。
【0016】
ネットワークI/F107は、外部の装置等とのネットワークを介した通信に利用される。なお、ネットワークI/F107として適用されるデバイスは、通信経路の種別や適用される通信方式に応じて適宜変更されてもよい。
【0017】
CPU101が、ROM102又は補助記憶装置104に記憶されたプログラムをRAM103に展開し、そのプログラムを実行することで、後述する情報処理装置の各機能及び各処理等が実現される。
【0018】
図2は、第1の実施形態における情報処理装置100の機能構成の例を示す図である。情報処理装置100は、取得部201、解析部202、データベース(DB)作成部203、情報抽出部204、適合判定部205、出力部209、及び記憶部210を有する。
【0019】
ここで、本実施形態における情報処理装置100では、機械学習(ディープラーニング、深層学習)によって生成され、記憶部210に記憶されている学習済モデル211を用いて機能の一部が実現される。以下では、学習済モデル211は、大規模言語モデル(LLM:Large Language Model)であるとして説明する。大規模言語モデル(LLM)は、大量のテキストデータ(大規模コーパス等)とディープラーニング技術を用いて構築された言語モデルであり、指示や命令等を示すプロンプトと呼ばれるテキストデータが入力されると、プロンプトに基づいて推論を行い、入力されたプロンプトに応じたテキストデータを生成して出力する。なお、大規模言語モデル(LLM)に限定されるものではなく、学習済モデル211として、例えば、テキストデータに対応可能な大規模マルチモーダルモデル(ラージマルチモーダルモデル、LMM)を適用してもよい。
【0020】
取得部201は、適合性の確認作業に関する文書を取得する。取得部201は、求められる条件に適合しているか否かを確認される第1文書(確認対象の文書)、及び第1文書に対応する確認対象の条件を示している第2文書を取得する。取得部201は、取得手段の一例である。第1文書の一例としては、例えば、製品又はサービス等に関する仕様書、契約の内容等に関する契約書、提案書等が挙げられる。また、第2文書の一例としては、例えば、基準とするルールが示された規格書や規程書等の文書や、RFP(Request for Proposal、提案依頼書)等が挙げられる。なお、前述した第1文書及び第2文書の例は一例であり、これに限定されるものではない。
【0021】
解析部202は、取得部201により取得された第1文書を解析して、第1文書の内容において、求められる条件に適合しているか否かを確認する内容を抽出し、抽出した内容毎の突合タスク(以下、単に「タスク」とも称す。)を生成する。解析部202は、解析手段の一例である。解析部202は、第1文書と、確認する必要がある内容を抽出しタスクを出力する指示を含むプロンプトとを学習済モデル211に対して入力することで、第1文書の確認作業に関するタスクを生成する。生成された突合タスク(タスク)は、記憶部210にタスクデータ213として格納される。なお、解析部202は、学習済モデル211を用いて突合タスク(タスク)を生成するものに限定されるものではない。例えば、解析部202は、予めフォーマットが定められている文書(第1文書)からアルゴリズムによる機械的処理等によって、確認する必要がある内容を抽出して突合タスク(タスク)を生成するようにしてもよい。
【0022】
DB作成部203は、取得部201により取得された文書に基づいて、文書に関するデータベース(retriever)を作成する。DB作成部203により作成されたデータベース(retriever)は、記憶部210に文書DB(retriever)として記憶される。すなわち、DB作成部203は、取得部201により取得された第1文書に基づいて第1文書DB(retriever)215を作成し、取得部201により取得された第2文書に基づいて第2文書DB(retriever)216を作成する。これら文書DB(retriever)215、216は、学習済モデル211を用いて文書の内容に関する適合判定を行う際に用いる検索ツールとしてのDB(retriever)である。文書DB(retriever)215、216は、例えば、全文検索エンジンであり、BM25による検索が行われる。DB作成部203は、作成手段の一例である。
【0023】
情報抽出部204は、取得部201により取得された第1文書から所定の情報を抽出する。情報抽出部204は、情報抽出手段の一例である。第1の実施形態では、情報抽出部204は、取得部201により取得された第1文書から前提情報を抽出する。ここで、前提情報は、第1文書を通して共通的な情報であり、例えば、第1文書において参照している基準(ルール)に関する情報等である。情報抽出部204は、第1文書と、第1文書を通して共通的な情報を抽出する指示を含むプロンプトとを学習済モデル211に対して入力することで、第1文書に関する前提情報を抽出する。抽出された前提情報は、記憶部210に前提情報214として格納され、学習済モデル211を用いた文書の内容に関する適合判定処理において、ヒント情報として学習済モデル211に与えられる。
【0024】
適合判定部205は、確認対象である第1文書に関する適合判定を行う。適合判定部205は、記憶部210にタスクデータ213として格納された第1文書に関するタスクに基づいて、タスクで確認する第1文書の内容が、求められる条件に適合しているか否かの確認を行う。具体的には、適合判定部205は、第1文書に関するタスク及び前提情報をプロンプトとして学習済モデル211に入力することで、タスクに示される第1文書の内容が、第2文書で示している条件に適合しているか否かを判定する。また、適合判定部205は、適合判定にて検証するタスクが、後述する突合処理部206において検証可能な1つのタスクになっておらず、複数のタスク、すなわち複数の内容が含まれて構成されている場合に、そのタスクを検証可能なタスクに分割する。適合判定部205は、突合処理部206、情報検索部207、及びコード実行部208を有する。
【0025】
突合処理部206は、第1文書と第2文書との突合処理を行い、第1文書の内容が、求められる条件に適合しているか否かを判定する。突合処理部206は、処理手段の一例である。突合処理部206は、第1文書に関するタスク及び前提情報を含むプロンプトを学習済モデル211に入力することで、タスクに示される第1文書の内容が、第2文書で示される条件に適合しているか否かを推論する。また、突合処理部206は、第1文書に関するタスク及び前提情報をプロンプトとして学習済モデル211に入力することで生成される検索要求や演算処理等を行うためのコード(プログラム)を情報検索部207やコード実行部208に出力する。
【0026】
情報検索部207は、突合処理部206からの検索要求に応じて、第1文書及び第2文書を検索して検索結果を突合処理部206に出力する。情報検索部207は、検索手段の一例である。情報検索部207は、突合処理部206から入力される検索用クエリを受けて、学習済モデル211を用いて第1文書DB215、第2文書DB216に対する検索処理を行い、入力された検索用クエリに応じた検索結果を突合処理部206に返す。なお、情報検索部207は、学習済モデル211を用いて検索処理を行い検索結果を出力するものに限定されるものではない。例えば、情報検索部207は、突合処理部206から入力される検索用クエリを受けて、第1文書DB215、第2文書DB216に対するルールベースでの検索処理を行い、取得した検索結果を突合処理部206に返すようにしてもよい。例えば、後述する図11に示す検索処理において、検索処理1104して得られた検索結果1106をそのまま最終検索結果1108として出力するようにしてもよい。
【0027】
コード実行部208は、コード(プログラム)を実行して実行結果を出力する。コード実行部208は、突合処理部206から入力されるコード(プログラム)を実行して、実行結果を突合処理部206に返す。
【0028】
出力部209は、適合判定部205による第1文書に関する適合判定の結果、すなわち第1文書に関するタスクとして抽出された第1文書の内容が、求められる条件に適合しているか否かの判定結果を出力する。出力部209は、第1文書の内容が、求められる条件に適合しているか否かの判定結果とともに、その判定結果となる理由を合わせて出力するようにしてもよい。
【0029】
記憶部210は、情報処理装置100での処理を行う際に用いられる各種データ等を記憶する。記憶部210には、例えば、学習済モデル211、設定ファイル212、タスクデータ213、前提情報214、第1文書DB215、及び第2文書DB216が格納されている。学習済モデル211は、情報処理装置100において行われる各種の推論に用いられる、機械学習(ディープラーニング、深層学習)が行われたモデルである。設定ファイル212は、学習済モデル211に入力するプロンプト等が格納されているファイルである。設定ファイル212には、プロンプトとして入力する学習サンプルも格納されていてもよい。学習サンプルは、設定ファイル212等に複数準備しておき、実現する機能に応じて選択し学習済モデル211に与えるようにしてもよい。タスクデータ213は、解析部202により生成された確認作業に関するタスクであり、前提情報214は、情報抽出部204により抽出された前提情報である。第1文書DB215は、DB作成部203により作成された第1文書用のDBであり、第2文書DB216は、DB作成部203により作成された第2文書用のDBである。
【0030】
図3を参照して、第1の実施形態における情報処理装置100での処理について説明する。図3は、第1の実施形態における情報処理装置100の処理例を説明する図である。以下では、一例として、確認対象の文書である第1文書を製品の仕様書301、求められる確認対象の条件を示している第2文書を製品の規格に関する規格文書302とし、仕様書301に記載されている内容が規格文書302の規格に適合しているか否かを確認する場合を例に説明する。
【0031】
情報処理装置100は、第1文書としての仕様書301を取得する。また、情報処理装置100は、第2文書としての規格文書302を取得する。
【0032】
(処理303、305:仕様書の分割及びタスク分解)
取得した仕様書301に対して、情報処理装置100は、仕様書の分割処理303を行い、仕様書301全体を仕様書の一部となる複数の文書304に分割する。仕様書の分割処理303では、情報処理装置100は、アルゴリズムによる機械的処理によって、分割後の各文書が学習済モデル211で処理可能なサイズとなるように、仕様書301を複数の文書に分割する。例えば、情報処理装置100は、OCR又はPDFパーサ等で読み取った仕様書301のテキストデータについて、数字による箇条書き等に基づいて所定のパターンで分割して、仕様書301を複数の文書304に分割する。図4に示す仕様書の分割の例では、情報処理装置100は、仕様書401を、数字による箇条書きに基づいて項番(項目)毎のテキストデータ402~405に分割する。仕様書中の表については、例えばCSV形式のデータに変換される。
【0033】
また、情報処理装置100は、分割後の複数の文書304に対してタスク分解処理305を行い、仕様書301の内容確認に関する突合タスク(タスク)306を生成する。タスク分解処理305では、情報処理装置100は、分割された文書304と、規格に適合しているか否かを確認する必要がある内容を抽出しタスクを出力する指示を含むプロンプトとを学習済モデル211に対して入力することで、仕様書301の内容確認に関するタスク306を生成する。
【0034】
図5図8を参照して、タスク分解処理305でのタスク分解の例について説明する。
図5及び図6を参照して、定量的事項について確認するためのタスクを生成する例について説明する。図5(A)は、仕様書301での記載を示しており、製品における化学成分として、炭素(C)、マンガン(Mn)、ケイ素(Si)、リン(P)の値が製品毎に記載されている。この図5(A)に示した記載についての分割後のデータ304が、図5(B)に示すデータである。情報処理装置100は、図5(B)に示すデータと図6に示すプロンプト600とを学習済モデル211に対して入力することで、確認する必要がある内容についてタスクに分解し、図5(C)に示すようにタスクを生成する。
【0035】
図6に示すように、プロンプト600は、記載の数値について規格に関連しているために規格との記載の一致を確認する必要がある値を網羅的に出力させ、チェックする事項を可能な限り検証可能な小さいタスクに落とし込むことを指示するプロンプト601を含む。また、プロンプト600は、表形式のデータである場合の学習サンプル602や抽出したい情報がない場合の学習サンプル603等を含んでもよい。このようなプロンプトを用いることにより、図5(C)に示すように、抽出する情報(タスク)の粒度を制御して後述する突合処理で検証可能な小さなタスクまで分解し、仕様書301に記載の値が規格に適合しているか否かを確認するタスクを生成することが可能となる。また、例示したような学習サンプルをプロンプト600に含ませることで、学習サンプルに適応した出力を返す精度が高いという大規模言語モデルの特性を利用して、所望の形式でのタスクの出力を得ることが可能となる。
【0036】
次に、図7及び図8を参照して、定性的事項について確認するためのタスク(突合タスク)を生成する例について説明する。図7(A)は、仕様書301での記載を示しており、製品に関する品質管理基準、製品識別とトレーサビリティ、表面仕上げについて記載されている。情報処理装置100は、図7(A)に示す品質管理基準についての分割後のデータと図8に示すプロンプト800とを学習済モデル211に対して入力することで、確認する必要がある内容についてタスクに分解し、図7(B)に示すようにタスク(突合タスク)を生成する。また、同様に、学習済モデル211に対して、図7(A)に示す製品識別とトレーサビリティについての分割後のデータと図8に示すプロンプト800とを入力することで図7(C)に示すようにタスク(突合タスク)を生成し、図7(A)に示す表面仕上げについての分割後のデータと図8に示すプロンプト800とを入力することで図7(D)に示すようにタスク(突合タスク)を生成する。
【0037】
図8に示すように、プロンプト800は、規格に関連しているために規格との記載の一致を確認する必要がある内容を出力させ、チェックする事項を可能な限り検証可能な小さいタスクに落とし込むことを指示するプロンプト801を含む。また、プロンプト800は、定性的事項の抽出に関する学習サンプル802、803や抽出したい情報がない場合の学習サンプル等を含んでもよい。このようなプロンプトを用いることにより、図7(B)~図7(D)に示すように、抽出する情報(タスク)の粒度を制御して後述する突合処理で検証可能な小さなタスクまで分解し、仕様書301に記載の内容が規格に適合しているか否かを確認するタスクを生成することが可能となる。また、例示したような学習サンプルをプロンプト800に含ませることで、学習サンプルに適応した出力を返す精度が高いという大規模言語モデルの特性を利用して、所望の形式でのタスクの出力を得ることが可能となる。
【0038】
(処理307:前提情報抽出)
取得した仕様書301に対して、情報処理装置100は、前提情報抽出処理307を行い、仕様書301を通して共通的な情報である前提情報308を抽出する。前提情報抽出処理307では、情報処理装置100は、仕様書301と、仕様書を通して共通的な情報を抽出する指示を含むプロンプトとを学習済モデル211に対して入力することで、仕様書301に関する前提情報308を生成する。この例では、図9に示すように、仕様書に明記されている規格と製品の種類とを仕様書301から抽出することを指示するプロンプト900を入力することで、仕様書において参照している規格の情報や仕様書に記載されている製品の種類等を前提情報308として抽出する。
【0039】
(処理309、311:DB作成)
情報処理装置100は、取得した仕様書301に基づいて仕様書のDB作成処理309を行い、仕様書DB(retriever)310を作成する。また、情報処理装置100は、取得した規格文書302に基づいて規格文書のDB作成処理311を行い、規格文書DB(retriever)312を作成する。仕様書DB(retriever)310は図2に示した第1文書DB(retriever)215に相当し、規格文書DB(retriever)312は図2に示した第2文書DB(retriever)216に相当する。DB作成処理309、311では、情報処理装置100は、アルゴリズムによる機械的処理によって、仕様書301、規格文書302をそれぞれ検索可能な形の状態に処理してデータベースを作成する。
【0040】
例えば、情報処理装置100は、図10に一例を示すように、規格文書302のページ毎に、「IronStandard2023」等のファイル名、「鋼板規格」等の文書名称、「1.はじめに 本文書は・・・」等の本文、及び「p1」等のページ番号の情報を含むレコードを作成して規格文書DB(retriever)312を構成する。例えば、レコードにページ番号を含ませることで、後述する学習済モデル211を用いて検索を行う際に、次のページや前のページ等の異なるページを参照するなどの対応が可能となる。仕様書DB(retriever)310も同様に構成すればよい。なお、各レコードが有する情報は、前述した例に限定されるものではなく、他の情報が含まれていてもよい。また、文書のページ毎にレコードを作成するようにしているが、これは一例であり、他の構成単位毎にレコードを作成するようにしてもよい。
【0041】
ここで、規格文書DB(retriever)312は、予め作成しておくようにしてもよいし、仕様書301の内容が規格に適合しているか否かの確認を行う際に作成するようにしてもよい。例えば、繰り返し利用される規格文書や長期に亘って利用される規格文書等の規格文書DB(retriever)312を作成し保持しておくようにすれば、その都度作成する必要がなく、処理を軽減することができる。また、恒常的な保存が許されない規格文書であれば、仕様書301の内容が規格に適合しているか否かの確認を行う際に規格文書DB(retriever)312を作成することで、情報漏えい等の発生を抑制することができる。
【0042】
(処理320:適合判定)
タスク分解処理305で生成されたタスクに対して、情報処理装置100は、学習済モデル211を用いてタスク毎に適合判定処理320を行い、仕様書301に記載の内容が規格文書302の規格に適合しているか否かを判定する。タスクリスト321には、タスク分解処理305によって生成されたタスク306がキュー形式で記憶されている。適合判定処理320では、タスクリスト321から1つずつ順に取り出されるタスク322に対して、情報処理装置100が学習済モデル211を用いて突合処理323を行い、処理結果340を出力する。タスクリスト321のタスクがなくなるまで突合処理323が行われる。
【0043】
突合処理323では、学習済モデル211に文書の内容を突合する際の人間のワークフローをシミュレーションさせ、ツールを用いて突合に必要な情報の収集等を行い、収集した情報等に基づいて意味的な推論を行って処理結果を得る。また、推論を行うにあたり、少数又は多数の特定ドメインのワークフローのサンプルを学習済モデル211に学習(Few-shot学習等)させ、ワークフローのドメインに適合させる。
【0044】
本実施形態における突合処理323は、ReAct(Reasoning and Acting)と呼ばれるフレームワークに倣って処理を行い、処理結果を出力する。すなわち、突合処理323では、ReActフレームワークに倣って、Question(質問)に対し、Thought(思考)、Action(行動)、Observation(観察)のフェーズ毎にテキストを生成して、このThought→Action→Observationの流れを1回又は複数回経て、Final Answer(最終の回答)を導出する。
【0045】
この例では、タスク322がQuestionに相当する。Thoughtでは学習済モデル211により目的を達成するための現プロセスからの計画を思考し、Actionでは学習済モデル211により計画を実行するためのツールの選択を行う。そして、ツールを実行するための入力を行った上で実行したツールの実行結果をObservationで観察する。このObservationで得られたツールの実行結果に基づいてThoughtで計画を思考し、計画があればActionに進み、結論が出ていればFinal Answerを生成する。
【0046】
本実施形態では、突合処理323において学習済モデル211が利用するツールとして、タスク分割ツール324、仕様書検索ツール326、規格検索ツール329、及びコード実行ツール332がある。タスク分割ツール324は適合判定部205により実現され、仕様書検索ツール326及び規格検索ツール329は情報検索部207により実現され、コード実行ツール332はコード実行部208により実現される。
【0047】
タスク分割ツール324は、突合処理323によって分割されたタスク325を、タスクリスト321に追加する機能を有する。後述するように、タスクリスト321から取り出されて突合処理323に入力されたタスク322が、検証可能な1つのタスクになっておらず、複数のタスク、すなわち複数の内容が含まれて構成されている場合、突合処理323では、そのタスク322を検証可能なタスク325に分割する。この複数に分割されたタスクを、タスク分割ツール324がタスクリスト321に追加する。
【0048】
仕様書検索ツール326は、タスク322の検証に必要な詳細情報等を仕様書301から検索する機能を有する。仕様書検索ツール326は、仕様書の検索用クエリ327を受け付けて仕様書DB(Retriever)310を検索し、検索して得られた情報を仕様書情報328として返す。また、仕様書検索ツール326は、仕様書DB(Retriever)310の検索結果から関連する部分を抽出して要約する機能や、その抽出内容の説明を付加する機能を有する。この検索結果の要約機能により、例えば、検索結果を学習済モデル211にプロンプトとして与えられるように文字数を削減することが可能となる。
【0049】
規格検索ツール329は、仕様書301に記載された内容に対応する規格の詳細を規格文書302から検索する機能を有する。規格文書検索ツール329は、規格文書の検索用クエリ330を受け付けて規格文書DB(Retriever)312を検索し、検索して得られた情報を規格情報331として返す。また、規格文書検索ツール329は、規格文書DB(Retriever)312の検索結果から関連する部分を抽出して要約する機能や、その抽出内容の説明を付加する機能を有する。この検索結果の要約機能により、例えば、検索結果を学習済モデル211にプロンプトとして与えられるように文字数を削減することが可能となる。
【0050】
コード実行ツール332は、数値比較等の演算(単位変換や四則演算等も含む)を行うための、学習済モデル211が生成したコード(プログラム)を実行する機能を有する。コード実行ツール332は、学習済モデル211が生成したコード(プログラム)333を受け付けて、そのコード(プログラム)を実行して実行結果334を返す。
【0051】
ここで、検索ツール326、329による検索について説明する。以下では、規格検索ツール329による検索を例に説明するが、仕様書検索ツール326による検索も同様である。図11は、規格書検索ツール329による検索の例を説明する図である。
【0052】
規格書の検索を行う際、情報処理装置100は、確認するタスク及び前提情報に基づいて、検索の意図1101及び検索クエリ1103を生成する。図11に示した例では、情報処理装置100は、「IS360B-SSBの疲労強度を知りたい」という検索の意図1101、及び“IronStandard2023”、“鋼板”、“IS360B-SSB”、“疲労強度”を含む検索クエリ1103を生成する。
【0053】
次に、情報処理装置100は、生成された検索クエリ1103を用いて検索処理1104を実行する。検索処理1104では、検索クエリ1103を用いて規格文書データ1105に対するルールベースでの検索処理が行われ、検索クエリ1103に応じた検索結果1106が出力される。
【0054】
ここで、後述する突合処理において、検索ツール326、329による検索結果はプロンプトに追加されて学習済モデル211による推論に用いられる。例えば、複数行にわたる表のうち、特定の行の情報が必要である場合、説明なし、かつ、該当部分の抽出のみである場合、ヘッダの情報等が失われ、単語を羅列した情報のみが抽出されることになる。このような情報のみを検索結果として学習済モデル211に入力しても、学習済モデル211では解釈が困難であるため、突合処理に関する誤った推論や計画を立ててしまうことがあり、また計画性にも欠ける推論となってしまう。これは通常の文章のみの文書からの情報抽出では起こりにくいが、仕様書や規格文書等のレイアウト付き文書からの情報抽出では図表等が多々利用されているために発生しうる。
【0055】
そこで、本実施形態では、情報処理装置100は、検索処理1104により得られた検索結果1106に対して、検索の意図1101に基づいて検索結果の要約等を行う検索結果要約処理1107を実行し、処理結果を最終検索結果1108として出力する。検索結果要約処理1107は、学習済モデル211を用いて行われる。検索結果要約処理1107では、検索処理1104により得られた検索結果1106について、該当箇所(検索の意図1101に関連する部分)の抽出と抽出内容の説明の提供を行う。例えば、検索の意図1101に関して、対象の情報が得られた場合には該当箇所と説明を出力し、対象の情報は得られなかったが参照すべき表等の参照する情報が得られた場合にはその情報と説明を出力し、対象の情報がなかった場合には「NO_OUTPUT」と説明を出力する。なお、説明は、例えば、情報が得られた1又は複数のページに記載の文章等を考慮して生成する。例えば、図11に示した例では、1つ目の検索結果1106にはIS360A、IS360B、及びIS340の疲労強度に関する情報が含まれているが、情報処理装置100は、検索の意図1101に応じて、1つ目の検索結果1106からはIS360Bの疲労強度に関する情報のみを抽出して説明とともに最終検索結果1108として出力する。
【0056】
このように検索ツール326、329による検索結果1106に対して検索結果要約処理1107を実行して最終検索結果1108を出力することで、突合処理において検索結果とその説明情報を学習済モデル211に与えることによって学習済モデル211に適切な情報を入力することができ、推論や計画性に関する精度の向上を図ることができる。
【0057】
以下、突合処理の例について説明する。図12図19に示す突合処理の推論プロセスにおいて、Questionは確認対象のタスク(突合処理の入力情報)であり、Thought、Action、Action Input、Final Answerは、学習済モデル211による推論であり、Observationは各ツールによる実行結果である。
【0058】
前述したように本実施形態では、突合処理において推論を行うにあたり、突合処理に関するワークフローのサンプルを学習済モデル211に学習(Few-shot学習等)させ、突合処理に関するドメインに適合させる。例えば、図26A図26Dに示すようなサンプルを含むプロンプトを学習済モデル211に与えることによって学習させる。突合処理において推論を行う際には、図26A図26Dに示した要素2600A~2600Dを結合し、その末尾にタスクをQuestionとして付加して推論を行う。図26Aにおいて、2601は突合処理に関するルールであり、2602は規格を検索して突合する例と数値比較を伴う突合例とに関するサンプルである。図26Bにおいて2603は規格及び仕様書を検索して突合する例と数値比較を伴う突合例とに関するサンプルであり、図26Cにおいて2604は多段階検索で適切な情報を使用して突合する例に関するサンプルである。また、図26Dにおいて、2606は検索失敗時のハンドリングの例に関するサンプルであり、2607は複数タスクで構成されるタスクを単一なタスクに分割する例に関するサンプルである。このようなサンプルを含むプロンプトを学習済モデル211に与えることで、タスクに応じた適切な流れでタスクに関する処理を実行することができる。
【0059】
図12は、突合処理の例を説明する図である。図12には、定量的事項について、規格を検索して突合処理を行い確認する例についての推論プロセスを示している。図12に示す例では、Questionに示すように、『製品型番IS380A(-SSP)の適用サイズ「10m」の記載について、IronStandardの制限を満たしているか。』を確認するタスク322が入力されている。また、仕様書301から前提情報308として抽出された規格候補及び鋼材の種類の情報が追加情報として入力されている。
【0060】
これらQuestionに記載のタスク及び追加情報を含む情報をプロンプトとして学習済モデル211に入力することで、情報処理装置100は、プロンプトとして入力された情報に基づいて学習済モデル211による推論を行う。この推論により、規格文書302の該当製品の適用サイズを調べることを計画し(Thought)、それを実行するツールとして規格検索ツール329(SearchStandard)を選択し(Action)、規格検索ツール329に入力する情報(引数)を生成する(Action Input)。ここで、standard_no、title、及びsentenceは、検索クエリとして検索ツールに入力される情報であり、questionは、検索の意図として検索ツールに入力される情報である。
【0061】
Action Inputに記載の情報に基づいて規格検索ツール329により規格文書DB312の検索が行われ、ツールの実行結果である規格検索ツール329による検索結果が突合処理部206に返される(Observation)。規格検索ツール329では、前述したような検索結果の要約処理が施され、例えば、規格文書302に対する検索結果から抽出した関連する部分と、抽出内容の説明とで構成される最終の検索結果が規格検索ツール329による検索結果として出力される。(他の推論プロセスにおいても同様)
【0062】
続いて、Observationに記載のツールの実行結果(規格文書の検索結果)をプロンプトとして追加して入力することで、情報処理装置100は、プロンプトとして入力された情報に基づいて学習済モデル211による推論を行う。この推論により、規格文書302の記載より推測される該当製品の適用サイズの制限を満たすかをコード(プログラム)で検証することを計画し(Thought)、それを実行するツールとしてコード実行ツール332(RunCode)を選択し(Action)、コード実行ツール332で実行させるコードを生成する(Action Input)。
【0063】
Action Inputに記載のコード(プログラム)がコード実行ツール332で実行され、ツールの実行結果であるコード実行ツール332による実行結果(True)が突合処理部206に返される(Observation)。Observationに記載のツールの実行結果(コードの実行結果)をプロンプトとして追加して入力することで、情報処理装置100は、プロンプトとして入力された情報に基づいて学習済モデル211による推論を行う。この推論により、コードによる検証結果から、製品型番IS380Aの適用サイズが規格文書302の記載より推測される適用サイズの制限を満たすと判定し(Thought)、突合処理結果として確認に関する各種情報及び確認結果がOK(適合している)であることを示す回答を生成する(Final Answer)。
【0064】
図13は、突合処理の例を説明する図である。図13には、定量的事項について、規格を検索して突合処理を行い確認する例についての推論プロセスを示している。図13に示す例では、Questionに示すように、『製品型番IS360B(-SSS)の適用サイズ「9m」の記載について、IronStandardの制限を満たしているか。』を確認するタスク322について突合処理を行う。
【0065】
図13に示す例では、図12に示した例と同様にして、学習済モデル211による推論を行い、規格検索ツール329及びコード実行ツール332を用いて処理が行われ、コード実行ツール332による実行結果(False)が突合処理部206に返される。コード実行ツール332による実行結果をプロンプトとして追加して入力することで、情報処理装置100は、プロンプトとして入力された情報に基づいて学習済モデル211による推論を行う。この推論により、コードによる検証結果から、製品型番IS360Bの適用サイズが規格文書302の記載より推測される適用サイズの制限を満たさないと判定し(Thought)、突合処理結果として確認に関する各種情報及び確認結果がNG(適合していない)であることを示す回答を生成する(Final Answer)。
【0066】
図14は、突合処理の例を説明する図である。図14には、定性的事項について、規格を検索して突合処理を行い確認する例についての推論プロセスを示している。図14に示す例では、Questionに示すように、『規格上の表面の前処理はピックリング処理であるか。』を確認するタスク322が入力されている。また、仕様書301から前提情報308として抽出された規格候補及び鋼材の種類の情報が追加情報として入力されている。
【0067】
これらQuestionに記載のタスク及び追加情報を含む情報をプロンプトとして学習済モデル211に入力することで、情報処理装置100は、プロンプトとして入力された情報に基づいて学習済モデル211による推論を行う。この推論により、規格文書302における表面の前処理がピックリング処理であるかを調べることを計画し(Thought)、それを実行するツールとして規格検索ツール329(SearchStandard)を選択し(Action)、規格検索ツール329に入力する情報(引数)を生成する(Action Input)。
【0068】
Action Inputに記載の情報に基づいて規格検索ツール329により規格文書DB312の検索が行われ、ツールの実行結果である規格検索ツール329による検索結果が突合処理部206に返される(Observation)。Observationに記載のツールの実行結果(規格文書の検索結果)をプロンプトとして追加して入力することで、情報処理装置100は、プロンプトとして入力された情報に基づいて学習済モデル211による推論を行う。この推論により、規格文書302の記載より推測される表面の前処理がピックリング処理であり規格に適合すると判定し(Thought)、突合処理結果として確認に関する各種情報及び確認結果がOK(適合している)であることを示す回答を生成する(Final Answer)。
【0069】
図15は、突合処理の例を説明する図である。図15には、定性的事項について、規格を検索して突合処理を行い確認する例についての推論プロセスを示している。図15に示す例では、Questionに示すように、『規格上の表面の最終仕上げはブラシ仕上げであるか。』を確認するタスク322について突合処理を行う。
【0070】
図15に示す例では、図14に示した例と同様にして、学習済モデル211による推論を行い、規格検索ツール329を用いて処理が行われ、規格検索ツール329による実行結果(検索結果)が突合処理部206に返される。規格検索ツール329による実行結果をプロンプトとして追加して入力することで、情報処理装置100は、プロンプトとして入力された情報に基づいて学習済モデル211による推論を行う。この推論により、規格文書302の記載より推測される表面の最終仕上げはブラシ仕上げではなく規格に適合しないと判定し(Thought)、突合処理結果として確認に関する各種情報及び確認結果がNG(適合していない)であることを示す回答を生成する(Final Answer)。
【0071】
図16A及び図16Bは、突合処理の例を説明する図である。図16A及び図16Bには、定量的事項について、規格及び仕様書を検索して突合処理を行い確認する例についての推論プロセスを示している。この例では、図16AにおいてQuestionに示すように、『IS380A(-SSP)の疲労強度「280≦F≦290」の記載について、IronStandardの制限を満たしているか。』を確認するタスク322が入力されている。また、仕様書301から前提情報308として抽出された規格候補及び鋼材の種類の情報が追加情報として入力されている。
【0072】
これらQuestionに記載のタスク及び追加情報を含む情報をプロンプトとして学習済モデル211に入力することで、情報処理装置100は、プロンプトとして入力された情報に基づいて学習済モデル211による推論を行う。この推論により、規格文書302の該当製品の疲労強度を調べることを計画し(Thought)、それを実行するツールとして規格検索ツール329(SearchStandard)を選択し(Action)、規格検索ツール329に入力する情報(引数)を生成する(Action Input)。
【0073】
Action Inputに記載の情報に基づいて規格検索ツール329により規格文書DB312の検索が行われ、ツールの実行結果である規格検索ツール329による検索結果が突合処理部206に返される(Observation)。Observationに記載のツールの実行結果(規格文書の検索結果)をプロンプトとして追加して入力することで、情報処理装置100は、プロンプトとして入力された情報に基づいて学習済モデル211による推論を行う。この推論により、規格文書302の記載より推測される該当製品の疲労強度を満たすか否かは製品の長さによることから、仕様書301から製品の長さを調べることを計画し(Thought)、それを実行するツールとして仕様書検索ツール326(SearchDesignDocument)を選択し(Action)、仕様書検索ツール326に入力する情報(引数)を生成する(Action Input)。
【0074】
Action Inputに記載の情報に基づいて仕様書検索ツール326により仕様書DB310の検索が行われ、図16Bに示すように、ツールの実行結果である仕様書検索ツール326による検索結果が突合処理部206に返される(Observation)。Observationに記載のツールの実行結果(仕様書の検索結果)をプロンプトとして追加して入力することで、情報処理装置100は、プロンプトとして入力された情報に基づいて学習済モデル211による推論を行う。この推論により、仕様書301における疲労強度の記載について規格文書302の記載より推測される該当製品の疲労強度の制限を満たすかをコード(プログラム)で検証することを計画し(Thought)、それを実行するツールとしてコード実行ツール332(RunCode)を選択し(Action)、コード実行ツール332で実行させるコードを生成する(Action Input)。
【0075】
Action Inputに記載のコード(プログラム)がコード実行ツール332で実行され、ツールの実行結果であるコード実行ツール332による実行結果(True)が突合処理部206に返される(Observation)。Observationに記載のツールの実行結果(コードの実行結果)をプロンプトとして追加して入力することで、情報処理装置100は、プロンプトとして入力された情報に基づいて学習済モデル211による推論を行う。この推論により、コードによる検証結果から、IS380Aの疲労強度が規格文書302の記載より推測される疲労強度の制限を満たすと判定し(Thought)、突合処理結果として確認に関する各種情報及び確認結果がOK(適合している)であることを示す回答を生成する(Final Answer)。
図16A及び図16Bに示した例では、定量的事項について確認するタスクを例に示したが、定性的事項について確認するタスクについても同様に処理が行われる。
【0076】
図17A及び図17Bは、突合処理の例を説明する図である。図17A及び図17Bには、定量的事項について、多段階検索で適切な情報を使用して突合処理を行い確認する例についての推論プロセスを示している。この例では、図17AにおいてQuestionに示すように、『IS380A(-SSP)の化学成分における炭素の値「0.20%」について、IronStandardの制限を満たしているか。』を確認するタスク322が入力されている。また、仕様書301から前提情報308として抽出された規格候補及び鋼材の種類の情報が追加情報として入力されている。
【0077】
これらQuestionに記載のタスク及び追加情報を含む情報をプロンプトとして学習済モデル211に入力することで、情報処理装置100は、プロンプトとして入力された情報に基づいて学習済モデル211による推論を行う。この推論により、規格文書302の該当製品の化学成分における炭素の値を調べることを計画し(Thought)、それを実行するツールとして規格検索ツール329(SearchStandard)を選択し(Action)、規格検索ツール329に入力する情報(引数)を生成する(Action Input)。
【0078】
Action Inputに記載の情報に基づいて規格検索ツール329により規格文書DB312の検索が行われ、ツールの実行結果である規格検索ツール329による検索結果が突合処理部206に返される(Observation)。Observationに記載のツールの実行結果(規格文書の検索結果)をプロンプトとして追加して入力することで、情報処理装置100は、プロンプトとして入力された情報に基づいて学習済モデル211による推論を行う。この推論により、規格文書302から該当製品の化学成分における炭素の値は直接的には得られなかったが、規格文書302の記載より表2に化学成分が記載されていると推測されることから、規格文書302の表2の化学成分を検索することを計画し(Thought)、それを実行するツールとして規格検索ツール329(SearchStandard)を選択し(Action)、規格検索ツール329に入力する情報(引数)を生成する(Action Input)。
【0079】
Action Inputに記載の情報に基づいて規格検索ツール329により仕様書DB310の検索が行われ、図17Bに示すように、ツールの実行結果である規格文書検索ツール329による検索結果が突合処理部206に返される(Observation)。Observationに記載のツールの実行結果(規格文書の検索結果)をプロンプトとして追加して入力することで、情報処理装置100は、プロンプトとして入力された情報に基づいて学習済モデル211による推論を行う。この推論により、規格文書302の記載より推測される該当製品の化学成分における炭素の値の制限を満たすかをコード(プログラム)で検証することを計画し(Thought)、それを実行するツールとしてコード実行ツール332(RunCode)を選択し(Action)、コード実行ツール332で実行させるコードを生成する(Action Input)。
【0080】
Action Inputに記載のコード(プログラム)がコード実行ツール332で実行され、ツールの実行結果であるコード実行ツール332による実行結果(True)が突合処理部206に返される(Observation)。Observationに記載のツールの実行結果(コードの実行結果)をプロンプトとして追加して入力することで、情報処理装置100は、プロンプトとして入力された情報に基づいて学習済モデル211による推論を行う。この推論により、コードによる検証結果から、IS380Aの化学成分における炭素の値が規格文書302の記載より推測される化学成分における炭素の値の制限を満たすと判定し(Thought)、突合処理結果として確認に関する各種情報及び確認結果がOK(適合している)であることを示す回答を生成する(Final Answer)。
図17A及び図17Bに示した例では、定量的事項について確認するタスクを例に示したが、定性的事項について確認するタスクについても同様に処理が行われる。
【0081】
図18は、突合処理の例を説明する図である。図18には、複数のタスクを含む入力タスクを、それぞれ単一のタスクに分解する例についての推論プロセスを示している。図18に示す例では、Questionに示すように、『IS380A(-SSA)およびIS380B(-SSS)の疲労強度「270≦F≦280」、「260≦F≦308」が、IronStandardの制限を満たすか』を確認するタスク322が入力されている。また、仕様書301から前提情報308として抽出された規格候補及び鋼材の種類の情報が追加情報として入力されている。
【0082】
これらQuestionに記載のタスク及び追加情報を含む情報をプロンプトとして学習済モデル211に入力することで、情報処理装置100は、プロンプトとして入力された情報に基づいて学習済モデル211による推論を行う。この推論により、タスク分解が必要なため、タスクを分解してタスクリストに追加することを計画し(Thought)、それを実行するツールとしてタスク分割ツール324(AddTask)を選択し(Action)、タスク分割ツール324に入力する情報を生成する(Action Input)。
【0083】
Action Inputに記載の情報に基づいてタスク分割ツール324により分解後のそれぞれのタスクがタスクリスト321に追加され、ツールの実行結果であるタスク分割ツール324による処理結果が突合処理部206に返される(Observation)。例えば、この例に示した『IS380A(-SSA)およびIS380B(-SSS)の疲労強度「270≦F≦280」、「260≦F≦308」が、IronStandardの制限を満たすか』を確認するタスクは、『IS380A(-SSA)の疲労強度「270≦F≦280」がIronStandardの制限を満たすか』、『IS380B(-SSS)の疲労強度「260≦F≦308」がIronStandardの制限を満たすか』をそれぞれ確認するタスクに分解されてタスクリスト321に追加される。
【0084】
Observationに記載のツールの実行結果をプロンプトとして追加して入力することで、情報処理装置100は、プロンプトとして入力された情報に基づいて学習済モデル211による推論を行う。この推論により、タスク分割ツール324によるタスクリスト321への分解されたタスクの追加が正常に終了したと判定し(Thought)、突合処理結果としてskipすることを示す回答を生成する(Final Answer)。
【0085】
図19は、突合処理の例を説明する図である。図19には、検索失敗時にハルシネーションを抑制する処理例についての推論プロセスを示している。図19に示す例では、Questionに示すように、『IS380A(-SSA)の電気抵抗「1.0×10^-7以上1.5×10^-7Ω・m以下」がIronStandardの制限を満たすか』を確認するタスク322が入力されている。また、仕様書301から前提情報308として抽出された規格候補及び鋼材の種類の情報が追加情報として入力されている。
【0086】
これらQuestionに記載のタスク及び追加情報を含む情報をプロンプトとして学習済モデル211に入力することで、情報処理装置100は、プロンプトとして入力された情報に基づいて学習済モデル211による推論を行う。この推論により、規格文書302の該当製品の電気抵抗を調べることを計画し(Thought)、それを実行するツールとして規格検索ツール329(SearchStandard)を選択し(Action)、規格検索ツール329に入力する情報(引数)を生成する(Action Input)。
【0087】
Action Inputに記載の情報に基づいて規格検索ツール329により規格文書DB312の検索が行われ、ツールの実行結果である規格検索ツール329による検索結果が突合処理部206に返される(Observation)。Observationに記載のツールの実行結果(規格文書の検索結果)をプロンプトとして追加して入力することで、情報処理装置100は、プロンプトとして入力された情報に基づいて学習済モデル211による推論を行う。この推論により、規格文書302では該当製品の電気抵抗についての情報は得られず、仕様書301の電気抵抗の記載が規格の制限を満たすか否かは確認することができないと判定し(Thought)、突合処理結果として確認に関する各種情報及び確認結果がNG(適合していない)であることを示す回答を生成する(Final Answer)。このように対象の情報が得られない場合には「NO_OUTPUT」を出力し、対象の情報が得られなかったことを明示的に示すことでハルシネーションの発生を抑止することができる。
【0088】
図20(A)及び図20(B)は、本実施形態における処理結果の出力例を示す図である。前述した情報処理装置100での処理結果は、例えば、図20(A)に示すリスト2001や図20(B)に示すリスト2011のように、検証したタスク毎に検証内容と検証結果とが一覧表示される。図20(A)に示したリスト2001及び図20(B)に示したリスト2011では、検証を行ったすべてのタスクについて表示するようにしているが、検証結果がNGである(仕様書の記載が規格に適合していると判定できなかった)タスクについてのみ表示するようにしてもよい。
【0089】
また、入力装置106に対するユーザ操作等によって、リストに表示したタスクの内から検索結果がNGであるタスクが選択されたことに応じて、例えば、図20(A)に示す詳細レポート2002や図20(B)に示す詳細レポート2012のように、検証結果がNGとなった根拠を表示するようにしてもよい。この例では、詳細レポート2002、2012は、問題部分と検証されたプロセス部分とで構成されており、突合処理における推論プロセス等に基づいて生成することが可能である。なお、検索結果がNGであるタスクに対して詳細レポートの表示を指示するボタン等のGUIを設け、そのGUIに対する操作等が行われたことに応じて詳細レポートを表示するようにしてもよい。
【0090】
図20(A)に示した詳細レポート2002は、図13に推論プロセスを示したタスクに関する詳細レポートであり、図20(B)に示した詳細レポート2012は、図19に推論プロセスを示したタスクに関する詳細レポートである。例えば、詳細レポートにおいて、問題部分は推論プロセスにおけるFinal Answerに基づいて生成されており、検証されたプロセス部分は推論プロセスにおけるThought、Action Input、及びObservation等に基づいて生成されている。また、検証されたプロセス部分において、例えば、クエリは推論プロセスにおけるAction Inputに基づいて生成され、検索結果は推論プロセスにおけるObservationに基づいて生成され、考察は推論プロセスにおけるThoughtに基づいて生成されている。
【0091】
なお、前述した例では、結果のリストと、検証結果がNGとなった根拠を示す詳細レポートとはそれぞれ分けて表示する例を示したが、結果のリストと詳細レポートとを合わせて表示するようにしてもよい。また、詳細レポートにおいて示す情報は、前述した例に限定されるものではなく、例えば、検証を行う際に用いたツールに関する情報を示すようにしてもよい。
【0092】
第1の実施形態によれば、情報処理装置100は、第1文書(例えば、仕様書)から確認する内容を抽出して内容毎のタスクを生成し、生成したタスクを学習済モデル211に順次入力して、タスクで確認する内容が第2文書(例えば、規格文書)から検索された条件に適合するか否かを学習済モデル211に回答させ、処理結果として出力する。これにより、確認対象である第1文書の内容が、第2文書に示される求められる条件に適合しているか否かの確認作業を効率化することが可能となる。
【0093】
また、一般に学習済モデルにおいて学習していないドメイン外の知識を必要とする生成においてはハルシネーションが発生するが、本実施形態では、確認を行う際に外部のツール(検索ツール326、329)を用いて情報を検索し、得られた検索結果をプロンプトに追加して突合処理を行う学習済モデルに与えることでハルシネーションの発生を抑止することが可能となる。
【0094】
<第2の実施形態>
第1の実施形態では確認される第1文書から確認対象の条件を示している第2文書が特定可能な例について示したが、第1文書から第2文書を特定することが困難な場合もある。第2の実施形態では、確認される第1文書から確認対象の条件を示している第2文書が特定困難な場合の例について説明する。第2の実施形態における情報処理装置2100のハードウェア構成は、図1に示した第1の実施形態における情報処理装置100のハードウェア構成と同様であるので、説明は省略する。
【0095】
図21は、第2の実施形態における情報処理装置2100の機能構成の例を示す図である。図21において、図2に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。情報処理装置2100は、取得部201、解析部202、DB作成部203、情報抽出部204、適合判定部205、出力部209、記憶部210、及び候補選択部2101を有する。また、適合判定部205は、突合処理部206、情報検索部207、及びコード実行部208を有する。
【0096】
情報処理装置2100においても、第1の実施形態における情報処理装置100と同様に、機械学習(ディープラーニング、深層学習)によって生成され、記憶部210に記憶されている学習済モデル211を用いて機能の一部が実現される。学習済モデル211は、例えば、大規模言語モデル(LLM)や、テキストデータに対応可能な大規模マルチモーダルモデル(ラージマルチモーダルモデル、LMM)である。
【0097】
第2の実施形態では、解析部202は、第1の実施形態と同様にして、第1文書の内容の確認作業に関する突合タスク(タスク)を生成する。また、解析部202は、取得部201により取得される、1つ又は複数の第2文書を解析して、それぞれの第2文書に記載されている基準(ルール)の特徴を表す情報を抽出して、第2文書に関するルールインデックスを構築する。解析部202は、第2文書と、基準(ルール)の特徴を表す情報を抽出して出力する指示を含むプロンプトとを学習済モデル211に対して入力することで、それぞれの第2文書から基準(ルール)の特徴を表す情報を抽出する。抽出された基準(ルール)の特徴を表す情報は、それが抽出された第2文書と紐づけられて、記憶部210に第2文書のルールインデックス2103として格納される。なお、第2文書を章立て等に基づいて所定のパターンで複数の文書に分割して学習済モデル211に対して入力するようにしてもよい。
【0098】
第2の実施形態では、情報抽出部204は、取得部201により取得される第1文書から属性情報を抽出する。ここで、属性情報は、第1文書の特徴を示している情報であり、例えば、第1文書において参照している基準(ルール)の特定に寄与するような情報等である。情報抽出部204は、第1文書と、第1文書の特徴を示している情報を抽出する指示を含むプロンプトとを学習済モデル211に対して入力することで、第1文書に関する属性情報を抽出する。抽出された属性情報は、記憶部210に属性情報2102として格納される。情報抽出部204は、例えば章立て等に基づいて第1文書を複数の文書に分割して学習済モデル211に入力する。したがって、属性情報は、章立て等に基づいて分割した複数の文書毎に抽出される。
【0099】
候補選択部2101は、情報抽出部204により第1文書から抽出された属性情報2102と、解析部202により構築された第2文書のルールインデックス2103とに基づいて、1つ又は複数の第2文書の内から第1文書の内容の確認に用いる第2文書(候補文書)を選択する。候補選択部2101は、選択手段の一例である。候補選択部2101は、第1文書の特徴と第2文書の特徴との類似度に基づいて、第1文書の内容の確認に用いる第2文書を選択する。候補選択部2101は、例えば、第1文書から抽出された属性情報2102毎に第2文書のルールインデックス2103を検索し、属性情報2102毎に得られた検索結果に関するスコア(特徴の類似度)を第2文書毎に合算してスコアの高い第2文書を候補文書として選択する。なお、候補選択部2101は、1つの第2文書に限らず、例えばスコア(特徴の類似度)が閾値を超えた複数の第2文書を選択するようにしてもよい。候補選択部2101により選択された第2文書については、DB作成部203により文書に関するデータベース(retriever)が作成され、記憶部210に第2文書DB(retriever)216として記憶される。
【0100】
図22を参照して、第2の実施形態における情報処理装置2100での処理について説明する。図22は、第2の実施形態における情報処理装置2100の処理例を説明する図である。以下では、一例として、第1文書を製品の仕様書2201、第2文書を製品の規格に関する規格文書2202とし、仕様書2201に記載されている内容が規格文書2202の規格に適合しているか否かを確認する場合を例に説明する。
【0101】
情報処理装置2100は、第1文書としての仕様書2201を取得する。また、情報処理装置2100は、1つ又は複数の第2文書としての規格文書2202を取得する。
【0102】
(処理2203、2205:仕様書の分割及びタスク分解)
取得した仕様書2201に対して、情報処理装置2100は、仕様書の分割処理2203を行い、仕様書2201全体を仕様書の一部となる複数の文書2204に分割する。仕様書の分割処理2203では、第1の実施形態における仕様書の分割処理303と同様にして、情報処理装置2100は、アルゴリズムによる機械的処理によって、分割後の各文書が学習済モデル211で処理可能なサイズとなるように、仕様書2201を複数の文書に分割する。
【0103】
また、情報処理装置2100は、分割後の複数の文書2204に対してタスク分解処理2205を行い、仕様書2201の内容確認に関する突合タスク(タスク)2206を生成する。タスク分解処理2205では、第1の実施形態におけるタスク分解処理305と同様にして、情報処理装置2100は、分割された文書2204と、規格に適合しているか否かを確認する必要がある内容を抽出しタスクを出力する指示を含むプロンプトとを学習済モデル211に対して入力することで、仕様書2201の内容確認に関するタスク2206を生成する。
【0104】
(処理2207:属性情報抽出)
取得した仕様書2201に対して、情報処理装置2100は、属性情報抽出処理2207を行い、第1文書において参照している規格の特定に寄与するような第1文書の特徴を示している属性情報を抽出する。属性情報抽出処理2207では、情報処理装置2100は、章立て等に基づいて複数の文書に分割した仕様書2201と、仕様書2201において特徴を示す情報を抽出する指示を含むプロンプトとを学習済モデル211に対して入力することで、仕様書2201に関する属性情報2208を生成する。この例では、図23(A)に示すように仕様書に記載されている製品の特徴を示す情報を仕様書2201から抽出することを指示するプロンプト2300を入力することで、図23(B)に示すような仕様書において参照している規格の特定に寄与するような情報等を属性情報2208として抽出する。
【0105】
(処理2209:仕様書のDB作成)
情報処理装置2100は、取得した仕様書2201に基づいて仕様書のDB作成処理2209を行い、仕様書DB(retriever)2210を作成する。仕様書DB(retriever)2210は図21に示した第1文書DB(retriever)215に相当する。情報処理装置2100は、アルゴリズムによる機械的処理によって、仕様書2201を検索可能な形の状態に処理してデータベースを作成する。
【0106】
(処理2211:ルールインデックス構築)
取得した規格文書2202に対して、情報処理装置2100は、規格文書のルールインデックス構築処理2211を行い、それぞれの規格文書に記載されている規格の特徴を表す情報を抽出して、規格文書のルールインデックス2212を構築する。規格文書のルールインデックス構築処理2211では、情報処理装置2100は、章立て等に基づいて複数の文書に分割した規格文書と、規格の特徴を表す情報を抽出して出力する指示を含むプロンプトとを学習済モデル211に対して入力することで、それぞれの規格文書から規格の特徴を表す情報を抽出する。例えば、情報処理装置2100は、分割された規格文書と図24(A)に示すプロンプト2400とを学習済モデル211に対して入力することで、規格文書から図24(B)に示すような規格の特徴を表す情報を抽出する。情報処理装置2100は、抽出した規格の特徴を表す情報と規格文書を紐づけて規格文書のルールインデックス2212を構築する。図24(A)に示すプロンプト2400は、規格文書から規格の特徴を表す情報を端的に出力させることを指示するプロンプト2401、及び学習済モデル211に学習させる学習サンプル2402、2403を含む。
【0107】
(処理2213:規格文書の候補文書抽出)
情報処理装置2100は、規格文書の候補文書抽出処理2213を行い、仕様書2201の内容の確認に用いる、候補文書となる規格文書2202を選択する。規格文書の候補文書抽出処理2213では、情報処理装置2100は、属性情報抽出処理2207で抽出された属性情報2208に基づいて規格文書のルールインデックス2212を検索し、検索結果に関するスコア(特徴の類似度)が高い規格文書2202を仕様書2201の内容の確認に用いる候補文書として選択する。また、情報処理装置2100は、選択した候補文書(選択された規格文書2202)に基づいて規格文書DB(retriever)2214を作成する。規格文書DB(retriever)2214は図21に示した第2文書DB(retriever)216に相当する。
【0108】
(処理2220:適合判定)
タスク分解処理2205で生成されたタスクに対して、情報処理装置2100は、第1の実施形態と同様にして、学習済モデル211を用いてタスク毎に適合判定処理2220を行い、仕様書2201に記載の内容が規格文書2202の規格に適合しているか否かを判定する。適合判定処理220では、タスク分解処理2205によって生成されたタスク2206がキュー形式で記憶されているタスクリスト2221から1つずつ順に取り出されるタスク2222に対して、情報処理装置2100が学習済モデル211を用いて突合処理2223を行い、処理結果2240を出力する。タスクリスト2221のタスクがなくなるまで突合処理2223が行われる。
【0109】
突合処理2223では、第1の実施形態と同様にして、学習済モデル211に文書の内容を突合する際の人間のワークフローをシミュレーションさせ、ツールを用いて突合に必要な情報の収集等を行い、収集した情報等に基づいて意味的な推論を行って処理結果を得る。本実施形態においても、突合処理2223は、ReActと呼ばれるフレームワークに倣って処理を行い、処理結果を出力する。
【0110】
本実施形態では、突合処理2223において学習済モデル211が利用するツールとして、タスク分割ツール2224、仕様書検索ツール2226、規格検索ツール2229、及びコード実行ツール2232がある。タスク分割ツール2224は適合判定部205により実現され、仕様書検索ツール2226及び規格検索ツール2229は情報検索部207により実現され、コード実行ツール2232はコード実行部208により実現される。タスク分割ツール2224、仕様書検索ツール2226、規格検索ツール2229、及びコード実行ツール2232は、第1の実施形態におけるタスク分割ツール324、仕様書検索ツール326、規格検索ツール329、及びコード実行ツール332とそれぞれ同様であるので説明は省略する。
【0111】
図25に示すように、情報処理装置2100は、仕様書2201に対して規格に適合しているか否かを確認する必要がある内容を抽出する抽出処理2501を行って突合タスク(タスク)2502を生成する。情報処理装置2100は、仕様書2201に対して特徴を示している属性情報を抽出する抽出処理2503を行って仕様書2201に関する属性情報2504を生成する。
【0112】
また、情報処理装置2100は、規格文書2202に対して規格の特徴を表す情報を抽出する抽出処理2505を行って規格文書のルールインデックス2506を構築する。規格文書のルールインデックス2506では、規格の特徴を表す情報(条件句)に対してそれが記載されている規格文書(従うルール)が関連付けられている。
【0113】
情報処理装置2100は、属性情報2504に基づいて規格文書のルールインデックス2506に対する検索処理2507を行い、検索結果から得られる特徴の類似度に基づいて仕様書2201の内容の確認に用いる規格文書の候補文書2508を選択する。そして、情報処理装置2100は、生成されたタスク2502に対して、学習済モデル211を用いてタスク毎に適合判定処理2509を行い、仕様書2201に記載の内容が候補文書2508として選択された規格文書2202の規格に適合しているか否かを判定して処理結果2240を出力する。なお、この適合判定処理2509における規格文書の検索の結果、候補文書2508に含まれていない別の規格を参照する必要がある場合には、選択された候補文書2508に限らず他の文書(例えば、すべての規格文書)を対象に検索を行うようにしてもよい。
【0114】
例えば、確認対象である第1文書から第2文書を特定することが困難な場合、原文をそのまま検索エンジンに入力してのキーワード検索や埋め込み検索を行うことが考えられる。キーワード検索では、意味を考慮しないためにノイズの入った検索結果となりやすい。また、埋め込み検索では、意味・文脈に沿った類似的な結果が得られることが期待されるが、なぜ特定の検索結果が選ばれたのかを理解するのが困難な場合がある。
【0115】
それに対して、本実施形態では、情報処理装置2100は、第1文書から抽出された属性情報と、第2文書から基準(ルール)の特徴を表す情報を抽出して構築した第2文書に関するルールインデックスとを用いた検索結果から得られる第1文書の特徴と第2文書の特徴との類似度に基づいて、第1文書の内容確認に用いる第2文書を選択する。このようにして第1文書の内容確認に用いる第2文書を選択することで、検索結果として関係のない第2文書が選択されることが減少し、検索結果として関連性の高い第2文書を選択することが可能となる。また、学習済モデルに与えるプロンプトに特定のドメインに特化した言葉(専門用語)を用いることで、ドメイン特化領域にも対応でき、専門的な検索が可能となる。
【0116】
また、第2の実施形態によれば、確認対象である第1文書から内容確認に用いる第2文書を特定することが困難な場合でも、第1文書の特徴に応じた第2文書を選択でき、第1文書の内容が求められる条件に適合しているか否かの確認作業を効率化することが可能となる。
【0117】
なお、前述した第1及び第2の実施形態では、学習済モデル211は、情報処理装置100(2100)の記憶部210に記憶されている構成としているが、情報処理装置100(2100)とネットワークを介して通信可能な他の情報処理装置(サーバ装置等)に備えるような構成としてもよい。この場合には、情報処理装置100(2100)は、ネットワークI/F107等により学習済モデル211を備える他の情報処理装置に、学習済モデル211に対する入力を送信し、それに対する処理結果を受信するようにすればよい。
【0118】
また、前述した第1及び第2の実施形態では、学習サンプルを含むプロンプトに与えて学習済モデル211を学習(Few-shot学習)させるようにしているが、各機能に合わせてファインチューニングした学習済モデルを用いるようにしてもよい。
【0119】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0120】
100、2100 情報処理装置
101 CPU
102 ROM
103 RAM
104 補助記憶装置
105 出力装置
106 入力装置
107 ネットワークI/F
201 取得部
202 解析部
203 DB作成部
204 情報抽出部
205 適合判定部
206 突合処理部
207 情報検索部
208 コード実行部
209 出力部
210 記憶部
211 学習済モデル
212 設定ファイル
213 タスクデータ
214 前提情報
215 第1文書DB(Retriever)
216 第2文書DB(Retriever)
2101 候補選択部
2102 属性情報
2103 ルールインデックス
【要約】
【課題】対象の文書の内容が、求められる条件に適合しているか否かの確認作業を効率化することが可能な情報処理装置を提供する。
【解決手段】情報処理装置は、第1文書及び第2文書を取得する取得手段と、第1文書から確認する内容を抽出して内容毎のタスクを生成する解析手段と、第1文書の特徴を示す属性情報を抽出する情報抽出手段と、属性情報に基づいて、1又は複数の第2文書の内から候補文書を選択する選択手段と、タスクで確認する内容に関する条件を候補文書から検索する検索手段と、解析手段により生成されたタスクを学習済モデルに順次入力し、入力されたタスクで確認する内容が候補文書から検索された条件に適合するか否かを学習済モデルに回答させる処理手段と、処理手段による処理結果を出力する出力手段とを有する。
【選択図】図3
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16A
図16B
図17A
図17B
図18
図19
図20
図21
図22
図23
図24
図25
図26A
図26B
図26C
図26D