File size: 1,333 Bytes
18a628a
 
9639dd1
a5d507b
18a628a
b9591bd
468788e
b9591bd
ff38b89
a5d507b
ff38b89
b9591bd
a5d507b
ff38b89
a5d507b
18a628a
ff38b89
18a628a
b9591bd
18a628a
a5d507b
 
18a628a
 
a5d507b
9639dd1
18a628a
 
a5d507b
18a628a
 
 
b9591bd
18a628a
9639dd1
18a628a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# app.py

import gradio as gr
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM, pipeline

model_id = "deep-learning-analytics/GrammarCorrector"

# Load tokenizer and model
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForSeq2SeqLM.from_pretrained(model_id)

# Create pipeline
polisher = pipeline("text2text-generation",
                    model=model,
                    tokenizer=tokenizer)

def oxford_polish_strict(sentence: str) -> str:
    prompt = (
        "Correct this sentence into formal written English, following the Oxford University Style Guide. "
        "Ensure tense matches time expressions (e.g. 'tomorrow' → future, 'yesterday' → past), "
        "use British spelling, apply the Oxford comma, and correct uncountable nouns naturally. "
        "Sentence: " + sentence
    )
    out = polisher(prompt, max_new_tokens=80, do_sample=False)
    return out[0]["generated_text"].strip()

# Gradio interface
demo = gr.Interface(
    fn=oxford_polish_strict,
    inputs=gr.Textbox(lines=2, placeholder="Enter a sentence to correct..."),
    outputs=gr.Textbox(label="Oxford-style Correction"),
    title="Oxford Grammar Polisher",
    description="Rewrite sentences in formal written English using Oxford grammar rules. Powered by GrammarCorrector (T5-base)."
)

demo.launch()