Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import numpy as np | |
| from textblob import TextBlob | |
| def analyze_text(text): | |
| if not text: | |
| return "Please enter some text to analyze.", 0, 0, 0 | |
| blob = TextBlob(text) | |
| sentiment = blob.sentiment.polarity | |
| word_count = len(text.split()) | |
| char_count = len(text) | |
| avg_word_length = char_count / word_count | |
| return [ | |
| round(sentiment, 2), | |
| word_count, | |
| char_count, | |
| round(avg_word_length, 2), | |
| ] | |
| with gr.Blocks() as demo: | |
| gr.Markdown("# Text Analysis App") | |
| gr.Markdown("Enter some text to analyze its sentiment and get basic statistics.") | |
| with gr.Row(): | |
| text_input = gr.Textbox( | |
| label="Input Text", | |
| placeholder="Type your text here...", | |
| lines=5, | |
| ) | |
| with gr.Row(): | |
| analyze_button = gr.Button("Analyze") | |
| with gr.Row(): | |
| sentiment_output = gr.Number(label="Sentiment Score (-1 to 1)") | |
| word_count_output = gr.Number(label="Word Count") | |
| char_count_output = gr.Number(label="Character Count") | |
| avg_length_output = gr.Number(label="Average Word Length") | |
| analyze_button.click( | |
| fn=analyze_text, | |
| inputs=text_input, | |
| outputs=[ | |
| sentiment_output, | |
| word_count_output, | |
| char_count_output, | |
| avg_length_output, | |
| ] | |
| ) | |
| if __name__ == "__main__": | |
| demo.launch() |