Spaces:
Runtime error
Runtime error
import streamlit as st | |
import pandas as pd | |
from io import StringIO | |
import csv | |
from transformers import pipeline | |
# Load the text classification model pipeline | |
classifier = pipeline("text-classification", model="cychristophercyc/Group12_CustomModel_victory", return_all_scores=True) | |
summarizer = pipeline("summarization", model="facebook/bart-large-cnn") | |
# Streamlit application title | |
st.title("News Categorization") | |
st.write("Upload a CVS file containing content in 'content' column") | |
list_of_dictionaries = [] | |
genre = st.radio( | |
"What's your Chosen Category", | |
[":rainbow[Business and Finance]", | |
":rainbow[Health and Wellness]", | |
":rainbow[Sports]", | |
":rainbow[Arts, Culture, and Entertainment]", | |
":rainbow[Politics]", | |
":rainbow[Science and Technology]", | |
], | |
) | |
if genre == ':rainbow[Business and Finance]': | |
st.write('You selected Business and Finance.') | |
select = "Business and Finance" | |
if genre == ':rainbow[Health and Wellness]': | |
st.write('You selected Health and Wellness.') | |
select = "Health and Wellness" | |
if genre == ':rainbow[Sports]': | |
st.write('You selected Sports.') | |
select = "Sports" | |
if genre == ':rainbow[Arts, Culture, and Entertainment]': | |
st.write('You selected Arts, Culture, and Entertainment.') | |
select = "Arts, Culture, and Entertainment" | |
if genre == ':rainbow[Politics]': | |
st.write('You selected Politics.') | |
select = "Politics" | |
if genre == ':rainbow[Science and Technology]': | |
st.write('You selected Science and Technology.') | |
select = "Science and Technology" | |
# upload file | |
uploaded_file = st.file_uploader("Choose a file") | |
if uploaded_file is not None: | |
dataframe = pd.read_csv(uploaded_file) | |
# Continue with your Streamlit app logic, e.g., displaying the DataFrame | |
st.write(dataframe) | |
# rest of your code to process the dataframe | |
else: | |
# You can choose to write an error message or just do nothing | |
st.write("Please upload a CSV file to proceed.") | |
if st.button("Classify"): | |
# Perform text classification on the input text | |
for n in range(len(dataframe)): | |
results = classifier(dataframe['content'].iloc[n])[0] | |
# Display the classification result | |
max_score = float('-inf') | |
max_label = '' | |
for result in results: | |
if result['score'] > max_score: | |
max_score = result['score'] | |
max_label = result['label'] | |
new_dictionary = { | |
"Text":dataframe['content'].iloc[n], | |
"Label" : max_label | |
} | |
list_of_dictionaries.append(new_dictionary) | |
filtered_list = [d for d in list_of_dictionaries if d['Label'].strip() == select] | |
st.write("Total number of Summary generated :" , len(filtered_list)) | |
for m in range(len(filtered_list)): | |
summarize = summarizer(filtered_list[m]['Text'])[0] | |
st.write(f"Summary No.{m}:", summarize) | |