Skip to main content

Пакет для кластеризации, тематического моделирования и эмоционального анализа 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

Методологическая логика

Анализ строится в несколько этапов:

  1. предварительная очистка текста;
  2. лемматизация и нормализация;
  3. формирование биграмм;
  4. построение тематических кластеров;
  5. LDA-детализация кластеров;
  6. гибридная эмоциональная классификация;
  7. генерация итогового HTML-отчёта.

Эмоциональная разметка трактуется не как диагностика состояния автора, а как классификация доминирующего эмоционального регистра текста.

Для чего пакет не предназначен

Пакет не предназначен для:

  • психологической диагностики авторов;
  • извлечения «истинных» эмоций говорящего;
  • production-grade sentiment analysis без адаптации под конкретный корпус.

Лицензия

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ai_discourse_analyzer-0.1.0.tar.gz (22.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ai_discourse_analyzer-0.1.0-py3-none-any.whl (23.9 kB view details)

Uploaded Python 3

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

Hashes for ai_discourse_analyzer-0.1.0.tar.gz
Algorithm Hash digest
SHA256 aee317525afe346092ecd32cfe584176487548fbf8659b86a341878b08c7ae77
MD5 4fc52512fbdb9353a3fadc8d5f771ff4
BLAKE2b-256 8359b14d34eba31954ff3d53c4cf72685aa0678202b97c92b454684b3481763d

See more details on using hashes here.

File details

Details for the file ai_discourse_analyzer-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ai_discourse_analyzer-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9f3032c34fb9238427d91972e0b7f18d8f2ce09a182e2955c55b2b9fff9d908c
MD5 b84d5a3853e08beb6f66262c9784133b
BLAKE2b-256 d4dc6c1245bbd8342411a76b1d0f5b119128f05814f2e2460e38cfa678b4bd79

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page