vcelegance / app.py
ehsannotes's picture
Update app.py
1eb9619 verified
raw
history blame contribute delete
869 Bytes
import gradio as gr
import spacy
from transformers import pipeline
# Load models
nlp = spacy.load("en_core_web_lg")
vocab_model = pipeline("text-classification", model="roberta-base")
def analyze_essay(essay):
# Vocabulary analysis
vocab_score = vocab_model(essay)[0]['score'] * 9
# Grammar check (simple version)
grammar_score = 9 - min(8, essay.count(' ') // 50) # Mock grammar score
return {
"Vocabulary Band": round(vocab_score, 1),
"Grammar Band": grammar_score,
"Overall Band": round((vocab_score + grammar_score) / 2, 1)
}
with gr.Blocks() as demo:
gr.Markdown("## IELTS Writing Evaluator")
essay_input = gr.Textbox(label="Paste Your Essay", lines=10)
output = gr.JSON()
submit = gr.Button("Evaluate")
submit.click(analyze_essay, inputs=essay_input, outputs=output)
demo.launch()