Top.Mail.Ru
Истории

Нам нужно поговорить о Кевине: чем закончилась моя попытка создать реалистичного бота в Twitter

Истории
Никита Стаценко
Никита Стаценко

Редактор RB.RU

Светлана Зыкова

Кевин работоспособен, грамотен, по будням ходит в офис, а по ночам — спит. У него много друзей в Twitter и похоже, что ему нравится писать сообщения под градусом. Кевин — бот.

Программист Марти Санталучиа (Marty Santalucia) рассказал в своем Medium, как ему удалось создать реалистичного твиттер-бота и подружить его с другими пользователями.

Нам нужно поговорить о Кевине: чем закончилась моя попытка создать реалистичного бота в Twitter

Профиль Кевина Брауна в Twitter (@kevbrown618) описывает его как 26-летнего сторонника Прогрессивной партии из Питсбурга, штат Пенсильвания, активного члена #TheResistance (люди, выступающие против президента Трампа — прим. пер.) и готового делать пожертвования в кампании либеральных социальных медиа, таких как #FireHanity (попытка убедить спонсоров шоу Шона Хэннити на Fox News отвернуться от его программы, лишив его финансирования). Его инсайты получили ретвиты и лайки обозревателя CNN Джейсона Кандера и сотен других людей, его контент был просмотрен 131 тысячу раз всего за полтора месяца.

Кевин довольно популярный парень. И он бот.

Из-за той роли, которую боты в Twitter сыграли в президентских выборах 2016 года, существует целая мифология относительно того, на что они способны. Я запустил «Кевина Брауна» в конце июля — начале августа в качестве одного из проектов выходного дня в своей личной попытке расследовать реальное влияние, которое твиттер-боты могли иметь на наши публичные обсуждения.

Читайте по теме: Продакт-дизайнер Twitter объяснил, почему опасно не доверять комментариям в интернетеБоты, которые использовались во время выборов 2016, работали, накачивая большие объемы предварительно запрограммированного контента или делая перепостинг контента, производимого другими людьми, согласившимися с конкретным назначенным планом. Распространяемый ботами контент в конце концов попадал к реальным людям, которые посылали информацию дальше по своей сети. Люди в этой сети видели, что информация приходит от источника, которому они доверяют, и дальше, возможно, сами начинают делиться этим контентом. Затем процесс повторяется.

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

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

Делая Кевина «настоящим»

Чтобы сделать Кевина убедительным, нужно было хорошо его замаскировать. Чтобы получился Кевин Браун, я использовал генератор случайных имен, а затем генератор случайных дат, чтобы определить день его рождения — 18 июня 1991. Затем я нашел на Flickr фотографию парня между 20 и 30 с правом коммерческого использования. Логин «kevinbrown» был уже занят, поэтому подошел и «kevbrown618».

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

Я усилил географическую связь с помощью обложки с фото PNC парка Питсбурга и закончил оформление аккаунта, написав краткую биографию:

Proud #Progressive and #Democrat living in the middle of “Trump Country” #NotMyPresident!

