Как да извлечем структурирани данни от PDF с помощта на ChatGPT и .NET
Отключете усъвършенстваната автоматизация и работните потоци с AI в приложенията .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: Подгответе и изпратете препратки към ChatGPT
Можете да накарате 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 файлове, извлечете и изпратете текст в логически сегменти (например, една таблица наведнъж).
Стъпка 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 отговори и неструктурирани фрагменти.
Най-добрите практики за точност и съответствие
- Пречистете PDF текст, преди да го изпратите на ChatGPT, за да премахнете заглавията / стъпките.
- Избягвайте изпращането на чувствителни документи, освен ако не използвате сигурни / упълномощени AI крайни точки.
- За критично извличане на данни, използвайте следпроцесуван валидационен етап.
FAQ: Структурно извличане на данни с ChatGPT
**П: Какви видове структурирани данни мога да извличам от PDF?**A: Табели, списъци, именовани полета и редовни шаблони (като дати, суми, ИД).
**П: Може ли този метод да обработва няколко PDF файла наведнъж?**A: Да. Бач екстракция е поддържан — ходи през вашия PDF набор и агрегиране на резултатите.
**П: Дали ChatGPT винаги е точен с таблици и цифри?**А: За най-добри резултати, използвайте точни скорости и валидиране на всички изходи в кода.