Заявки для госсектора

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

• Получите отзывы о продукте или политике

• Отслеживайте отраслевой контекст

• Анализируйте конкуренцию

• Управление связями с общественностью и репутацией

• Создавайте потенциальных клиентов или цели в кампаниях.

• И более

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

Существует ряд платформ, которые были созданы для предоставления услуг социального прослушивания, но они часто дороги, а более дешевые варианты не всегда легко настраиваются. В бюджете частного сектора обычно есть место для дорогостоящего программного обеспечения, но в государственном секторе это случается реже. К счастью, языки открытого кодирования, такие как Python и R, предлагают инструменты для создания бесплатного, полностью настраиваемого рабочего процесса анализа с открытым исходным кодом, который вы можете разделять и изменять по своему усмотрению.

Давайте рассмотрим простой пример: муниципалитет хочет понять, как его жители относятся к предложению о расширении велосипедных дорожек в центре города.

Источники данных)

Первое, что нам (муниципалитету) нужно сделать, это рассмотреть наш источник данных. Платформы социальных сетей зависят от местоположения и демографии. Например, если мы хотим узнать, что думают пожилые люди, TikTok, вероятно, не наш лучший вариант. Источник (и) данных должен соответствовать цели нашего социального слушания.

Исследование Pew опубликовало интересные данные о демографии пользователей различных платформ в США.

Итак, когда мы думаем о велосипедных дорожках, чье мнение нас беспокоит?

Жители центра города молодые, городские и образованные. Часто они политически активны. Twitter будет для нас хорошим местом для начала.

Репрезентативность

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

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

Получение данных

API

Есть, как говорится, много способов снять шкуру с кошки. Некоторые сайты социальных сетей, такие как Twitter, имеют официальный API или интерфейс прикладного программирования (доступ к Facebook и Instagram можно получить через различные официальные и неофициальные API-интерфейсы). API требуют, чтобы пользователь зарегистрировался для получения токена доступа, который они могут использовать для извлечения данных в скрипте с использованием личного ключа. Обратите внимание, что не все API совместимы со всеми языками кодирования - LinkedIn API совместим только с Bash, NodeJS и Java.

Одна из проблем API-интерфейсов заключается в том, что они обычно блокируют более «энтузиастов». При блокировке пользователи могут попытаться перейти на серверы или иным образом замаскироваться, но часто это заходит в тупик. В таких случаях старый добрый парсинг веб-страниц - еще один способ получить данные.

Инструменты для чистки общего назначения

Платформы социальных сетей - это просто веб-сайты, и поэтому их можно очистить с помощью обычных инструментов для очистки веб-страниц, таких как Rvest, Beautiful Soup или Selenium. Однако структура каждого сайта может быть конкретной, повторяющейся и утомительной для навигации, а это означает, что постоянно обновляющееся сообщество открытого кода предоставило ряд удобных инструментов для конкретных платформ для извлечения данных из социальных сетей на ваш компьютер.

Пакеты для социальных сетей

В R twitteR представляет собой удобный способ получения данных из Twitter, а instaCrawlR и iscrape делают то же самое из Instagram. У Python есть инструменты, которые делают то же самое, от TikTok до Linkedin, за относительно небольшое количество шагов. Особенно удобным инструментом для парсинга Twitter является twint, который после установки может быть запущен из командной строки или внутри Python, используя очень мало строк кода.

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

Необработанные данные, проверьте. Что теперь?

Когда у нас есть данные, мы начинаем с той же базовой предварительной обработки, что и любой другой проект НЛП. Мы удаляем знаки препинания, тщательно обдумывая, как символы типа # и @ повлияют на анализ, и отбрасываем стоп-слова. В частности, в текстах социальных сетей смайлики распространены и могут иметь важное значение. Хотя иногда они выпадают из текста, более осмысленное управление - преобразовать их в слова. Мы также можем использовать более продвинутые методы, такие как пропуск текста через проверку орфографии (поскольку социальные сети изобилуют орфографическими ошибками, которые могут повлиять на алгоритмы, которые рассматривают каждое новое неправильное написание нового слова), используя такие инструменты, как пакет орфографии R или специально созданный нечеткий сопоставление »инструментов. Обратите внимание, что эти инструменты проверяют вводимый текст по словарю принятых слов, чтобы определить случаи, когда вводимые слова очень похожи на принятые слова, перезаписывая их принятыми словами. В зависимости от конкретного словарного запаса вашего предмета, может быть важно пересмотреть или скорректировать базовый словарь.

Лемматизация - еще один важный метод, который может иметь большое значение для воздействия текстовых данных. Наряду с выделением корней лемматизация используется для свертывания всех спряжений слова либо до инфинитива, либо до корня: вместо того, чтобы считать 'am', 'are' и 'is' как три функционально различных слова, все эти слова будут регистрироваться как единственный глагол быть. Появление этого инфинитива или корня будет суммой его спряжений и, следовательно, будет иметь большее влияние, чем каждое спряжение в отдельности. Это можно сделать с помощью SpaCy в Python или texttem в R. Некоторые инструменты, такие как R’s hunspell , объединяют слова, токенизируют и проверяют орфографию.

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

Возвращаясь к нашему примеру с велосипедными дорожками, что мы хотим знать о приеме полиса?

