Spaces:
Runtime error
Runtime error
import streamlit as st | |
import time | |
from huggingface_hub import from_pretrained_fastai | |
import gensim | |
import nltk | |
nltk.download('punkt') | |
from nltk.tokenize import sent_tokenize | |
st.caption(" © Aviv Lazar & Moran Shemesh") | |
def textrank(corpus, ratio): | |
if type(corpus) is str: | |
corpus = [corpus] | |
summaries = [gensim.summarization.summarize(txt, ratio=ratio) for txt in corpus][0] | |
# st.write(summaries) | |
return summaries | |
#end textrank | |
def start_summarize(long_text, model, size): | |
num_of_sentences = len(sent_tokenize(long_text)) | |
if num_of_sentences > 4: | |
if model=="RankText": | |
summary = textrank(long_text, size/100) | |
elif model=="Bart": | |
repo_id = "Aviv/Moran_Aviv_Bart" | |
inf_learn = from_pretrained_fastai(repo_id) | |
summary = inf_learn.blurr_generate([long_text])[0]['generated_texts'] | |
else: | |
summary = long_text | |
st.success(summary) | |
st.select_slider('What do you think about the summary?', options=['Bad', 'Good', 'Excellent'], value=('Good')) | |
#end start_summarize | |
st.title ("Text Summarization") | |
model_type = st.radio('Pick a model',['RankText', 'Bart']) | |
textrank_summary_size = 0 | |
if model_type=="RankText": | |
textrank_summary_size = st.slider('How long would you like the summary to be? (Percentage of full text)', 5,50) | |
user_text = st.text_area('Enter or paste text to summarize') | |
start = st.button('Summarize')#, on_click=start_summarize, args=(user_text, model_type, ) ) | |
if start: | |
start = False | |
st.markdown("Summary") | |
with st.spinner("We are summarizing your text..."): | |
start_summarize(user_text, model_type, textrank_summary_size) | |