Trích xuất PDF là quá trình trích xuất văn bản, hình ảnh hoặc dữ liệu khác từ tệp PDF. Trong bài viết này, chúng tôi khám phá các phương pháp trích xuất dữ liệu PDF hiện tại, những hạn chế của chúng và cách GPT-4 có thể được sử dụng để thực hiện các tác vụ trả lời câu hỏi đối với việc trích xuất PDF. Chúng tôi cũng cung cấp hướng dẫn từng bước để triển khai GPT-4 cho trích xuất dữ liệu PDF .
Vì vậy, chúng ta hãy nhảy ngay vào nó.
Trích xuất dữ liệu PDF là quá trình trích xuất văn bản, hình ảnh hoặc dữ liệu khác từ tệp PDF (Định dạng Tài liệu Di động). Các tệp này được sử dụng rộng rãi để chia sẻ và lưu trữ tài liệu, nhưng nội dung của chúng không phải lúc nào cũng dễ dàng truy cập được.
Khả năng truy cập và khả năng đọc của tệp PDF là rất cần thiết đối với những người có vấn đề về thị lực hoặc gặp khó khăn khi đọc văn bản nhỏ hoặc mờ, hữu ích cho các tình huống pháp lý, phân tích dữ liệu và nghiên cứu. Một số trường hợp yêu cầu trích xuất bao gồm sử dụng nội dung văn bản hoặc hình ảnh từ tệp PDF trong các tài liệu khác để tiết kiệm thời gian và tránh nhầm lẫn.
Bây giờ là năm 2023 và có rất nhiều công cụ và kỹ thuật trích xuất PDF có sẵn trên internet. Hãy tìm hiểu sâu hơn về 3 kỹ thuật trích xuất dữ liệu phổ biến và một số ví dụ tương tự:
OCR hoặc viết tắt của Optical Character Recognition
có thể được sử dụng để trích xuất văn bản từ nhiều nguồn khác nhau, bao gồm tài liệu được quét, hình ảnh và tệp PDF và thường được sử dụng để số hóa các tài liệu in như sách, báo và tài liệu lịch sử.
Một số công cụ OCR phổ biến bao gồm:
Các kỹ thuật dựa trên mẫu có tính đến phong cách của tài liệu PDF và sử dụng các quy tắc được mã hóa cứng. Các kỹ thuật này thường hoạt động trên các tài liệu có cấu trúc, có cấu trúc không đổi và dễ hiểu.
Sử dụng mẫu regex
Ví dụ: ngày có thể được trích xuất theo quy tắc regex sau:
[dd-mm-yyyy hoặc yyyy-mm-dd] - [0-9]{2,4}/[0-9]{2}/[0-9]{2,4}
Quy tắc mã hóa cứng dựa trên vị trí của văn bản và kích thước của tài liệu
Các kỹ thuật Machine Learning (ML) được coi là một trong những phương pháp tốt nhất để trích xuất PDF vì nó cho phép nhận dạng văn bản và trích xuất chính xác cao từ các tệp PDF bất kể cấu trúc tệp. Các mô hình này có thể lưu trữ thông tin về cả layout
và position of the text
, đồng thời ghi nhớ văn bản lân cận. Điều này giúp họ khái quát tốt hơn và học cấu trúc tài liệu hiệu quả hơn.
Mô hình ngôn ngữ lớn là một tập hợp con của trí tuệ nhân tạo đã được đào tạo trên lượng lớn dữ liệu văn bản. Ví dụ: ChatGPT được đào tạo trên toàn bộ dữ liệu và thông tin trên internet để tạo ra các phản hồi giống như con người đối với cuộc đối thoại hoặc các đầu vào ngôn ngữ tự nhiên khác.
Để tạo ra các phản hồi bằng ngôn ngữ tự nhiên này, các LLM sử dụng các mô hình học sâu, sử dụng các mạng thần kinh nhiều lớp để xử lý, phân tích và đưa ra dự đoán với dữ liệu phức tạp.
Hạn chế của các mô hình ML
Một vấn đề chính mà loại mô hình này gặp phải là họ chỉ có thể trích xuất thông tin từ PDF mà không biết liệu việc trích xuất có thực sự chính xác hay không. Các văn bản được trích xuất cũng có thể bao gồm một số thông tin khóa khác trong một khóa khác. Có một bối cảnh thông minh giúp mô hình giảm thiểu những điểm không chính xác đó.
Để giải quyết vấn đề này và tích hợp trí thông minh vào hệ thống trích xuất PDF, chúng ta có thể tận dụng sức mạnh của GPT-4.
GPT-4 (Generative Pre-training Transformer 4) là một mô hình ngôn ngữ lớn do OpenAI phát triển, sử dụng các kỹ thuật học sâu để tạo văn bản ngôn ngữ tự nhiên giống con người. Đây là một trong những mô hình ngôn ngữ lớn nhất và mạnh nhất hiện có, với 175 tỷ tham số.
Mặt khác, Chat-GPT là một biến thể của GPT đã được đào tạo riêng cho các ứng dụng AI đàm thoại. Nó đã được tinh chỉnh trên một tập dữ liệu lớn về dữ liệu hội thoại và có thể tạo phản hồi giống như con người đối với các truy vấn của người dùng. Trò chuyện GPT có thể được sử dụng cho nhiều ứng dụng, bao gồm chatbot, dịch vụ khách hàng và trợ lý ảo.
Hãy tiếp tục với tuyên bố vấn đề và xem xét cách GPT-4 cùng với ChatGPT có thể giúp chúng tôi giải quyết vấn đề trích xuất PDF.
Thách thức trong việc trích xuất thông tin cụ thể một cách hiệu quả từ tập hợp các tệp PDF là thách thức mà nhiều ứng dụng và ngành công nghiệp thường xuyên gặp phải. Trích xuất thông tin từ báo cáo ngân hàng hoặc biểu mẫu thuế là khó khăn. Cách cũ là quét thủ công qua nhiều tệp PDF mất nhiều thời gian và có thể tạo ra dữ liệu không chính xác hoặc không nhất quán. Ngoài ra, dữ liệu phi cấu trúc được tìm thấy trong các tệp PDF khiến các hệ thống tự động gặp khó khăn trong việc trích xuất thông tin cần thiết.
Chúng tôi dự định giải quyết vấn đề tìm câu trả lời cho câu hỏi của người dùng từ PDF mà không cần can thiệp thủ công.
Chúng tôi có thể sử dụng GPT-4 và các phần mềm nhúng của nó để tạo lợi thế cho mình:
Thực hiện
A: Trích xuất văn bản từ PDF
Bạn có thể sử dụng bất kỳ kỹ thuật OCR hoặc ML nào để trích xuất văn bản từ tài liệu
B: Chia văn bản thành các phần nhỏ hơn phù hợp dựa trên cấu trúc của tài liệu
Sử dụng thông tin tọa độ của Bounding-Box [x0, y0, x2, y2] trong đó x0 và y0 là tọa độ trên cùng bên trái và x2 và y2 là tọa độ dưới cùng bên phải, bạn có thể chia toàn bộ văn bản thành các đoạn nhỏ hơn có chiều rộng nhất định và chiều cao.
C: Mã hóa các khối đó thành Nhúng [hoặc sử dụng Nhúng OpenAI hoặc HuggingFace ]
import torch from transformers import AutoTokenizer, AutoModel # Load the pre-trained model and tokenizer tokenizer = AutoTokenizer.from_pretrained('bert-base-uncased') model = AutoModel.from_pretrained('bert-base-uncased') # Tokenize the sentence tokens = tokenizer.encode("<pass your code chunk block here>", return_tensors='pt') # Get the embeddings with torch.no_grad(): outputs = model(tokens) embeddings = outputs[0][0] # Print the embeddings print(embeddings)
Vector DB là gì và tại sao lại cần thiết?
A: Tính toán nhúng cho truy vấn của người dùng
Sử dụng kỹ thuật tương tự như đã đề cập ở trên để tính toán các phần nhúng
B: Tìm kiếm vectơ nhúng chunk từ cơ sở dữ liệu vectơ có phần nhúng phù hợp chặt chẽ với phần nhúng của truy vấn người dùng
Bạn có thể sử dụng bất kỳ similarity search algorithm
.
Bạn có thể sử dụng tính tương tự của câu ngữ nghĩa của thư viện biến câu.
from sentence_transformers import SentenceTransformer, util #Compute cosine-similarities for each code chunk embds with user's query embeddings cosine_scores = util.cos_sim(code_chunk_embds, user_query_embds)
A: Cung cấp 3 đầu vào.
Đầu vào1: Truy vấn người dùng
Đầu vào2 : Đoạn gần giống với truy vấn
Đầu vào3: Một số Chỉ dẫn Meta nếu có [ Hệ thống: Chỉ trả lời các câu hỏi dựa trên thông tin được cung cấp trong tài liệu ]
B: Đầu ra GPT-4 là câu trả lời
Như chúng ta đã biết vì GPT4 là một LLM mạnh mẽ có thể kết hợp một lượng lớn ngữ cảnh với độ dài mã thông báo là 8.192 và 32.768 mã thông báo, nên việc tạo ra kết quả rất chính xác trở nên dễ dàng và rất nhanh chóng.
API ChatGPT tích hợp liền mạch với bất kỳ ngôn ngữ lập trình nào có thể giúp chúng tôi nhiều hơn trong các tác vụ hạ nguồn.