File size: 3,576 Bytes
d2df70e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3f8fdc4
d2df70e
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# ============================================================
# 🧠 ENTITY DICTIONARY — MAURITIUS CONTEXT (FINAL)
# ============================================================

ENTITY_DICTIONARY = {

    # ==========================
    # 1️⃣ DISTRICTS
    # ==========================
    "DISTRICT": [
        "Port Louis", "Pamplemousses", "Riviere du Rempart",
        "Flacq", "Grand Port", "Savanne", "Moka",
        "Plaines Wilhems", "Riviere Noire", "Black River"
    ],

    # ==========================
    # 2️⃣ CITIES / TOWNS
    # ==========================
    "CITY": [
        "Curepipe", "Vacoas", "Quatre Bornes",
        "Beau Bassin", "Rose Hill", "Ebene", "Phoenix",
        "Goodlands", "Grand Baie", "Mahebourg",
        "Flic en Flac", "Tamarin", "Bel Air",
        "Roche Bois", "Piton", "Triolet"
    ],

    # ==========================
    # 3️⃣ VILLAGES (ONLY villages)
    # ==========================
    "VILLAGE": [
        "Albion", "Amaury", "Amitie-Gokhoola", "Arsenal",
        "Baie du Tombeau", "Baie du Cap", "Bambous",
        "Bambous Virieux", "Bananes", "Beau Vallon",
        "Belle Vue Maurel", "Benares", "Bois Cheri",
        "Bois des Amourettes", "Bon Accueil", "Bramsthan",
        "Britannia", "Calebasses", "Camp Diable",
        "Camp Ithier", "Cap Malheureux", "Case Noyale",
        "Chemin Grenier", "Cluny", "Cottage",
        "Creve Coeur", "Dagotier", "Dubreuil",
        "Ecroignard", "Esperance", "Fond du Sac",
        "Grand Bois", "Grand Gaube", "Gros Cailloux",
        "Lallmatie", "Laventure", "Le Hochet",
        "Long Mountain", "Mapou", "Melrose",
        "Midlands", "Montagne Blanche",
        "New Grove", "Notre Dame", "Nouvelle France",
        "Old Grand Port", "Plaine Magnien",
        "Poste de Flacq", "Providence",
        "Quartier Militaire", "Richelieu",
        "Rose Belle", "Sebastopol",
        "Souillac", "St Pierre", "Surinam",
        "Terre Rouge", "The Vale", "Tyack",
        "Union Park", "Verdun"
    ],

    # ==========================
    # 4️⃣ LANDMARKS / REGIONS
    # ==========================
    "LANDMARK": [
        "Bagatelle", "Caudan Waterfront", "Le Caudan",
        "Ebene Cybercity", "Mont Choisy",
        "Chamarel", "Le Morne", "Blue Bay",
        "La Cambuse", "Ile aux Cerfs",
        "SSR Airport", "Plaisance", "Medine",
        "Cascavelle"
    ],

    # ==========================
    # 5️⃣ PERSON NAMES
    # ==========================
    "PERSON": [
        "Amit", "Vikash", "Rishi", "Kiran", "Anil",
        "Sanjay", "Rakesh", "Nikhil", "Kavita",
        "Aisha", "Fatima", "Imran", "Yusuf",
        "Jean", "Marie", "Patrick", "Kevin",
        "Ramesh", "Champa", "Babita",
        "Sidharth", "Sameer", "Karuna"
    ],

    # ==========================
    # 6️⃣ PRODUCTS
    # ==========================
    "PRODUCT": [
        "Honda Fit", "Honda Vezel", "Toyota Aqua",
        "Toyota Vitz", "Suzuki Swift",
        "iPhone", "Samsung", "OnePlus", "Pixel"
    ],

    # ==========================
    # 7️⃣ REGEX PATTERNS (ORDER CRITICAL)
    # ==========================
    "REGEX_PATTERNS": {

        # 💰 MONEY (atomic)
        "MONEY": r"\b(?:Rs|rs|RS)\s?\d+(?:,\d{3})*(?:\.\d+)?\b",

        # ⏰ TIME
        "TIME": r"\b(?:[01]?\d|2[0-3]):[0-5]\d\s?(?:am|pm|AM|PM)\b",

        # 📅 DATE
        "DATE": r"\b\d{1,2}[\/\-.]\d{1,2}[\/\-.]\d{2,4}\b",

        # 📞 PHONE
        "PHONE": r"\b\d{8}\b",

        # 🔢 NUMBER (LOWEST)
        "NUMBER": r"\b\d+(?:,\d{3})*(?:\.\d+)?\b"
    }
}