| --- |
| 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} |
| } |
| ``` |
|
|