Борьба с фейковыми новостями
Алгоритмы, такие как алгоритм ленты новостей Facebook, – невероятно мощный инструмент, но опасность заключается в том, что хакеры все еще могут легко их обойти. Без контроля со стороны человека алгоритмы могут быть использованы против нас.
Известный пример – эпидемия фейковых новостей, которая охватила Facebook в 2016 году во время американских президентских выборов. Напоминаем, что алгоритм ленты новостей не учитывает правдивость или авторитетность поста; его интересует только максимальная активность пользователей. Распространители фейковых новостей пользовались этим с целью травли политиков, которые были им неугодны, и размещали в Facebook возмутительные и явно ложные новостные статьи. Естественно, такие статьи привлекали много внимания, на них кликали и оставляли под ними комментарии, поэтому алгоритм продвигал их в топ ленты многих пользователей.
К чести компании, с тех пор она выпустила обновления алгоритма новостной ленты, чтобы попытаться ограничить распространение фейковых новостей. В 2018 году Facebook объявила, что изменит свой алгоритм, чтобы сосредоточиться на «значимых социальных взаимодействиях», то есть она будет продвигать свежие новости ваших друзей, а не просто «кормить» информационным материалом. Однако, как признали в компании, выявлять «значимые социальные взаимодействия» гораздо сложнее, чем просто определять количество лайков и кликов по статьям.
Facebook также обращалась к людям, чтобы устранить недостатки в своем алгоритме ленты новостей. (Ирония заключается в том, что алгоритмы предназначены для сокращения объема работы, которую изначально должны были выполнять люди, но в компании признают, что алгоритмы не идеальны.) Например, Facebook представила функции, позволяющие людям отмечать фейковые посты, и начала привлекать фокус-группы, которые прокручивают свои ленты и предоставляют обратную связь специалистам, разрабатывающим алгоритм. (Все правильно, за просмотр Facebook можно получать деньги.)
Алгоритмы – не магические заклинания, управляющие миром. Это просто набор правил (хотя и сложных), написанный другими людьми, чтобы заставить компьютеры выполнять определенную задачу. И, как показывает Facebook, иногда машины и люди должны сотрудничать.
Что объединяет Uber, Yelp и Pokémon Go?
Предположим, вы хотите создать свою версию Google Maps. Для этого пришлось бы отследить каждую дорогу, здание, город и побережье на планете. Не исключено, что понадобился бы парк автомобилей, чтобы ездить по всему миру, фотографировать и проводить вычисления, как это делала Google для Google Maps. Кроме того, нужно будет встроить функции панорамирования, масштабирования и алгоритмы для поиска направления движения между двумя точками.
Мягко говоря, это очень сложно. Даже Apple Maps критиковали за то, что их стандарт качества не дотягивает до уровня Google Maps.
Поэтому когда таким приложениям, как Uber, Pokemon Go и Yelp, нужно добавить карту, показывающую, где находятся доступные автомобили, помочь игрокам, найти диких покемонов или показать ближайшие рестораны, они, скорее всего, не захотят тратить миллиарды долларов и тысячи часов на создание новой карты.
Если вы когда-либо пользовались этими приложениями, то наверняка знаете, как они решают эту проблему: встраивают карты Google Maps в свое приложение. Ищете ресторан? Yelp закрепляет отметку на карте Google в зависимости от вашего местоположения. Хотите доехать до центра на Uber? Приложение строит маршрут на карте Google и рассчитывает примерное время, которое понадобится на поездку.
Uber использует интерфейс Google Maps, чтобы сгенерировать карту и предсказать время в пути. Источник: Uber on Android
Google позволяет добавить небольшой фрагмент кода в приложение, чтобы создать Google Maps. Она также предоставляет другие фрагменты кода, позволяющие рисовать на картах, вычислять направления движения между точками и даже определять ограничение скорости для конкретной дороги. Все это дешево или даже бесплатно. Эти средства – большая победа для разработчиков; они могут использовать технологию, на совершенствование которой у Google ушли годы, дополнив ее всего несколькими строчками кода. Не нужно изобретать велосипед!
Фрагменты кода, которые позволяют заимствовать функционал или данные другого приложения, называются API-интерфейсами или программным интерфейсом приложения. Если коротко, API позволяет приложениям взаимодействовать друг с другом. Давайте рассмотрим три основных типа API.
Читать дальше