activities
latest
false
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。
UiPath logo, featuring letters U and I in white

Document Understanding アクティビティ

最終更新日時 2024年12月5日

生成抽出器 - 効果的な実践

注:
  • 安定性を向上させるために、プロンプトの数は最大 50 に制限されています。
  • 応答 (抽出結果) は [完了]とも呼ばれ、700 単語という制限があります。これは 700 単語に制限されています。つまり、1 つのプロンプトあたりの抽出結果が 700 単語を超えることはできません。抽出要件がこの制限を超える場合は、ドキュメントを複数のページに分割して個別に処理し、後で結果を結合できます。

具体的な指示をする

生成 AI のプロンプトでする質問を、4 人から 5 人の人間に聞くところを想像してみてください。それぞれ少しずつ違う回答をするのが想像できる場合、その質問は曖昧すぎるため、より具体的な質問に書き換える必要があります。

たとえば、「患者のすべての個人情報をコンマ区切りのキーと値のペアとして抽出してください」などの一般的な要求をプロンプトで指示した場合は、モデルが自動的に特定の情報を見つけてくれることが期待されます。

モデルは、指示された要求を考慮して、以下の情報を自動的に把握する必要があります。
  • ドキュメント内の個人情報が記載されている場所。
  • 個人情報とそうでないもの (その境界は、非常にあいまいです)。
  • ユーザーが「キー」として取得することを期待しているもの、各キーの値、およびユーザーが期待する正確な形式。
  • 括弧を使用する必要があるか。それとも、それぞれのキーと値のペアを別々の行に示すだけでよいか。
ステップ数が膨大で、要求に答える方法もさまざまあるうえ、生成 AI は基本的に非決定的であるため、答えが長くなるほど、モデルの温度がゼロに設定されていても答えが毎回異なる可能性が高くなります。
この問題を回避するには、回答が長くなる可能性のある広範な要求をいくつかの単純な質問に分割して、短い回答が生成されるようにします。たとえば、一般的なプロンプト要求を以下のような小さな要求に分割できます。
  • 患者の名を抽出してください
  • 患者の姓を抽出してください
  • 郵便番号、都道府県、市区町村を含む患者の住所を抽出してください
  • 患者の誕生日を抽出してください
要求をより小さなものに分割すると、高精度の、一貫性と再現性に優れた結果が得られ、AI によって生成された長いテキスト文字列を解読する必要性が減ります。

出力形式を指定する

より具体的な質問を作成するには、標準化された形式で回答を返すように抽出器に指示します。これにより、曖昧さが減って応答精度が向上し、ダウンストリーム処理が簡略化されます。

たとえば、日付を取得するよう生成 AI のプロンプトで指示する場合は、「return date in yyyy-mm-dd format (日付を yyyy-mm-dd 形式で返してください。)」のように、日付の形式を指定します。年のみが必要な場合は、「return the year, as a four digit number (年を 4 桁の数字で返してください。)」と指定します。
この方法は数値の場合でも使用できます。たとえば、「return numbers which appear in parentheses as negative (括弧内に表示される数字を負の数として返してください。)」または「return number in ##,###.## format (数値を ##,###.## 形式で返してください。)」と指定して小数点区切り文字と桁区切り文字を標準化し、ダウンストリーム処理しやすくします。

期待されるオプションを指定する

形式を設定する特別なケースとして挙げられるのが、想定される既知の回答候補のうちの 1 つが回答として返される場合です。

たとえば、申請フォームでは申請者の配偶者の有無を確認することがあります。回答候補として、既婚、未婚、別居、離別、死別、その他が考えられます。

ダウンストリーム処理が簡略化されるだけでなく、応答精度も向上します。

ステップ バイ ステップの手順

精度を最大限に高めるため、複雑な質問は簡単な手順に分解します。「What is the termination date of this contract? (この契約の終了日はいつですか?)」と質問する代わりに「First find termination section of contract, then determine termination date, then return date in yyyy-mm-dd format. (はじめに、契約の終了の条項を探してください。その後、終了日を特定し、終了日の日付を yyyy-mm-dd 形式で返してください。)」と指示します。
質問を分解するにはさまざまな方法があります。要求を、次のような小さなコンピューター プログラムとして書くこともできます。
Execute the following program:

