Spaces:
Sleeping
Sleeping
import gradio as gr | |
import torch | |
from transformers import BertTokenizer, BertForSequenceClassification | |
# Load pre-trained model tokenizer (vocabulary) | |
tokenizer = BertTokenizer.from_pretrained('ProsusAI/finbert') | |
# Load pre-trained model | |
model = BertForSequenceClassification.from_pretrained('ProsusAI/finbert') | |
def analyze_sentiment(sec_text): | |
# Encode the text | |
tokens = tokenizer.encode_plus(sec_text, add_special_tokens=True, return_tensors="pt") | |
# Make prediction | |
with torch.no_grad(): | |
outputs = model(**tokens) | |
predictions = torch.nn.functional.softmax(outputs.logits, dim=-1) | |
# Convert predictions to sentiment labels | |
labels = ['Positive', 'Neutral', 'Negative'] | |
sentiment = labels[torch.argmax(predictions)] | |
# Return the sentiment analysis result | |
return f"{sentiment} Sentiment" | |
# Define the Gradio interface | |
gr_interface = gr.Interface( | |
fn=analyze_sentiment, | |
inputs=gr.Textbox(lines=1, placeholder="..."), | |
outputs="text", | |
title="Sentiment Analysis" | |
) | |
# Launch the interface | |
gr_interface.launch() |