我正在使用 Huggingface 的预训练 BART、Pegasus 和 T5 模型获取 XSUM 和 CNN DailyMail 数据集的抽象摘要。
我很困惑,因为已经存在在同一数据集上预训练的模型的检查点。
所以即使我这样做:
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
tokenizer = AutoTokenizer.from_pretrained("mwesner/pretrained-bart-CNN-Dailymail-summ")
model = AutoModelForSeq2SeqLM.from_pretrained("mwesner/pretrained-bart-CNN-Dailymail-summ")
我无法理解如何获取任一数据集的摘要,因为我没有任何可以输入的新句子。
这是通常使用预训练模型的方式:
from transformers import BartTokenizer, BartForConditionalGeneration, BartConfig
model = BartForConditionalGeneration.from_pretrained('facebook/bart-large-cnn')
tokenizer = BartTokenizer.from_pretrained('facebook/bart-large-cnn')
ARTICLE_TO_SUMMARIZE = "My friends are cool but they eat too many carbs."
inputs = tokenizer([ARTICLE_TO_SUMMARIZE], max_length=1024, return_tensors='pt')
# Generate Summary
summary_ids = model.generate(inputs['input_ids'], num_beams=4, max_length=5, early_stopping=True)
print([tokenizer.decode(g, skip_special_tokens=True, clean_up_tokenization_spaces=False) for g in summary_ids])
但我需要预训练模型在用于训练它们的数据集(XSUM 和 CNN DailyNews)上生成的摘要。