Cảm ơn Team, Phiên bản này rất tốt và hiệu quả... nhưng vẫn có vấn đề ở nhận dạng chữ in Hoa Và hay bị double dữ liệu
Mình có thử Scan Căn Cước Công Dân thì đa số thông tin sẽ bị sai sót ở dấu tiếng Việt chữ In Hoa
1) Ví dụ:
VÕ THỊ KIỀU NGÂN model nhận dạng sai là VÕ THỊ KIỂU NGÂN
BẠCH TRỌNG ĐẠI => BÀCH TRỌNG ĐẠI
ĐỒ => ĐỔ
2) Thường thì các ảnh khác màu đôi chút với hình CCCD bình thường thì sẽ hay bị double dữ liệu hoặc là
{'id_number': '095305002827', 'fullname': 'VÕ THỊ KIỂU HÂN', 'day_of_birth': '15/10/2005', 'sex': 'Nữ', 'nationality': 'Việt Nam', 'place_of_residence': 'Ấp Ninh Bình, Ninh Quới, Hồng Dân, Bạc Liêu', 'place_of_origin': 'Ninh Quới, Hồng Dân, Bạc Liêu', 'date_of_expiry': '15/10/2030', 'date_of_issue': None, 'place_of_issue': None}, 'json': {'id_number': '095305002827', 'fullname': 'VÕ THỊ KIỂU HÂN', 'day_of_birth': '15/10/2005', 'sex': 'Nữ', 'nationality': 'Việt Nam', 'place_of_residence': 'Ấp Ninh Bình, Ninh Quới, Hồng Dân, Bạc Liêu', 'place_of_origin': 'Ninh Quới, Hồng Dân, Bạc Liêu', 'date_of_expiry': '15/10/2030', 'date_of_issue': None, 'place_of_issue': None}}
hoặc là
{'id_number': '066182006421', 'fullname': 'ĐỖ THỊ THANH MAI', 'day_of_birth': '08/06/1982', 'sex': 'Nữ', 'nationality': 'Việt Nam', 'place_of_residence': '170/9 Lầu 5 Võ Văn Tần, P. 5, Q. 3, TP. Hồ Chí Minh', 'place_of_origin': 'Tỉnh Giang, Sơn Tịnh, Quảng Ngãi', 'date_of_expiry': '08/06/2042', 'date_of_issue': None, 'place_of_issue': None}, 'json': {'id_number': '066182006421', 'fullname': 'ĐỖ THỊ THANH MAI', 'day_of_birth': '08/06/1982', 'sex': 'Nữ', 'nationality': 'Việt Nam', 'place_of_residence': '170/9 Lầu 5 Võ Văn Tần, P. 5, Q. 3, TP. Hồ Chí Minh', 'place_of_origin': 'Tỉnh Giang, Sơn Tịnh, Quảng Ngãi', 'date_of_expiry': '08/06/2042', 'date_of_issue': None, 'place_of_issue': None}}, 'model': None, 'model_version': None, 'creator': None, 'creator_date': None, 'expiry_date': None, 'issue_date': None, 'issuing_authority': None, 'holder_information': {'full_name': 'ĐỖ THỊ THANH MAI', 'date_of_birth': '08/06/1982', 'sex': 'Nữ', 'nationality': 'Việt Nam', 'address': '170/9 Lầu 5 Võ Văn Tần, P. 5, Q. 3, TP. Hồ Chí Minh'}}, 'data': {'id_number': '066182006421', 'fullname': 'ĐỖ THỊ THANH MAI', 'date_of_birth': '08/06/1982', 'sex': 'Nữ', 'nationality': 'Việt Nam', 'place_of_residence': '170/9 Lầu 5 Võ Văn Tần, P. 5, Q. 3, TP. Hồ Chí Minh', 'place_of_origin': 'Tỉnh Giang, Sơn Tịnh, Quảng Ngãi'}, 'model': None, 'model_version': None, 'creator': None, 'creator_date': None, 'expiry_date': '08/06/2042', 'issue_date': None, 'issuing_authority': None, 'holder_information': {'full_name': 'ĐỖ THỊ THANH MAI', 'date_of_birth': '08/06/1982', 'sex': 'Nữ', 'nationality': 'Việt Nam', 'address': '170/9 Lầu 5 Võ Văn Tần, P. 5, Q. 3, TP. Hồ Chí Minh'}}, 'file': None, 'file_version': None, 'creator': None, 'creator_date': None, 'expiry_date': '08/06/2042', 'issue_date': None, 'issuing_authority': None, 'holder_information': {'full_name': 'ĐỖ THỊ THANH MAI', 'date_of_birth': '08/06/1982', 'sex': 'Nữ', 'nationality': 'Việt Nam', 'address': '170/9 Lầu 5 Võ Văn Tần, P. 5, Q. 3, TP. Hồ Chí Minh'}}, 'other': None, 'other_version': None, 'other_creator': None, 'other_creator_date': None, 'other_expiry_date': None, 'other_issue_date': None, 'other_issuing_authority': None, 'other_holder_information': {'full_name': 'ĐỖ THỊ THANH MAI', 'date_of_birth': '08/06/1982', 'sex': 'Nữ', 'nationality': 'Việt Nam', 'address': '170/9 Lầu 5 Võ Văn Tần, P. 5, Q. 3, TP. Hồ Chí Minh'}}, 'unknown': None, 'unknown_version': None, 'unknown_creator': None, 'unknown_creator_date': None, 'unknown_expiry_date': None, 'unknown_issue_date': None, 'unknown_issuing_authority': None, 'unknown_holder_information': {'full_name': 'ĐỖ THỊ THANH MAI', 'date_of_birth': '08/06/1982', 'sex': 'Nữ', 'nationality': 'Việt Nam', 'address': '170/9 Lầu 5 Võ Văn Tần, P. 5, Q. 3, TP. Hồ Chí Minh'}}, 'unseen': None, 'unseen_version': None, 'unseen_creator': None, 'unseen_creator_date': None, 'unseen_expiry_date': None, 'unseen_issue_date': None, 'unseen_issuing_authority': None, 'unseen_holder_information': {'full_name': 'ĐỖ THỊ THANH MAI', 'date_of_birth': '08/06/1982', 'sex': 'Nữ', 'nationality': 'Việt Nam', 'address': '170/9 Lầu 5 Võ Văn Tần, P. 5, Q. 3, TP. Hồ Chí Minh'}}, 'other_unknown': None, 'other_unknown_version': None, 'other_unknown_creator': None, 'other_unknown_creator_date': None, 'other_unknown_expiry_date': None, 'other_unknown_issue_date': None, 'other_unknown_issuing_authority': None, 'other_unknown_holder_information': {'full_name': 'ĐỖ THỊ THANH MAI', 'date_of_birth': '08/06/1982', 'sex': 'Nữ', 'nationality': 'Việt Nam', 'address': '170/9 Lầu 5 Võ Văn Tần, P. 5, Q. 3, TP. Hồ Chí Minh'}}, 'other_unknown_other': None, 'other_unknown_other_version': None, 'other_unknown_other_creator': None, 'other_unknown_other_creator_date': None, 'other_unknown_other_expiry_date': None, 'other_unknown_other_issue_date': None, 'other_unknown_other_issuing_authority': None, 'other_unknown_other_holder_information': {'full_name': 'ĐỖ THỊ THANH MAI', 'date_of_birth': '08/06/1982', 'sex': 'Nữ', 'nationality': 'Việt Nam', 'address': '170/9 Lầu 5 Võ Văn Tần, P. 5, Q. 3, TP. Hồ Chí Minh'}}, 'other_unknown_other_unknown': None, 'other_unknown_other_unknown_version': None, 'other_unknown_other_other_creator': None, 'other_unknown_other_other_creator_date': None, 'other_unknown_other_other_expiry_date': None, 'other_unknown_other_other_issue_date': None, 'other_unknown_other_other_issuing_authority': None, 'other_unknown_other_other_holder_information': {'full_name': 'ĐỖ THỊ THANH MAI', 'date_of_birth': '08/06/1982', 'sex': 'Nữ', 'nationality': 'Việt Nam', 'address': '170/9 Lầu 5 Võ Văn Tần, P. 5, Q. 3, TP. Hồ Chí Minh'}}, 'other_unknown_other_unknown_other': None, 'other_unknown_other_unknown_other_version': None, 'other_unknown_other_unknown_other_creator': None, 'other_unknown_other_unknown_other_creator_date': None, 'other_unknown_other_unknown_other_expiry_date': None, 'other_unknown_other_unknown_other_issue_date': None, 'other_unknown_other_unknown_other_issuing_authority': None, 'other_unknown_other_unknown_other_holder_information': {'full_name': 'ĐỖ THỊ THANH MAI', 'date_of_birth': '08/06/1982', 'sex': 'Nữ', 'nationality': 'Việt Nam', 'address': '170/9 Lầu 5 Võ Văn Tần, P. 5, Q. 3, TP. Hồ Chí Minh'}}, 'other_unknown_other_unknown_other_unknown': None, 'other_unknown_other_unknown_other_unknown_version': None, 'other_unknown_other_unknown_other_unknown_creator': None, 'other_unknown_other_unknown_other_unknown_creator_date': None, 'other_unknown_other_unknown_other_unknown_expiry_date': None, 'other_unknown_other_unknown_other_unknown_issue_date': None, 'other_unknown_other_unknown_other_unknown_issuing_authority': None, 'other_unknown_other_unknown_other_unknown_holder_information': {'full_name': 'ĐỖ THỊ THANH MAI', 'date_of_birth': '08/06/1982', 'sex': 'Nữ', 'nationality': 'Việt Nam', 'address': '170/9 Lầu 5 Võ Văn Tần, P. 5, Q. 3, TP
Mình sử dụng prompt sau:
self.default_prompt = (
"""Hãy trích xuất thông tin từ căn cước công dân trong ảnh và CHỈ trả về MỘT JSON duy nhất với cấu trúc sau:
{
"id_number": "Số CCCD",
"fullname": "Họ và tên / Full name",
"day_of_birth": "Ngày sinh / Date of birth",
"sex": "Giới tính / Sex",
"nationality": "Quốc tịch / Nationality",
"place_of_residence": "Nơi thường trú / Place of residence",
"place_of_origin": "Quê quán / Place of origin",
"date_of_expiration": "Ngày hết hạn / Date of expiry",
"date_of_issue": "Ngày cấp (nếu có)",
"place_of_issue": "Nơi cấp (nếu có)"
}
Yêu cầu QUAN TRỌNG:
1. CHỈ trả về MỘT cấu trúc JSON duy nhất, KHÔNG lặp lại hay bọc trong JSON khác
2. Với place_of_origin và place_of_residence:
- PHẢI ghi đầy đủ toàn bộ địa chỉ, bao gồm tất cả các cấp hành chính
- KHÔNG ĐƯỢC rút gọn hay cắt bớt bất kỳ phần nào
- Ví dụ: Nếu thông tin đầy đủ là:
+ place_of_origin = 'Ninh Quới, Hồng Dân, Bạc Liêu'
+ place_of_residence = 'Ấp Ninh Bình, Ninh Quới, Hồng Dân, Bạc Liêu'
thì PHẢI giữ nguyên toàn bộ địa chỉ như vậy
3. Trường hợp không tìm thấy thông tin thì để null
4. KHÔNG thêm bất kỳ chú thích hay giải thích nào
5. KHÔNG bọc kết quả trong key 'json' hay key khác
6. Đối với trường fullname:
- Kiểm tra lại các tên có dấu phụ (ê, ề, ế, ể, ễ, ệ, Ê, Ề, Ế, Ể, Ễ, Ệ) để đảm bảo chính xác
7. Các trường khác giữ nguyên định dạng gốc
"""
)
Mình cũng gặp 1 vấn đề, ví dụ khi viết prompt dạng: Hãy trả lời câu hỏi sau, giữ nguyên tên câu hỏi thì vẫn không trả về.
Ví dụ: (áp dụng với giấy xác nhận hôn nhân)
- Họ tên: (vd: nguyễn văn a)
.... Thì vẫn không trả về nội dung như: 1. Họ tên: Nguyễn công chính.... mà về: Tên: nguyễn công chính. tức không có số "1. Họ tên" như mong muốn
hóng prompt gốc từ team ạ :D