paint-brush
Как использовать яркие данные для анализа настроенийк@adnanaleeza
Новая история

Как использовать яркие данные для анализа настроений

к Aleeza Adnan5m2024/11/26
Read on Terminal Reader

Слишком долго; Читать

Bright Data — это платформа, которая позволяет вам получить доступ к высококачественным данным Twitter для анализа настроений. В этой статье мы рассмотрим, как использовать готовый набор данных Twitter от Bright Data. Мы сосредоточимся на тексте твитов, поскольку именно там будет применяться анализ настроений.
featured image - Как использовать яркие данные для анализа настроений
Aleeza Adnan HackerNoon profile picture
0-item

Роль данных в машинном обучении

В сегодняшней среде, где главенствующую роль играет искусственный интеллект, машинное обучение, искусственный интеллект и чат-боты преобразуют отрасли беспрецедентными темпами.


Все больше компаний стремятся интегрировать ИИ в свои операции, но то, как построены эти системы, часто упускается из виду. Главный ингредиент? Данные. Модель машинного обучения хороша настолько, насколько хороши данные, на которых она обучена. Но откуда берутся все эти данные?


Значительная часть данных, на которые мы полагаемся, находится в открытом доступе, часто встречается в сообщениях в социальных сетях, отзывах пользователей и другом онлайн-контенте. Для анализа настроений одним из самых богатых источников данных является Twitter , который непрерывно транслирует контент, создаваемый пользователями в режиме реального времени. Однако проблема заключается в том, как эффективно и чисто собирать эти данные.

Проблема традиционного сбора данных в Twitter

Когда я начал работать над проектом анализа настроений с использованием данных Twitter, я изначально рассматривал возможность использования API Twitter. Однако я быстро столкнулся с существенным ограничением: API бесплатного уровня предоставляет доступ только к твитам за последние семь дней. Для комплексного анализа настроений, особенно для трендовых тем или политических событий, охватывающих недели или месяцы, это ограничение серьезно ограничивает объем и качество доступных данных.


Хотя обновление до более высокого уровня API было вариантом, стоимость была непомерно высокой для такого мелкомасштабного проекта, как мой. Это оставило мне два пути: попытаться собрать данные вручную с помощью традиционного скрапинга (который имел свой собственный набор проблем, таких как CAPTCHA, избыточность и неполные записи) или найти альтернативное решение.


Вот где Bright Data вступает в игру, решая эти проблемы без проблем, предлагая чистые, масштабируемые и исторические наборы данных Twitter. Вместо того, чтобы ограничиваться ограничениями API, я мог получить доступ к разнообразным, высококачественным данным для своего проекта без обычных проблем.

Пошаговое руководство по использованию готового набора данных Twitter от Bright Data

В этой статье я расскажу вам, как можно использовать Marketplace Bright Data для получения высококачественных данных Twitter для анализа настроений, а также поделюсь своим опытом.

Шаг 1: Зарегистрируйтесь и получите доступ к платформе Bright Data

Перейдите на сайт Bright Data и создайте бесплатную учетную запись, чтобы начать. После входа в систему вы будете перенаправлены на Data Marketplace, где можно получить доступ к различным готовым наборам данных, включая те, которые связаны с Twitter.

Шаг 2: Поиск соответствующего набора данных

После выбора набора данных вы можете загрузить его прямо на локальный компьютер или получить к нему доступ через API. Быстрый процесс позволяет вам начать работать с высококачественными данными практически сразу. Я использовал набор данных Twitter-posts

Шаг 3: Загрузка и очистка данных

Необработанные данные Twitter обычно содержат много метаданных, которые могут не иметь отношения к анализу настроений, например, информацию о пользователях, URL-адреса изображений и другие нетекстовые данные. Мы сосредоточимся на тексте твитов, поскольку именно там будет применяться анализ настроений, а также на соответствующих показателях вовлеченности, таких как репосты и лайки.

 import pandas as pd df = pd.read_csv("path_to_your_dataset.csv") df.head()


Следующим шагом является очистка данных путем обработки пропущенных значений и удаления ненужных столбцов.

 df_clean = df[['user_posted', 'description', 'date_posted', 'reposts', 'likes']] df_clean = df_clean.dropna(subset=['description']) df_clean = df_clean.drop_duplicates(subset=['description']) df_clean.head()


Шаг 4: Анализ настроений — извлечение смысла из твитов

Теперь, когда мы очистили данные и имеем соответствующий текст, пришло время погрузиться в анализ настроений . Анализ настроений означает определение эмоционального тона, стоящего за словами, — является ли твит положительным, отрицательным или нейтральным.


Я использовал популярную библиотеку VADER (Valence Aware Dictionary and Sentiment Reasoner), специально разработанную для текстов в социальных сетях. Она отлично справляется с неформальным языком, таким как сленг и эмодзи.


Фрагмент кода ниже выполняет анализ настроений с использованием VADER.

 from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer analyzer = SentimentIntensityAnalyzer() def get_sentiment(text): sentiment = analyzer.polarity_scores(text) return sentiment['compound'] df_clean['sentiment'] = df_clean['description'].apply(get_sentiment) df_clean.head()

Шаг 5: Анализ распределения настроений

После расчета оценок настроений мы можем проанализировать распределение, чтобы увидеть, насколько позитивны или негативны твиты в среднем. Это может дать представление об общем общественном настроении по поводу определенной темы или события. Мы также можем визуализировать распределение настроений с помощью гистограммы или облака слов, чтобы определить ключевые эмоции.


Этот график даст вам хорошее представление о распространении настроений, будь то в сторону позитива, негатива или нейтральности. В этом случае наблюдается высокая частота нейтральных твитов.


Шаг 6: Соотнесение настроений с вовлеченностью

Теперь, когда у нас есть оценки настроений для каждого твита, следующим шагом будет изучение того, есть ли какая-либо корреляция между настроениями и показателями вовлеченности, такими как лайки и репосты. В аналитике социальных сетей можно было бы ожидать, что более позитивные настроения могут привести к более высокой вовлеченности (больше лайков, больше репостов). Однако так ли это на самом деле?


Чтобы это выяснить, мы можем рассчитать корреляцию между оценками настроений и показателями вовлеченности. Результаты следующие:

Correlation between sentiment and likes: 0.022806738610786123

Correlation between sentiment and reposts: 0.008885789875330416


Учитывая слабые значения корреляции из моего анализа данных, мы видим, что нет сильной связи между настроением и вовлеченностью. Корреляция между настроением и лайками составила 0,02, а для настроения и репостов она составила всего 0,008. Эти значения говорят о том, что метрики вовлеченности, такие как лайки и репосты, не сильно зависят от настроения твитов .

Переосмысление роли чувств в вовлеченности

Слабая корреляция между настроениями и вовлеченностью показывает, что есть и другие факторы. Хотя анализ настроений помогает нам понять общественное мнение, вовлеченность, вероятно, обусловлена дополнительными факторами, такими как:


  • Релевантность контента : популярные темы, как правило, вызывают большее вовлечение независимо от настроений.
  • Влияние пользователя : популярные аккаунты часто получают более высокую активность, независимо от настроения их твитов.
  • Время : Твиты, опубликованные во время прямых трансляций или в часы пик, с большей вероятностью привлекут внимание.


Хотя анализ настроений является ценным инструментом для понимания того, что люди чувствуют по поводу темы, он не всегда является надежным предсказателем вовлеченности. Чтобы получить более глубокое представление о поведении пользователя, важно учитывать другие факторы, такие как время контента, релевантность и влияние пользователя.