(Гордый #Прогрессивист и #Демократ, живущий посреди «Земель Трампа» #НеМойПрезидент!)

Одним из указателей на то, что вы видите аккаунт твиттер-бота, является распространение контента по одной теме, и делает он это часто.

Чтобы Кевин стал более реалистичным, нужна была «личность» или интересы за рамками критики Дональда Трампа (пусть это и было любимым развлечением). Для этого я планировал запрограммировать Кевина время от времени делиться смешными видео про котиков или делать другие культурные отсылки.


Даже самые идейные люди не могут противиться обсуждению своего любимого фильма на Netflix.


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

Мозг Кевина

Следующим шагом было написать код Кевина и оживить его.

Я сделал Кевина либеральным ботом, потому что я и сам либерал. Это тот тип личности, который я мог сам легко «проверить на вшивость» во время разработки. Однако его код чрезвычайно гибок и многофункционален: одно слово — это все, что отделяет Кевина от того, чтобы стать самым ярым сторонником президента Трампа. С такой же легкостью он мог бы стать пивным снобом или преданным футбольным фанатом.

Репутация Кевина зависела от двух факторов: его контента и его поведения.

Контент

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

Производство оригинального контента — более сложная задача. Если упростить, Кевин может производить только два вида контента: сообщения и комментарии по популярным ссылкам, ходящим по его сети.

Каждый раз, когда Кевин заходит в Twitter, он анализирует сотни сообщений и выстраивает статистическую модель того, какие слова обычно используются вместе. Например, за словом «Президент» часто следуют «Дональд» или «Трамп». Затем Кевин выбирает случайное начальное слово и использует свою модель для определения следующего слова, повторяя процесс до тех пор, пока не составит полный твит. Этот процесс, известный, как цепь Маркова, используется для создания всего оригинального контента Кевина.

Вот более подробное объяснение приципа работы цепей Маркова, которое показалось мне полезным, когда я начинал этот проект.

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

Поведение

Для Кевина не было бы никакой надежды, если бы он вел себя как робот. Слишком много твитов, публикация сообщений по жесткому графику или в необычное время — все это является серьезными подсказками о том, что с той стороны сидит не человек, а неустанный компьютер. Чтобы этого избежать, я составил для Кевина более естественный график. Он заходит в Twitter в случайные моменты времени в течение дня и случайным образом решает, какое действие совершить (если совершать).

Для пущего эффекта Кевин также «спит» и «работает». Его аккаунт неактивен ночью, когда он спит, и снижает активность в рабочие дни, когда он должен быть на работе.

Человек за ширмой

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

Читайте по теме: Я написал бота, который рассылал за меня тысячи резюме — и вот что из этого вышлоКевин фоловит только для того, чтобы увеличить свой охват и попытаться привлечь этих людей подписаться на него в ответ. Сейчас я сам отбираю эти аккаунты, время от времени проводя сортировку по разным хештегам и ключевым словам, чтобы найти людей, которые могли бы быть заинтересованы в нем.

Я также присматриваю за Кевином на случай, если он опубликует какой-то оскорбительный или унизительный контент. Иногда боты, которые живут и обучаются в интернете, попадают в плохие части сети, где набираются таких же плохих привычек. Одним из примеров тому был Tay — бот, созданный компанией Microsoft, который начал с подражания 16-летней девочке и менее чем за 24 часа превратился в нацистского фанатика.

У Кевина есть встроенный фильтр ругательств, я предпринял определенные шаги для предотвращения его пути по цифровым стопам Tay, хотя невозможно быть слишком осторожным. За исключением одного раннего твита, в котором Кевин отметил, что статуя Свободы является символом ненависти (и который я удалил), я смог придерживаться политики невмешательства.

Результаты

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

Вот краткая сводка по цифрам, начиная с 4 августа (первый день, когда Кевин появился онлайн) и до момента публикации статьи:

  • Подписчики: 80
  • Уровень вовлеченности (все действия / показы): 1.2%
  • Показы: 131,200
  • Клики по ссылкам: 290
  • Ретвиты: 377
  • Лайки: 889

К сожалению, почти невозможно получить ответ на вопрос, какими должны быть «хорошие» показатели в Twitter, потому что уровень вовлеченности основывается на многих переменных. Нет абсолютно никаких данных, чего ожидать для бота, который пытается сойти за человека. Наилучшая информация, которую я смог найти, кажется, показывала, что личные аккаунты имеют уровень вовлеченности в среднем 1-2%, что ставит Кевина именно туда, где ему положено быть.

Для сторонней оценки я пошел в Botometer. Botometer — это проект Университета Индианы, который оценивает вероятность того, что аккаунт — бот. Показатель выше 50% означает, что за аккаунтом, скорее всего, будет бот. Кевин набрал впечатляющие 37%, однако впереди у него еще долгий путь — мой личный аккаунт набрал 18%.

Люди тоже чувствуют себя достаточно комфортно с Кевином, отвечают на его твиты и даже пытаются начать разговор. Самый ранний пример был всего через 4 дня после запуска, когда способности Кевина писать сообщения были все еще значительно ниже среднего. В одном из сообщений он критиковал Трампа за ретвит ошибочной информации и объявил, что отправился в тюрьму. Ему ответил (хотя и грубо) один из упомянутых в сообщении людей, консерватор и сторонник Трампа.

Другие взаимодействия были более позитивными:


[– Удивился тому, что @letamericavote под руководством @JasonKander будет нацелена на большее число политиков, затрудняющих процесс голосования. – Отличные новости!]


Всегда есть, куда расти


[Я в середине года: Совершаю ошибки.]


Кевин далек от полного успеха. У него есть несколько недостатков, исправлять которые у меня не хватает либо знаний, либо времени (либо и того, и другого).

Низкокачественные твиты

Иногда Кевин постит полный бред. Это происходит главным образом потому, что он смотрит, как слова подходят друг другу, но понятия не имеет, что они значат.

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


[Ретвитни, если согласен, что пришло время поддержать право извиниться. Уверен, Фред и Дон никогда не говорят о политике.] Поразительно, что не было ретвитов этого сообщения.


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

 

[Несвязное мяуканье и бормотание]

 

Идеологическое непостоянство

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

Например, Кевин посмотрел на два этих сообщения:


[Евангелисты — одни из самых жестоких людей во вселенной. К черту #NashvilleStatment и всех, кто его подписал]


 

[Это. Объясняет. Все. 45% избирателей Трампа считают, что в настоящий момент белые являются самой дискриминируемой социальной  группой в США.]


И составил вот этот:


[Евангелисты являются самой дискриминируемой группой в Соединенных Штатах в настоящий момент.]


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

Неполные мысли

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


[Это УЖАСНО! ПОЖАЛУЙСТА, ПРОЧИТАЙТЕ!]


Также он будет составлять обрывающиеся сообщения.


[Слышал сплетни о...]


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

Разговоры

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

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

Маски сброшены

После полутора месяцев жизни Кевин стал частой темой для обсуждения у меня в офисе и дома. Мои коллеги даже начали делать запросы на свои собственные версии (обратите внимание на самого большого фаната команды Cleveland Browns в Twitter).

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

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

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

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

Материалы по теме:

Как роботы отнимают работу у поэтов, художников и музыкантов

Искусственный интеллект обыграл лучших игроков в Dota 2 – почему это важно?

VisionLabs запустил бота для Telegram, который угадывает возраст и пол по селфи

Могут ли боты заменить HR-специалистов? Мнения экспертов

Фото на обложке: Фотобанк Фотодженика.

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

Материалы по теме

  1. 1 Информационные войны в соцсетях – 3 кейса от основателя MDK
  2. 2 Мария Анисимова (ДИТ Москвы) – о поиске решений потребностей горожан на основе прогноза их реакции на Big Data Conference
  3. 3 Специалист по кибербезопасности рассказал, как хакеры голосуют на выборах вместо нас
  4. 4 Зачем в Украине внедрять блокчейн на госуровне
  5. 5 Байден vs Трамп: мерч-баттл
DION
Что ждет рынок корпоративных коммуникаций в 2024 году?
Подробнее