1: Find termination section or clause

2: Find termination date

3: Return termination date in yyyy-mm-dd format

4: StopExecute the following program:

1: Find termination section or clause

2: Find termination date

3: Return termination date in yyyy-mm-dd format

4: Stop

JSON または XML 構文を使用するなどしてプログラミング スタイルで指示を記述することにより、生成モデルがプログラミング スキルを使用するようにします。これにより、指示実行時の精度が向上します。

計算問題や論理問題を避ける

加算、乗算、減算、比較、およびその他の計算操作を指示しないでください。間違いを起こさない単純なロボット ワークフローに比べて処理速度が非常に遅く、コストがかかるだけでなく、基本的な間違いをするからです。

上記と同じ理由で、複雑な if-then-else のロジックの実行を指示しないでください。この種類の操作は、ロボット ワークフローの方がはるかに正確で効率的です。

表/テーブル

現在、生成 AI 抽出器は列フィールドをサポートしていません。通常の質問で小さめのテーブルを抽出してその出力を解析できる場合もありますが、それは回避策にすぎず制限が伴うことに注意してください。汎用的な、任意の大きなテーブルを抽出するよう設計されておらず、そうした用途は推奨もされていません。

生成 AI 抽出器にとって、表からデータを抽出するのはかなり難しいタスクです。生成 AI テクノロジはテキストの線形文字列を使用し、画像内の視覚的な 2 次元情報は理解しないからです。生成 AI 抽出器では、タクソノミー マネージャーで定義されている表フィールドを抽出することはできませんが、ドキュメントからテキストと表を抽出することはできます。

表からデータを最適に抽出するには、以下を含む 2 つ以上の方法を選択できます。
  • 各列のデータを個別に取得するよう生成 AI 抽出器に指示し、返されたデータを使用して、自分でワークフローで行を組み立てます。この場合、「Please return the Unit Prices on this invoice, as a list from top to bottom, as a list in the format [<UnitPrice1>, <UnitPrice2>,…] (この請求書に記載されている明細項目を JSON オブジェクトの JSON 配列として返してください。各オブジェクトは次の形式で返してください: {“説明”:<説明>, “数量”:<数量>, “単価”:<単価>, “金額”:<金額>})」などと指示します。
  • 各行を JSON オブジェクトとして個別に返すよう指示します。この場合、「Please return the line items of this invoice as an JSON array of JSON objects, each object in format: {"description”: <description>, “quantity”:<quantity>, “unit_price”:<unit price>, “amount”:<amount>} (この請求書に記載されている明細項目を JSON オブジェクトの JSON 配列として返してください。各オブジェクトは次の形式で返してください: {“説明”:<説明>, “数量”:<数量>, “単価”:<単価>, “金額”:<金額>})」と指示します。

信頼度レベル

生成 AI モデルでは、予測の信頼度レベルは提供されません。ここでの目標である「エラーの検出」において、信頼度レベルはその目標を達成する方法の 1 つに過ぎず、最良の方法ではありません。より優れた、信頼性の高いエラーの検出方法は、同じ質問を複数の異なる聞き方ですることです。聞く質問が違えば違うほど、より信頼性が高まります。すべての回答が共通の結果に収束する場合、エラーが存在する可能性は非常に低くなります。回答が一致しない場合、エラーが存在する可能性は高くなります。

たとえば、前述の提案をさまざまな形で組み合わせて、同じ質問を 2 回、3 回、または 5 回 (エラーの見落としを回避することが手順の中でどれほど重要であるかによる) 繰り返します。すべての回答に一貫性がある場合、人間によるレビューは必要ないかもしれません。回答内容が異なる場合は、Action Center で担当者による手動のレビューが必要な可能性があります。

このページは役に立ちましたか?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
Uipath Logo White
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.