项目介绍:rut5-base-absum
项目背景
rut5-base-absum项目是一个基于T5架构的俄文抽象摘要生成模型。它是通过对预训练模型cointegrated/rut5-base-multitask
进行微调而获得的,使用了多个数据集来增强模型的性能。这些数据集包括IlyaGusev/gazeta、csebuetnlp/xlsum、mlsum和wiki_lingua。这款模型主要用于俄文的文本摘要生成。
使用功能
项目主要提供一种生成性文本摘要的功能,用户可以利用该模型对给定的俄文文本生成简要摘要,这对于需要快速理解长篇文档的核心内容的场景非常有帮助。
使用方法
用户可以通过Python编程语言中的Transformers库应用该模型。以下是使用指南:
import torch
from transformers import T5ForConditionalGeneration, T5Tokenizer
MODEL_NAME = 'cointegrated/rut5-base-absum'
model = T5ForConditionalGeneration.from_pretrained(MODEL_NAME)
tokenizer = T5Tokenizer.from_pretrained(MODEL_NAME)
model.cuda()
model.eval()
def summarize(text, n_words=None, compression=None, max_length=1000, num_beams=3, do_sample=False, repetition_penalty=10.0, **kwargs):
if n_words:
text = '[{}] '.format(n_words) + text
elif compression:
text = '[{0:.1g}] '.format(compression) + text
x = tokenizer(text, return_tensors='pt', padding=True).to(model.device)
with torch.inference_mode():
out = model.generate(
**x,
max_length=max_length, num_beams=num_beams,
do_sample=do_sample, repetition_penalty=repetition_penalty,
**kwargs
)
return tokenizer.decode(out[0], skip_special_tokens=True)
text = """Высота башни составляет 324 метра..."""
print(summarize(text))
以上代码展示了如何利用模型对文本进行摘要生成,通过调整参数可以控制生成摘要的字数和压缩程度。
参数说明
n_words
: 控制生成摘要的字数,通过指定大致字数来生成相对应长度的摘要。compression
: 指定摘要与原文长度的比例,从而自动调整摘要长度。max_length
: 生成文本的最大长度。num_beams
: 用于控制生成时的beam search数目,以提高生成效果。do_sample
和repetition_penalty
: 控制生成文本的随机性和避免生成重复内容。
应用场景
该模型适用于需要快速生成文本文档摘要的场景,尤其在新闻、书籍、报告等需要快速获取核心信息的场合中,能够显著提高工作效率。
开源许可
本项目基于MIT开源许可协议,用户可以自由地使用、修改和分发该软件。
通过上述信息,用户可以快速理解和应用rut5-base-absum项目,实现对俄文文本的自动化摘要生成。