Пакет для кластеризации, тематического моделирования и эмоционального анализа AI-дискурса в Telegram и других корпусах.
Project description
ai-discourse-analyzer
AIDA — краткое имя пакета AI Discourse Analyzer.
ai-discourse-analyzer — это Python-пакет для корпусного анализа AI-дискурса в Telegram и других текстовых массивах со сходной структурой.
Пакет предназначен для задач, где требуется:
- тематическая кластеризация публикаций;
- извлечение устойчивых биграмм;
- детализация кластеров с помощью LDA;
- гибридная эмоциональная разметка;
- построение интерактивного HTML-отчёта.
Основные возможности
- взвешенное объединение текста поста и агрегированных комментариев;
- лемматизация русского текста;
- построение биграмм;
- TF-IDF + SVD + KMeans для тематической кластеризации;
- LDA внутри кластеров;
- гибридная модель эмоционального анализа:
- словарные признаки,
- биграммы,
- дискурсивные маркеры,
- эмбеддинги RuBERT tiny,
- word2vec;
- интерактивные визуализации и HTML-отчёт.
Установка
Установка из PyPI
pip install ai-discourse-analyzer
Установка актуальной версии из GitHub
pip install git+https://github.com/Frantsuzova/ai-discourse-analyzer.git
Проверка установки
import ai_discourse_analyzer
print(ai_discourse_analyzer.__version__)
Когда использовать пакет
Пакет можно использовать в двух режимах:
1. Как самостоятельный модуль
Если у вас есть корпус в формате JSONL, CSV или TSV и вы хотите получить тематическую и эмоциональную аналитику без дополнительных шагов предварительной обработки.
2. Как второй этап после базовой корпусной обработки
Пакет можно использовать как аналитическую надстройку после первичной кластеризации или подготовки корпуса в других инструментах, включая corpus_cluster_explorer.
Формат входных данных
Пакет ориентирован на корпуса, где каждая запись содержит как минимум поле с основным текстом. Для Telegram-корпусов поддерживается схема:
{
"text": "Текст поста",
"comments_text": "Агрегированный текст комментариев",
"date_utc": "2026-01-01T12:00:00",
"channel_username": "example_channel",
"link": "https://t.me/example/123"
}
Единицей анализа выступает публикация, представленная:
- текстом поста;
- агрегированным текстом комментариев;
- с возможностью повышенного веса текста поста.
Быстрый запуск
Через CLI
aida-report social_data_ai_raw_2026.jsonl --output-dir outputs
В Python
from ai_discourse_analyzer.pipeline import DiscourseAnalyzer
from ai_discourse_analyzer.config import AnalysisConfig
config = AnalysisConfig()
analyzer = DiscourseAnalyzer(config=config)
result = analyzer.run("social_data_ai_raw_2026.jsonl", output_dir="outputs")
Что создаётся на выходе
Пакет сохраняет:
- HTML-отчёт;
- таблицу по кластерам;
- таблицу LDA-подтем;
- таблицу эмоциональной разметки документов;
- координаты точек для интерактивной карты.
Пример структуры выходной директории:
outputs/
├── final_ai_clusters_report.html
├── cluster_summary.csv
├── cluster_lda_topics.csv
├── document_emotions.csv
└── cluster_points.csv
Методологическая логика
Анализ строится в несколько этапов:
- предварительная очистка текста;
- лемматизация и нормализация;
- формирование биграмм;
- построение тематических кластеров;
- LDA-детализация кластеров;
- гибридная эмоциональная классификация;
- генерация итогового HTML-отчёта.
Эмоциональная разметка трактуется не как диагностика состояния автора, а как классификация доминирующего эмоционального регистра текста.
Для чего пакет не предназначен
Пакет не предназначен для:
- психологической диагностики авторов;
- извлечения «истинных» эмоций говорящего;
- production-grade sentiment analysis без адаптации под конкретный корпус.
Лицензия
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ai_discourse_analyzer-0.1.0.tar.gz.
File metadata
- Download URL: ai_discourse_analyzer-0.1.0.tar.gz
- Upload date:
- Size: 22.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aee317525afe346092ecd32cfe584176487548fbf8659b86a341878b08c7ae77
|
|
| MD5 |
4fc52512fbdb9353a3fadc8d5f771ff4
|
|
| BLAKE2b-256 |
8359b14d34eba31954ff3d53c4cf72685aa0678202b97c92b454684b3481763d
|
File details
Details for the file ai_discourse_analyzer-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ai_discourse_analyzer-0.1.0-py3-none-any.whl
- Upload date:
- Size: 23.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f3032c34fb9238427d91972e0b7f18d8f2ce09a182e2955c55b2b9fff9d908c
|
|
| MD5 |
b84d5a3853e08beb6f66262c9784133b
|
|
| BLAKE2b-256 |
d4dc6c1245bbd8342411a76b1d0f5b119128f05814f2e2460e38cfa678b4bd79
|