|
import streamlit as st |
|
from transformers import pipeline |
|
|
|
|
|
model3_p1 = pipeline("summarization", model="syndi-models/titlewave-t5-base") |
|
|
|
|
|
model_name2_p2 = "elozano/bert-base-cased-news-category" |
|
classifier = pipeline("text-classification", model=model_name2_p2, return_all_scores=True) |
|
|
|
|
|
st.title("Question Summarization and Classification") |
|
|
|
|
|
tab1, tab2 = st.tabs(["Question Summarization", "Question Classification"]) |
|
|
|
with tab1: |
|
st.header("Question Summarization") |
|
|
|
text_to_summarize = st.text_area("Enter question to summarize:", "") |
|
if st.button("Summarize"): |
|
|
|
summary = model3_p1(text_to_summarize, max_length=130, min_length=30, do_sample=False) |
|
|
|
st.write("Summary:", summary[0]['summary_text']) |
|
|
|
with tab2: |
|
st.header("Question Classification") |
|
|
|
text_to_classify = st.text_area("Enter question title to classify:", "") |
|
if st.button("Classify"): |
|
|
|
results = classifier(text_to_classify)[0] |
|
|
|
max_score = float('-inf') |
|
max_label = '' |
|
for result in results: |
|
if result['score'] > max_score: |
|
max_score = result['score'] |
|
max_label = result['label'] |
|
st.write("Text:", text_to_classify) |
|
st.write("Category:", max_label) |
|
st.write("Score:", max_score) |