import streamlit as st from transformers import pipeline from transformers import AutoModelForSequenceClassification, AutoTokenizer from googletrans import Translator # Load the sentiment analysis model from our BERT model classifier = pipeline("text-classification", model="MarieAngeA13/Sentiment-Analysis-BERT") translator = Translator() # Create a Streamlit app st.title('Sentiment Analysis with BERT') st.write('Enter some text and we will predict its sentiment!/Entrez un texte et nous prédirons son sentiment!') # Add a text input box for the user to enter text text_input = st.text_input('Enter text here/Saisir le texte ici') # When the user submits text, run the sentiment analysis model on it if st.button('Submit'): # Translate the text if the detected language is French detected_language = translator.detect(text_input).lang if detected_language == 'fr': translation = translator.translate(text_input, src='fr', dest='en') translated_text = translation.text else: translated_text = text_input # Predict the sentiment of the text using our own BERT model output = classifier(translated_text) best_prediction = output[0] sentiment = best_prediction['label'] confidence = best_prediction['score'] # Display the sentiment prediction to the user st.write(f'Sentiment: {sentiment}') st.write(f'Confidence: {round(confidence, 2)}')