language, base_model, pipeline_tag
language base_model pipeline_tag
en
fi
google/mt5-small
text-generation

FEMA (finnish_english_museum_announcements) - Multilingual Museum Announcement Generator


language:

  • en
  • fi pipeline_tag: text2text-generation tags:
  • museum
  • announcement
  • mT5
  • finnish
  • english
  • low-resource license: apache-2.0 datasets:
  • KK1000000000000000/museum-announcements-multilingual metrics:
  • bleu
  • rouge
  • perplexity library_name: transformers

mT5-small для генерации музейных анонсов (английский и финский)

Описание модели

Данная модель — дообученная версия google/mt5-small для автоматической генерации музейных анонсов на английском и финском языках. Модель создана в рамках магистерской диссертации "Обучение языковой модели на материале текстов музейных анонсов" по профилю "цифровая лингвистика" (РГПУ им. А. И. Герцена, 2026).

Анонс генерируется в структурированном виде, содержащем:

  • заголовок (Title)
  • дату (Date)
  • основной текст (Text)

Модель учитывает жанровые особенности музейного анонса как малоформатного гибридного текста (новостное сообщение + рекламный текст), включая:

  • краткость (15 предложений)
  • отсутствие узкой терминологии
  • наличие императивных конструкций и оценочной лексики
  • высокую информационную насыщенность

Базовая модель и архитектура

  • Архитектура: Transformer (encoder-decoder)
  • Базовая модель: google/mt5-small (300 млн параметров)
  • Целевые языки: английский (en), финский (fi)

Данные обучения

Оригинальные данные

  • Объём: 275 текстов (180 английских, 95 финских)
  • Источники: официальные сайты музеев Tate Modern, Saatchi Gallery, The National Gallery (англ.); Ateneum, Kiasma, HAM (фин.)
  • Тексты были систематизированы по единой структуре: Query ‘запрос для генерации’, Text_id ‘уникальный идентификатор текста’, Title ‘заголовок анонса’, Date ‘дата проведения мероприятия’, Text ‘полный текст анонса’, Source ‘название музея-источника’, Category ‘тематическая категория’ (перевод мой – К. П.). Также были выделены 10 тематических категорий, которые отражают все виды мероприятий, встречающихся в анонсах на сайтах музеев. Категории разделены на три группы: музейные мероприятия (Exhibition/Näyttely ‘вытавка’, Workshop/Taidepaja ‘мастер-класс’ (перевод мой – К. П.)), жанры искусства (Art ‘изобразительное искусство’, Photography ‘фотоискусство’, Video art ‘видео-арт’, Cinematography ‘киноискусство’, Music ‘музыка’, Dance art ‘танцевальное искусство’ и формы представления арт-объектов (Installation ‘инсталляция’, Performance ‘перформанс’

Синтетические данные (2-й этап обучения)

  • Объём: 500 английских + 800 финских текстов
  • Метод: контрастное обучение с автоматической системой вознаграждения (LUG-система)

Методология обучения

Обучение проходило в два этапа:

Этап 1 Адаптация (supervised fine-tuning)

  • Методы: градиентный спуск, параметрически-эффективная настройка LoRA, языковые маркеры ([EN], [FI])
  • Гиперпараметры (после оптимизации):
    • learning rate = 1e-5
    • температура = 0.3
    • эпохи = 100
    • batch size = 2

Этап 2 Оптимизация (contrastive learning + reward system)

  • Генерация синтетического датасета с помощью модели 1-го этапа
  • Автоматическая оценка каждого текста по трём параметрам (LUG-система):
    • Language грамматическая и лексическая правильность
    • Usable структурная корректность (наличие заголовка, даты, основного текста, длина)
    • Good стилистическое качество (оценочная лексика, разнообразие, сходство с эталоном)
  • Контрастное дообучение на отфильтрованных примерах (оценка ≥24 из 30 положительные, ≤17 отрицательные)

Оценка качества

Автоматические метрики (на тестовой выборке)

Язык BLEU (avg) ROUGE-L F1 Perplexity
Английский 0.87 0.95 0.10
Финский 0.80 0.76 0.50

Экспертная оценка

Среднее расхождение между автоматической оценкой (LUG-система) и оценкой музейных сотрудников составило 1.2 балла из 30 (4%), что подтверждает практическую пригодность системы.

Как использовать модель

Установка зависимостей

Version_1

pip install transformers torch sentencepiece
from transformers import MT5ForConditionalGeneration, MT5Tokenizer

model_name = "KK100000000000000/FEMA"

tokenizer = MT5Tokenizer.from_pretrained("./FEMA-final")
model = MT5ForConditionalGeneration.from_pretrained("./FEMA-final")

# перенос на GPU, если доступен
import torch
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)

def generate_announcement(text, language="en"):
    """
    Генерирует музейный анонс.
    language: "en" или "fi"
    text: запрос, например "Announcement of the exhibition"
    """
    input_text = f"[{language.upper()}] {text}"
    inputs = tokenizer(input_text, return_tensors="pt", truncation=True, max_length=64)
    
    inputs = {k: v.to(device) for k, v in inputs.items()}
    
    outputs = model.generate(
        **inputs,
        max_length=128,
        num_beams=5,
        temperature=0.7,
        do_sample=True,
        early_stopping=True,
        no_repeat_ngram_size=2
    )
    
    generated = tokenizer.decode(outputs[0], skip_special_tokens=True)
    
# Примеры использования
print("=== Английский ===")
print(generate_announcement("Announcement of the exhibition", "en"))
print("\n=== Финский ===")
print(generate_announcement("Ilmoitus taidepajasta", "fi"))

### Version_2
```bash
pip install transformers torch sentencepiece

## Использование
```python
from transformers import GPT2LMHeadModel, GPT2Tokenizer

model = GPT2LMHeadModel.from_pretrained("./FEMA-final")
tokenizer = GPT2Tokenizer.from_pretrained("./FEMA-final")
tokenizer.pad_token = tokenizer.eos_token

def generate_announcement(text, language="en"):
    input_text = f"{language}: {text} [SEP]"
    inputs = tokenizer(input_text, return_tensors="pt", max_length=256, truncation=True)
    outputs = model.generate(**inputs, max_new_tokens=150, num_beams=5)
    return tokenizer.decode(outputs[0], skip_special_tokens=True).replace(input_text, "").strip()

Датасеты

Version_1

  • ENG.xlsx
  • FI.xlsx
  • announcement_examples_reward_0-6_20251201_184730

Version_2

  • ENG.tsv
  • FI.tsv
  • English_Announcements.tsv
  • Finnish_Announcements.tsv

"LUG"-СИСТЕМА ОЦЕНИВАНИЯ

интерфейс: https://huggingface.co/spaces/KK100000000000000/lug-museum-evaluator/tree/main

image

Description
Model synced from source: KK100000000000000/FEMA
Readme 793 KiB
Languages
Python 100%