Vineedhar's picture
Update README.md
807e1d3 verified
---
'[object Object]': null
license: cc
language:
- en
library_name: adapter-transformers
pipeline_tag: text-classification
---
# 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](https://arxiv.org/abs/2202.03829)
## 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 'input_ids' and 'attention_mask' 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](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
- **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/