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

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

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

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

Шаблоны в данных

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

Некоторые ключевые слова были явно связаны с пристрастием: у демократов и республиканцев есть термины «2018», «день», «новый», «козырь» и «нас» в 10 самых популярных поисковых запросах, но республиканцы с гораздо большей вероятностью будут искать для слов «фотографии», «цветы» и «американский», тогда как термины «лучший» и «новости» больше связаны с демократами. Различия в словарном запасе можно дополнительно проанализировать на основе ключевости, который полагается на хи-квадрат для сравнения относительной частоты терминов в двух документах для определения терминов, которые наиболее тесно связаны с каждой группой. Среди слов, которые больше ассоциировались с республиканцами, были нейтральные термины, такие как «цветы» и «кошка», как указано в их основных поисковых запросах, а также консервативные новостные агентства, такие как «драг» и «ежедневный» «звонящий». Напротив, демократов больше ассоциировали со словами «лесбиянка», «флирт» и «веган».

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

Неудивительно, что избиратели искали элементы из всех этих списков чаще, чем не проголосовавшие. Разница была менее резкой при рассмотрении демократов и республиканцев.

Методология

Я хотел посмотреть, можно ли предсказать: 1) проголосовал ли кто-то или нет, и если да, 2) за демократов или республиканцев.

Первым шагом было создание пяти уникальных наборов данных:

  • Поведение при поиске. Первый набор данных рассматривал поведение при поиске. Сюда входят такие вещи, как использованная поисковая машина, время дня, тональность запроса и поиск участником каких-либо слов, относящихся к политике, из предопределенных списков.
  • Top 1000 Unigrams и Top 1000 Bigrams. Для второго и третьего наборов данных я нашел 1000 самых популярных словосочетаний и 1000 фраз из двух слов (например, «Waffle House »или имена) и отметили, искал ли участник какие-либо из этих основных терминов или фраз.
  • Весь текст поиска и Весь текст политического поиска: В последних наборах данных просматривался весь текст запроса участников. По сути, я просто сжал все вопросы респондентов в один большой абзац. Этот блок текста был преобразован в числовое представление, отражающее взаимосвязь между словами, называемое встраиванием слов. Для этого я использовал BERT из библиотеки трансформаторов. Был один набор данных со всеми их поисковыми запросами, и один, в котором я только сократил поисковые запросы, содержащие одно из «политических» слов, которые были определены ранее.

Оба вопроса исследования - голосовал ли кто-то или нет, и если да, то за какую партию - были проверены на следующих моделях:

  • Набор данных Search Behavior был реализован с помощью логистической регрессии, k-ближайших соседей, XGBoost и базовой нейронной сети (MLP).
  • Наборы данных Top 1000 Unigrams и Top 1000 Bigrams были исследованы с помощью регуляризованной логистической регрессии, машины векторов поддержки и XGBoost.
  • Наконец, наборы данных весь текст поиска и весь текст политического поиска были смоделированы с помощью нейронной сети.

Все модели основаны на контролируемом обучении, и гиперпараметры были настроены (при необходимости) с использованием повторной перекрестной проверки перед тестированием на тестовом наборе для получения окончательных результатов. Чтобы обеспечить сбалансированность тренировочных данных, я полагался на SMOTE перед тренировкой любых моделей. Когда масштабирование характеристик было актуально для конкретной комбинации модель / данные, это также принималось во внимание. Кодирование было выполнено на R для всех моделей, за исключением внедрения нейронной сети и BERT, которые были выполнены на Python.

Чтобы оценить эффективность моделей, я сначала создал две базовые модели логистической регрессии, которые использовали демографические характеристики, такие как возраст и образование, в качестве характеристик. Метрики, используемые для сравнения, - это точность или количество случаев, которые были правильно идентифицированы, и F1, который является мерой, которая также учитывает ложные срабатывания и ложные отрицания. Базовыми метриками, которые нужно было превзойти, были точность 93% и F1 из 95% для тестового набора данных для модели явки и точность 74% и F1 из 65% для тестового набора данных по выбору партии.

Результаты

Явка В целом результаты первого вопроса исследования о том, можно ли предсказать, проголосовал ли участник, основываясь исключительно на своей истории поиска, были умеренно многообещающими. Учитывая высокую планку, установленную базовой моделью, неудивительно, что немногие модели смогли конкурировать, хотя некоторые действительно справляются с этой задачей. Наилучшая производительность была достигнута при использовании встраивания слов и нейронной сети во всей истории поисковых запросов участника, где присутствовал политически значимый термин, что обеспечило точность 96% и F1 94%.

Однако сложность этой модели - ее интерпретируемость. Мало того, что нейронные сети известны тем, что их трудно интерпретировать, общие методы не дадут значимых результатов для вложений. Хотя методы моделирования переменной важности действительно существуют (такие как LIME или пакет VIP в R), результатами будут наиболее релевантные векторы слов, которые, по сути, являются бессмысленным числовым векторным представлением наиболее релевантных слов для прогнозирования. К сожалению, нет известного мне способа последовательно переводить эти векторы обратно на письменный язык.

Выбор партии В отличие от первого вопроса исследования, ни одна из моделей выбора партии не достигла даже близкого к уровню точности или F1 базовой социально-демографической модели. Например, лучшая конфигурация достигла точности 63%, что на 11% ниже базовой модели.

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

Выводы

Итак, я предполагаю, что ответ таков: хотя да, мы можем получить интересную информацию о том, голосовал ли кто-то и какую партию он предпочитает, на самом деле мне не удавалось последовательно превзойти предсказательную силу простой логистической регрессии и демографических переменных. Что, вероятно, лучше всего для конфиденциальности. ;-)

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

Если вам интересно узнать больше, весь код (и полный текст статьи) доступен здесь: https://github.com/MarinaWyss/search-engine-thesis