ChatGPT と .NET を使用して PDF から構造化されたデータを抽出する方法
NET アプリケーションにおける高度な自動化および人工知能によるワークフローを、PDF から構造化されたデータ(タブレット、フォーム、またはエンティティなど)を抽出し、機械読みやすいフォーマットに変換することによって解除します.
導入
PDF ドキュメントから構造化されたデータ抽出は、ビジネスインテリジェンス、レポート、および自動化シナリオのための重要な要件です. Aspose.PDF.Plugin は .NET で強力なテキストエクストラクションを可能にしますが、ChatGPT と組み合わせると、JSON、CSV、またはドメインオブジェクトとして情報を分類、カテゴリ化、フォーマットすることができます.
一般利用例:
- 会計自動化のための請求データ抽出
- 研究論文から出るテーブル
- スキャンされたフォームを構造化されたレコードに変換する
ステップ1:PDFからテキストまたはテーブルコンテンツを抽出する
始めるのは、使用することによって TextExtractor
または、テーブルデータの場合、 Aspose.PDF.Plugin の専門オプションです.
using Aspose.Pdf.Plugins;
var inputPath = @"C:\Docs\invoice.pdf";
var extractor = new TextExtractor();
var options = new TextExtractorOptions();
options.AddInput(new FileDataSource(inputPath));
var resultContainer = extractor.Process(options);
string rawText = resultContainer.ResultCollection[0].ToString();
ステップ2:チャットGPTへのプロンプトの準備と送信
ChatGPT に、JSON や CSV などの構造化されたフォーマットでデータをパルシングおよび返却するよう指示することができます.
string apiKey = "YOUR_OPENAI_API_KEY";
string prompt = $"Extract the following invoice data as JSON: {rawText}";
// Use HttpClient as in previous examples
より良い結果を得るためのヒント:
明確で明示的な推奨事項を使用する: “JSONとして項目説明、価格、および合計のテーブルを抽出します.”
大型PDFの場合、論理的なセグメントでテキストを抽出および送信します(たとえば、一度に1つのテーブル).
ステップ3:パルセとAI出力の有効化
ChatGPT の回答を得た後、JSON (または CSV) パッサーを使用して構造化されたデータを分割します:
// Assume jsonData is a JSON string received from ChatGPT
var structuredData = JsonConvert.DeserializeObject<List<InvoiceItem>>(jsonData);
public class InvoiceItem
{
public string Description { get; set; }
public decimal Price { get; set; }
public int Quantity { get; set; }
public decimal Total { get; set; }
}
認証ステップ:
- 有効なデータタイプ(数字、日付など)をチェックします.)
- ログまたはフラッグ 不完全/曖昧なデータ レビュー
ステップ4:収集されたデータを保存または使用する
- 構造化された結果をデータベース、Excelファイル、またはダウンストリーム処理システムに保存します.
- 選択肢として、TableGenerator の Aspose.PDF.Plugin を使用して構造化されたデータを PDF またはレポートの概要に戻します.
トップ > シナリオとトラブル解決
バッチ・エクストラクション:
複数のPDFを通過し、すべてのドキュメントから構造化されたデータを集めます.
合併 OCR:
スキャンされた PDF では、テキスト抽出前に OCR プラグインを使用します.
エラー処理:
キャッチ・ログ API エラー、無効 JSON 反応と構造化されていない部分.
正確性と遵守のための最良の実践
- ChatGPT に送信する前に事前に PDF テキストをクリアして、ヘッダー/フォーターを削除します.
- セキュア/認定AIエンドポイントを使用しない限り、敏感な文書を送信しないでください.
- 重要なデータを抽出するには、処理後の認証ステップを使用します.
FAQ: ChatGPT で構造化されたデータ抽出
**Q:PDFからどのような構造化されたデータを抽出できますか?**A:テーブル、リスト、名称フィールド、および通常のパターン(日付、数値、IDなど).
**Q:この方法は複数のPDFを同時に処理できますか?**A: はい. バッチ抽出はサポートされています—loop through your PDF 結果を集め、集める.
**Q: ChatGPT はテーブルや数字で常に正確ですか?**A:最良の結果を得るには、正確なスピードを使用し、コード内のすべての出力を確認します.