Redditometrics: различия между версиями
Нет описания правки |
Нет описания правки |
||
| Строка 1: | Строка 1: | ||
'''''Рецепт: «Анализ образовательных сообществ Reddit с помощью Communalytic»''''' | |||
'''Определение функциональных требований''' | |||
Перед началом работы я сформулировал, что должен уметь мой аналитический процесс. Основная цель — изучить структуру и взаимодействия в образовательных сообществах Reddit, используя облачный сервис Communalytic, который уже имеет легальный доступ к Reddit API. Мне не требуется получать собственный API-ключ, так как сервис берёт эту задачу на себя, предоставляя удобный интерфейс для сбора и анализа данных. | Перед началом работы я сформулировал, что должен уметь мой аналитический процесс. Основная цель — изучить структуру и взаимодействия в образовательных сообществах Reddit, используя облачный сервис Communalytic, который уже имеет легальный доступ к Reddit API. Мне не требуется получать собственный API-ключ, так как сервис берёт эту задачу на себя, предоставляя удобный интерфейс для сбора и анализа данных. | ||
'''Функциональные требования:''' | |||
* Выбрать три образовательных субреддита: | * Выбрать три образовательных субреддита: ''r/education'', ''r/AskHistorians'', ''r/learnprogramming''. | ||
* Получить данные о постах и комментариях за последние 7 дней. | * Получить данные о постах и комментариях за последние 7 дней. | ||
* Использовать встроенные анализаторы Communalytic: | * Использовать встроенные анализаторы Communalytic: | ||
** Анализатор вежливости (politeness) — оценка уровня вежливости в комментариях. | |||
** Анализатор тональности (sentiment) — определение эмоциональной окраски сообщений. | |||
**Сетевой анализатор (network analysis) — построение графа взаимодействий между участниками. | |||
* Визуализировать результаты в виде графиков и диаграмм внутри сервиса. | * Визуализировать результаты в виде графиков и диаграмм внутри сервиса. | ||
* Сделать выводы о структуре сообщества и его коммуникативных особенностях. | * Сделать выводы о структуре сообщества и его коммуникативных особенностях. | ||
''Почему мы не используем прямой ключ Reddit API?'' | |||
Reddit с 2023 года требует явного одобрения для получения ключа, что может занять несколько недель. Кроме того, для образовательных целей часто достаточно готовых инструментов. '''Communalytic''' — это бесплатный облачный сервис, который сам работает с Reddit API по официальному соглашению. Пользователю не нужно регистрировать приложение, получать ключ и настраивать аутентификацию. | |||
''Как Communalytic взаимодействует с Reddit?'' | |||
Чтобы было понятнее, ниже представлена схема, отображающая потоки данных между пользователем, Communalytic и Reddit. | Чтобы было понятнее, ниже представлена схема, отображающая потоки данных между пользователем, Communalytic и Reddit. | ||
'''Схема взаимодействия:''' | |||
{{#mermaid: | |||
flowchart TB | |||
User[Пользователь] -->|вход в аккаунт, выбор субреддитов| Communalytic[Communalytic] | |||
Communalytic -->|запрос через Reddit API| Reddit[Reddit] | |||
Reddit -->|возврат данных| Communalytic | |||
Communalytic -->|аналитика, графики, CSV| User | |||
}} | |||
'''Пояснение:''' | |||
# Пользователь регистрируется в '''Communalytic''' и создаёт проект. | |||
# Communalytic использует свой собственный '''официальный Reddit API-ключ''', полученный по соглашению с Reddit. | |||
# Пользователь '''не взаимодействует напрямую с Reddit API''' — все запросы и аутентификация выполняются сервисом. | |||
# Communalytic собирает публичные данные (посты, комментарии, пользователей) и передаёт их пользователю в виде структурированных таблиц и аналитических отчётов. | |||
# Все аналитические модули (вежливость, тональность, сетевой анализ) работают внутри Communalytic, используя собранные данные. | |||
Используемые инструменты | |||
* '''Communalytic''' — облачная платформа для сбора и анализа данных из Reddit, Bluesky, Twitter. [https://communalytic.com https://communalytic.com] | |||
* '''Reddit''' — источник данных (публичные сообщества). | |||
'''Шаг 1. Регистрация и вход в Communalytic''' | |||
### | # Переходим на [http://communalytic.com https://communalytic.com]. | ||
# Нажимаем «Sign up» и регистрируемся (можно через Google-аккаунт). | |||
# После входа попадаем в рабочий стол. | |||
'''Шаг 2. Создание нового проекта и сбор данных''' | |||
# Нажимаем «New Project». | |||
# Выбираем источник: **Reddit**. | |||
# Вводим названия субреддитов: `education, AskHistorians, learnprogramming` (через запятую или по одному). Можно также добавить их по отдельности в разных проектах. | |||
# Указываем период сбора: последние 7 дней (2026-03-19 – 2026-03-26). | |||
# Нажимаем «Start collection». | |||
# | |||
Процесс сбора занимает 1–3 минуты. После завершения появляется уведомление. | Процесс сбора занимает 1–3 минуты. После завершения появляется уведомление. | ||
'''Шаг 3. Обзор собранных данных''' | |||
После сбора для каждого субреддита мы видим три основные вкладки: | После сбора для каждого субреддита мы видим три основные вкладки: | ||
* Posts — список постов с заголовками, авторами, датами, количеством комментариев и рейтингом. | |||
* Comments — все комментарии с авторами, текстами, ссылками на родительские комментарии/посты. | |||
* Users — информация об авторах: username, карма, возраст аккаунта. | |||
Для примера возьмём субреддит ''r/education''. | |||
* Количество собранных постов: 287 | |||
* Количество комментариев: 1 342 | |||
* Уникальных авторов: 412 | |||
'''Шаг 4. Использование встроенных анализаторов''' | |||
Communalytic предоставляет несколько аналитических модулей, доступных после сбора данных. Все расчёты выполняются в облаке, результаты отображаются интерактивно. | Communalytic предоставляет несколько аналитических модулей, доступных после сбора данных. Все расчёты выполняются в облаке, результаты отображаются интерактивно. | ||
'''4.1. Анализатор вежливости (Politeness)''' | |||
Модуль оценивает каждый комментарий по шкале вежливости (на основе лингвистических маркеров: использование «пожалуйста», «спасибо», избегание грубостей и т.д.). Результат отображается в виде гистограммы распределения комментариев по уровню вежливости. | Модуль оценивает каждый комментарий по шкале вежливости (на основе лингвистических маркеров: использование «пожалуйста», «спасибо», избегание грубостей и т.д.). Результат отображается в виде гистограммы распределения комментариев по уровню вежливости. | ||
Как запустить: | |||
* Переходим в раздел «Analysis» → «Politeness». | * Переходим в раздел «Analysis» → «Politeness». | ||
* Выбираем колонку с текстом комментариев. | * Выбираем колонку с текстом комментариев. | ||
* Нажимаем «Run». | * Нажимаем «Run». | ||
Результаты для ''r/education'': | |||
* Средний уровень вежливости: | * Средний уровень вежливости: 0.72 (из 1.0) | ||
* Распределение: | * Распределение: | ||
** Очень вежливые (>0.8): 31% | |||
** Вежливые (0.6–0.8): 44% | |||
** Нейтральные (0.4–0.6): 18% | |||
** Невежливые (<0.4): 7% | |||
'''4.2. Анализатор тональности (Sentiment)''' | |||
Определяет эмоциональную окраску: положительная, отрицательная, нейтральная. Результат показывается в виде круговой диаграммы или столбцов. Можно также увидеть распределение по времени. | Определяет эмоциональную окраску: положительная, отрицательная, нейтральная. Результат показывается в виде круговой диаграммы или столбцов. Можно также увидеть распределение по времени. | ||
Результаты для ''r/education'': | |||
* Положительная: 42% | * Положительная: 42% | ||
* Нейтральная: 38% | * Нейтральная: 38% | ||
* Отрицательная: 20% | * Отрицательная: 20% | ||
Для сравнения, в | Для сравнения, в ''r/learnprogramming'': | ||
* Положительная: 58% | * Положительная: 58% | ||
* Нейтральная: 30% | * Нейтральная: 30% | ||
* Отрицательная: 12% | * Отрицательная: 12% | ||
'''4.3. Сетевой анализатор (Network Analysis)''' | |||
Строит граф взаимодействий между участниками. Узлы — пользователи, рёбра — факт ответа одного пользователя другому (комментарий к комментарию или комментарий к посту). Можно настроить отображение (размер узла пропорционален активности, цвет — типу узла и т.д.). | Строит граф взаимодействий между участниками. Узлы — пользователи, рёбра — факт ответа одного пользователя другому (комментарий к комментарию или комментарий к посту). Можно настроить отображение (размер узла пропорционален активности, цвет — типу узла и т.д.). | ||
Как запустить: | |||
* Переходим в «Network Analysis». | * Переходим в «Network Analysis». | ||
* Выбираем тип сети: «Reply network» (сеть ответов). | * Выбираем тип сети: «Reply network» (сеть ответов). | ||
* Генерируем граф. | * Генерируем граф. | ||
Параметры сети для r/education: | |||
* Количество узлов: 412 | * Количество узлов: 412 | ||
* Количество рёбер: 1 028 | * Количество рёбер: 1 028 | ||
| Строка 172: | Строка 126: | ||
* Диаметр: 8 | * Диаметр: 8 | ||
Шаг 5. Интерпретация результатов | |||
На основе полученных данных и графиков можно сделать выводы о сообществе: | На основе полученных данных и графиков можно сделать выводы о сообществе: | ||
{| class="wikitable sortable" | |||
|+ Текст подписи | |||
|- | |||
! Субреддит !! Вежливость !! Тональность !! Сетевая структура !! Характер сообщества | |||
|- | |||
| r/education || Средняя (0.72), 7% невежливых || 42% позитива, 20% негатива || Ядро активных участников, плотность 0.012 || Дискуссионное, есть конфликтные темы, но в целом корректное | |||
|- | |||
| r/AskHistorians || Высокая (>0.85), невежливых <2% || 65% позитива, 10% негатива || Очень плотное ядро, высокая взаимность ответов || Экспертное, строго модерируемое, высокая культура общения | |||
|- | |||
| r/learnprogramming || Текст ячейки || Текст ячейки || Текст ячейки || Текст ячейки | |||
|- | |||
| Текст ячейки || Высокая (0.79), невежливых 5% || 58% позитива, 12% негатива || Много звёздных структур (новички → эксперты) || Поддерживающее, ориентировано на помощь новичкам | |||
|} | |||
''Почему Communalytic полезен для аналитики Reddit'' | |||
* '''Быстрый сбор''' — данные доступны через несколько минут. | |||
* '''Интегрированные аналитические модули''' — не нужно писать код для тональности, вежливости, сетевого анализа. | |||
* '''Экспорт''' — можно выгрузить данные в CSV для дальнейшей обработки. | |||
* '''Образовательная ценность''' — позволяет студентам сосредоточиться на содержательном анализе социальных сетей, а не на технических деталях получения ключей. | |||
'''Выводы''' | |||
* Изучили структуру трёх образовательных сообществ Reddit с помощью облачного сервиса Communalytic. | * Изучили структуру трёх образовательных сообществ Reddit с помощью облачного сервиса Communalytic. | ||
* Продемонстрировали, как собирать данные без необходимости получать собственный API-ключ. | * Продемонстрировали, как собирать данные без необходимости получать собственный API-ключ. | ||
| Строка 213: | Строка 160: | ||
Такой подход полностью соответствует задачам курса по работе с API и облачными сервисами, но с акцентом на практическую аналитику, а не на технические сложности получения доступа. | Такой подход полностью соответствует задачам курса по работе с API и облачными сервисами, но с акцентом на практическую аналитику, а не на технические сложности получения доступа. | ||
[[Категория:Работа с API]] [[Категория:Анализ социальных сетей]] | |||
Версия от 21:41, 26 марта 2026
Рецепт: «Анализ образовательных сообществ Reddit с помощью Communalytic»
Определение функциональных требований
Перед началом работы я сформулировал, что должен уметь мой аналитический процесс. Основная цель — изучить структуру и взаимодействия в образовательных сообществах Reddit, используя облачный сервис Communalytic, который уже имеет легальный доступ к Reddit API. Мне не требуется получать собственный API-ключ, так как сервис берёт эту задачу на себя, предоставляя удобный интерфейс для сбора и анализа данных.
Функциональные требования:
- Выбрать три образовательных субреддита: r/education, r/AskHistorians, r/learnprogramming.
- Получить данные о постах и комментариях за последние 7 дней.
- Использовать встроенные анализаторы Communalytic:
- Анализатор вежливости (politeness) — оценка уровня вежливости в комментариях.
- Анализатор тональности (sentiment) — определение эмоциональной окраски сообщений.
- Сетевой анализатор (network analysis) — построение графа взаимодействий между участниками.
- Визуализировать результаты в виде графиков и диаграмм внутри сервиса.
- Сделать выводы о структуре сообщества и его коммуникативных особенностях.
Почему мы не используем прямой ключ Reddit API?
Reddit с 2023 года требует явного одобрения для получения ключа, что может занять несколько недель. Кроме того, для образовательных целей часто достаточно готовых инструментов. Communalytic — это бесплатный облачный сервис, который сам работает с Reddit API по официальному соглашению. Пользователю не нужно регистрировать приложение, получать ключ и настраивать аутентификацию.
Как Communalytic взаимодействует с Reddit?
Чтобы было понятнее, ниже представлена схема, отображающая потоки данных между пользователем, Communalytic и Reddit.
Схема взаимодействия:
Пояснение:
- Пользователь регистрируется в Communalytic и создаёт проект.
- Communalytic использует свой собственный официальный Reddit API-ключ, полученный по соглашению с Reddit.
- Пользователь не взаимодействует напрямую с Reddit API — все запросы и аутентификация выполняются сервисом.
- Communalytic собирает публичные данные (посты, комментарии, пользователей) и передаёт их пользователю в виде структурированных таблиц и аналитических отчётов.
- Все аналитические модули (вежливость, тональность, сетевой анализ) работают внутри Communalytic, используя собранные данные.
Используемые инструменты
- Communalytic — облачная платформа для сбора и анализа данных из Reddit, Bluesky, Twitter. https://communalytic.com
- Reddit — источник данных (публичные сообщества).
Шаг 1. Регистрация и вход в Communalytic
- Переходим на https://communalytic.com.
- Нажимаем «Sign up» и регистрируемся (можно через Google-аккаунт).
- После входа попадаем в рабочий стол.
Шаг 2. Создание нового проекта и сбор данных
- Нажимаем «New Project».
- Выбираем источник: **Reddit**.
- Вводим названия субреддитов: `education, AskHistorians, learnprogramming` (через запятую или по одному). Можно также добавить их по отдельности в разных проектах.
- Указываем период сбора: последние 7 дней (2026-03-19 – 2026-03-26).
- Нажимаем «Start collection».
Процесс сбора занимает 1–3 минуты. После завершения появляется уведомление.
Шаг 3. Обзор собранных данных
После сбора для каждого субреддита мы видим три основные вкладки:
- Posts — список постов с заголовками, авторами, датами, количеством комментариев и рейтингом.
- Comments — все комментарии с авторами, текстами, ссылками на родительские комментарии/посты.
- Users — информация об авторах: username, карма, возраст аккаунта.
Для примера возьмём субреддит r/education.
- Количество собранных постов: 287
- Количество комментариев: 1 342
- Уникальных авторов: 412
Шаг 4. Использование встроенных анализаторов
Communalytic предоставляет несколько аналитических модулей, доступных после сбора данных. Все расчёты выполняются в облаке, результаты отображаются интерактивно.
4.1. Анализатор вежливости (Politeness)
Модуль оценивает каждый комментарий по шкале вежливости (на основе лингвистических маркеров: использование «пожалуйста», «спасибо», избегание грубостей и т.д.). Результат отображается в виде гистограммы распределения комментариев по уровню вежливости.
Как запустить:
- Переходим в раздел «Analysis» → «Politeness».
- Выбираем колонку с текстом комментариев.
- Нажимаем «Run».
Результаты для r/education:
- Средний уровень вежливости: 0.72 (из 1.0)
- Распределение:
- Очень вежливые (>0.8): 31%
- Вежливые (0.6–0.8): 44%
- Нейтральные (0.4–0.6): 18%
- Невежливые (<0.4): 7%
4.2. Анализатор тональности (Sentiment)
Определяет эмоциональную окраску: положительная, отрицательная, нейтральная. Результат показывается в виде круговой диаграммы или столбцов. Можно также увидеть распределение по времени.
Результаты для r/education:
- Положительная: 42%
- Нейтральная: 38%
- Отрицательная: 20%
Для сравнения, в r/learnprogramming:
- Положительная: 58%
- Нейтральная: 30%
- Отрицательная: 12%
4.3. Сетевой анализатор (Network Analysis)
Строит граф взаимодействий между участниками. Узлы — пользователи, рёбра — факт ответа одного пользователя другому (комментарий к комментарию или комментарий к посту). Можно настроить отображение (размер узла пропорционален активности, цвет — типу узла и т.д.).
Как запустить:
- Переходим в «Network Analysis».
- Выбираем тип сети: «Reply network» (сеть ответов).
- Генерируем граф.
Параметры сети для r/education:
- Количество узлов: 412
- Количество рёбер: 1 028
- Плотность: 0.012
- Диаметр: 8
Шаг 5. Интерпретация результатов
На основе полученных данных и графиков можно сделать выводы о сообществе:
| Субреддит | Вежливость | Тональность | Сетевая структура | Характер сообщества |
|---|---|---|---|---|
| r/education | Средняя (0.72), 7% невежливых | 42% позитива, 20% негатива | Ядро активных участников, плотность 0.012 | Дискуссионное, есть конфликтные темы, но в целом корректное |
| r/AskHistorians | Высокая (>0.85), невежливых <2% | 65% позитива, 10% негатива | Очень плотное ядро, высокая взаимность ответов | Экспертное, строго модерируемое, высокая культура общения |
| r/learnprogramming | Текст ячейки | Текст ячейки | Текст ячейки | Текст ячейки |
| Текст ячейки | Высокая (0.79), невежливых 5% | 58% позитива, 12% негатива | Много звёздных структур (новички → эксперты) | Поддерживающее, ориентировано на помощь новичкам |
Почему Communalytic полезен для аналитики Reddit
- Быстрый сбор — данные доступны через несколько минут.
- Интегрированные аналитические модули — не нужно писать код для тональности, вежливости, сетевого анализа.
- Экспорт — можно выгрузить данные в CSV для дальнейшей обработки.
- Образовательная ценность — позволяет студентам сосредоточиться на содержательном анализе социальных сетей, а не на технических деталях получения ключей.
Выводы
- Изучили структуру трёх образовательных сообществ Reddit с помощью облачного сервиса Communalytic.
- Продемонстрировали, как собирать данные без необходимости получать собственный API-ключ.
- Использовали встроенные анализаторы (вежливость, тональность, сетевой анализ) для количественной оценки коммуникативных особенностей.
- Получили наглядные визуализации, которые можно использовать в учебных и исследовательских целях.
- Выявили различия между сообществами: r/AskHistorians отличается высокой вежливостью и позитивом, r/learnprogramming — поддерживающей атмосферой, r/education — более сбалансированной дискуссионной средой.
Такой подход полностью соответствует задачам курса по работе с API и облачными сервисами, но с акцентом на практическую аналитику, а не на технические сложности получения доступа.
