CoolFace
Modelpublic

orYx-models/finetuned-roberta-leadership-sentiment-analysis

sourceHugging Faceccupdated 2y agoView on Hugging Face
0likes
Model Card

Model Card for orYx-models/finetuned-roberta-leadership-sentiment-analysis

  • —Model Description: This model is a finetuned version of the RoBERTa text classifier(cardiffnlp/twitter-roberta-base-sentiment-latest). It has been trained on a dataset comprising communications from corporate executives to their therapists. Its primary function is to determine whether statements from corporate executives convey a "Positive," "Negative," or "Neutral" sentiment, accompanied by a confidence level indicating the percentage of sentiment expressed in a statement. Being a prototype tool by orYx Models, all feedbacks and insights will be used to further refine the model.

Model Details

Model Information

  • —Model Type: Text Classifier
  • —Language(s): English
  • —License: Creative Commons license family
  • —Finetuned from Model: cardiffnlp/twitter-roberta-base-sentiment-latest

Model Sources

  • —HuggingFace Model ID: cardiffnlp/twitter-roberta-base-2021-124m
  • —Paper: TimeLMs - Link

Uses

  • —Use case: This sentiment analysis tool can analyze text from any user within an organization, such as executives, employees, or clients, and assign a sentiment to it.
  • —Outcomes: The tool generates a "Scored sentiment" which can be used to assess the likelihood of events occurring or vice versa. It can also facilitate the creation of a rating system based on the sentiments expressed in texts.

Direct Use

python
nlp = pipeline("sentiment-analysis", model=model, tokenizer=tokenizer)

nlp("The results don't match, but the effort seems to be always high")

Out[7]: [{'label': 'Positive', 'score': 0.9996090531349182}]
  • —Based on the text the outcomes can be "Positive, Negative, Neutral" along with their confidence score.
  • —

Recommendations

  • —Continuous Monitoring: Regularly monitor the model's performance on new data to ensure its effectiveness and reliability over time.
  • —Error Analysis: Conduct thorough error analysis to identify common patterns of misclassifications and areas for improvement.
  • —Fine-Tuning: Consider fine-tuning the model further based on feedback and insights from users, to enhance its domain-specific performance.
  • —Model Interpretability: Explore techniques for explaining the model's predictions, such as attention mechanisms or feature importance analysis, to increase trust and understanding of its decisions.

Training Details


X_train, X_val, y_train, y_val = train_test_split(X,y, test_size = 0.2, stratify = y)
  • —Train data: 80% of 4396 records = 3516
  • —Test data: 20% of 4396 records = 879

Training Procedure

  • —Dataset Split: Data divided into 80% training and 20% validation sets.
  • —Preprocessing: Input data tokenized into 'inputids' and 'attentionmask' tensors.
  • —Training Hyperparameters: Set for training, evaluation, and optimization, including batch size, epochs, and logging strategies.
  • —Training Execution: Model trained with specified hyperparameters, monitored with metrics, and logged for evaluation.
  • —Evaluation Metrics: Model evaluated on loss, accuracy, F1 score, precision, and recall for both training and validation sets.
Preprocessing [optional]
'input_ids': tensor
'attention_mask': tensor
'label': tensor(2)
Training Hyperparameters
args = TrainingArguments(
    output_dir="output",
    do_train = True,
    do_eval = True,
    num_train_epochs = 1,
    per_device_train_batch_size = 4,
    per_device_eval_batch_size = 8,
    warmup_steps = 50,
    weight_decay = 0.01,
    logging_strategy= "steps",
    logging_dir= "logging",
    logging_steps = 50,
    eval_steps = 50,
    save_strategy = "steps",
    fp16 = True,
    #load_best_model_at_end = True
)
Speeds, Sizes, Times [optional]
  • —TrainOutput
global_step=879,
training_loss=0.1825900522650848,
  • —Metrics
'train_runtime': 101.6309,
'train_samples_per_second': 34.596,
'train_steps_per_second': 8.649,
'total_flos': 346915041274368.0,
'train_loss': 0.1825900522650848,
'epoch': 1.0

Evaluation Metrics Results

# Assuming you have a list of evaluation results q and want to create a DataFrame with it
q = [Trainer.evaluate(eval_dataset=df) for df in [train_dataset, val_dataset]]

# Create DataFrame with index and select only the first 5 columns
result_df = pd.DataFrame(q, index=["train", "val"]).iloc[:,:5]

# Display the resulting DataFrame
print(result_df)

______________________________________________________________________
eval_loss  eval_Accuracy   eval_F1  eval_Precision  eval_Recall
train   0.049349       0.988908  0.987063        0.982160     0.992357
val     0.108378       0.976136  0.972464        0.965982     0.979861
______________________________________________________________________

loss

  • —train 0.049349
  • —val 0.108378

Accuracy

  • —train 0.988908 - 98.8%
  • —val 0.976136 - 97.6%

F1

  • —train 0.987063 - 98.7%
  • —val 0.972464 - 97.2%

Precision

  • —train 0.982160 - 98.2%
  • —val 0.965982 - 96.5%

Recall

  • —train 0.992357 - 99.2%
  • —val 0.979861 - 97.9%

Environmental Impact

Carbon emissions can be estimated using the Machine Learning Impact calculator presented in Lacoste et al. (2019).

  • —Hardware Type: T4 GPU
  • —Hours used: 2
  • —Cloud Provider: Google
  • —Compute Region: India
  • —Carbon Emitted: No Information Available

Compute Infrastructure

Google Colab - T4 GPU

References

@inproceedings{camacho-collados-etal-2022-tweetnlp,
    title = "{T}weet{NLP}: Cutting-Edge Natural Language Processing for Social Media",
    author = "Camacho-collados, Jose  and
      Rezaee, Kiamehr  and
      Riahi, Talayeh  and
      Ushio, Asahi  and
      Loureiro, Daniel  and
      Antypas, Dimosthenis  and
      Boisson, Joanne  and
      Espinosa Anke, Luis  and
      Liu, Fangyu  and
      Mart{\'\i}nez C{\'a}mara, Eugenio" and others,
    booktitle = "Proceedings of the 2022 Conference on Empirical Methods in Natural Language Processing: System Demonstrations",
    month = dec,
    year = "2022",
    address = "Abu Dhabi, UAE",
    publisher = "Association for Computational Linguistics",
    url = "https://aclanthology.org/2022.emnlp-demos.5",
    pages = "38--49"
}

Model Card Authors [optional]

Vineedhar, relkino

Model Card Contact

https://khalidalhosni.com/