import streamlit as st from transformers import pipeline sentiment_analysis = pipeline("sentiment-analysis", model="nlptown/bert-base-multilingual-uncased-sentiment") def convert_label_to_sentiment(label): if label in ["4", "5"]: return "Positive" elif label in ["1", "2"]: return "Negative" else: return "Neutral" def perform_sentiment_analysis(text): result = sentiment_analysis(text) return {'label': result[0]['label'], 'score': result[0]['score']} def main(): st.title("Financial Sentiment Analysis") # Input for financial content financial_content = st.text_area("Enter Financial Content:", "With the launch of Apple Silicon, Apple shares have increased") # Perform sentiment analysis on button click if st.button("Submit"): if financial_content.strip(): sentiment_result = perform_sentiment_analysis(financial_content) sentiment = convert_label_to_sentiment(sentiment_result['label'][0]) st.success(f"Sentiment: {sentiment} | Score: {sentiment_result['score']:.2f}") else: st.warning("Please enter financial content before submitting.") if __name__ == "__main__": main()