Как извлечь структурированные данные из PDF с помощью ChatGPT и .NET

Как извлечь структурированные данные из PDF с помощью ChatGPT и .NET

Отключение передовой автоматизации и рабочих потоков, поддерживаемых искусством интеллекта, в ваших приложениях .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 или системе обработки низкого потока.
  • Опционально используйте Aspose.PDF.Plugin TableGenerator для введения структурированных данных обратно в резюме PDF или отчета.

Улучшенные сценарии и решения проблем

  • Экстракция батареи:

  • Пройдите через несколько PDF-файлов и совокупьте структурированные данные из всех документов.

  • Комбинированный OCR:

  • Для сканированных PDF-файлов используйте плагины OCR сначала перед экстракцией текста.

  • Ошибка обработки:

  • Уловить и записывать ошибки API, недействительные ответы JSON и неструктурированные фрагменты.

Лучшие практики для точности и соответствия

  • Заранее очистить PDF-текст перед отправлением в ChatGPT, чтобы удалить заголовки / ноги.
  • Избегайте отправки чувствительных документов, если не используете безопасные/уполномоченные конечные точки ИИ.
  • Для критического извлечения данных используйте шаг валидации после обработки.

FAQ: Структурное извлечение данных с помощью ChatGPT

**Q: Какие типы структурированных данных я могу извлечь из PDF?**А: Таблицы, списки, названы поля и регулярные шаблоны (например, даты, суммы, идентификаторы).

**Q: Может ли этот метод обрабатывать несколько PDF-файлов одновременно?**Ответ: Да. Бач-экстракция поддерживается — прохождение через свой PDF-сеть и совокупность результатов.

**Q: является ли ChatGPT всегда точным с таблицами и номерами?**Ответ: Для наилучших результатов используйте точные скорости и валидируйте все выходы в коде.

 Русский