ashish-001's picture
Update app.py
0c23025 verified
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()}")