ChatGPT 및 .NET을 사용하여 PDF에서 구조된 데이터를 추출하는 방법
PDF에서 구조화된 데이터 (예 : 테이블, 양식 또는 엔티티)를 추출하고 기계에서 읽을 수 있는 형식으로 변환함으로써 .NET 응용 프로그램에서 고급 자동화 및 AI가 지원하는 작업 흐름을 해제합니다.이 자세한 가이드는 모든 단계를 통해 진행됩니다.
소개
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 응답 및 구조되지 않은 조각.
정확성과 준수를 위한 최상의 관행
- ChatGPT에 전송하기 전에 사전 PDF 텍스트를 청소하여 헤드/포터를 제거합니다.
- 안전/허가된 AI 엔드 포인트를 사용하지 않는 한 민감한 문서를 보내는 것을 피하십시오.
- 중요한 데이터 추출을 위해, 처리 후 검증 단계를 사용하십시오.
FAQ : ChatGPT를 사용하여 구조화된 데이터 추출
**Q: 어떤 종류의 구조화된 데이터를 PDF에서 추출할 수 있습니까?**A : 테이블, 목록, 이름 필드 및 일반 패턴 (예 : 날짜, 금액, ID).
**Q: 이 방법은 한 번에 여러 PDF를 처리할 수 있습니까?**A: 예. 배치 추출은 지원됩니다 - PDF 세트를 통해 롤하고 결과를 집합합니다.
**Q: ChatGPT는 테이블과 숫자와 항상 정확합니까?**A: 최상의 결과를 얻으려면 정확한 속도를 사용하고 코드에있는 모든 출력을 확인하십시오.