| """Global configuration for the ACSA-Clothing project (v2: with metadata fusion).""" |
| from pathlib import Path |
|
|
| |
| ROOT = Path(__file__).resolve().parent.parent |
| DATA_DIR = ROOT / "data" |
| CHECKPOINT_DIR = ROOT / "checkpoints" |
| OUTPUT_DIR = ROOT / "outputs" |
| REPORT_DIR = ROOT / "reports" |
|
|
| for d in (DATA_DIR, CHECKPOINT_DIR, OUTPUT_DIR, REPORT_DIR): |
| d.mkdir(parents=True, exist_ok=True) |
|
|
| |
| RAW_REVIEWS_PATH = DATA_DIR / "raw_reviews.parquet" |
| RAW_META_PATH = DATA_DIR / "raw_meta.parquet" |
|
|
| |
| PROCESSED_PATH = DATA_DIR / "processed_reviews.parquet" |
| LABELED_PATH = DATA_DIR / "labeled_reviews.parquet" |
| ASPECT_DICT_PATH = DATA_DIR / "aspect_dict.json" |
|
|
| |
| TRAIN_PATH = DATA_DIR / "train.parquet" |
| VAL_PATH = DATA_DIR / "val.parquet" |
| TEST_PATH = DATA_DIR / "test.parquet" |
|
|
| |
| META_ENCODER_PATH = DATA_DIR / "meta_encoder.pkl" |
|
|
| |
| HF_DATASET = "McAuley-Lab/Amazon-Reviews-2023" |
| CATEGORY = "Clothing_Shoes_and_Jewelry" |
| HF_REVIEW_CONFIG = f"raw_review_{CATEGORY}" |
| HF_META_CONFIG = f"raw_meta_{CATEGORY}" |
|
|
| |
| |
| ASPECTS = ["SIZE", "MATERIAL", "QUALITY", "APPEARANCE", "STYLE", "VALUE"] |
| NUM_ASPECTS = len(ASPECTS) |
|
|
| |
| LABEL_MAP = {"Not_Mentioned": 0, "Positive": 1, "Negative": 2} |
| LABEL_NAMES = ["Not_Mentioned", "Positive", "Negative"] |
| NUM_CLASSES = 3 |
|
|
| |
| |
| OVERALL_LABEL_NAMES = ["Negative", "Neutral", "Positive"] |
| OVERALL_NUM_CLASSES = 3 |
|
|
| |
| BERT_MODEL_NAME = "bert-base-uncased" |
| MAX_LENGTH = 256 |
|
|
| |
| META_FEATURE_TFIDF_DIM = 64 |
| META_CATEGORY_TFIDF_DIM = 36 |
| META_TFIDF_DIM = META_FEATURE_TFIDF_DIM + META_CATEGORY_TFIDF_DIM |
| META_NUM_DIM = 4 |
| META_HIDDEN_DIM = 128 |
| META_CROSSATTN_HEADS = 4 |
| META_NUMERIC_TOKEN_SCALE = 0.10 |
| CROSS_ATTN_RESIDUAL_SCALE = 0.7 |
| OVERALL_AUX_WEIGHT = 0.3 |
|
|
| |
| DEFAULT_BATCH_SIZE = 16 |
| DEFAULT_EPOCHS = 3 |
| DEFAULT_LR_BERT = 2e-5 |
| DEFAULT_LR_HEADS = 1e-3 |
| DEFAULT_WEIGHT_DECAY = 0.01 |
| WARMUP_RATIO = 0.1 |
|
|
| |
| TRAIN_RATIO = 0.7 |
| VAL_RATIO = 0.15 |
| TEST_RATIO = 0.15 |
| RANDOM_SEED = 42 |
|
|
| |
| VADER_POSITIVE_THRESHOLD = 0.05 |
| VADER_NEGATIVE_THRESHOLD = -0.05 |
| RATING_POSITIVE_THRESHOLD = 4 |
| RATING_NEGATIVE_THRESHOLD = 2 |
| MIN_REVIEW_LENGTH = 20 |
| AUDIT_SAMPLE_SIZE = 200 |
|
|
| |
| |
| |
| META_PRIOR_BOOST = True |
|
|
|
|
|
|
|
|
|
|