Как извлечь структурированные данные из 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 всегда точным с таблицами и номерами?**Ответ: Для наилучших результатов используйте точные скорости и валидируйте все выходы в коде.