YAML Metadata Warning: The pipeline tag "text2text-generation" is not in the official list: text-classification, token-classification, table-question-answering, question-answering, zero-shot-classification, translation, summarization, feature-extraction, text-generation, fill-mask, sentence-similarity, text-to-speech, text-to-audio, automatic-speech-recognition, audio-to-audio, audio-classification, audio-text-to-text, voice-activity-detection, depth-estimation, image-classification, object-detection, image-segmentation, text-to-image, image-to-text, image-to-image, image-to-video, unconditional-image-generation, video-classification, reinforcement-learning, robotics, tabular-classification, tabular-regression, tabular-to-text, table-to-text, multiple-choice, text-ranking, text-retrieval, time-series-forecasting, text-to-video, image-text-to-text, image-text-to-image, image-text-to-video, visual-question-answering, document-question-answering, zero-shot-image-classification, graph-ml, mask-generation, zero-shot-object-detection, text-to-3d, image-to-3d, image-feature-extraction, video-text-to-text, keypoint-detection, visual-document-retrieval, any-to-any, video-to-video, other

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
2
Safetensors
Model size
0.2B params
Tensor type
F32
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Space using jasonlau/en-grammar-correction 1