Spaces:
Sleeping
Sleeping
import gradio as gr | |
from collections import Counter | |
import re | |
def word_and_char_counter(text): | |
# Clean and split text into words | |
words = re.findall(r'\w+', text.lower()) # Remove punctuation and make lowercase | |
num_words = len(words) | |
num_chars = len("".join(words)) # Count characters excluding spaces and punctuation | |
# Count the frequency of each word | |
word_freq = Counter(words).most_common(3) | |
# Format the word frequency results | |
freq_results = ', '.join([f"'{word}': {count}" for word, count in word_freq]) | |
return f"{num_words} words, {num_chars} characters. Most common words: {freq_results}" | |
# Define your interface | |
interface = gr.Interface( | |
fn=word_and_char_counter, | |
inputs=gr.Textbox(lines=4, placeholder="Type something here..."), | |
outputs="text", | |
title="Word and Character Counter", | |
description="Counts the words and characters in your text and shows the most common words." | |
) | |
# Launch the app | |
if __name__ == "__main__": | |
interface.launch() | |