Kaip ištraukti struktūrinius duomenis iš PDF naudojant ChatGPT ir .NET

Kaip ištraukti struktūrinius duomenis iš PDF naudojant ChatGPT ir .NET

Išplėstinė automatizacija ir dirbtinio intelekto darbo srautai jūsų .NET programose pašalinant struktūrizuotus duomenis (pavyzdžiui, lenteles, formas ar subjektus) iš PDF ir konvertuojant juos į mašiną skaityti formatus.

Įvadas

Struktūrizuotas duomenų ekstrakcija iš PDF dokumentų yra kritinis reikalavimas verslo žvalgybos, ataskaitų ir automatizavimo scenarijų. Nors Aspose.PDF.Plugin leidžia tvirtą teksto ekstraktą .NET, kartu su ChatGPT leidžiama pars, kategorizuoti ir formatuoti informaciją kaip JSON, CSV ar domeno objektus.

** Įprastų naudojimo atvejų:**

  • Sąskaitų duomenų ištraukimas apskaitos automatizavimui
  • Parsisiųsti lenteles iš mokslinių tyrimų dokumentų
  • Skanintų formų transformavimas į struktūrizuotus įrašus

* 1 žingsnis: Pateikite tekstą arba lentelę iš PDF**

Pradėkime nuo naudojimo TextExtractor arba, lentelių duomenims, specializuotų variantų 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 žingsnis: paruoškite ir siųskite nuorodas į ChatGPT**

Galite įsakyti ChatGPT atsiskaityti ir grąžinti duomenis struktūrizuota forma, pvz., JSON arba CSV.

string apiKey = "YOUR_OPENAI_API_KEY";
string prompt = $"Extract the following invoice data as JSON: {rawText}";
// Use HttpClient as in previous examples
  • *Geriausių rezultatų pasiūlymai: *

  • Naudokite aiškius, aiškus žingsnius: „Išduoti lentelę elementų aprašymus, kainas ir bendrus kaip JSON“.

  • Dideliems PDF failams išgauti ir siųsti tekstą loginiuose segmentuose (pavyzdžiui, vieną lentelę vienu metu).

* 3 žingsnis: parsisiųsti ir patvirtinti AI išėjimą**

Gavę „ChatGPT“ atsakymą, suskirstykite struktūrizuotus duomenis naudojant JSON (arba CSV) paskirstytuvą:

// 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; }
}

Validavimo žingsniai:

  • Patikrinkite galiojančius duomenų tipus (numeris, data ir tt)
  • Log arba vėliava nepilni / abejingi duomenys peržiūrėti

* 4 žingsnis: išsaugoti arba naudoti išvestus duomenis**

  • Saugokite struktūrizuotus rezultatus duomenų bazėje, „Excel“ failuose arba apdorojimo sistemoje.
  • Pasirinktinai naudokite Aspose.PDF.Plugino lentelės generatorių, kad struktūrizuoti duomenis sugrąžintumėte į PDF ar ataskaitą.

** Išplėstiniai scenarijai ir problemų sprendimas**

  • • Batch ekstrakcija: *

  • Eikite per kelis PDF failus ir surinkite struktūrizuotus duomenis iš visų dokumentų.

  • Kombinuojant OCR:

  • Skenuotų PDF programų atveju pirmiausia prieš teksto ekstrakciją naudokite OCR priedus.

  • klaidų tvarkymas:

  • Paimkite ir registruokite API klaidas, neigiamas JSON atsakas ir nesusijusius fragmentus.

Geriausios praktikos tikslumui ir atitikčiai

  • Iš anksto išvalykite PDF tekstą prieš siunčiant į ChatGPT, kad pašalintumėte antraštes / pėdomis.
  • Venkite siųsti jautrius dokumentus, nebent naudojate saugius / autorizuotus AI galinius taškus.
  • Siekiant gauti kritinius duomenis, naudokite po apdorojimo patvirtinimo žingsnį.

FAQ: Struktūrizuotas duomenų ekstrakcija su ChatGPT

**Q: Kokius struktūrizuotus duomenis galiu gauti iš PDF?**A: lentelės, sąrašai, pavadinti laukai ir reguliarūs modeliai (pavyzdžiui, datos, skaičiai, ID).

**Q: Ar šis metodas gali apdoroti kelis PDF failus vienu metu?**Atsakymas: Taip. „Batch“ ekstrakcija palaikoma – eikite per PDF rinkinį ir surinkite rezultatus.

**Q: Ar ChatGPT visada tikslus su lentelėmis ir skaičiais?**Atsakymas: Norėdami gauti geriausius rezultatus, naudokite tikslius žingsnius ir patvirtinkite visus kodo išėjimus.

 Lietuvių