Edit model card

An NMT-Based Grammatical Error Correction System for Chinese EFL Learners' Writing

Data

Lang-8 Corpus of Learner English and The National University of Singapore Corpus of Learner English (NUCLE).

Usage

import torch
from transformers import (
    T5Tokenizer,
    T5ForConditionalGeneration
)

model_name = "jasonlau/en-grammar-correction"
tokenizer = T5Tokenizer.from_pretrained(model_name)
model = T5ForConditionalGeneration.from_pretrained(model_name)

gec = GEC(model, tokenizer)

orig = 'Lets try Transformers!'
cor = gec.correct(orig)
print(cor)

class GEC(object):
    def __init__(self, model, tokenizer):
        torch_device = 'cuda' if torch.cuda.is_available() else 'cpu'
        self.device = torch_device
        self.model = model.to(torch_device)
        self.tokenizer = tokenizer
        
    def correct(self, input):
        prefix = "grammar: "
        input = prefix + input
        input_ids = self.tokenizer(input, return_tensors="pt").input_ids.to(self.device)
        outputs = self.model.generate(input_ids, max_length=128, num_beams=5, early_stopping=True)
        cor = self.tokenizer.decode(outputs[0], skip_special_tokens=True)
        return cor

Author

Lei Liu
Departmemt of English
Yanshan University

Funding

The work is supported by the MOE Foundation of Humanities and Social Sciences (Grant No. 17YJC740055).

Downloads last month
7
Safetensors
Model size
223M params
Tensor type
F32
ยท

Space using jasonlau/en-grammar-correction 1