(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-04-08
(45)【発行日】2024-04-16
(54)【発明の名称】情報処理装置、情報処理方法及び情報処理プログラム
(51)【国際特許分類】
G06F 16/908 20190101AFI20240409BHJP
【FI】
G06F16/908
(21)【出願番号】P 2023573623
(86)(22)【出願日】2023-09-22
(86)【国際出願番号】 JP2023034488
【審査請求日】2023-12-06
【早期審査対象出願】
(73)【特許権者】
【識別番号】523434100
【氏名又は名称】株式会社テクトム
(74)【代理人】
【識別番号】230116816
【氏名又は名称】成川 弘樹
(74)【代理人】
【識別番号】100159248
【氏名又は名称】齋藤 修
(72)【発明者】
【氏名】北村 尚紀
(72)【発明者】
【氏名】ハミルトン フランシス ニルス
【審査官】早川 学
(56)【参考文献】
【文献】米国特許出願公開第2023/0022845(US,A1)
【文献】米国特許出願公開第2023/0206675(US,A1)
【文献】特開2004-355221(JP,A)
【文献】特開2003-281092(JP,A)
【文献】特開平03-240154(JP,A)
【文献】HARTLEY, Miranda,How to Use ChatGPT to Extract From PDFs [online],Evolution AI,2023年07月14日,[検索日:2023.10.31], Internet<URL: https://evolution.ai/post/how-to-use-chatgpt-to-extract-from-pdfs >
(58)【調査した分野】(Int.Cl.,DB名)
G06F16/00-16/958
(57)【特許請求の範囲】
【請求項1】
大規模言語モデルに入力するプロンプトであって、複数の情報を含む複数のファイルデータから一又は複数の抽出対象を指示するメインプロンプトの設定をユーザから受け付ける第1受付部と、
前記メインプロンプトによる抽出対象の指示について、詳細に設定するためのプロンプトであって、一又は複数の項目を有する詳細プロンプトの設定をユーザから受け付ける第2受付部と、
前記第1受付部により受け付けた設定による前記メインプロンプトと、前記第2受付部により受け付けた設定による前記詳細プロンプトを蓄積する蓄積部と、
前記第1受付部により受け付けた設定による前記メインプロンプトと前記第2受付部により受け付けた設定による前記詳細プロンプト又は/及び前記蓄積部に蓄積した前記メインプロンプトと前記詳細プロンプトを、大規模言語モデルに入力して、前記複数のファイルデータから抽出対象を抽出する抽出部と、
を有する情報処理装置。
【請求項2】
前記ファイルデータの特性に応じて、前記ファイルデータの形式を変換する変換部を、さらに有し、
前記抽出部は、前記変換部により変換したファイルデータから抽出する請求項1に記載の情報処理装置。
【請求項3】
前記抽出部により抽出した抽出結果を検証する検証部を、さらに有する請求項1又は2に記載の情報処理装置。
【請求項4】
前記検証部は、前記受け付けた詳細プロンプトの設定を用いて検証を行う請求項3に記載の情報処理装置。
【請求項5】
前記抽出部は、前記検証部による検証結果を反映させて再抽出を行う請求項
3に記載の情報処理装置。
【請求項6】
前記抽出部により抽出した抽出結果について、その抽出結果が抽出された根拠を表示する根拠表示部を、さらに有する請求項1又は2に記載の情報処理装置。
【請求項7】
情報処理装置が実行する情報処理方法であって、
大規模言語モデルに入力するプロンプトであって、複数の情報を含む複数のファイルデータから一又は複数の抽出対象を指示するメインプロンプトの設定をユーザから受け付ける第1受付ステップと、
前記メインプロンプトによる抽出対象の指示について、詳細に設定するためのプロンプトであって、一又は複数の項目を有する詳細プロンプトの設定をユーザから受け付ける第2受付ステップと、
前記第1受付ステップにおいて受け付けた設定による前記メインプロンプトと、前記第2受付ステップにおいて受け付けた設定による前記詳細プロンプトを蓄積する蓄積ステップと、
前記第1受付ステップにて受け付けた設定による前記メインプロンプトと前記第2受付ステップにて受け付けた設定による前記詳細プロンプト又は/及び前記蓄積ステップにおいて蓄積した前記メインプロンプトと前記詳細プロンプトを、大規模言語モデルに入力して、前記複数のファイルデータから抽出対象を抽出する抽出ステップと、
を有する情報処理方法。
【請求項8】
大規模言語モデルに入力するプロンプトであって、複数の情報を含む複数のファイルデータから一又は複数の抽出対象を指示するメインプロンプトの設定をユーザから受け付ける第1受付ステップと、
前記メインプロンプトによる抽出対象の指示について、詳細に設定するためのプロンプトであって、一又は複数の項目を有する詳細プロンプトの設定をユーザから受け付ける第2受付ステップと、
前記第1受付ステップにおいて受け付けた設定による前記メインプロンプトと、前記第2受付ステップにおいて受け付けた設定による前記詳細プロンプトを蓄積する蓄積ステップと、
前記第1受付ステップにて受け付けた設定による前記メインプロンプトと前記第2受付ステップにて受け付けた設定による前記詳細プロンプト又は/及び前記蓄積ステップにおいて蓄積した前記メインプロンプトと前記詳細プロンプトを、大規模言語モデルに入力して、前記複数のファイルデータから抽出対象を抽出する抽出ステップと、
を情報処理装置に実行させる情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、多種多様の情報を含みフォーマットも様々な大量のファイルデータ群から所望の情報を抽出する情報処理装置に関する。
【背景技術】
【0002】
例えば、建築や設計・土木業界やプラント業界にて使用されている書類や図面などのファイルデータは、多種多様の情報を含みフォーマットも様々である。例えば、建築図面、規約書類、施工管理履歴、設計概要書、立面図、詳細図などがあり、例えば、1枚の建築設計図面データから得られるデータ項目は、数百以上存在する場合もある。これらのファイルデータは、含まれる情報が「列と行」や「JSON形式」のように綺麗にまとまっておらず、いわば非構造化のファイルデータであって、検索、統計処理、AI(人工知能)の学習データへの利用等に適していない。そこで、これらの非構造化のファイルデータを表計算シート形式のように構造化したいという要請がある。
【0003】
上述したような非構造化のファイルデータを構造化するためには、非構造化ファイルデータから含まれる個々の情報をデータ項目ごとに抽出する必要がある。このような情報を抽出する技術として、例えば、特許文献1に記載の技術がある。具体的には、紙媒体である証憑をOCR(光学的文字認識)で読み取って生成した画像データから、項目ごとに定義されている紙面の位置情報に基づき、所定の情報を抽出するものである。
【0004】
一方、近年AI(人工知能)を活用して情報抽出する技術の開発も進んでいる。例えば、請求書を読み取りテキストデータ化し、会計仕訳処理に必要な情報(「請求金額」、「請求元」など)を自動抽出する技術も存在する(非特許文献1)。
【先行技術文献】
【特許文献】
【0005】
【非特許文献】
【0006】
【文献】https://cloud.watch.impress.co.jp/docs/news/1349596.html
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1のように、位置情報により予め定義される領域に存在する文字を抽出するような技術の場合、定型的な形式のファイルデータから抽出等を行うのには機能する。しかし、対象とするファイルデータのフォーマットや含まれるデータ項目が多種多様である場合には、ファイルデータに含まれる情報のそれぞれについて領域の設定や定義付けなどのカスタマイズを行う必要があり、このカスタマイズを多種多様なファイルデータのすべてに対して行うことは、ユーザに膨大な手間を要するものであってきわめて困難である。
【0008】
また、非特許文献1の技術では、自動抽出される情報は会計仕訳処理に関する情報であって、予めアプリケーションを提供する者(開発企業等)によって登録されたものに限られるため、様々なフォーマットのファイルデータに含まれる多種多様な情報から、ユーザが所望する情報を適宜抽出することができない。
【課題を解決するための手段】
【0009】
そこで、上記課題を解決するために本発明において、以下の情報処理装置などを提供する。すなわち、大規模言語モデルに入力するプロンプトであって、複数の情報を含む複数のファイルデータから一又は複数の抽出対象を指示するメインプロンプトの設定をユーザから受け付ける第1受付部と、前記メインプロンプトによる抽出対象の指示について、詳細に設定するためのプロンプトであって、一又は複数の項目を有する詳細プロンプトの設定をユーザから受け付ける第2受付部と、前記第1受付部により受け付けた設定による前記メインプロンプトと、前記第2受付部により受け付けた設定による前記詳細プロンプトを蓄積する蓄積部と、前記第1受付部により受け付けた設定による前記メインプロンプトと前記第2受付部により受け付けた設定による前記詳細プロンプト又は/及び前記蓄積部に蓄積した前記メインプロンプトと前記詳細プロンプトを、大規模言語モデルに入力して、前記複数のファイルデータから抽出対象を抽出する抽出部と、を有する情報処理装置を提供する。
【0010】
また、前記特徴に加え、前記ファイルデータの特性に応じて、前記ファイルデータの形式を変換する変換部を、さらに有し、前記抽出部は、前記変換部により変換したファイルデータから抽出する情報処理装置を提供する。
【0011】
また、前記特徴に加え、前記抽出部により抽出した抽出結果を検証する検証部を、さらに有する情報処理装置を提供する。
【0012】
また、前記特徴に加え、前記検証部は、前記受け付けた詳細プロンプトの設定を用いて検証を行う情報処理装置を提供する。
【0013】
また、前記特徴に加え、前記抽出部は、前記検証部による検証結果を反映させて再抽出を行う情報処理装置を提供する。
【0014】
また、前記特徴に加え、前記抽出部により抽出した抽出結果について、その抽出結果が抽出された根拠を表示する根拠表示部を、さらに有する情報処理装置を提供する。
【0015】
また、情報処理装置において、コンピュータが実行する情報処理方法であって、大規模言語モデルに入力するプロンプトであって、複数の情報を含む複数のファイルデータから一又は複数の抽出対象を指示するメインプロンプトの設定をユーザから受け付ける第1受付ステップと、前記メインプロンプトによる抽出対象の指示について、詳細に設定するためのプロンプトであって、一又は複数の項目を有する詳細プロンプトの設定をユーザから受け付ける第2受付ステップと、前記第1受付部により受け付けた設定による前記メインプロンプトと、前記第2受付部により受け付けた設定による前記詳細プロンプトを蓄積する蓄積ステップと、前記第1受付ステップにて受け付けた設定による前記メインプロンプトと前記第2受付ステップにて受け付けた設定による前記詳細プロンプト又は/及び前記蓄積部に蓄積した前記メインプロンプトと前記詳細プロンプトを、大規模言語モデルに入力して、前記複数のファイルデータから抽出対象を抽出する抽出ステップと、を有する情報処理方法。を提供する。
【0016】
また、情報処理装置において、大規模言語モデルに入力するプロンプトであって、複数の情報を含む複数のファイルデータから一又は複数の抽出対象を指示するメインプロンプトの設定をユーザから受け付ける第1受付ステップと、前記メインプロンプトによる抽出対象の指示について、詳細に設定するためのプロンプトであって、一又は複数の項目を有する詳細プロンプトの設定をユーザから受け付ける第2受付ステップと、前記第1受付部により受け付けた設定による前記メインプロンプトと、前記第2受付部により受け付けた設定による前記詳細プロンプトを蓄積する蓄積ステップと、前記第1受付ステップにて受け付けた設定による前記メインプロンプトと前記第2受付ステップにて受け付けた設定による前記詳細プロンプト又は/及び前記蓄積部に蓄積した前記メインプロンプトと前記詳細プロンプトを、大規模言語モデルに入力して、前記複数のファイルデータから抽出対象を抽出する抽出ステップと、をコンピュータに実行させる情報処理プログラムを提供する。
【発明の効果】
【0017】
本発明により、多種多様の情報を含みフォーマットも様々である大量のファイルデータ群から所望の情報を抽出することができる。
【図面の簡単な説明】
【0018】
【
図1】実施例1の情報処理装置の機能的構成の一例を示すブロック図
【
図2】PDF形式のファイルデータについて、位置情報を付与したテキストファイルに変換する例を示す概念図
【
図3】ファイルデータの形式を変換する他の例を示す概念図
【
図5】詳細プロンプトの各設定項目が適用される方法を示す図
【
図6】詳細プロンプトを設定するときの入力画面の一例を示す概念図
【
図7】実施例1の情報処理装置を実現するハードウエアの構成例を示す概念図
【
図8】実施例1の情報処理装置の処理の流れの一例を示すフロー図
【
図9】実施例2の情報処理装置の機能的構成の一例を示すブロック図
【
図11】実施例の情報処理装置の機能的構成の一例を示すブロック図
【
図12】根拠として画像上の位置を表示する例を示す概念図
【発明を実施するための形態】
【0019】
以下、本発明の実施の形態について、添付図面を用いて説明する。なお、本発明は、これら実施形態に何ら限定されるべきものではなく、その要旨を逸脱しない範囲において、種々なる態様で実施し得る。
【0020】
<実施例1>
<概要>
本発明は、大規模言語モデル(LLM。以下、省略して使用する場合がある。)にアウトプットを生成させるためのプロンプトを、ユーザ自ら設定し得るように構成し、ユーザが設定したプロンプトをLLMに入力して、多種多様の情報を含みフォーマットも様々な大量のファイルデータ群から所望の情報を抽出するものである。さらに、LLMによる情報の抽出精度向上、ロバスト性(どれだけ多様なフォーマットから正確に抽出できるかの度合い)向上、簡易化・操作性向上及び処理効率向上を図るものである。
【0021】
以下では、情報処理装置の機能及び処理の流れ、並びにハードウエアの内容について説明する。なお、以下に記載する本システムの機能ブロックは、ハードウエア及びソフトウェアの組み合わせとして実現され得る。具体的には、コンピュータを利用するものであれば、CPU(中央演算装置)や主メモリ、バス、あるいは二次記憶装置(ハードディスクドライブや不揮発性メモリ、CDやDVDなどの記憶メディアとそれらメディアの読取ドライブなど)、情報入力に利用される入力デバイス、印刷機器や表示装置、その他の外部周辺装置などのハードウエア構成部、またその外部周辺装置用のインタフェース、通信用インタフェース、それらハードウエアを制御するためのドライバプログラムやその他アプリケーションプログラム、ユーザ・インターフェース用アプリケーションなどが挙げられる。そして主メモリ上に展開したプログラムに従ったCPUの演算処理によって、入力デバイスやその他インタフェースなどから入力され、メモリやハードディスク上に保持されているデータなどが加工、蓄積されたり、上記各ハードウエアやソフトウェアを制御するための命令が生成されたりする。あるいは本システムの機能ブロックは専用ハードウエアによって実現されてもよい。
【0022】
また、この発明はシステムとして実現できるのみでなく、方法としても実現可能である。また、このような発明の一部をソフトウェアとして構成することができる。さらに、そのようなソフトウェアをコンピュータに実行させるために用いるプログラム、及びプログラムを固定した記録媒体も、当然にこの発明の技術的な範囲に含まれる(本明細書の全体を通じて同様である)。
【0023】
<機能的構成>
図1は、本実施例の情報処理装置の機能的構成の一例を示すブロック図である。
図1に示すように、情報処理装置100は、第1受付部101と、抽出部102に加え、第2受付部103と、変換部104と、蓄積部105を有する。
【0024】
<第1受付部>
第1受付部101は、大規模言語モデルに入力するプロンプトであって、複数の情報を含む複数のファイルデータから一又は複数の抽出対象を指示するメインプロンプトの設定をユーザから受け付ける機能を有する。
【0025】
メインプロンプトには、LLMへの指示だけでなく、適切な回答に導くための条件や参照すべき事例を含むことができる。例えば、ファイルデータのIDである「図面番号」を抽出する指示を与えるメインプロンプトを設定する際には、
「“図面番号”の値を抽出してください。“図面番号”はファイルのIDであり、英数字とハイフンのみで構成されています。また、次の正規表現に準じます[A-Z]-\d{5}。」
といった文章をメインプロンプトとして設定する。
【0026】
また、メインプロンプトは一つに限られず複数設定することもできる。例えば、上記の「図面番号」を抽出するという指示の他に、「図面タイトル」の抽出や「昇降機の種類と台数」を抽出する指示を併せて設定することができる。そして、「図面タイトル」の抽出の場合は、
「”図面タイトル”の値を抽出してください。”図面タイトル”はファイルの内容を要約したものであり、ファイルの概要を説明するものです。値は”図面タイトル”という文字の下にあります」
といった文章により設定する。また、「昇降機の種類と台数」を抽出する場合は、
「昇降機の種類と台数を抽出してください。該当がない場合は空白を出力してください。」
といった文章により設定する。
【0027】
<抽出部>
抽出部102は、第1受付部により受け付けた設定によるメインプロンプトを大規模言語モデルに入力して、複数のファイルデータから抽出対象を抽出する機能を有する。複数のファイルデータは、本情報処理装置が備えるストレージにて蓄積したものでもよいし、本情報処理装置と通信回線等を介して接続するストレージにて蓄積されているものでもよい。また、ファイルデータのファイル形式は多種存在し限定するものではないが、例えば、ワードファイル、PDF(Portable Document Format)ファイル、エクセルファイル、CSV(Comma Separated Values)ファイル、テキストファイル、BIM(Building Information Modeling)ファイルなどがある。
【0028】
そして、複数のファイルデータはLLMに入力され、メインプロンプトの指示により抽出対象が抽出される。また、後述する第2受付部により受付けた詳細プロンプトをさらに入力して抽出することもできる。また、後述する蓄積部に蓄積したメインプロンプトと詳細プロンプトを入力して抽出することもできる。
【0029】
上述した「図面番号」を抽出する指示を与えるメインプロンプトを入力した場合には、「図面番号」として、例えば「Z-01301」が抽出され、そのファイル名やファイルデータのサムネイル画像とともに出力することができる。そして、抽出した情報をタグ付けしてエクセルファイルに入力・保存したり、抽出した情報をデータベースに登録したりすることで、非構造化のファイルデータを検索・統計処理・AIの学習データへの利用等に好適な構造化データとすることができる。
【0030】
また、抽出した情報をエクセルファイルなどに取り込んでデータベース化するだけでなく、抽出元のファイルデータの形式に応じて、抽出した情報を処理することもできる。例えば、CSVファイルの場合には、抽出した情報をそのCSVファイル内部に新たなカラム(行)を加えて、追記して保存するようにしてもよい。また、エクセルファイルの場合には、抽出した情報をそのエクセルファイル内部に追加したカラムや追加したシートに追記して保存する。また、BIMファイルについては、抽出した情報を、そのBIMファイル内部に追記して保存するようにしてもよい。
【0031】
<変換部>
変換部104は、ファイルデータの特性に応じてファイルデータの形式を変換する。なお、本情報処理装置が変換部を有する場合、抽出部は、変換部により変換したファイルデータから抽出を行う機能を有する。例えば、ファイルデータがPDF形式である場合には、テキストファイルの形式に変換する。また、画像データの場合には、OCRにより文字認識をしてテキストファイルの形式に変換する。このような変換を行うことでロバスト性向上に寄与する。
【0032】
さらに、テキストファイルに変換する際に、テキストの位置情報を付与するように変換することも好ましい。
図2は、PDF形式のファイルデータについて、位置情報を付与したテキストファイルに変換する例を示す概念図である。
図2(a)は、住宅の建築面積表を示すPDF形式のファイルの一部を示している。
図2(b)は、「形状」、「計算式」、「面積」の各テキストを、それらの位置情報とともに記述したJSON形式に変換した例を示している。また、
図2(c)は、同様にテキストを位置情報とともに記述したArray形式に変換した例を示している。このように、位置情報を付与することで、テキスト間の関係性を考慮した抽出が行われ、ロバスト性向上に寄与する。なお、上記の例において、Array形式の方がLLMに入力するトークン数を削減できるメリットがある。また、
図2(d)は、元のファイルにおいて「洋室1」、「洋室2」、「洋室3」のそれぞれの「面積」と「帖」を示した表を示していたテキストを、位置情報ではなくテーブル情報を持つテキスト(図中の点線枠内)に変換する例を示している。このように変換することで、テーブル構造を保持したままLLMに入力することができる。
【0033】
図3は、ファイルデータの形式を変換する他の例を示す概念図である。
図3に示すように、図形を含むファイル(キッチン平面図)の場合は、SVG形式に変換し図形情報を持つテキストにしておくことで、LLMで抽出しやくなる。
【0034】
<第2受付部>
第2受付部103は、メインプロンプトによる抽出対象の指示について、詳細に設定するためのプロンプトであって、一又は複数の項目を有する詳細プロンプトの設定をユーザから受け付ける機能を有する。
【0035】
図4は、詳細プロンプトの一例を示す図である。1行目には、設定項目の「No」、「名称」、「説明」、「必要性」及び「例」が示されている。本例ではメインプロンプトが「“図面番号”の値を抽出してください。」であり、このメインプロンプトの指示を詳細に設定する。
【0036】
例えば設定項目1は、「複数タグ名の付与」という名称であり、「文字表記のブレへの対応」のための設定項目であることが示されている。また、その説明として「抽出するデータ項目名を複数明示的に付与する」と示され、その例として「[“図面番号”,“図面ID”]」が示されている。この詳細プロンプトを設定することで、「“図面番号”の値を抽出してください。」という指示について「図面番号」だけでなく、「図面ID」と記されたものも抽出の対象にする指示が付加される。
【0037】
他にも詳細プロンプトの設定項目として、文字表記のブレへの対応として、抽出するデータ項目名の説明を付与する「タグの説明の付与」、抽出対象範囲の絞り込みのために、画像上でデータ項目が存在する範囲を指定する「絶対位置の指定」と、複数ページのPDFなどで何ページにあるか指定する「対象ページの指定」、誤抽出の抑制のために、抽出した値に近いサンプル群、もしくは遠いサンプル群を指定する「サンプル指定」、誤抽出の抑制と出力結果のフォーマット統一のために、ユーザは抽出したいフォーマットを指定できる「フォーマット指定」、表形式フォーマットへの対応として、何かしらの内容に対して、相対的な位置を指定できる「相対位置の指定」及び、すべてのファイルに抽出したい内容が無い場合の対応として、特定の条件によって、抽出内容を変更する「条件設定」がある。もちろん、これらに限らずユーザが自ら種々の設定項目を設けて詳細プロンプトの設定を行うことができる。
【0038】
ここで、上述した各設定項目の適用方法であるが、大別すると、方法1の「ファイル内容を絞る」、方法2の「プロンプトを繋げる」及び方法3の「検出結果を確認し、再整形する」の3つ分けることができる。方法1は、LLMに入力する前に入力の対象となるファイルデータを絞り込むことを意味し、方法2は、設定した詳細プロンプトをメインプロンプトに繋げることを意味する。方法3は、抽出結果を、指定されたサンプルやフォーマットなどに応じて再整形することを意味する。
【0039】
図5は、詳細プロンプトの各設定項目が適用される方法を示す図である。図示するように、「複数タグ名の付与」、「タグ説明の付与」及び「条件設定」の各項目は、方法2の「プロンプトを繋げる」が適用される。また、「絶対位置の指定」と「対象ページの指定」は、方法1の「ファイル内容を絞る」と方法2が適用される。また、「サンプル指定」は、方法2と方法3の「抽出結果を確認し、再整形する」が適用される。そして、「フォーマット指定」と「相対位置の指定」は、方法1~方法3のすべてが適用される。適用例については後述する。
【0040】
図6は、詳細プロンプトを設定するときの入力画面の一例を示す概念図である。図示するように、画面601の上部左側には既に設定されているメインプロンプト602が表示されている。そして、画面の左側に「タグ名」、「絶対位置指定」、「サンプル指定」及び「相対位置指定」の各設定項目の入力欄603が表示されている。また、ユーザの操作によって、さらに別の設定項目の入力欄が表示される。これらの各入力欄に対するユーザの記入操作を受け付けることで、詳細プロンプトが設定される。そして、抽出部は、受け付けた詳細プロンプトの設定を適用して抽出する。このように詳細プロンプトを設定して抽出することで、抽出精度向上を図ることができる。
【0041】
以上のような詳細プロンプトを適用した例を示す。例えば、「サンプル指定」の項目において「D-00033,F-00102と似た内容です」と設定し、「相対位置指定」の項目において「この項目は、ページ左下にあります」と設定した場合、この詳細プロンプトがメインプロンプトに繋げられて入力される。そして、「相対位置指定」の適用により、LLMに入力するファイルデータについて、ページ左下のみを入力する(方法1:ファイル内容を絞る)。そして、「サンプル指定」の適用により、抽出された「図面番号」が「D-00033,F-00102」と似ている図面番号を抜き出す(方法3:抽出結果を確認し、再整形する)。このときの再整形は、LLMを用いてもよいし、別に再整形を指示するスクリプトを入力することによってもよい。
【0042】
また、第2受付部は、詳細プロンプトの設定を受け付けるにあたり、設定されたメインプロンプトに応じて自動的に各設定項目を設定するように構成することができる。あるいは、ユーザによる設定を受け入れつつ、設定されていない項目について、何らかの設定をお薦めするように構成してもよい。詳細プロンプトの設定をユーザから受け付けることで、ユーザの意向に柔軟かつ好適に抽出を行うことができるが、最適なプロンプトの設定を行うことがユーザにとって難しい場合もある。そこで、このように、詳細プロンプトの自動記入やサジェストの機能が有効である。これらの機能により、簡易化・操作性向上を図ることができる。
【0043】
また、簡易化・操作性向上を図るため、抽出部は、対象となり得るファイルデータのすべてに対する抽出の前に、設定したメインプロンプトによる、又は設定したメインプロンプトと詳細プロンプトとによるテスト抽出を行うよう構成することも好ましい。テスト抽出とは、対象となり得るファイルデータのうちの一部に対して抽出を行うことである。このテスト抽出の結果により、ユーザは設定したメインプロンプトや詳細プロンプトが自ら所望する抽出結果をもたらすものか否かの判断をすることができ、より望ましい抽出結果を得るためのプロンプトの再設定を行うことができる。
【0044】
図6に示すように、画面601の左側であって、詳細プロンプトの入力欄603とメインプロンプトの表示欄604の下に「テスト」ボタン605が表示され、このボタンによりテスト抽出が行われる。そして、テスト抽出の結果が、図中において説明のために記した点線枠606の中に表示されている。ユーザは、この抽出結果に基づき、プロンプトの再設定や、テスト抽出の結果が得られたプロンプトによる実際の抽出を行うことができる。
【0045】
<蓄積部>
蓄積部105は、第1受付部により受け付けた設定によるメインプロンプトと、第2受付部により受け付けた設定による詳細プロンプトを蓄積する機能を有する。また、抽出結果及び抽出に供したファイルデータを、抽出に供したメインプロンプトと詳細プロンプトとに関連付けて蓄積してもよい。蓄積部に蓄積したメインプロンプトと詳細プロンプトは、第1受付部と第2受付部で受付けた設定によるメインプロンプトと詳細プロンプトに代えて、あるいはそれらと併せてLLMに入力して抽出部による抽出に供される。
【0046】
例えば、あるファイルデータ群に対する抽出処理を最初に行う際に、第1受付部と第2受付部にて設定したメインプロンプトと詳細プロンプトとをLLMに入力して抽出する。そして、そのファイルデータ群について含まれるファイルに変化など(追加や削除など)が生じ、改めて抽出を行うといった場合に、蓄積部が蓄積した先の抽出処理で用いたメインプロンプトと詳細プロンプトを読み出し、必要であれば設定に変更を加えるなどして、LLMに入力して抽出を行う。また、蓄積部に蓄積されているメインプロンプトや詳細プロンプトをユーザが選択して抽出処理に供するようにしてもよいし、抽出処理に供するファイルデータ群を選択した際に、蓄積しているプロンプトからお薦めのメインプロンプトや詳細プロンプトを提示するように構成することもできる。このような構成とすることで、抽出の度にプロンプトの設定を行うという手間が省けるとともに、ファイルデータ群に対して都度適したプロンプトによる抽出がなされ、その結果、例えば最新のデータベースを維持できるといった効果を得ることができる。
【0047】
<ハードウエア構成>
図7は、実施例1に係る情報処理装置を実現するハードウエアの構成例を示す概念図である。図示するように、情報処理装置700は、各種演算処理を行うCPU701と、揮発性記録媒体であるRAM702と、不揮発性の記憶媒体であるフラッシュメモリやHDDなどのストレージ703と、通信インタフェース704と、入出力インタフェース705と、を有している。RAM702は、各種演算処理を行うプログラムをCPU701に実行させるために読み出すとともに、そのプログラムのワーク領域(作業領域)を提供する。また、RAM702には、複数のアドレスが割り当てられており、CPU701で実行されるプログラムは、そのアドレスを特定しアクセスすることで相互にデータのやり取りを行い、処理を行うことが可能となっている(本明細書を通じて同様である)。
【0048】
ここで、
図1の情報処理装置100の第1受付部101、第2受付部103、抽出部102及び変換部104の各機能は、主に
図7のCPU701、RAM702により実現される。また、蓄積部105の機能は、主に
図7のストレージ703により実現される。また、ファイルデータを蓄積するデータベースが外部に存在したり、抽出部が外部に存在する大規模言語モデルを用いたりする場合には、通信インタフェース704や入出力インタフェース705を介して相互に信号や情報の授受を行うことで各機能が実現される。
【0049】
<処理の流れ>
図8は、情報処理装置の処理の流れの一例を簡略に示すフロー図である。まず、大規模言語モデルに入力するプロンプトであって、複数の情報を含む複数のファイルデータから一又は複数の抽出対象を指示するメインプロンプトの設定をユーザから受け付ける(S801:第1受付ステップ)。そして、メインプロンプトによる抽出対象の指示について、詳細に設定するためのプロンプトであって、一又は複数の項目を有する詳細プロンプトの設定をユーザから受け付ける(S802:第2受付ステップ)。そして、ファイルデータの特性に応じて、ファイルデータの形式を変換する(S803:変換ステップ)。そして、第1受付ステップにおいて受け付けた設定によるメインプロンプトと、第2受付ステップにおいて受け付けた設定による詳細プロンプトを蓄積する(S804:蓄積ステップ)。そして、第1受付ステップにおいて受け付けた設定によるメインプロンプトと第2受付ステップにおいて受け付けた設定による詳細プロンプト又は/及び蓄積ステップにおいて蓄積したメインプロンプトと詳細プロンプトを、大規模言語モデルに入力して、複数のファイルデータから抽出対象を抽出する(S805:抽出ステップ)。なお、変換ステップは、第1受付ステップの前に行ってもよいし、第1受付ステップの後であって第2受付ステップの前に行ってもよい。
【0050】
<効果>
本実施例の情報処理装置によれば、多種多様の情報を含みフォーマットも様々である大量のファイルデータ群から所望の情報を抽出することができる。
【0051】
<実施例2>
<概要>
本実施例は、実施例1を基本として、抽出結果を検証する構成や、LLMに入力するファイルデータをフィルタリングする構成を、さらに含む情報処理装置である。
【0052】
<機能的構成>
図9は、本実施例の情報処理装置の機能的構成の一例を示すブロック図である。
図9に示すように、情報処理装置900は、実施例1と同様に、第1受付部901と、抽出部902と、第2受付部903と、変換部904と、蓄積部905を有し、さらに、検証部906と、フィルタリング部907を有する。実施例1と同様の構成についての説明は省略し、検証部906及びフィルタリング部907について、以下に説明する。
【0053】
<検証部>
検証部906は、抽出部により抽出した抽出結果を検証する機能を有する。検証部による検証の具体的な態様は種々ある。
図10は、検証を行う際の種々の設定を例示する図である。図示するように、4種の設定を行うことができ、それぞれ「詳細プロンプト利用」、「検証プロンプト」、「検証スクリプト」及び「ファイル間比較」である。
【0054】
「詳細プロンプト利用」は、詳細プロンプトで設定した抽出の設定を検証に利用する。例えば、詳細プロンプトの設定項目である「サンプル指定」において、ネガティブサンプルの指定を行っていた場合、その指定されたネガティブサンプルを流用して、“抽出結果はネガティブサンプルに類似していないか?”という検証を行う。また、「相対位置の指定」での設定を利用して“抽出した値の左には、”屋上”という文字があるか?“という検証を行う。
【0055】
また、「検証プロンプト」は、検証用のプロンプトを独自に設定するものであり、例えば、“この値が、エレベーターの扉の素材を示しているかどうかチェックしてください”といったプロンプトを設定して入力する。また、「検証スクリプト」は、検証用のスクリプトを独自に設定するものであり、例えば、図示するように、検出結果が「1」未満の場合に「Error」を返し、それ以外は「OK」を返す、といった命令を入力して検証する。
【0056】
また、「ファイル間比較」は、複数のファイルから抽出する際には、抽出結果を他ファイルと比較して妥当性を確認する。例示するように、抽出されたファイルA~ファイルDを比較すると、ファイルA、ファイルC、ファイルDはいずれも数字と記号のみの表記であるのに対して、ファイルBは漢字主体の表記となっている。このような場合に、「ファイルBは、他と比べて妥当ではない」という検証結果を得る。
【0057】
ここで、検証部により抽出結果の検証をした場合、抽出部は、その検証結果を反映させて再抽出を行うように構成することもできる。例えば、上述したように抽出結果の値がエラーである場合、“前回の抽出では〇〇〇という値を抽出していましたが、エラーの検証結果がでました。このエラー結果を考慮し、再度値を抽出してください。”といった指示を入力して再度抽出する。
【0058】
<フィルタリング部>
フィルタリング部907は、複数のファイルデータのうち所定のファイルデータを抽出部による抽出の対象から除去する機能を有する。フィルタリングする手法は種々存在する。例えば、ファイルの属性(拡張子、サイズ、ファイル名、ファイルに付随するデータ項目など)に基づきフィルタリングする。また、個別のキーワードを設定し、このキーワードに基づきフィルタリングする。具体的には、セマンティックサーチ、クラスタリング、文字検索などを行いフィルタリングする。また、LLMに指示を与えてフィルタリングする。例えば、“このファイルはエレベーターの内容を含んでいる?”という指示を入力することで、エレベーターの内容を含むか否かによりフィルタリングすることができる。
【0059】
このようなフィルタリング部の機能により、例えば、対象となる500個のファイルデータのうち、建築概要書からは面積を抽出したいが、立面図は対象としてスキップしたいといったユーザの要望に応えることができる。
【0060】
<ハードウエア構成>
本実施例の情報処理装置は、実施例1に準じ
図7に示したハードウエア構成により実現することができる。
図9に示した実施例2の情報処理装置に特有の構成である検証部906とフィルタリング部907の機能は、主に
図7のCPU701、RAM702により実現される。
【0061】
<処理の流れ>
本実施例の情報処理装置の処理の流れは、実施例1の情報処理装置の処理の流れと基本的に同様である。そして、本実施例の情報処理装置においては、抽出ステップにおいて抽出した抽出結果を検証する検証ステップと、複数のファイルデータのうち所定のファイルデータを抽出ステップにおける抽出の対象から除去するフィルタリングステップと、をさらに含む。
【0062】
<効果>
本実施例の情報処理装置によれば、より精度向上とロバスト性向上を図った情報処理装置を提供することができる。
【0063】
<実施例3>
<概要>
本実施例は、実施例1又は実施例2を基本として、簡易・操作性向上のために抽出結果が抽出された根拠を表示する構成、あるいは、処理効率向上のために抽出処理に供するデータを削減する構成を、さらに含む情報処理装置である。
【0064】
<機能的構成>
図11は、本実施例の情報処理装置の機能的構成の一例を示すブロック図である。
図11に示すように、情報処理装置1100は、実施例1と同様に、第1受付部1101と、抽出部1102と、第2受付部1103と、変換部1104と、蓄積部1105と、検証部1106と、フィルタリング部1107を有し、さらに、根拠表示部1108と、データ削減部1109を有する。実施例1又は2と同様の構成についての説明は省略し、根拠表示部1108及びデータ削減部1109について、以下に説明する。
【0065】
<根拠表示部>
根拠表示部1108は、抽出部により抽出した抽出結果について、その抽出結果が抽出された根拠を表示する機能を有する。なお、
図11においては、根拠表示部1108は検証部1106を経由しているが、抽出部1102による抽出結果について、検証部1106を経由することなく根拠を表示することもできる。
【0066】
本情報処理方法は、ユーザが自らプロンプトを設定してLLMに指示することによりユーザの意向に沿った柔軟な抽出を行うことができる。一方で、その意向に沿う最適なプロンプトの設定が難しい場合も有る。そこで、抽出結果に至った根拠(途中プロセスなど)を表示することで、ユーザに対して「何をどうすれば抽出結果を改善できるか」ということを示すことができる。
【0067】
図12は、根拠として画像上の位置を表示する例を示す概念図である。図示しているのは、住宅の建築面積表を示すPDF形式のファイルであり、このファイルから抽出された値(文字)の位置を画像上で太点線の枠1201で囲んで強調表示している。これにより、ユーザは抽出結果がどこから抽出されたかが分かる。
【0068】
また、抽出した理由を説明する表示をしてもよい。例えば、事前処理として抽出前にLLMに「この値を抽出結果として出力した理由を、詳細のプロセスごとに出力してください」という指示を入力しておく。すると、抽出した後に抽出結果を示すとともに、例えば「Z-01301は、”図面番号”というテキストの140px右に位置しており、また、指定された正規表現と合致するため、Z-01301を図面番号として抽出しました。」という根拠が表示される。このように、自ら設定したプロンプトが抽出結果に及ぼす作用が示されることで、ユーザは設定したプロンプトについて省みることができ、プロンプトの最適化に資することができる。
【0069】
<データ削減部>
データ削減部1109は、抽出部に供するファイルデータのデータ削減をする機能を有する。データ削減は様々な態様で行うことができる。例えば、対象となるファイルデータから特定のページやセクション、パラグラフ、テーブルなどに絞ることでデータ削減する。また、ファイルの属性(ページ番号、位置など)でフィルタリングしたり、個別のキーワードでフィルタリングしたり(セマンティックサーチ、クラスタリング、文字検索)することができる。また、LLMに指示を入力してフィルタリングすることもできる(“このファイルはエレベーターの内容を含んでいる?)。
【0070】
図13は、データ削減の他の態様について示す概念図である。
図13(a)に示すように、一のファイルデータ1301において特定の箇所1302を切り取って、その中に目的のデータが含まれているかをチェックする。その結果、目的のデータが含まれていれば、その箇所を抽出部の抽出処理に供する。含まれなかった場合には、先の箇所からずらした箇所1303を切り取って、同様にチェックを行う。このように抽出する前のチェックで目的のデータを含まないものを抽出の対象から除外することで処理効率の向上を図ることができる。なお、このチェックは、LLMを用いてもよいし、その他の手法によってもよい。
【0071】
また、
図13(b)に示すように、特定の箇所をずらしながら上述のチェックを行い、目的のデータを含む箇所をメモリ1304に一時保管する。そして、処理メモリ1304が目的のデータを抽出するために必要な要素をすべて含んでいるかチェックし、すべて含んでいる場合は、メモリに保持されている箇所を抽出部での抽出処理に供する。一方、すべて含んでいない場合には、特定の箇所をさらにずらして上述のチェックからの一連の処理を繰り返す。
【0072】
<ハードウエア構成>
本実施例の情報処理装置は、実施例1又は2に準じ
図7に示したハードウエア構成により実現することができる。
図11に示した実施例3の情報処理装置に特有の構成である根拠表示部1108の機能は、主に
図7のCPU701、RAM702、入出力インタフェース705により実現される。また、データ削減部1109の機能は、主に
図7のCPU701、RAM702により実現される。
【0073】
<処理の流れ>
本実施例の情報処理装置の処理の流れは、実施例1又は2の情報処理装置の処理の流れと基本的に同様である。そして、本実施例の情報処理装置においては、抽出ステップにおいて抽出した抽出結果について、その抽出結果が抽出された根拠を表示する根拠表示ステップと、抽出ステップに供するファイルデータのデータ削減をするデータ削減ステップと、をさらに含む。
【0074】
<効果>
本実施例の情報処理装置によれば、より簡易・操作性向上と処理効率向上を図った情報処理装置を提供することができる。
【符号の説明】
【0075】
100:情報処理装置
101:第1受付部
102:抽出部
103:第2受付部
104:変換部
105:蓄積部
906:検証部
907:フィルタリング部
1108:根拠表示部
1109:データ削減部
701:CPU
702:RAM
703:ストレージ
704:通信インタフェース
705:入出力インタフェース
【要約】
【課題】従来技術では、多種多様の情報を含みフォーマットも様々である大量のファイルデータ群から所望の情報を抽出することができないという課題があった。
【解決手段】上記課題を解決するために、大規模言語モデルに入力するプロンプトであって、複数の情報を含む複数のファイルデータから一又は複数の抽出対象を指示するメインプロンプトの設定をユーザから受け付ける第1受付部と、前記メインプロンプトによる抽出対象の指示について、詳細に設定するためのプロンプトであって、一又は複数の項目を有する詳細プロンプトの設定をユーザから受け付ける第2受付部と、前記第1受付部により受け付けた設定による前記メインプロンプトと、前記第2受付部により受け付けた設定による前記詳細プロンプトを大規模言語モデルに入力して、前記ファイルデータから抽出対象を抽出する抽出部と、を有する情報処理装置を提供する。
【選択図】
図1