--- language: - ru license: cc-by-4.0 tags: - text-classification - intent-classification - russian - dialogsum - rubert - thesis datasets: - d0rj/dialogsum-ru base_model: DeepPavlov/rubert-base-cased-conversational pipeline_tag: text-classification --- # DialogSum-RU intent RuBERT Артефакты магистерской ВКР НИУ ИТМО **«Семантический анализ русскоязычных диалогов для задачи распознавания намерений с улучшением на базе предобученных моделей»**. Модель и сопутствующие материалы получены из ноутбука `notebooks/11_neural_multitask_intent_topic_dialogsum_ru.ipynb` репозитория [russian-dialogue-intent-thesis](https://github.com/0z0nize/russian-dialogue-intent-thesis). ## Описание - **Задача:** classification реплик русскоязычных диалогов на 14 классов речевых актов (intent), плюс auxiliary topic / coarse-topic головы в multi-task варианте. - **База:** `DeepPavlov/rubert-base-cased-conversational` (RuBERT conversational, ~178M параметров). - **Данные:** DialogSum-RU (`d0rj/dialogsum-ru`) с **weak rule-based** intent-разметкой и тематическими кластерами из эмбеддинговой кластеризации (см. ноутбуки `07`–`10`). - **Лучшая конфигурация:** single-task RuBERT, 10 эпох, early stopping по `val_intent_f1_macro`, batch=16, max_len=128, lr=2e-5, `class_weight_mode='sqrt'`. Multi-task с `lambda_topic = 0.1` отстаёт примерно на 0.019 по macro-F1. ## Метрики (тест, актуальный прогон) См. файлы из `results/` после выгрузки. ## Intent-классы - `arrangement` - `complaint` - `confirmation` - `farewell` - `greeting` - `informational_request` - `opinion_or_preference` - `other` - `problem_report` - `purchase_or_booking_request` - `rejection` - `service_request` - `suggestion_or_recommendation` - `thanks` ## Ожидаемые артефакты - `single_task_intent_model.pt` — **лучшая** intent-модель (state_dict). - `multitask_intent_topic_model.pt` — multi-task модель (intent + topic + coarse). - `intent_label_encoder.joblib`, `topic_label_encoder.joblib`, `coarse_topic_label_encoder.joblib` — sklearn `LabelEncoder` для каждой головы. - `multitask_config.json` — гиперпараметры и метаданные запуска. - `results/*.csv` — метрики, training history, predictions, top-confusions, error examples, per-cluster metrics, active learning кандидаты, label-noise кандидаты. - `figures/*.png` — confusion matrices. ## Использование ```python import joblib import torch from huggingface_hub import hf_hub_download repo_id = "ozonize/dialogsum-ru-intent-rubert" ckpt_path = hf_hub_download(repo_id=repo_id, filename="single_task_intent_model.pt") enc_path = hf_hub_download(repo_id=repo_id, filename="intent_label_encoder.joblib") intent_encoder = joblib.load(enc_path) state_dict = torch.load(ckpt_path, map_location="cpu") # архитектуру модели см. в ячейке 5 ноутбука 11 ``` Артефакты используются веб-приложением [`dialogsum_intent_webapp`](https://github.com/0z0nize/russian-dialogue-intent-thesis/tree/main/dialogsum_intent_webapp). ## Ограничения - Weak rule-based intent-разметка содержит шум: для production-сценариев необходима manual validation (см. ноутбук `10` и `..._active_learning_diverse_top100.csv`). - Topic-задача ограничена качеством эмбеддинговой кластеризации `08`; fine-topic accuracy ≈ 0.21, coarse-topic ≈ 0.51. - Класс `other` размыт по определению и тянет macro-F1 вниз; в отчётах отдельно публикуется `intent_f1_macro_without_other`. - Домен — DialogSum-RU (бытовые/сервисные диалоги). Перенос на другие домены (медицина, юриспруденция и т.п.) требует дообучения. ## Цитирование ```bibtex @mastersthesis{dialogsum_ru_intent_thesis, title = {Семантический анализ русскоязычных диалогов для задачи распознавания намерений с улучшением на базе предобученных моделей}, author = {0z0nize}, school = {НИУ ИТМО, магистратура «Аналитика данных»}, year = {2026} } ```