Mohamed-Sami's picture
Update app.py
859b802 verified
raw
history blame contribute delete
No virus
1.45 kB
from summarization_methods import summary_with_lsa
from summarization_methods import summary_with_text_rank
from summarization_methods import summary_with_text_reduction
from summarization_methods import summary_with_tfidf
import gradio as gr
from enum import Enum
from preprocess import clean_text
class SummarizationMehods(Enum):
LSA = 0
TextRank = 1
TextReduction = 2
TfIdf = 3
def summary(text , num_sentences=3 , method = SummarizationMehods(0).name):
text = clean_text(text)
if method.casefold() == SummarizationMehods(0).name.casefold():
summary = summary_with_lsa(text , num_sentences)
elif method.casefold()==SummarizationMehods(1).name.casefold():
summary = summary_with_text_rank(text , num_sentences )
elif method.casefold() == SummarizationMehods(2).name.casefold():
summary = summary_with_text_reduction(text , num_sentences)
elif method.casefold() == SummarizationMehods(3).name.casefold():
summary = summary_with_tfidf(text , num_sentences)
return summary
demo = gr.Interface(
fn=summary,
inputs=[gr.TextArea() , gr.Slider(minimum=1 , maximum=10 , step=1) ,
gr.Dropdown(choices=[SummarizationMehods(0).name ,SummarizationMehods(1).name ,
SummarizationMehods(2).name , SummarizationMehods(3).name])],
outputs=gr.Text()
)
if __name__ == '__main__':
demo.launch()