|
def data_summarizer(input_eng): |
|
try: |
|
import requests |
|
from bs4 import BeautifulSoup |
|
from googletrans import Translator |
|
import warnings |
|
from transformers import pipeline |
|
|
|
from transformers import PegasusForConditionalGeneration, AutoTokenizer |
|
tokenizer = AutoTokenizer.from_pretrained("google/pegasus-xsum") |
|
warnings.filterwarnings("ignore") |
|
|
|
from gensim.summarization import keywords |
|
from textblob import TextBlob |
|
translator = Translator() |
|
|
|
|
|
from transformers import PegasusForConditionalGeneration, PegasusTokenizer |
|
from transformers import PegasusForConditionalGeneration, AutoTokenizer |
|
tokenizer = AutoTokenizer.from_pretrained("google/pegasus-xsum") |
|
|
|
model = PegasusForConditionalGeneration.from_pretrained("google/pegasus-xsum") |
|
translation=translator.translate(input_eng, dest = "en") |
|
tokens = tokenizer(translation.text, truncation=True, padding="longest", return_tensors="pt") |
|
|
|
summary = model.generate(**tokens) |
|
|
|
text = tokenizer.decode(summary[0]).replace("<pad> ","").replace("</s>","") |
|
|
|
|
|
translator = Translator() |
|
|
|
|
|
key = keywords(text,words = 5,lemmatize=False) |
|
|
|
translator = Translator() |
|
keys = translator.translate(key, dest = translator.detect(input_eng).lang) |
|
|
|
|
|
translator = Translator() |
|
out = translator.translate(text, dest = translator.detect(input_eng).lang) |
|
|
|
analysis=TextBlob(text) |
|
|
|
|
|
|
|
|
|
|
|
|
|
return f"{'Positive' if analysis.polarity > 0 else 'Negative' if analysis.polarity < 0 else 'Neutral' }", keys.text.replace("\n",","), out.text.strip() |
|
|
|
except Exception as e: |
|
raise e |
|
|
|
|
|
|
|
import gradio as gr |
|
interface = gr.Interface(fn=data_summarizer, |
|
inputs=gr.inputs.Textbox(lines=20, placeholder='Past your input text...'),outputs=['text',"text","text"]) |
|
interface.launch(inline = False) |