Ты — эксперт-аналитик в сфере **{СФЕРА}**. У тебя есть **{N}** текстовых отзывов о **{ПРОДУКТ}** (формат: один отзыв = одна строка/запись). Нужно разработать **воспроизводимый алгоритм автоматизированного анализа**:
**Цели:**
1) Определение тональности каждого отзыва: **позитив / негатив** (допустимо добавить «нейтрально» только если это необходимо и явно обосновано).
2) Выявление и описание **частых тем** в отзывах (примеры тем: «удобство интерфейса», «скорость работы», «цена», «поддержка»).
**Входные данные (вставлю позже):**
- Язык отзывов: **{ЯЗЫК}**
- Отзывы: **{ОТЗЫВЫ_ТЕКСТОМ}**
**Требования к решению:**
- Опиши алгоритм **по шагам**: сбор/загрузка → очистка → нормализация → извлечение признаков → моделирование → проверка качества → интерпретация → визуализация → формат выдачи результатов.
- Для тональности укажи минимум **2 подхода** и когда какой выбирать:
- классический ML (например: TF‑IDF + Logistic Regression / SVM),
- нейросетевой/трансформерный (например: BERT/ruBERT или аналог для {ЯЗЫК}).
- Для тем укажи минимум **2 подхода** и когда какой выбирать:
- тематическое моделирование (например: LDA по мешку слов/TF‑IDF),
- альтернативный современный подход (например: BERTopic/эмбеддинги + кластеризация).
- Явно перечисли **NLP-методы и техники**, которые применяешь: токенизация, лемматизация/стемминг (если нужно), удаление стоп-слов, n‑граммы, TF‑IDF, эмбеддинги, LDA/BERTopic, кластеризация (k-means/HDBSCAN), ключевые слова/ранжирование терминов.
- Укажи, как оценивать качество:
- для тональности: метрики (accuracy, F1), схема валидации, работа с дисбалансом классов,
- для тем: coherence/perplexity (для LDA), интерпретируемость, ручная проверка топ-слов/примеров.
- Предложи **варианты визуализации** и что они показывают (минимум 5): распределение тональности, динамика (если есть время), топ-темы/частоты, wordcloud (при необходимости), интерактивная карта тем (например, UMAP), heatmap «тема × тональность», bar chart топ-ключевых слов.
- Результат должен быть **применим на практике**: упомяни рекомендуемые библиотеки (Python: scikit-learn, spaCy/nltk, gensim, transformers, sentence-transformers, bertopic, matplotlib/seaborn/plotly) и структуру выходных артефактов (таблицы/JSON).
**Формат ответа (строго):**
1) **Краткое описание решения** (3–6 предложений).
2) **Пайплайн тональности**: шаги + методы + метрики.
3) **Пайплайн тем**: шаги + методы + критерии качества.
4) **Визуализации**: список (что строить → зачем → чем построить).
5) **Выходные результаты**: какие таблицы/поля сформировать (например: review_id, text, sentiment, topic_id, topic_label, keywords, confidence).
6) **Риски и ограничения** (3–7 пунктов) и как их минимизировать.
---