Come estrarre i dati strutturati dal PDF utilizzando ChatGPT e .NET

Come estrarre i dati strutturati dal PDF utilizzando ChatGPT e .NET

Rimuovere l’automazione avanzata e i flussi di lavoro dotati di intelligenza artificiale nelle tue applicazioni .NET estrarendo dati strutturati (come tabelle, moduli o entità) dai PDF e convertendoli in formati leggibili da macchina.Questo manuale dettagliato passa attraverso tutti i passaggi - dall’estrazione di testo ai dati intelligenti parsing utilizzando ChatGPT.

Introduzione

L’estrazione strutturata dei dati dai documenti PDF è un requisito critico per le intelligenze aziendali, la segnalazione e gli scenari di automazione. Mentre Aspose.PDF.Plugin consente una robusta estrazione di testo in .NET, combinandola con ChatGPT permette di parsire, categorizzare e formattare le informazioni come JSON, CSV, o oggetti di dominio.

Cassi di utilizzo comuni:

  • L’estrazione dei dati di fatturazione per l’automazione contabile
  • Tabel di parcheggio da documenti di ricerca
  • Trasformare i moduli scansionati in registri strutturati

Sto 1: Rimuovere il testo o il contenuto della tabella dal PDF

Iniziamo utilizzando il TextExtractor o, per i dati tabellari, opzioni specializzate in 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();

Sto 2: Preparare e inviare Prompts a ChatGPT

È possibile ordinare a ChatGPT di parsare e restituire i dati in un formato strutturato come JSON o CSV.

string apiKey = "YOUR_OPENAI_API_KEY";
string prompt = $"Extract the following invoice data as JSON: {rawText}";
// Use HttpClient as in previous examples
  • Suggerimenti per risultati migliori:

  • Utilizzare promette chiare e esplicite: “Extra una tabella di articoli descrizioni, prezzi e totali come JSON”.

  • Per i file PDF di grandi dimensioni, estrarre e inviare testo in segmenti logici (ad esempio, una tabella contemporaneamente).

Stagione 3: Parse e Validate AI Output

Dopo aver ricevuto la risposta di ChatGPT, parsi i dati strutturati utilizzando un parzer JSON (o 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; }
}

Passaggi di validazione:

  • Verificare i tipi di dati validi (numeri, date, ecc.)
  • Dati di registrazione o di bandiera incompleti/ambiguo per la revisione

Passo 4: Salva o utilizza i dati estratti

  • Conservare i risultati strutturati in un database, file Excel o sistema di elaborazione downstream.
  • Opzionalmente, utilizzare Aspose.PDF.Plugin’s TableGenerator per inserire i dati strutturati in un PDF o un rapporto di sintesi.

Scenari avanzati e risoluzione dei problemi

  • L’estrazione di batch:

  • Passare attraverso più PDF e aggregare i dati strutturati da tutti i documenti.

  • Combinazione di OCR:

  • Per i file PDF scansionati, utilizzare i plugin OCR prima dell’estrazione di testo.

  • errore di gestione:

  • Cattura e registrazione di errori API, risposte JSON invalide e fragmenti non strutturati.

Le migliori pratiche per l’accuratezza e la conformità

  • Pre-purificare il testo PDF prima di inviarlo a ChatGPT per rimuovere i capolavori/cattivi.
  • Evitare di inviare documenti sensibili a meno che non si utilizzano punti finali AI sicuri/autorizzati.
  • Per l’estrazione dei dati critici, utilizzare una fase di validazione post-processing.

FAQ: Strutturata estrazione dei dati con ChatGPT

**Q: Quali tipi di dati strutturati posso estrarre dai PDF?**A: tabelle, elenchi, campi nominati e modelli regolari (come date, quantità, ID).

**Q: Questo metodo può elaborare più PDF contemporaneamente?**A: Sì, l’estrazione di batch è supportata - scorrere attraverso il set PDF e aggregare i risultati.

**Q: ChatGPT è sempre accurato con tabelle e numeri?**A: Per ottenere i migliori risultati, utilizzare i tempi precisi e valutare tutte le uscite nel codice.

 Italiano