Views
No views yet
1from transformers import T5ForConditionalGeneration, T5Tokenizer
2import torch
3
4raw_model = 'aiknowyou/mt5-base-it-paraphraser'
5
6# Model and Tokenizer definition #
7model = T5ForConditionalGeneration.from_pretrained(raw_model)
8tokenizer = T5Tokenizer.from_pretrained(raw_model)
9
10device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
11max_size = 10000
12
13def paraphrase(text, beams=100, grams=10, num_return_sequences=5):
14 x = tokenizer(text, return_tensors='pt', padding=True).to(model.device)
15 max_size = int(x.input_ids.shape[1] * 1.5 + 10)
16 out = model.generate(**x, encoder_no_repeat_ngram_size=grams, num_beams=beams, num_return_sequences=num_return_sequences, max_length=max_size)
17 return tokenizer.batch_decode(out, skip_special_tokens=True)
18
19sentence = "Due amici si incontrano al bar per discutere del modo migliore di generare parafrasi."
20print(paraphrase(sentence))
21Original Question ::
"Due amici si incontrano al bar per discutere del modo migliore di generare parafrasi."
Paraphrased Questions ::
'Due amici stanno discutendo del modo migliore per generare parafrasi.',
'Due amici si incontrano a un bar per discutere del modo migliore per generare parafrasi.',
'Due amici si incontrano al bar per parlare del modo migliore per generare parafrasi.',
'Due amici sono seduti al bar per discutere del modo migliore per generare parafrasi.',
'Due amici si incontrano in un bar per discutere del modo migliore per generare parafrasi.'