Làm thế nào để lấy dữ liệu cấu trúc từ PDF bằng cách sử dụng ChatGPT và .NET
Khóa tự động hóa tiên tiến và dòng công việc AI trong các ứng dụng .NET của bạn bằng cách thu thập dữ liệu có cấu trúc (như bảng, biểu mẫu hoặc thực thể) từ PDF và chuyển đổi nó sang định dạng có thể đọc bằng máy. Hướng dẫn chi tiết này đi qua tất cả các bước - từ khai thác văn bản đến thông minh data parsing sử dụng ChatGPT.
Giới thiệu
Tiết xuất dữ liệu cấu trúc từ các tài liệu PDF là một yêu cầu quan trọng cho các kịch bản trí tuệ kinh doanh, báo cáo và tự động hóa. Trong khi Aspose.PDF.Plugin cho phép thu thập văn bản mạnh mẽ trong .NET, kết hợp nó với ChatGPT cho bạn để phân loại, định danh và định dạng thông tin như JSON, CSV, hoặc các đối tượng miền.
Các trường hợp sử dụng phổ biến:
- Tiết xuất dữ liệu hóa đơn cho tự động hóa kế toán
- Tải bảng từ các tài liệu nghiên cứu
- Chuyển đổi các hình thức được quét thành hồ sơ cấu trúc
Bước 1: Xóa nội dung văn bản hoặc bảng từ PDF
Bắt đầu bằng cách sử dụng TextExtractor
hoặc, cho dữ liệu bảng, các tùy chọn chuyên môn trong 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();
Bước 2: Chuẩn bị và gửi Prompts cho ChatGPT
Bạn có thể hướng dẫn ChatGPT để chia và trả về dữ liệu trong một định dạng có cấu trúc như JSON hoặc CSV.
string apiKey = "YOUR_OPENAI_API_KEY";
string prompt = $"Extract the following invoice data as JSON: {rawText}";
// Use HttpClient as in previous examples
Lời khuyên cho kết quả tốt hơn:
Sử dụng những lời khuyên rõ ràng và cụ thể: “Hãy rút ra một bảng mô tả các mục, giá cả và tổng số như JSON.”
Đối với PDF lớn, lấy và gửi văn bản trong các phân đoạn logic (ví dụ, một bảng cùng một lúc).
Bước 3: Parse và Validate AI Output
Sau khi nhận được phản ứng của ChatGPT, chia các dữ liệu có cấu trúc bằng cách sử dụng một JSON (hoặc CSV) chia sẻ:
// 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; }
}
Các bước xác thực:
- Kiểm tra các loại dữ liệu hợp lệ (độ, ngày, v.v.)
- Đăng ký hoặc lá cờ dữ liệu không đầy đủ / nhầm lẫn để xem xét
Bước 4: Lưu hoặc sử dụng dữ liệu được thu thập
- Lưu các kết quả có cấu trúc trong một cơ sở dữ liệu, tệp Excel hoặc hệ thống xử lý downstream.
- Tùy chọn, sử dụng Aspose.PDF.Plugin’s TableGenerator để tiêm dữ liệu có cấu trúc trở lại vào một tổng kết PDF hoặc báo cáo.
Các kịch bản tiên tiến và giải quyết vấn đề
Phân tích Batch:
Đi qua nhiều PDF và tổng hợp dữ liệu có cấu trúc từ tất cả các tài liệu.
Kết hợp OCR:
Đối với PDF được quét, hãy sử dụng các plugin OCR trước khi lấy văn bản.
Lỗi xử lý:
Chụp và ghi lỗi API, trả lời JSON không hiệu quả, và các mảnh vỡ không cấu trúc.
Thực hành tốt nhất cho độ chính xác và tuân thủ
- Tự làm sạch văn bản PDF trước khi gửi đến ChatGPT để loại bỏ các tiêu đề / chân.
- Tránh gửi tài liệu nhạy cảm trừ khi sử dụng điểm kết thúc AI an toàn / được ủy quyền.
- Đối với việc khai thác dữ liệu quan trọng, hãy sử dụng một bước xác thực sau quá trình xử lý.
FAQ: Tiết xuất dữ liệu có cấu trúc với ChatGPT
**Q: Những loại dữ liệu có cấu trúc nào tôi có thể lấy từ PDF?**A: Bảng, danh sách, các trường được đặt tên và các mẫu thường xuyên (như ngày, số lượng, ID).
**Q: Phương pháp này có thể xử lý nhiều PDF cùng một lúc không?**A: Có. Batch extraction được hỗ trợ—loop thông qua set PDF của bạn và tổng hợp kết quả.
**Q: ChatGPT luôn chính xác với bảng và số?**A: Để có kết quả tốt nhất, hãy sử dụng các dấu hiệu chính xác và xác nhận tất cả các xuất khẩu trong mã.