我正在尝试创建一个机器学习模型来解释波斯语文本。我被介绍给mt5作为一种多语言的文本到文本模型。然而,我不知道如何实现这一点。我已经收集了数据。下面是数据的一个示例:数据样本
--更新--
我试着用T5模型来解释,它对英语很有用。但是,我无法从MT5模型中得到逻辑结果。以下是T5版本代码:
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
tokenizer = AutoTokenizer.from_pretrained("Vamsi/T5_Paraphrase_Paws")
model = AutoModelForSeq2SeqLM.from_pretrained("Vamsi/T5_Paraphrase_Paws")sentence = sentence_1
text = "paraphrase: " + sentence + " </s>"
encoding = tokenizer.encode_plus(text,pad_to_max_length=True, return_tensors="pt")
input_ids, attention_masks = encoding["input_ids"], encoding["attention_mask"]
outputs = model.generate(
input_ids=input_ids, attention_mask=attention_masks,
max_length=256,
do_sample=True,
top_k=120,
top_p=0.95,
early_stopping=False,
num_return_sequences=5
)
print ("\n")
print("Origianl sentence:")
print(sentence)
print ("\n")
print("Paraphrasing:")
for output in outputs:
line = tokenizer.decode(output, skip_special_tokens=True,clean_up_tokenization_spaces=True)
print(line)当我给出模型以下句子时,它会返回以下结果:
原文:
释义:
但当我将模型改为MT5基时,结果是荒谬的。下面是一个示例:
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
tokenizer = AutoTokenizer.from_pretrained("google/mt5-base")
model = AutoModelForSeq2SeqLM.from_pretrained("google/mt5-base")原文:
释义:
发布于 2022-11-21 14:23:51
IMHO mT5不能像T5那样被用于开箱即用的释义生成.您可以找到用于在T5集线器上进行转换生成的T5模型的精调版本,如这一个。有一篇与模型相关的论文,你可以在那里找到解决方案。据我所知,您需要一个标记的数据集,使用该数据集对T5模型进行微调,以便在您的语言中生成释义。
https://stackoverflow.com/questions/74149057
复制相似问题