Skip to content

Instantly share code, notes, and snippets.

@lqtrung-95
Created May 4, 2019 11:15
Show Gist options
  • Save lqtrung-95/b39b79d9fca0292d8aaff3da623ebd58 to your computer and use it in GitHub Desktop.
Save lqtrung-95/b39b79d9fca0292d8aaff3da623ebd58 to your computer and use it in GitHub Desktop.
Rule-based method for classifying bills.
def detect_label_ocr(input_str):
keywords = [
["Tong Tien", "Total", "Tổng Tiền", "tổng tiền", "TỔNG TIỀN", "TONG TIEN", "Tổng số tiền thanh toán", "Số tiền", "số tiền", "So Tien", " SO TIEN", "so tien", "TỔNG TIỀN THANH TOÁN", "THANH TOÁN", "Thanh Toán", "thanh toan", "thanh toán", "THANH TOAN", "Tiền mặt", "Tien mat", "T.Cộng", "T.Cong", "t.cong","Tổng cộng", "TỔNG CỘNG", "tổng cộng", "Tong cong", "TONG CONG", "tong cong"],
["Dia chi", "địa chỉ", "ĐỊA CHỈ", "Địa chỉ", "DIA CHI", "Address", "ADDRESS", "huyện", "thanh pho", "xã", "HUYEN", "THANH PHO", "TINH" "tinh", "XA"],
["MaKH", "Mã khách hàng", "Mã KH", "Mã kh", "mã kh", "mã khách hàng", "MKH", "mkh", "Ma KH", "MA KH", "Ma khach hang", "Customer Number", "Customer No", "CUSTOMER NO", "customer no", "customer number"],
# ["Mã NV", "Ma NV", "mã nhân viên", "MÃ NV", "Mã nhân viên", "cashier number", "CASHIER NUMBER", "Cashier numer" ,"Cashier No", "cashier no", "Cashier no", "Cashier NO"],
["VAT", "MST", "MÃ SỐ THUẾ", "mã số thuế", "ma so thue", "Mã số thuế", "Ma so thue", "MA SO THUE"],
["CÔNG TY", "C.TY", "Công ty", "Cong ty", "TNHH", "CONG TY", "cong ty", "CTY", "doanh nghiep", "UỶ BAN" "ỦY BAN", "ỦY BAN NHÂN DÂN", "UỶ BAN NHÂN DÂN", "NHÀ MÁY", "BAN QUẢN LÝ", "DOANH NGHIỆP", "UBND", "XÍ NGHIỆP", "SỞ", "TRUNG TÂM", "HỢP TÁC XÃ", "HTX", "CHI CỤC", "DN", "doanh nghiệp", "hợp tác xã", "cửa hàng", "tư nhân", "cty", "trường", "htx", "chi nhánh", "DOANH NGHIEP", "CUA HANG", "CỬA HÀNG", "cua hang", "SHOP" ,"shop", "CHI NHÁNH", "Chi nhánh", "Chi Nhánh", "Cơ quan", "CƠ QUAN" ,"co quan", "cơ quan"],
["Tên KH", "KH", "Tên khách hàng", "Ten khach hang", "Khách hàng", "khách hàng", "KHÁCH HÀNG", "TEN KHACH HANG", "khach hang", "KHACH HANG"],
["NHAN VIEN", "Nhan Vien", "Nhan vien", "nhan vien", "Ten nhan vien", "Cashier", "NHÂN VIÊN", "Nhân Viên", "Nhân viên", "nhân viên", "Tên nhân viên", "NV", "nguyễn", "Thu ngân", "THU NGÂN", "thu ngan"],
["MA HOA DON", "Ma hoa don", "ma hoa don", "Mã HOÁ ĐƠN", "Mã hoá đơn" ,"mã hoá đơn", "MA HD", "MÃ HD", "Ma HD", "Mã HĐ", "MÃ HĐ", "Mã HĐ", "mã HĐ", "ma HD", "HD", "HĐ", "hd", "hđ", "Receipt No", "Receipt Number", "receipt number", "receipt no", "Số Bill", "Bill number", "BILL NUMBER", "Bill no" ,"so bill", "SO BILL", "số bill", "bill number", "bill no", "Bill No", "Bill Number"]]
input_str = input_str.lower()
for index, list_keywords in enumerate(keywords):
for key in list_keywords:
if key in input_str or key.lower() in input_str:
# return kw[index]
return index
# if config.label_loss:
# print ("WARNING: ", input_str, "is not detected")
return len(gt_labels_dict) - 1
gt_labels_dict = {
0: "Tổng tiền",
1: "Địa chỉ",
2: "Mã khách hàng",
# 3: "Mã nhân viên",
3: "Mã số thuế / VAT",
4: "Tên công ty/ đơn vị",
5: "Tên khách hàng",
6: "Tên nhân viên",
7: "Mã hoá đơn / Mã giao dịch",
8: "Other"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment