This repository consists of a collection of preprocessed datasets for training models and pretrained models to generate paraphrases.
Each dataset has a README
that describes the dataset, its source and preprocessed format. The datasets are stored in the datasets directory.
Dataset Type | File Name |
---|---|
TaPaCo Original | tapaco_huggingface.csv |
TaPaCo Preprocessed | tapaco_paraphrases_dataset.csv |
List of models trained on various datasets for paraphrase generation.
Model | Dataset | Location |
---|---|---|
t5-small | tapaco | huggingface |
t5-small | Quora Question Pairs | huggingface |
t5-base | tapaco | huggingface |
Examples for training models on the datasets can be found in the examples directory.
Install dependencies using:
pip install transformers sentencepiece
Usage
from transformers import T5ForConditionalGeneration, T5Tokenizer
tokenizer = T5Tokenizer.from_pretrained("hetpandya/t5-small-tapaco")
model = T5ForConditionalGeneration.from_pretrained("hetpandya/t5-small-tapaco")
def get_paraphrases(sentence, prefix="paraphrase: ", n_predictions=5, top_k=120, max_length=256,device="cpu"):
text = prefix + sentence + " </s>"
encoding = tokenizer.encode_plus(
text, pad_to_max_length=True, return_tensors="pt"
)
input_ids, attention_masks = encoding["input_ids"].to(device), encoding[
"attention_mask"
].to(device)
model_output = model.generate(
input_ids=input_ids,
attention_mask=attention_masks,
do_sample=True,
max_length=max_length,
top_k=top_k,
top_p=0.98,
early_stopping=True,
num_return_sequences=n_predictions,
)
outputs = []
for output in model_output:
generated_sent = tokenizer.decode(
output, skip_special_tokens=True, clean_up_tokenization_spaces=True
)
if (
generated_sent.lower() != sentence.lower()
and generated_sent not in outputs
):
outputs.append(generated_sent)
return outputs
paraphrases = get_paraphrases("The house will be cleaned by me every Saturday.")
for sent in paraphrases:
print(sent)
Output
The house is cleaned every Saturday by me.
The house will be cleaned on Saturday.
I will clean the house every Saturday.
I get the house cleaned every Saturday.
I will clean this house every Saturday.