mwan2211/PaddleOCR_keyBERT
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
Hệ thống OCR & Trích xuất Từ khóa (PaddleOCR + KeyBERT)
- Tổng quan Hệ thống (Pipeline) Hệ thống được thiết kế theo một quy trình hai giai đoạn chính:
OCR (Optical Character Recognition): Nhận dạng văn bản từ hình ảnh.
Keyword Extraction (KeyBERT): Trích xuất các từ khóa cốt lõi từ văn bản đã nhận dạng.
Mục tiêu của Hệ thống Xác định nội dung có giá trị cao và cốt lõi của sản phẩm.
Đảm bảo từ khóa đại diện đúng cho sản phẩm hoặc bao bì.
Loại bỏ các thông tin phụ, gây nhiễu, không liên quan đến bản chất sản phẩm.
- Giai đoạn 1: PaddleOCR – Cơ chế hoạt động OCR Hệ thống sử dụng PaddleOCR, thư viện OCR mã nguồn mở do Baidu phát triển, hoạt động theo kiến trúc hai bước:
Text Detection: Phát hiện vùng chứa chữ trong ảnh.
Text Recognition: Nhận diện nội dung chữ trong từng vùng.
Luồng Xử lý OCR trong Hệ thống Tiền xử lý ảnh:
Đảm bảo ảnh ở dạng uint8 và chuẩn hóa kênh màu.
Giữ nguyên độ phân giải gốc để tránh mất chi tiết chữ nhỏ.
Nhận dạng OCR:
PaddleOCR phát hiện các vùng chữ (polygon) và thực hiện nhận dạng nội dung.
Chuẩn hóa kết quả:
Mỗi dòng chữ được đưa về cấu trúc thống nhất chứa:
text: Nội dung chữ đã nhận dạng.
score: Mức độ tin cậy của OCR.
bbox: Vị trí chữ trong ảnh (x1, y1, x2, y2).
Lý do chọn PaddleOCR cho Bài toán Bao bì Không cần huấn luyện lại mô hình.
Hoạt động tốt với chữ cong, font phức tạp và văn bản bị xoay.
Hỗ trợ đa ngôn ngữ.
Cung cấp thông tin vị trí (bbox) để phục vụ lọc thông minh ở giai đoạn sau.
- Lọc Nội dung: Focus Text Builder Kết quả OCR thô thường chứa nhiều thông tin không quan trọng (ví dụ: Thành phần, Hướng dẫn sử dụng, Địa chỉ, Barcode). Những thông tin này không đại diện cho bản chất sản phẩm.
Do đó, hệ thống xây dựng một đoạn Focus Text (văn bản tập trung) trước khi đưa vào KeyBERT.
Tiêu chí chọn Focus Text Có ký tự chữ (không phải toàn số hoặc ký hiệu).
Có bounding box hợp lệ và độ tin cậy OCR đủ cao.
Ưu tiên vùng phía trên và vùng chữ có diện tích lớn.
Loại bỏ các dòng chứa từ khóa nhiễu (ví dụ: ingredients, warning, barcode, hotline, v.v.).
Kết quả là một đoạn văn bản ngắn, cô đọng, đại diện cho nội dung chính của bao bì.
- Giai đoạn 2: KeyBERT – Trích xuất Từ khóa KeyBERT là phương pháp trích xuất từ khóa dựa trên embedding ngữ nghĩa: chuyển văn bản thành vector, sau đó so sánh mức độ liên quan giữa cụm từ và toàn văn bản để chọn các cụm từ đại diện tốt nhất.
Ưu điểm của KeyBERT Không cần dữ liệu huấn luyện (Unsupervised).
Không phụ thuộc vào tần suất xuất hiện từ.
Rất phù hợp với văn bản ngắn (bao bì, nhãn sản phẩm).
Quy trình Trích xuất Từ khóa Đầu vào: Focus Text.
Sinh Keyphrase: Tạo các cụm từ ứng viên (ví dụ: 1–4 từ).
MMR (Maximal Marginal Relevance): Giảm trùng lặp và tăng độ đa dạng từ khóa.
Hậu xử lý:
Loại bỏ cụm từ quá ngắn hoặc chứa nội dung nhiễu.
Giữ lại Top-N từ khóa quan trọng nhất.
- Chiến lược Fallback (Dự phòng) Trong trường hợp KeyBERT không khả dụng (thiếu tài nguyên hoặc lỗi thư viện):
Hệ thống tự động chuyển sang cơ chế Rule-based Keyword Extraction.
Các dòng chữ quan trọng nhất được lấy trực tiếp từ Focus Text.
Đảm bảo hệ thống vẫn trả kết quả và duy trì tính ổn định.
- Tóm tắt Toàn bộ Pipeline Ảnh đầu vào
PaddleOCR
Danh sách (text, score, bbox)
Focus Text Builder (Lọc thông minh)
KeyBERT / Rule-based fallback
Danh sách từ khóa cuối cùng
Triết lý Thiết kế Ưu tiên tính ổn định hơn độ phức tạp. Không over-tune OCR. Tập trung vào Lọc thông minh ở tầng ngữ cảnh và vị trí (Focus Text Builder). dùng Keyword extraction để chọn ra từ khóa đại diện
