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: はい. バッチ抽出はサポートされます - PDF セットを通じてロープし、結果を集めます。
**Q: ChatGPT はテーブルや数字で常に正確ですか?**A:最良の結果を得るには、正確なスピードを使用し、コード内のすべての出力を確認します。