| | import streamlit as st |
| | from transformers import pipeline |
| |
|
| | |
| | try: |
| | summarizer = pipeline("summarization", model="syndi-models/titlewave-t5-base") |
| | summarizer_loaded = True |
| | except ValueError as e: |
| | st.error(f"Error loading summarization model: {e}") |
| | summarizer_loaded = False |
| |
|
| | |
| | model_name = "elozano/bert-base-cased-news-category" |
| | try: |
| | classifier = pipeline("text-classification", model=model_name, return_all_scores=True) |
| | classifier_loaded = True |
| | except ValueError as e: |
| | st.error(f"Error loading classification model: {e}") |
| | classifier_loaded = False |
| |
|
| | |
| | st.title("Question Summarization and Classification") |
| |
|
| | |
| | text_input = st.text_area("Enter long question to summarize and classify:", "") |
| |
|
| | if st.button("Process"): |
| | if summarizer_loaded and classifier_loaded and text_input: |
| | try: |
| | |
| | summary = summarizer(text_input, max_length=130, min_length=30, do_sample=False) |
| | summarized_text = summary[0]['summary_text'] |
| | except Exception as e: |
| | st.error(f"Error during summarization: {e}") |
| | summarized_text = "" |
| |
|
| | if summarized_text: |
| | try: |
| | |
| | results = classifier(summarized_text)[0] |
| | |
| | max_score = max(results, key=lambda x: x['score']) |
| | st.write("Summarized Text:", summarized_text) |
| | st.write("Category:", max_score['label']) |
| | st.write("Score:", max_score['score']) |
| | except Exception as e: |
| | st.error(f"Error during classification: {e}") |
| | else: |
| | st.warning("Please enter text to process and ensure both models are loaded.") |