Spaces:
Sleeping
Sleeping
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() | |