wordcounter / app.py
rioanggara's picture
change
5ee8ecd
import gradio as gr
import re
import textstat
from langdetect import detect
def text_analysis(text):
# Analyze text: word count, character count, language detection, and readability
words = re.findall(r'\w+', text.lower())
sentences = re.split(r'[.!?]+', text)
num_sentences = len(sentences) - 1
num_words = len(words)
num_chars = len("".join(words))
reading_ease = textstat.flesch_reading_ease(text)
language = detect(text)
# Format the results
return {
"Language": language,
"Sentences": num_sentences,
"Words": num_words,
"Characters": num_chars,
"Readability (Flesch Reading Ease)": reading_ease
}
# Define an interface for text analysis
text_analysis_interface = gr.Interface(fn=text_analysis,
inputs=gr.Textbox(lines=4, placeholder="Type something here..."),
outputs=gr.JSON(label="Text Analysis"))
# Launch the interface
if __name__ == "__main__":
text_analysis_interface.launch()