domovoy_bot/ОБЛАКО_ТЕГОВ.md
Admin ba4676b0af v1.0 MVP - Инициализация проекта 🏠
 Регистрация и верификация жильцов
 Рейтинг активности (уровни)
 Детект шпионов (Score 0-100)
 Анти-мат система (3 предупреждения → бан)
 Админ-панель с рассылкой
 Учёт квартир (несколько жильцов)
 Телефоны экстренных служб и мастеров
 Еженедельный экспорт JSON
 Прокси (socks5) для обхода РКН

Бекап: backups/versions/v1.0_mvp_2026-02-26/

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-27 10:54:16 +00:00

344 lines
9.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ☁️ Облако тегов тем чата — v1.8
**Версия:** v1.8
**Дата:** 26 февраля 2026 г.
**Статус:** ✅ Реализовано
---
## 📋 Описание
Анализ тем чата с автоматической классификацией сообщений. Бот определяет тему каждого сообщения (лифты, парковка, уборка, соседи и т.д.), формирует облако тегов, показывает статистику и тренды тем.
---
## 🎯 Возможности
- ✅ 18 тем для классификации (лифты, парковка, уборка, соседи, вода, свет...)
- ✅ Авто-классификация каждого сообщения
- ✅ Облако тегов с процентами
- ✅ Топ тем за период
- ✅ Статистика по конкретной теме
- ✅ Еженедельный отчёт
- ✅ Тренды тем по дням
---
## 📱 Команды
### Для администраторов:
| Команда | Описание | Пример |
|---------|----------|--------|
| `/topics [дни]` | Облако тегов | `/topics 7` |
| `/top_topics [дни] [лимит]` | Топ тем | `/top_topics 7 5` |
| `/topic_stats <тема>` | Статистика темы | `/topic_stats лифты` |
| `/weekly_report` | Еженедельный отчёт | `/weekly_report` |
| `/topics_list` | Список всех тем | `/topics_list` |
---
## 🎯 Темы для классификации
| Тема | Emoji | Ключевые слова |
|------|-------|---------------|
| 🛗 Лифты | 🛗 | лифт, лифты, кабина, шахта |
| 🚗 Парковка | 🚗 | парковк, машина, автомобиль, шлагбаум |
| 🧹 Уборка | 🧹 | уборк, грязн, мусор, подъезд |
| 👥 Соседи | 👥 | сосед, шум, громко, музыка, ремонт |
| 💧 Вода | 💧 | вод, кран, труб, протечк, засор |
| ⚡ Электричество | ⚡ | свет, электричеств, розетк, проводк |
| 🔥 Отопление | 🔥 | отоплен, батаре, радиатор, тепло |
| 🔑 Домофон | 🔑 | домофон, ключ, карта, доступ |
| 🗑️ Мусор | 🗑️ | мусор, контейнер, баки, вывоз |
| 👶 Дети | 👶 | ребенок, дети, коляск, площадк |
| 🐕 Животные | 🐕 | собак, кошк, питомец, лают |
| 📢 Объявления | 📢 | объявлен, продам, куплю, отдам |
| 😠 Жалобы | 😠 | жалоб, недовольн, возмущен, требую |
| 🙏 Благодарности | 🙏 | спасиб, благодар, молодец, хорошо |
| ❓ Вопросы | ❓ | вопрос, подскажите, помогите, кто знает |
| 💡 Предложения | 💡 | предлагаю, давайте, идея |
| 📅 Собрание | 📅 | собран, встреч, голосован, опрос |
| 🏢 УК | 🏢 | ук, управляющ, жкх, диспетчер |
---
## 🎯 Сценарии использования
### Сценарий 1: Облако тегов
**Админ:**
```
/topics
```
**Бот:**
```
☁️ Облако тем чата (за 7 дн.)
Всего сообщений: 500
Распознано: 400 (80%)
🛗 Лифты: ████████████░░░░░░ 60% (240)
🚗 Парковка: ██████░░░░░░░░░░░░ 30% (120)
🧹 Уборка: ████░░░░░░░░░░░░░░ 20% (80)
👥 Соседи: ██░░░░░░░░░░░░░░░░ 10% (40)
💧 Вода: ██░░░░░░░░░░░░░░░░ 10% (40)
```
---
### Сценарий 2: Топ тем
**Админ:**
```
/top_topics 7 5
```
**Бот:**
```
🔥 Топ тем за 7 дн.
1. 🛗 Лифты: 60% (240 сообщ.)
2. 🚗 Парковка: 30% (120 сообщ.)
3. 🧹 Уборка: 20% (80 сообщ.)
4. 👥 Соседи: 10% (40 сообщ.)
5. 💧 Вода: 10% (40 сообщ.)
```
---
### Сценарий 3: Статистика темы
**Админ:**
```
/topic_stats лифты
```
**Бот:**
```
🛗 Статистика темы: Лифты
📊 За 7 дней:
├─ Сообщений: 240
└─ Доля: 60%
📈 За 14 дней:
└─ Сообщений: 450
📅 По дням:
20.02: 35 сообщ.
21.02: 40 сообщ.
22.02: 30 сообщ.
23.02: 45 сообщ.
24.02: 50 сообщ.
25.02: 40 сообщ.
26.02: 35 сообщ.
```
---
### Сценарий 4: Еженедельный отчёт
**Админ:**
```
/weekly_report
```
**Бот:**
```
📊 Еженедельный отчёт по темам чата
Период: последние 7 дней
🔥 Топ тем недели:
1. 🛗 Лифты: 60% (240 сообщ.)
2. 🚗 Парковка: 30% (120 сообщ.)
3. 🧹 Уборка: 20% (80 сообщ.)
📈 Динамика:
↗️ Лифты: +50 (🛗)
↗️ Парковка: +30 (🚗)
↘️ Уборка: -10 (🧹)
💡 Используйте /topics для детальной статистики
```
---
### Сценарий 5: Список тем
**Админ:**
```
/topics_list
```
**Бот:**
```
📋 Список тем для классификации
🛗 Лифты
└─ Ключевые слова: лифт, лифты, лифтовая, кабина...
🚗 Парковка
└─ Ключевые слова: парковк, машина, автомобиль...
🧹 Уборка
└─ Ключевые слова: уборк, грязн, мусор...
...
💡 Всего тем: 18
```
---
## 🗄️ База данных
### Поле в `messages`:
```sql
ALTER TABLE messages ADD COLUMN topic TEXT
CREATE INDEX ix_messages_topic ON messages(topic)
```
---
## 🧪 Тестирование
### Чек-лист проверки:
#### 1. Облако тегов
```bash
# Админ:
/topics
```
- [ ] Облако отображается
- [ ] Проценты считаются верно
- [ ] Emoji правильные
#### 2. Топ тем
```bash
/top_topics 7 5
```
- [ ] Топ отображается
- [ ] Лимит работает
#### 3. Статистика темы
```bash
/topic_stats лифты
```
- [ ] Статистика по теме отображается
- [ ] Тренд по дням показан
#### 4. Еженедельный отчёт
```bash
/weekly_report
```
- [ ] Отчёт формируется
- [ ] Динамика считается
---
## 📁 Изменённые файлы
| Файл | Изменения |
|------|-----------|
| `database/models.py` | Поле `topic` в Message |
| `database/migrate_add_topic_field.py` | Миграция БД |
| `services/topics_analyzer.py` | Сервис анализа тем |
| `handlers/topics.py` | Хендлеры |
| `handlers/chat_monitor.py` | Авто-классификация |
| `handlers/__init__.py` | Импорт topics_router |
| `main.py` | Регистрация topics_router |
---
## 🚀 Как использовать
### Для админа:
1. **Посмотреть облако тегов:**
```
/topics
```
2. **Посмотреть топ тем:**
```
/top_topics 7 5
```
3. **Проверить тему:**
```
/topic_stats лифты
```
4. **Получить отчёт:**
```
/weekly_report
```
---
## 💡 Советы
### Настройка тем:
В `services/topics_analyzer.py`:
```python
овая_тема': {
'keywords': ['ключевое', 'слова'],
'emoji': '🎯'
}
```
### Точность классификации:
- **80%+** — отличный результат
- **60-80%** — хороший результат
- **<60%** добавьте больше ключевых слов
### Еженедельный отчёт:
Добавьте в scheduler.py:
```python
# Каждое воскресенье в 10:00
CronTrigger.from_crontab('0 10 * * 0')
```
---
## 🔧 Отладка
### Посмотреть темы в БД:
```bash
cd /home/matrixhasyou/domovoy_bot
source venv/bin/activate
sqlite3 database/domovoy.db
SELECT topic, COUNT(*) as count
FROM messages
WHERE topic IS NOT NULL
GROUP BY topic
ORDER BY count DESC;
```
### Логи:
```bash
tail -f logs/bot.log | grep -i "тем\|topic"
```
---
## ✅ Преимущества
| Было | Стало |
|------|-------|
| Не понятно что волнует жильцов | **Облако тегов** |
| Ручной анализ | **Авто-классификация** |
| Нет статистики | **Топ тем, тренды** |
| Нет отчётов | **Еженедельный отчёт** |
---
**Облако тегов готово! ☁️**
*Следующий шаг: тестирование на тестовой группе и фиксация версии v1.8*