Aspect-based Sentiment Classification

import random

from pyabsa.tasks.AspectPolarityClassification import APCDatasetList

from pyabsa import AspectPolarityClassification as APC
from pyabsa.augmentation import auto_aspect_sentiment_classification_augmentation
import warnings

warnings.filterwarnings('ignore')

for dataset in [
    APCDatasetList.Laptop14,
    # APCDatasetList.Restaurant14,
    # APCDatasetList.Restaurant15,
    # APCDatasetList.Restaurant16,
    # APCDatasetList.MAMS
]:
    for model in [
        APC.APCModelList.FAST_LSA_T_V2,
        # APC.APCModelList.FAST_LSA_S_V2,
        # APC.APCModelList.BERT_SPC_V2
    ]:
        config = APC.APCConfigManager.get_apc_config_english()
        config.model = model
        config.pretrained_bert = 'microsoft/deberta-v3-base'
        config.evaluate_begin = 5
        config.max_seq_len = 80
        config.num_epoch = 30
        config.log_step = 10
        config.dropout = 0
        config.cache_dataset = False
        config.l2reg = 1e-8
        config.lsa = True
        config.seed = [random.randint(0, 10000) for _ in range(3)]

        # this code will automatically augment the dataset and train the model
        auto_aspect_sentiment_classification_augmentation(config=config, dataset=dataset, device='cuda')