mwan2211 commited on
Commit
4e5b0d7
·
verified ·
1 Parent(s): 65d5c2a

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +121 -1
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