- リリース ノート
- Document Processing Contracts について
- プレビュー版リリース
- Box クラス
- IPersistedActivity インターフェイス
- PrettyBoxConverter クラス
- IClassifierActivity インターフェイス
- IClassifierCapabilitiesProvider インターフェイス
- ClassifierDocumentType クラス
- ClassifierResult クラス
- ClassifierCodeActivity クラス
- ClassifierNativeActivity クラス
- ClassifierAsyncCodeActivity クラス
- ClassifierDocumentTypeCapability クラス
- ExtractorAsyncCodeActivity クラス
- ExtractorCodeActivity クラス
- ExtractorDocumentType クラス
- ExtractorDocumentTypeCapabilities クラス
- ExtractorFieldCapability クラス
- ExtractorNativeActivity クラス
- ExtractorResult クラス
- ICapabilitiesProvider インターフェイス
- IExtractorActivity インターフェイス
- ExtractorPayload クラス
- DocumentActionPriority 列挙型
- DocumentActionData クラス
- DocumentActionStatus 列挙型
- DocumentActionType 列挙型
- DocumentClassificationActionData クラス
- DocumentValidationActionData クラス
- UserData クラス
- Document クラス
- DocumentSplittingResult クラス
- DomExtensions クラス
- Page クラス
- PageSection クラス
- Polygon クラス
- PolygonConverter クラス
- Metadata クラス
- WordGroup クラス
- Word クラス
- ProcessingSource 列挙型
- ResultsTableCell クラス
- ResultsTableValue クラス
- ResultsTableColumnInfo クラス
- ResultsTable クラス
- Rotation 列挙型
- SectionType 列挙型
- WordGroupType 列挙型
- IDocumentTextProjection インターフェイス
- ClassificationResult クラス
- ExtractionResult クラス
- ResultsDocument クラス
- ResultsDocumentBounds クラス
- ResultsDataPoint クラス
- ResultsValue クラス
- ResultsContentReference クラス
- ResultsValueTokens クラス
- ResultsDerivedField クラス
- ResultsDataSource 列挙型
- ResultConstants クラス
- SimpleFieldValue クラス
- TableFieldValue クラス
- DocumentGroup クラス
- DocumentTaxonomy クラス
- DocumentType クラス
- Field クラス
- FieldType 列挙型
- LanguageInfo クラス
- MetadataEntry クラス
- TextType 列挙型
- TypeField クラス
- ITrackingActivity インターフェイス
- ITrainableActivity インターフェイス
- ITrainableClassifierActivity インターフェイス
- ITrainableExtractorActivity インターフェイス
- TrainableClassifierAsyncCodeActivity クラス
- TrainableClassifierCodeActivity クラス
- TrainableClassifierNativeActivity クラス
- TrainableExtractorAsyncCodeActivity クラス
- TrainableExtractorCodeActivity クラス
- TrainableExtractorNativeActivity クラス
- リリース ノート
- OCR コントラクトについて
- プロジェクトの対応 OS
- IOCRActivity インターフェイス
- OCRAsyncCodeActivity クラス
- OCRCodeActivity クラス
- OCRNativeActivity クラス
- Character クラス
- OCRResult クラス
- Word クラス
- FontStyles 列挙型
- OCRRotation 列挙型
- OCRCapabilities クラス
- OCRScrapeBase クラス
- OCRScrapeFactory クラス
- ScrapeControlBase クラス
- ScrapeEngineUsages 列挙型
- ScrapeEngineBase
- ScrapeEngineFactory クラス
- ScrapeEngineProvider クラス
生成プロンプト - 効果的な実践
具体的な指示をする
GPT にする質問を、4 人から 5 人の人間に聞くところを想像してみてください。それぞれ少しずつ違う回答をするのが想像できる場合、その質問は曖昧すぎるため、より具体的な質問に書き換える必要があります。
出力形式を指定する
より具体的な質問を作成するには、標準化された形式で回答を返すように抽出器に指示します。これにより、曖昧さが減って応答精度が向上し、ダウンストリーム処理が簡略化されます。
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 applicant’s marital status? Possible answers: Married, Unmarried, Separated, Divorced, Widowed, Other.
ダウンストリーム処理が簡略化されるだけでなく、応答精度も向上します。
ステップ バイ ステップの手順
精度を最大限に高めるため、複雑な質問は簡単な手順に分解します。「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: Stop
Execute 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 のロジックの実行を指示しないでください。この種類の操作は、ロボット ワークフローの方がはるかに正確で効率的です。
表/テーブル
- 1 つ目の方法では、各列のデータを個別に取得するよう生成 AI 抽出器に指示し、返されたデータを使用して、自分でワークフローで行を組み立てます。この場合、「
Please return the Unit Prices on this invoice, as a list from top to bottom, as a list in the format [<UnitPrice1>, <UnitPrice2>,…]
(この請求書に記載されている単価を垂直方向のリスト形式 [<単価1>, <単価2>, ...] で返してください。)」と指示します。 - 2 つ目の方法では、各行を 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 つに過ぎず、最良の方法ではありません。より優れた、信頼性の高いエラーの検出方法は、同じ質問を複数の異なる聞き方ですることです。聞く質問が違えば違うほど、より信頼性が高まります。すべての回答が共通の結果に収束する場合、エラーが存在する可能性は非常に低くなります。回答が一致しない場合、エラーが存在する可能性は高くなります。
最適な結果を得るため、上記の推奨事項をさまざまな方法で組み合わせながら同じ質問を 5 回聞くことをお勧めします。5 回すべてに同じ回答が返される場合、人間によるレビューは必要ないかもしれません。1 つだけ回答が違っていても、高確率で他の 4 つの回答が正しいでしょう。2 つ以上回答が異なる場合は、Action Center での人間による手動レビューが必要です。