| import torch | |
| from transformers import AutoModelForSequenceClassification, AutoTokenizer, AutoConfig | |
| import numpy as np | |
| from scipy.special import softmax | |
| import gradio as gr | |
| torch.cuda.is_available() | |
| model_path = "ltg/norbert3-base_sentence-sentiment" | |
| tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True) | |
| config = AutoConfig.from_pretrained(model_path, trust_remote_code=True) | |
| model = AutoModelForSequenceClassification.from_pretrained(model_path, trust_remote_code=True) | |
| def sentiment_analysis(text): | |
| encoded_input = tokenizer(text, return_tensors='pt') | |
| output = model(**encoded_input) | |
| scores_ = output[0][0].detach().numpy() | |
| scores_ = softmax(scores_) | |
| labels = ['Negativ', 'Positiv', 'Nøytral'] | |
| scores = {l: float(s) for (l, s) in zip(labels, scores_)} | |
| return scores | |
| demo = gr.Interface( | |
| theme=gr.themes.Base(), | |
| fn=sentiment_analysis, | |
| inputs=gr.Textbox(placeholder="Write your text here..."), | |
| outputs="label", | |
| examples=[ | |
| ["Woho, jeg fikk meg ny jobb!"], | |
| ["Jeg skal jobbe med løver i den nye jobben min."], | |
| ["Oj, en løve spiste den ene armen min.. Snakk om HMS :("], | |
| ["På vei til sykehus.. Ønsk meg lykke til.."], | |
| ["Supert! De må pokkern meg amputere hele armen.."], | |
| ["Våkna opp fra operasjon, fått en robot arm. Im now terminator! Super opplevelse 10 av 10.."] | |
| ], | |
| title='Sentiment Analysis App', | |
| description='This app classifies a positive, neutral, or negative sentiment.' | |
| ) | |
| demo.launch() | |