Вопрос или проблема
Я пытаюсь проанализировать поведение, называемое “сентиментальный переворот” пользователей в наборе данных, но не могу к этому прийти.
Предположим, что у меня есть две группы пользователей: хороших и плохих пользователей.
Мой набор данных содержит N твитов, классифицированных на 6 тем. Твиты были созданы плохими и хорошими пользователями.
6 тем касаются общих проблем, но 3 из этих тем относятся к организациям/индивидам, поддерживаемым “плохими” пользователями, а другие 3 противоречат их идеологиям.
Разница между плохими и хорошими пользователями в их поведении в твитах заключается в следующем:
Хороший пользователь публиковал твиты по некоторым темам (возможно, по всем темам) без принуждения “положительного” или “отрицательного” сентимента в темах. Плохой пользователь публиковал твиты, содержащие отрицательный сентимент по темам, противоречащим его/ее идеологиям, и положительный сентимент по темам, которые он/она поддерживает. Явная разница между обоими пользователями также заключается в том, что плохой пользователь часто публикует отрицательный сентимент по темам B и положительный сентимент по темам A.
Как я могу измерить/показать это поведение переворота в баллах/значении, учитывая, что каждый твит представлен вектором, например: <# положительных слов, # отрицательных слов>.
Я думаю, что хорошее решение будет учитывать, насколько плотным и идеологически ясным является поведение плохого пользователя.
Это изображение подытоживает предыдущее описание:
У меня есть теория по этому поводу. Мы хотим уметь различать пользователей, которые эмоциональны и предвзяты, от тех, кто неэмоционален и беспристрастен.
$$M = эмоциональность\\
B = предвзятость\\
t_i = номер твита i\\
b_i = плохие слова в t_i\\
p_i = хорошие слова в t_i\\
w_i = слова в t_i\\
M = \frac{(b_i+p_i)}{w_i}\\
B = \frac{(b_i-p_i)^2}{w_i}\\
$$
M – это эмоциональность, поскольку она вычисляет частоту, с которой слово будет эмоциональным (вместо описательного).
B – это предвзятость, потому что предвзятые твиты будут содержать больше хороших (или плохих) слов, чем те, которые содержат обе стороны в равной степени.
Я не знаю, сбудется ли это предсказание, но я полагаю, что если вы изобразите каждый твит по оси x как предвзятость и по оси y как эмоциональность с оттенком хороших или плохих, то появятся два кластера (мне будет интересно, если я окажусь неправым, это определенно звучит как интересная проблема)!
Ответ или решение
Изучение поведения пользователей, основанного на изменчивых настроениях, является важной задачей в области анализа данных и обработки естественного языка. В вашем случае вы хотите проанализировать твиты двух групп пользователей — "хороших" и "плохих" — с акцентом на их отношение к различным темам. Рассмотрим, как можно количественно измерить это поведение.
Определение Параметров
-
Эмоциональность (M): Этот параметр описывает, насколько эмоционально окрашены твиты. Формула, которую вы предложили, имеет следующий вид:
[
M = \frac{(b_i + p_i)}{w_i}
]
Здесь (b_i) — количество негативных слов, (p_i) — количество позитивных слов, а (w_i) — общее количество слов в твите. Таким образом, M измеряет частоту эмоционально окрашенных слов относительно общего числа слов в твите. -
Предвзятость (B): Этот параметр указывает на степень предвзятости пользователя в отношении отдельных тем. Формула:
[
B = \frac{(b_i – p_i)^2}{w_i}
]
показывает, как сильно пользователь склонен к негативной или позитивной оценке. Больше предвзятости будет выражаться в большем количестве позитивных или негативных слов, что в свою очередь, увеличивает значение B.
Построение Модели
Для анализа данных вам потребуется осуществить следующие шаги:
-
Сбор Данных: Убедитесь, что у вас есть достаточный объем данных о твитах пользователей, который включает в себя название темы, эмоциональные слова и их классификацию.
-
Предобработка Текстов: Выполните очистку текстов от стоп-слов, пунктуации и приведите слова к базовой форме (лемматизация).
-
Классификация Слов: Используйте заранее подготовленный словарь позитивных и негативных слов, чтобы разбить ваши тексты на два класса.
Визуализация Данных
Для визуализации и анализа, создайте график с осями:
- Ось X: предвзятость (B)
- Ось Y: эмоциональность (M)
Используя цветовые обозначения (hue) для классификации пользователей (хорошие и плохие), вы сможете выявить наличие кластеров. Это позволит удобно визуализировать различия в поведении.
Интерпретация Результатов
Построив график, вы сможете увидеть, существуют ли две четкие группы — эмоциональные и предвзятые пользователи среди "плохих", а также более сбалансированные и менее эмоциональные пользователи среди "хороших".
Заключение
Ваш подход к измерению "изменчивости настроений" через параметры эмоциональности и предвзятости кажется многообещающим. Вы правильно заметили, что ваше предположение о наличии двух кластеров может быть оправданным. Этот проект не только позволяет проанализировать данные, но и может привести к глубоким выводам относительно поведения пользователей в социальных сетях.
Таким образом, вы можете глубже понять их эмоциональное состояние и наклонности, что может быть полезно для многих аспектов, включая маркетинг, PR и даже политический анализ.