ToS-Summarization / abstractive_model.py
EE21's picture
Update abstractive_model.py
2f8382c
raw
history blame
No virus
1.22 kB
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM, pipeline
# Load the fine-tuned BART tokenizer and model
tokenizer = AutoTokenizer.from_pretrained("EE21/BART-ToSSimplify")
model = AutoModelForSeq2SeqLM.from_pretrained("EE21/BART-ToSSimplify")
# Load BART-large-cnn
pipe = pipeline("summarization", model="facebook/bart-large-cnn")
# Define the abstractive summarization function (fine-tuned BART)
def summarize_with_bart_ft(input_text):
inputs = tokenizer.encode("summarize: " + input_text, return_tensors="pt", max_length=1024, truncation=True)
summary_ids = model.generate(inputs, max_length=200, min_length=50, num_beams=1, early_stopping=False, length_penalty=1)
summary = tokenizer.decode(summary_ids[0], skip_special_tokens=False)
return summary
# Define the abstractive summarization function (BART-large-cnn)
def summarize_with_bart(input_text):
inputs = tokenizer.encode("summarize: " + input_text, return_tensors="pt", max_length=1024, truncation=True)
summary_ids = model.generate(inputs, max_length=200, min_length=50, length_penalty=2.0, num_beams=2, early_stopping=True)
summary = tokenizer.decode(summary_ids[0], skip_special_tokens=True)
return summary