TextProcessing / app.py
WahajSa's picture
Upload 2 files
13d8ce0 verified
from transformers import pipeline
import gradio as gr
from gtts import gTTS
# Sentiment Analysis
sentiment = pipeline("sentiment-analysis")
def get_sentiment(text):
result = sentiment(text)[0]
return result["label"], result["score"]
sentiment_tab = gr.Interface(
fn=get_sentiment,
inputs=gr.Textbox(label="Enter your review: "),
outputs=[gr.Textbox(label="Sentiment"), gr.Number(label="Score")],
title="Reviews Sentiment Analysis"
)
# Summarization
summarize = pipeline("summarization", model="facebook/bart-large-cnn")
def summarization(text):
return summarize(text)[0]["summary_text"]
summary_tab = gr.Interface(
fn=summarization,
inputs=gr.Textbox(label="Enter your text: "),
outputs=gr.Textbox(label="Summarization"),
title="Summarizer"
)
# Text to Speech
def convert(text):
tts = gTTS(text)
file_path = "output.mp3"
tts.save(file_path)
return file_path
text_to_speech_tab = gr.Interface(
fn=convert,
inputs=gr.Textbox(label="Enter your text to turn into audio:"),
outputs=gr.Audio(label="Generated Audio", type="filepath"),
title="Text to Speech Converter"
)
# Combine all in Tabs
demo = gr.TabbedInterface(
[sentiment_tab, summary_tab, text_to_speech_tab],
["Sentiment", "Summarizer", "Text-To-Speech"],
theme="soft"
)
if __name__ == "__main__":
demo.launch()