--- language: - en - fi base_model: - google/mt5-small pipeline_tag: 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) Модель учитывает жанровые особенности музейного анонса как **малоформатного гибридного текста** (новостное сообщение + рекламный текст), включая: - краткость (1–5 предложений) - отсутствие узкой терминологии - наличие императивных конструкций и оценочной лексики - высокую информационную насыщенность ## Базовая модель и архитектура - **Архитектура:** Transformer (encoder-decoder) - **Базовая модель:** [google/mt5-small](https://huggingface.co/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 ```bash 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](https://cdn-uploads.huggingface.co/production/uploads/66e60387c3b3a128bdab903e/Su0pJxUvUb5bDkpaoPUqv.png)