• Как люди относятся к расширению велосипедных дорожек

• Какие части политики их касаются

• Какие люди достаточно сильно относятся к политике, чтобы писать о ней в Твиттере?

И что эта информация позволит нам сделать с политической точки зрения?

Обучение без учителя для понимания контекста

Поскольку мы не хотим проводить анализ, мы можем начать с некоторых простых исследовательских приемов. Готовый к использованию анализ настроений, такой как textblob Python или dplyr / get_sentiments () из R, позволяет нам получить базовое представление о том, что публика принимает.

Для предложенных велосипедных дорожек мы можем использовать предустановленный лексикон 'afinn', чтобы получить полярный анализ настроений соответствующих твитов, чтобы увидеть, что прием был в основном положительным в те дни, когда было объявлено предложение, особенно в тот день, когда был опубликован пресс-релиз. для решения вопроса:

Хотя пакет включает в себя более конкретные лексики настроений, то есть различение между грустным и злым, а не просто «негативным», это может быть очень чувствительно к контексту. В предустановленном лексиконе «nrc» слово «полиция» ассоциируется с безопасностью, что в свете большей части контента в социальных сетях, размещенного в прошлом году, в лучшем случае иронично.

После этого первого прохода данных мы можем получить более подробную и конкретную информацию, используя методы тематического моделирования. Пакеты R textmineR и tidytext и пакеты Python scikitlearn, gensim и nltk предоставляют инструменты для моделирования настраиваемых тем с использованием, в частности, двух методов:

• Tf-idf (частота термина - обратная частота документа)

• LDA (Скрытое размещение Дерихле)

Tf-idf использует два набора статистики (неудивительно, частоту терминов и обратную частоту документа), что является очень простым способом «векторизации» слов для определения важности слова в контексте документа. Скрытое распределение Дирихле - это генеративная вероятностная модель, которая немного похожа на дитя векторизации и кластеризации пакета слов, используемый для сортировки документов по темам. Эти два метода помогают нам извлекать такие функции, как ключевые слова, и понимать, о каких темах говорят больше всего.

В некоторых случаях, как в нашем примере с велосипедными дорожками, модель LDA может создавать оптимизированное количество тем, которое слишком велико, чтобы быть практичным для нашего анализа. В этом случае мы можем сгенерировать дендрограмму для дальнейшей группировки тем вручную. Этот был сгенерирован в R с использованием функций CalcHellingerDist () и hclust () по результатам существующей модели LDA.

Таким образом, мы можем сузить наиболее распространенные темы для разговоров до вопросов безопасности, дорожного движения и окружающей среды.

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

Обучение с учителем предписывать действия

Как только мы поймем общий контекст проблемы, нам нужно решить, как действовать. Есть два семейства контролируемых техник, которые мы можем использовать для предписания действий.

Классификация

Классификация может использоваться для сортировки пользователей твиттера по профилям в соответствии с типом их мнения или приоритетами и, таким образом, для определения того, какие действия правительство должно предпринять для решения проблем таких граждан. Популярные методы классификации НЛП включают tf-idf (средство извлечения признаков, которое мы обсуждали в предыдущем разделе, можно объединить с простым классификатором NN для создания модели классификации NLP) и методы набора слов, такие как word2vec и doc2vec .

Чуть более сложная модель RNN предлагает преимущество анализа документов пословно, что обеспечивает большую гибкость. В последнее время двунаправленные модели RNN, такие как LSTM и ELMo (метод, который, как известно, подпитывает модель BERT Google) стали современным.

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

Аннотации

В случаях, когда один результат для каждой модели ограничивает точность анализа, аннотация может обеспечить лучшее решение. От распознавания именованных сущностей (NER) до сложного сопоставления с образцом, аннотация ищет в тексте документа определенные строки или образцы и маркирует документы всеми найденными результатами. Некоторые пакеты, такие как безделушка / сущность R, идентифицируют заранее заданные сущности, такие как даты, люди и денежные суммы, и могут эффективно использоваться для конкретных целей. Для сложных / настраиваемых шаблонов Python SpaCy (или эквивалент R spacyr) предоставляет настраиваемые пакеты для NER, сопоставления с образцом, частей тегов речи и прочего. Для тех, кто обладает знаниями в области программирования, выходящими за рамки обычных языков анализа данных R и Python, существуют мощные инструменты, такие как Stanford’s CRF-NER, основанные на таких языках, как Java.

Приведенный ниже твит затрагивает несколько тем - безопасность, дорожное движение и детей, - а также саму тему велосипедных маршрутов.

В то время как большинство классификаторов будут вынуждены выбрать одну категорию, аннотация может пометить несколько проблемных моментов в каждом твите, как показано ниже:

Применение в госсекторе

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

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

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

Эти инструменты НЛП и машинного обучения можно применять творчески, чтобы ответить на многие вопросы социальной аудитории, используя 100% инструменты программирования с открытым исходным кодом, такие как R, Python, оболочка Unix и Java. В то время как специализированное программное обеспечение может потребовать меньше усилий с самого начала, инструменты с открытым исходным кодом обеспечивают непревзойденную гибкость, настройку, воспроизводимость и прозрачность (функция, часто важная в общественной работе) при непревзойденной стоимости в 0 долларов.