Этот инструмент анализирует ваши Telegram-чаты и показывает реальную картину того, о чем вы говорите, какие темы вас волнуют, и даже как можно монетизировать ваши знания. По сути, это взгляд со стороны на ваше мышление и интересы через призму общения в Telegram.
Он состоит из нескольких основных модулей:
- Сборщик чатов - автоматически собирает ваши сообщения из Telegram и сохраняет их в формате JSON.
- Анализатор содержимого - исследует ваши чаты и выявляет основные темы, эмоции и возможности для монетизации.
- Кластеризатор тем - группирует похожие темы в значимые кластеры для более глубокого понимания обсуждаемых вопросов.
- Генератор стратегий монетизации - создает детальные рекомендации по монетизации на основе выявленных тематик.
- 💬 Разбирает сообщения – вытягивает все диалоги и ключевые фразы
- 📊 Выявляет главные темы – определяет, о чем вы говорите чаще всего
- 🎭 Анализирует эмоции – позитив, негатив, нейтрал для каждой темы
- 🔬 Кластеризует темы – группирует похожие темы в логические кластеры
- 💰 Ищет возможности для монетизации – подскажет, где можно сделать бизнес
- 📑 Генерирует бизнес-план – дает готовую стратегию на основе ваших обсуждений
- Понять, о чем вы на самом деле – часто мы говорим одно, а думаем о другом
- Определить, куда двигаться дальше – какие темы реально зажигают
- Найти новые бизнес-возможности – чтобы монетизировать свои знания
- Посмотреть на себя со стороны – это как зеркало для мышления
- run_analysis.py # Главный скрипт для запуска анализа чатов
- chatgpt_analyzer.py # Класс для анализа чатов с помощью ChatGPT
- chat_monetization_analyzer.py # Анализ возможностей монетизации
- topic_clustering.py # Кластеризация тем с помощью K-means и OpenAI
- tg_message_collector.py # Сборщик сообщений из Telegram
- check_bot_accounts.py # Проверка учетных записей ботов
- adapter_script.py # Адаптация данных анализа для последующих этапов
- continue_analysis.py # Продолжение анализа с промежуточных этапов
- monetization_strategy.md # Документ со стратегиями монетизации
- .env.example # Пример файла с переменными окружения
- requirements.txt # Зависимости проекта
- data/ # Директория для данных
- messages/ # Сохраненные сообщения
- reports/ # Отчеты анализа
- visualizations/ # Визуализации и графики (PNG, HTML)
- samples/ # Директория с примерами
- demo_chat.json # Пример чата для демонстрации
- logs/ # Журналы работы программы
- docs/ # Документация
Описание: Главный файл проекта, который запускает весь процесс анализа. Позволяет анализировать как один чат, так и все доступные чаты.
Функционал:
- Загрузка сообщений из указанной директории (по умолчанию из data/messages/)
- Фильтрация сообщений по различным критериям (количество, временной диапазон)
- Последовательный запуск анализаторов (тем, эмоций, монетизации)
- Формирование итоговых отчетов в формате JSON и Markdown
- Создание визуализаций (графики распределения тем, эмоций, активности)
Параметры запуска:
--chat-dir- директория с сообщениями для анализа--output-dir- директория для сохранения результатов--min-messages- минимальное количество сообщений в чате для анализа--max-messages- максимальное количество сообщений для обработки
Описание: Класс для анализа содержимого чатов с использованием OpenAI API (ChatGPT). Это ядро аналитической части проекта.
Функционал:
- Обработка текстовых сообщений и выявление ключевых тем
- Анализ эмоциональной окраски сообщений и тем
- Оценка временных паттернов общения
- Идентификация доминирующих тем и интересов
- Генерация структурированных данных для дальнейшего анализа
Ключевые методы:
analyze_chat()- выполняет комплексный анализ чатаextract_topics()- извлекает основные темы из текстаanalyze_sentiment()- определяет эмоциональную окраскуgenerate_report()- создает структурированный отчет
Описание: Модуль для анализа возможностей монетизации на основе выявленных тем и интересов. Позволяет находить потенциальные бизнес-возможности.
Функционал:
- Анализ перспективности монетизации для каждой темы
- Выявление наиболее коммерчески привлекательных тематик
- Генерация конкретных идей продуктов и услуг
- Оценка потенциального рынка и аудитории
- Создание детальных бизнес-стратегий для монетизации знаний
Ключевые методы:
analyze_monetization_potential()- оценивает потенциал монетизацииgenerate_monetization_ideas()- создает идеи продуктов/услугcreate_business_strategies()- разрабатывает бизнес-стратегии
Описание: Модуль для кластеризации и группировки похожих тем с использованием алгоритмов машинного обучения и OpenAI API. Позволяет выявить скрытые взаимосвязи между темами.
Функционал:
- Преобразование текстовых тем в векторные представления (эмбеддинги)
- Кластеризация тем с использованием алгоритма K-means
- Автоматическое определение оптимального количества кластеров
- Генерация содержательных названий для кластеров с помощью ChatGPT
- Создание интерактивных визуализаций для анализа связей между темами
Ключевые методы:
get_topic_embeddings()- получает векторные представления темcluster_topics()- группирует темы в кластерыname_clusters()- генерирует названия для кластеровvisualize_clusters()- создает визуализации (2D-карты, тепловые карты)
Описание: Сборщик сообщений из Telegram. Автоматически извлекает сообщения из ваших чатов с использованием Telethon API.
Функционал:
- Авторизация в Telegram через официальный API
- Получение списка всех доступных чатов
- Фильтрация чатов по различным параметрам
- Извлечение сообщений с метаданными (время, автор, вложения)
- Сохранение сообщений в структурированном JSON-формате
Параметры запуска:
--limit-per-chat- максимальное количество сообщений из одного чата--max-chats- максимальное количество чатов для обработки--delay- задержка между запросами к API для избежания ограничений--filter-type- тип чатов для сбора (личные, группы, каналы)
Описание: Адаптер для преобразования форматов данных анализа между различными этапами обработки. Обеспечивает совместимость данных между модулями.
Функционал:
- Преобразование первичных результатов анализа для использования в кластеризации
- Объединение данных из различных чатов в единый набор
- Фильтрация и нормализация данных для повышения качества анализа
- Подготовка данных для последующей генерации стратегий монетизации
- Конвертация между различными форматами данных (JSON, CSV, внутренние структуры)
Ключевые методы:
adapt_analysis_format()- преобразует данные анализа в нужный форматmerge_chat_analysis()- объединяет результаты анализа из разных чатовnormalize_topics_data()- нормализует данные о темах для кластеризации
Описание: Скрипт для продолжения анализа с промежуточных этапов или перезапуска отдельных компонентов без необходимости повторения всего процесса.
Функционал:
- Загрузка ранее сохраненных результатов анализа
- Выборочное выполнение определенных этапов аналитического процесса
- Перегенерация отчетов и визуализаций с использованием кэшированных данных
- Обновление отдельных компонентов анализа без повторного запуска всего процесса
- Экспериментирование с различными параметрами анализа
Ключевые команды:
--regenerate-report- пересоздает отчеты из существующих данных--cluster-only- выполняет только кластеризацию тем--monetization-only- генерирует только стратегии монетизации
Описание: Утилита для выявления и анализа ботов в собранных данных Telegram. Помогает отфильтровать автоматические сообщения для повышения качества анализа.
Функционал:
- Обнаружение потенциальных ботов по шаблонам имен пользователей
- Анализ паттернов сообщений, характерных для ботов
- Статистика по активности ботов в различных чатах
- Опциональная фильтрация или исключение сообщений ботов из анализа
- Формирование отчета о выявленных ботах
Параметры запуска:
--dir- директория с данными для анализа--fix- автоматически удаляет чаты, где большинство сообщений от ботов--report- создает детальный отчет о найденных ботах
Описание: Документ с детальными стратегиями монетизации, автоматически генерируемый на основе анализа тем и кластеризации.
Содержание:
- Обзор ключевых тематических кластеров и их потенциала
- Конкретные продукты и услуги для каждого кластера
- Анализ целевой аудитории и её потребностей
- Маркетинговые рекомендации для продвижения
- Пошаговый план реализации бизнес-возможностей
- Оценка ресурсов и временных затрат на реализацию
Описание: Основная директория для хранения всех данных проекта: исходных сообщений, результатов анализа и визуализаций.
Подкаталоги:
- messages/ - содержит собранные сообщения из Telegram в формате JSON
- reports/ - хранит результаты анализа (JSON-файлы) и отчеты (Markdown)
- visualizations/ - содержит все визуализации (PNG-графики и HTML-интерактивные карты)
Описание: Директория с примерами и демонстрационными данными.
Содержимое:
- demo_chat.json - пример чата для тестирования функциональности
- sample_reports/ - примеры отчетов для ознакомления с результатами
Описание: Директория для хранения журналов работы программы и отладочной информации.
Описание: Документация по проекту, включая руководства, схемы и обучающие материалы.
- Клонируйте репозиторий:
git clone https://github.com/yourusername/tgparser.git
cd tgparser- Установите зависимости:
pip install -r requirements.txt- Создайте файл .env на основе примера:
cp .env.example .env- Добавьте ваш API ключ OpenAI и Telegram API ключ в файл .env:
OPENAI_API_KEY=your_api_key_here
API_ID=your_telegram_api_id
API_HASH=your_telegram_api_hash
PHONE=your_phone_number
Автоматический сбор:
python tg_message_collector.pyЭта команда запустит сборщик сообщений, который:
- Авторизуется в Telegram используя данные из .env
- Загрузит список всех ваших чатов
- Соберет сообщения из личных чатов и сохранит в data/messages/
Параметры сборщика:
python tg_message_collector.py --limit-per-chat 1000 --max-chats 50--limit-per-chat- максимальное число сообщений из одного чата--max-chats- максимальное число чатов для обработки--delay- задержка между обработкой чатов (сек)
Если у вас уже есть экспорт данных из Telegram Desktop, поместите его в директорию data/raw/.
python run_analysis.pyПараметры анализа:
python run_analysis.py --chat-dir data/messages/ --output-dir data/reports/--chat-dir- директория с сообщениями--output-dir- директория для сохранения результатов--min-messages N- минимальное количество сообщений в чате--max-messages N- максимальное количество сообщений для обработки
После основного анализа вы можете запустить кластеризацию тем:
python topic_clustering.pyЭто создаст интерактивные визуализации в директории data/visualizations/:
- Карта кластеров тем (topic_clusters_map.html)
- Тепловая карта сходства тем (topic_similarity_heatmap.html)
На основе кластеризации вы можете сгенерировать детальные стратегии монетизации:
python continue_analysis.pyРезультат будет сохранен в файле monetization_strategy.md.
После завершения анализа в директории data/reports/ будут созданы следующие файлы:
topic_analysis.json- основные темы ваших обсужденийsentiment_analysis.json- эмоциональный анализ по темамmonetization_opportunities.json- возможности для монетизации
В директории data/visualizations/ будут созданы графики и диаграммы для визуального представления результатов.
- Python 3.8+
- OpenAI API ключ
- Telegram API ключ
- Для качественного анализа рекомендуется использовать не менее 300-500 сообщений
- Стоимость анализа зависит от количества сообщений и тарифа OpenAI
Sergei Dyshkant (SergD)
MIT License