import streamlit as st from transformers import pipeline access = "hf_" token = "hhbFNpjKohezoexWMlyPUpvJQLWlaFhJaa" # Load the text classification model pipeline analysis = pipeline("text-classification", model='ZephyruSalsify/FinNews_SentimentAnalysis_Test') classification = pipeline("text-classification", model="nickmuchi/finbert-tone-finetuned-finance-topic-classification", token=access+token) st.set_page_config(page_title="Financial News Analysis", page_icon="♕") # Streamlit application layout st.title("Financial News Analysis") st.write("Analyze corresponding Topic and Trend for Financial News!") st.image("./Fin.jpg", use_column_width = True) # Text input for user to enter the text text = st.text_area("Enter the Financial News", "") # Perform text classification when the user clicks the "Classify" button if st.button("Analyze"): # Perform text analysis on the input text results_1 = analysis(text)[0] results_2 = classification(text)[0] # Display the analysis result max_score_1 = float('-inf') max_label_1 = '' for result_1 in results_1: if result_1['score'] > max_score_1: max_score_1 = result_1['score'] max_label_1 = result_1['label'] # Display the classification result max_score_2 = float('-inf') max_label_2 = '' for result_2 in results_2: if result_2['score'] > max_score_2: max_score_2 = result_2['score'] max_label_2 = result_2['label'] st.write("Financial Text:", text) st.write("Trend:", max_label_1) st.write("Trend_Score:", max_score_1) st.write("Finance Topic:", max_label_2) st.write("Topic_Score:", max_score_2)