import tensorflow as tf import streamlit as st import pandas as pd from transformers import pipeline from transformers import AutoTokenizer, TFAutoModelForSequenceClassification st.title('Sentiment Analyser App') st.write('Welcome to my sentiment analysis app!') st.write('Please add lines in the Form, for Sentiment Analysis!') form = st.form(key='sentiment-form') user_input = form.text_area('Enter your text') submit = form.form_submit_button('Submit') data = ["I love you", "I hate you","We are very hayy to show you that"] model_name = st.sidebar.selectbox("Select Model",("distilbert-base-uncased-finetuned-sst-2-english", "finiteautomata/bertweet-base-sentiment-analysis")) #model_name ="distilbert-base-uncased-finetuned-sst-2-english" #model_name = "finiteautomata/bertweet-base-sentiment-analysis" #####-------IN LUCRU--------------------------------------- tokenizer = AutoTokenizer.from_pretrained(model_name) model = TFAutoModelForSequenceClassification.from_pretrained(model_name) clf = pipeline("sentiment-analysis", model=model, tokenizer=tokenizer) #token_ids = tokenizer(data, padding=True, return_tensors='tf') #out = model(token_ids) #Y_probas = tf.keras.activations.softmax(out.logits) #Y_pred = tf.argmax(Y_probas, axis=1) #print(Y_pred) ####----------------------------------------------------------- def parse_input(ui): SPLIT = ',' lst = list(ui.splitlines()) #(ui.split(SPLIT)) yield lst dfdict = {} txtlst = [] labellst = [] scorelst = [] if submit: model = pipeline(model=model_name) #lst = list(user_input.split(",")) #for sentence in lst: it = parse_input(user_input) #...NICER for sentence in next(it): #for sentence in parse_input(user_input) : #res = model(sentence) res = clf(sentence) #...NICER txtlst.append(sentence) st.write(sentence) label = res[0]['label'] labellst.append(label) st.write(f'label is {label}') score = res[0]['score'] scorelst.append(score) st.write(f'score = {score}') dfdict['TEXT'] = txtlst dfdict['LABEL'] = labellst dfdict['SCORE'] = scorelst outdf = pd.DataFrame.from_dict(dfdict) st.write(outdf) #result = model(user_input)[0] #res = model(user_input) #st.write(result) #label = result['label'] #score = result['score']