--- license: mit base_model: xlnet-base-cased tags: - generated_from_keras_callback - sentiment analysis widget: - text: product quality is good. affordable prices and very fast delivery. model-index: - name: dipawidia/xlnet-base-cased-product-review-sentiment-analysis results: [] language: - en metrics: - accuracy library_name: transformers datasets: - dipawidia/ecommerce-product-reviews-sentiment --- # dipawidia/xlnet-base-cased-product-review-sentiment-analysis This model is a fine-tuned version of [xlnet-base-cased](https://huggingface.co/xlnet-base-cased) on any type of product reviews dataset gathered from several e-commerce such as shopee, tokopedia, blibli, lazada, and zalora. The dataset can be found [here](https://huggingface.co/datasets/dipawidia/ecommerce-product-reviews-sentiment) It achieves the following results on the evaluation set: - Train Loss: 0.1085 - Train Accuracy: 0.9617 - Validation Loss: 0.1910 - Validation Accuracy: 0.9414 - Epoch: 4 ## Intended uses & limitations This fine-tuned XLNet model is used for sentiment analysis with 2 labels text classification: 0 -> Negative; 1 -> Positive. ### Example Pipeline ```python from transformers import pipeline pipe = pipeline("text-classification", model="dipawidia/xlnet-base-cased-product-review-sentiment-analysis") pipe("This shoes is awesome") ``` ``` [{'label': 'Positive', 'score': 0.9995703101158142}] ``` ### Full classification example ```python from transformers import XLNetTokenizer, TFXLNetForSequenceClassification import tensorflow as tf import numpy as np tokenizer = XLNetTokenizer.from_pretrained("dipawidia/xlnet-base-cased-product-review-sentiment-analysis") model = TFXLNetForSequenceClassification.from_pretrained("dipawidia/xlnet-base-cased-product-review-sentiment-analysis") def get_sentimen(text): tokenize_text = tokenizer(text, return_tensors = 'tf') preds = model.predict(dict(tokenize_text))['logits'] class_preds = np.argmax(tf.keras.layers.Softmax()(preds)) if class_preds == 1: label = 'Positive' else: label = 'Negative' return(label) get_sentimen('i hate this product') ``` Output: ``` Negative ``` ## Training procedure ### Training hyperparameters The following hyperparameters were used during training: - optimizer: {'name': 'AdamW', 'weight_decay': 0.004, 'clipnorm': None, 'global_clipnorm': None, 'clipvalue': None, 'use_ema': False, 'ema_momentum': 0.99, 'ema_overwrite_frequency': None, 'jit_compile': True, 'is_legacy_optimizer': False, 'learning_rate': 3e-05, 'beta_1': 0.9, 'beta_2': 0.999, 'epsilon': 1e-07, 'amsgrad': False} - training_precision: float32 ### Training results | Train Loss | Train Accuracy | Validation Loss | Validation Accuracy | Epoch | |:----------:|:--------------:|:---------------:|:-------------------:|:-----:| | 0.3417 | 0.8491 | 0.1568 | 0.9449 | 0 | | 0.1943 | 0.9235 | 0.1504 | 0.9466 | 1 | | 0.1569 | 0.9404 | 0.1612 | 0.9466 | 2 | | 0.1238 | 0.9572 | 0.1748 | 0.9475 | 3 | | 0.1085 | 0.9617 | 0.1910 | 0.9414 | 4 | ### Framework versions - Transformers 4.41.2 - TensorFlow 2.15.0 - Tokenizers 0.19.1