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.