Како извући структуриране податке из ПДФ-а користећи ЦхатГПТ и .НЕТ

Како извући структуриране податке из ПДФ-а користећи ЦхатГПТ и .НЕТ

Откључите напредну аутоматизацију и радне токове који се баве ИИ-ом у вашим апликацијама .НЕТ-а извлачењем структурираних података (као што су табеле, обрасци или ентитети) из ПДФ и конвертујући их у форматима које се могу читати машином. Овај детаљан водич пролази кроз све кораке – од текстуалне екстракције до интелигентне податке пасинг користећи ЦхатГПТ.

Увод

Структурисани извлачење података из ПДФ докумената је кључна захтева за пословне интелигенције, извештавање и аутоматизацију сценарија. док Аппосе.Пруггин омогућава чврсту текстуалну екстракцију у .НЕТ, комбиновање са ЦхатГПТ-ом вам дозвољава да поделите, категоризујете и форматирате информације као ЈСОН, ЦСВ или домен објекти.

Уобичајени случајеви коришћења:

  • Екстракција података за рачуноводство за аутоматизацију
  • Истраживање табела из истраживачких докумената
  • Претварање скенираних обрасца у структуриране записе

Корак 1: Екстрактирајте текст или садржај табеле из ПДФ

Почните са коришћењем 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: Припремите и пошаљите Промптс на ЦхатГПТ

Можете наредити ЦхатГПТ да парасе и вратите податке у структурираном формату као што су ЈСОН или ЦСВ.

string apiKey = "YOUR_OPENAI_API_KEY";
string prompt = $"Extract the following invoice data as JSON: {rawText}";
// Use HttpClient as in previous examples
  • Савети за боље резултате:

  • Користите јасне, експлицитне поруке: “Екстрактирајте табелу описи производа, цене и укупности као ЈСОН.”

  • За велике ПДФ-а, извуците и пошаљите текст у логичким сегментима (на пример, једна табела у једном тренутку).

Корак 3: Парсе и валидирајте излаз АИ

Након што добијете одговор ЦхатГПТ-а, парсирајте структуриране податке користећи ЈСОН (или ЦСВ) парцера:

// 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: Сачувајте или користите извађене податке

  • Складиштење структурираних резултата у бази података, Екцел датотеку или систем за обраду доњег тока.
  • Опционално, користите Aspose.PDF.Plugin’s TableGenerator да бисте убризгли структуриране податке назад у резюме ПДФ или извештај.

Напредни сценарији и решавање проблема

  • Бацх екстракција :

  • Пролазите кроз више ПДФ-а и агрегирајте структуриране податке из свих докумената.

  • Комбиновани ОЦР:

  • За скениране ПДФ-а, прво користите ОЦР плагине пре извлачења текста.

  • Управљање грешкама:

  • Ухватите и региструјте грешке АПИ-а, неважећим ЈСОН одговорима и неструктурисаним фрагментима.

Најбоља пракса за прецизност и усклађеност

  • Пречистите ПДФ текст пре него што га пошаљете на ЦхатГПТ да бисте уклонили наслове / стопала.
  • Избегавајте шаљење осетљивих докумената, осим ако користите сигурне / овлашћене ИИ коначне тачке.
  • За критичну извлачење података, користите корак валидације након обраде.

ФАК: Структурисано извлачење података са ЦхатГПТ

**П: Које врсте структурираних података могу извући из ПДФ-а?**А: Табеле, листе, именоване поље и редовне обрасци (као што су датуми, количине, ИД).

**П: Може ли овај метод обрадити више ПДФ-а одједном?**А: Да. Баццх екстракција је подржана – пролазе кроз ваш ПДФ сет и агрегирају резултате.

**П: Да ли је ЦхатГПТ увек тачан са табелама и бројевима?**А: За најбоље резултате, користите прецизне брзине и валидирајте све излазе у коду.

 Српски