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
13
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