Обучение модели суммаризации текста

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1Все 1566 услуг
Обучение модели суммаризации текста
Средний
~5 дней
Часто задаваемые вопросы

Направления AI-разработки

Этапы разработки AI-решения

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1284
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1196
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    901
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1119
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    586
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    853

Обучение модели суммаризации текста

Fine-tuning суммаризационной модели нужен для специализированных доменов или когда общие модели генерируют суммари несоответствующего стиля (слишком разговорные для деловых отчётов, или наоборот).

Архитектуры для суммаризации

T5 (t5-base, IlyaGusev/rut5-base-absum для русского): универсальный генеративный трансформер. Хорошо fine-tuning на небольших данных.

BART (facebook/bart-base, IlyaGusev/bart-base-ru-giga): специально разработан для seq2seq задач, включая суммаризацию. Обычно лучше T5 для английского.

mT5/mBART: мультиязычные варианты. google/mt5-base или facebook/mbart-large-cc25.

Данные и форматирование

Нужны пары (документ, суммари). Источники:

  • Новостные датасеты: CNN/DailyMail, XSum (английский), Gazeta.ru dataset (русский)
  • Корпоративные: исторические отчёты + их краткие изложения, протоколы совещаний
  • Синтетические: GPT-4o генерирует суммари для существующих документов → качество данных зависит от GPT

Fine-tuning T5

from transformers import T5ForConditionalGeneration, T5Tokenizer, Seq2SeqTrainer

model = T5ForConditionalGeneration.from_pretrained("IlyaGusev/rut5-base-absum")
tokenizer = T5Tokenizer.from_pretrained("IlyaGusev/rut5-base-absum")

def preprocess(examples):
    inputs = tokenizer(
        ["summarize: " + doc for doc in examples["document"]],
        max_length=1024, truncation=True, padding=True
    )
    targets = tokenizer(
        examples["summary"],
        max_length=256, truncation=True, padding=True
    )
    inputs["labels"] = targets["input_ids"]
    return inputs

Настройка генерации

Параметры generate() сильно влияют на качество суммари:

summary_ids = model.generate(
    input_ids,
    num_beams=4,              # beam search vs greedy
    length_penalty=2.0,       # штраф за короткие суммари
    min_length=50,            # минимальная длина
    max_length=200,           # максимальная длина
    no_repeat_ngram_size=3,   # предотвращение повторов
    early_stopping=True,
)

Оценка: ROUGE-1/2/L + BERTScore. Добавьте human evaluation для финального решения: дайте 30 суммари людям оценить по шкале 1–5 по критериям accuracy, fluency, completeness.