Spaces:
Running
Running
Update README.md
Browse files
README.md
CHANGED
|
@@ -1,6 +1,5 @@
|
|
| 1 |
---
|
| 2 |
title: PaddleOCR KeyBERT
|
| 3 |
-
emoji: 🚀
|
| 4 |
colorFrom: indigo
|
| 5 |
colorTo: pink
|
| 6 |
sdk: gradio
|
|
@@ -12,3 +11,124 @@ short_description: just using paddle and keybert to recognize image
|
|
| 12 |
---
|
| 13 |
|
| 14 |
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
title: PaddleOCR KeyBERT
|
|
|
|
| 3 |
colorFrom: indigo
|
| 4 |
colorTo: pink
|
| 5 |
sdk: gradio
|
|
|
|
| 11 |
---
|
| 12 |
|
| 13 |
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
| 14 |
+
|
| 15 |
+
---
|
| 16 |
+
Hệ thống OCR & Trích xuất Từ khóa
|
| 17 |
+
(PaddleOCR + KeyBERT)
|
| 18 |
+
1. Tổng quan Hệ thống (Pipeline)
|
| 19 |
+
Hệ thống được thiết kế theo một quy trình hai giai đoạn chính:
|
| 20 |
+
|
| 21 |
+
OCR (Optical Character Recognition): Nhận dạng văn bản từ hình ảnh.
|
| 22 |
+
|
| 23 |
+
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.
|
| 24 |
+
|
| 25 |
+
Mục tiêu của Hệ thống
|
| 26 |
+
Xác định nội dung có giá trị cao và cốt lõi của sản phẩm.
|
| 27 |
+
|
| 28 |
+
Đảm bảo từ khóa đại diện đúng cho sản phẩm hoặc bao bì.
|
| 29 |
+
|
| 30 |
+
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.
|
| 31 |
+
|
| 32 |
+
2. Giai đoạn 1: PaddleOCR – Cơ chế hoạt động OCR
|
| 33 |
+
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:
|
| 34 |
+
|
| 35 |
+
Text Detection: Phát hiện vùng chứa chữ trong ảnh.
|
| 36 |
+
|
| 37 |
+
Text Recognition: Nhận diện nội dung chữ trong từng vùng.
|
| 38 |
+
|
| 39 |
+
Luồng Xử lý OCR trong Hệ thống
|
| 40 |
+
Tiền xử lý ảnh:
|
| 41 |
+
|
| 42 |
+
Đảm bảo ảnh ở dạng uint8 và chuẩn hóa kênh màu.
|
| 43 |
+
|
| 44 |
+
Giữ nguyên độ phân giải gốc để tránh mất chi tiết chữ nhỏ.
|
| 45 |
+
|
| 46 |
+
Nhận dạng OCR:
|
| 47 |
+
|
| 48 |
+
PaddleOCR phát hiện các vùng chữ (polygon) và thực hiện nhận dạng nội dung.
|
| 49 |
+
|
| 50 |
+
Chuẩn hóa kết quả:
|
| 51 |
+
|
| 52 |
+
Mỗi dòng chữ được đưa về cấu trúc thống nhất chứa:
|
| 53 |
+
|
| 54 |
+
text: Nội dung chữ đã nhận dạng.
|
| 55 |
+
|
| 56 |
+
score: Mức độ tin cậy của OCR.
|
| 57 |
+
|
| 58 |
+
bbox: Vị trí chữ trong ảnh (x1, y1, x2, y2).
|
| 59 |
+
|
| 60 |
+
Lý do chọn PaddleOCR cho Bài toán Bao bì
|
| 61 |
+
Không cần huấn luyện lại mô hình.
|
| 62 |
+
|
| 63 |
+
Hoạt động tốt với chữ cong, font phức tạp và văn bản bị xoay.
|
| 64 |
+
|
| 65 |
+
Hỗ trợ đa ngôn ngữ.
|
| 66 |
+
|
| 67 |
+
Cung cấp thông tin vị trí (bbox) để phục vụ lọc thông minh ở giai đoạn sau.
|
| 68 |
+
|
| 69 |
+
3. Lọc Nội dung: Focus Text Builder
|
| 70 |
+
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.
|
| 71 |
+
|
| 72 |
+
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.
|
| 73 |
+
|
| 74 |
+
Tiêu chí chọn Focus Text
|
| 75 |
+
Có ký tự chữ (không phải toàn số hoặc ký hiệu).
|
| 76 |
+
|
| 77 |
+
Có bounding box hợp lệ và độ tin cậy OCR đủ cao.
|
| 78 |
+
|
| 79 |
+
Ưu tiên vùng phía trên và vùng chữ có diện tích lớn.
|
| 80 |
+
|
| 81 |
+
Loại bỏ các dòng chứa từ khóa nhiễu (ví dụ: ingredients, warning, barcode, hotline, v.v.).
|
| 82 |
+
|
| 83 |
+
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ì.
|
| 84 |
+
|
| 85 |
+
4. Giai đoạn 2: KeyBERT – Trích xuất Từ khóa
|
| 86 |
+
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.
|
| 87 |
+
|
| 88 |
+
Ưu điểm của KeyBERT
|
| 89 |
+
Không cần dữ liệu huấn luyện (Unsupervised).
|
| 90 |
+
|
| 91 |
+
Không phụ thuộc vào tần suất xuất hiện từ.
|
| 92 |
+
|
| 93 |
+
Rất phù hợp với văn bản ngắn (bao bì, nhãn sản phẩm).
|
| 94 |
+
|
| 95 |
+
Quy trình Trích xuất Từ khóa
|
| 96 |
+
Đầu vào: Focus Text.
|
| 97 |
+
|
| 98 |
+
Sinh Keyphrase: Tạo các cụm từ ứng viên (ví dụ: 1–4 từ).
|
| 99 |
+
|
| 100 |
+
MMR (Maximal Marginal Relevance): Giảm trùng lặp và tăng độ đa dạng từ khóa.
|
| 101 |
+
|
| 102 |
+
Hậu xử lý:
|
| 103 |
+
|
| 104 |
+
Loại bỏ cụm từ quá ngắn hoặc chứa nội dung nhiễu.
|
| 105 |
+
|
| 106 |
+
Giữ lại Top-N từ khóa quan trọng nhất.
|
| 107 |
+
|
| 108 |
+
5. Chiến lược Fallback (Dự phòng)
|
| 109 |
+
Trong trường hợp KeyBERT không khả dụng (thiếu tài nguyên hoặc lỗi thư viện):
|
| 110 |
+
|
| 111 |
+
Hệ thống tự động chuyển sang cơ chế Rule-based Keyword Extraction.
|
| 112 |
+
|
| 113 |
+
Các dòng chữ quan trọng nhất được lấy trực tiếp từ Focus Text.
|
| 114 |
+
|
| 115 |
+
Đảm bảo hệ thống vẫn trả kết quả và duy trì tính ổn định.
|
| 116 |
+
|
| 117 |
+
6. Tóm tắt Toàn bộ Pipeline
|
| 118 |
+
Ảnh đầu vào
|
| 119 |
+
|
| 120 |
+
PaddleOCR
|
| 121 |
+
|
| 122 |
+
Danh sách (text, score, bbox)
|
| 123 |
+
|
| 124 |
+
Focus Text Builder (Lọc thông minh)
|
| 125 |
+
|
| 126 |
+
KeyBERT / Rule-based fallback
|
| 127 |
+
|
| 128 |
+
Danh sách từ khóa cuối cùng
|
| 129 |
+
|
| 130 |
+
Triết lý Thiết kế
|
| 131 |
+
Ưu tiên tính ổn định hơn độ phức tạp.
|
| 132 |
+
Không over-tune OCR.
|
| 133 |
+
Tập trung vào Lọc thông minh ở tầng ngữ cảnh và vị trí (Focus Text Builder).
|
| 134 |
+
dùng Keyword extraction để chọn ra từ khóa đại diện
|