import os # === File and Directory Paths === BASE_DIR = os.path.dirname(os.path.abspath(__file__)) DATA_PATH = os.path.join(BASE_DIR, "data", "synthetic_transactions_samples_5000.csv") MODEL_DIR = os.path.join(BASE_DIR, "models") TFIDF_VECTORIZER_PATH = os.path.join(MODEL_DIR, "tfidf_vectorizer.pkl") VOTING_MODEL_PATH = os.path.join(MODEL_DIR, "voting_classifier.pkl") LABEL_ENCODERS_DIR = os.path.join(MODEL_DIR, "label_encoders") # === Data Column Configuration === TEXT_FIELDS = [ "Transaction_Id", "Origin", "Designation", "Keywords", "Name", "SWIFT_Tag", "Currency", "Entity", "Message", "City", "Country", "State", "Hit_Type", "Record_Matching_String", "WatchList_Match_String", "Payment_Sender_Name", "Payment_Reciever_Name", "Swift_Message_Type", "Text_Sanction_Data", "Matched_Sanctioned_Entity", "Red_Flag_Reason", "Risk_Level", "Risk_Score", "CDD_Level", "PEP_Status", "Sanction_Description", "Checker_Notes", "Sanction_Context", "Maker_Action", "Customer_Type", "Industry", "Transaction_Type", "Transaction_Channel", "Geographic_Origin", "Geographic_Destination", "Risk_Category", "Risk_Drivers", "Alert_Status", "Investigation_Outcome", "Source_Of_Funds", "Purpose_Of_Transaction", "Beneficial_Owner" ] LABEL_COLUMNS = [ "Maker_Action", "Escalation_Level", "Risk_Category", "Risk_Drivers", "Investigation_Outcome" ]