Spaces:
Sleeping
Sleeping
| from transformers import BertTokenizer, BertForSequenceClassification,DistilBertTokenizer,DistilBertForSequenceClassification | |
| import torch | |
| import streamlit as st | |
| tokenizer = BertTokenizer.from_pretrained( | |
| "ashish-001/Bert-Amazon-review-sentiment-classifier") | |
| model = BertForSequenceClassification.from_pretrained( | |
| "ashish-001/Bert-Amazon-review-sentiment-classifier") | |
| distil_model = DistilBertForSequenceClassification.from_pretrained( | |
| "ashish-001/DistilBert-Amazon-review-sentiment-classifier") | |
| distil_tokenizer = DistilBertTokenizer.from_pretrained( | |
| "ashish-001/DistilBert-Amazon-review-sentiment-classifier") | |
| def classify_text(text): | |
| inputs = tokenizer( | |
| text, | |
| max_length=256, | |
| truncation=True, | |
| padding="max_length", | |
| return_tensors="pt" | |
| ) | |
| output = model(**inputs) | |
| logits = output.logits | |
| probs = torch.nn.functional.sigmoid(logits) | |
| return probs | |
| def classify_text_distilbert(text): | |
| inputs=distil_tokenizer(text, return_tensors="pt") | |
| output = distil_model(**inputs) | |
| logits = output.logits | |
| probs = torch.nn.functional.sigmoid(logits) | |
| return probs | |
| st.title("Amazon Review Sentiment classifier") | |
| data = st.text_area("Enter or paste a review") | |
| if st.button('Predict using BERT'): | |
| prediction = classify_text(data) | |
| st.header( | |
| f"Negative Confidence: {prediction[0][0].item()}, Positive Confidence: {prediction[0][1].item()}") | |
| if st.button('Predict Using DistilBERT'): | |
| prediction = classify_text_distilbert(data) | |
| st.header( | |
| f"Negative Confidence: {prediction[0][0].item()}, Positive Confidence: {prediction[0][1].item()}") | |