Дуров рассказал о Telegram-канале устроившего стрельбу в Казани

Конкурс

Публично сотрудники из Яндекс.Новостей не откликнулись на это предложение, а Telegram не стал откладывать идею новостного агрегатора в долгий ящик. Уже в ноябре 2019 года был объявлен конкурс на создание алгоритма ранжирования новостей с призовым фондом в €100 тысяч.

Telegram запустил конкурс на создание алгоритма ранжирования новостейTelegram объявил о новом конкурсе, задача которого — создание алгоритма ранжирования новостей. Призовой фонд 1-го этапа — $100 000.SsylkiRETINA-95.png

По имеющейся у «Кода Дурова» информации, за ником Mindful Kitten «скрывается» разработчик из Google, который в прошлом был сотрудником «Яндекс.Поиска». А Mindful Squirrel — это Илья Гусев из «Яндекс.Новостей» и еще как минимум 3 человека, которые контрибьютят этот проект на GitHub. О своей работе в Яндекс Илья указал у себя в профиле Linkedin. При этом ребята из Mindful Squirrel сделали интересный технической обзор своей первой конкурсной работы, с которой мы советуем ознакомиться.

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

IMG_2886-1.jpg

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

Новостные агрегаторы из конкурса Telegram теперь работают с настоящими новостямиОтныне конкурсные работы по агрегации контента берут настоящие новости в режиме реального времени.

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

Как агрегатор их сортирует и ранжирует?

В этом как раз и заключается основная задача участников конкурса — разработать алгоритм, который будет отделять от всего «сырья» Instant View новости, группировать их по теме и объединять в треды — списки новостей разных ресурсов одной тематики. Вместе с тем треды и новости должны еще и ранжироваться в выдаче, и на это влияют сразу несколько факторов, например, количество прочтений, авторитет источника и даже то, насколько длинная новостная заметка.

IMG_2838.jpg

Мы пообщались с одним из участников конкурса с ником Hip Hyena и узнали, по какому принципу происходит сортировка и ранжирование в подобных проектах.

Как определяются треды? В треды объединяются статьи, которые алгоритм считает достаточно похожими. Для оценки схожести можно использовать несколько признаков.

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

Или вот ещё подход: можно выделить в каждой статье самые важные, ключевые слова, которые употребляются в ней чаще, чем в других статьях. Совпадение таких слов — тоже признак того, что в статьях говорится об одной теме и их стоит объединить в тред.

Как определяются категории? Всё почти так же, как с объединением в треды, только тут сравниваются не статьи друг с другом, а каждая статья с конкретной темой. Например, для темы «спорт» одни слова чаще оказываются ключевыми, для темы «технологии» — другие. Какая тема оказалась ближе всего — та категория и назначается статье.

Как строится повестка? Чем больше публикаций, тем выше место в топе? Учитывается ли авторитет издания? Здесь тоже учитывается много факторов — как для сортировки статей в треде, так и для сортировки самих тредов. Имеет значение и авторитет источника, и количество публикаций, и время каждой публикации, и степень их схожести всему треду, и даже длина каждой статьи.

Как новости попадают в агрегатор?

Чтобы новость попала в агрегатор, сайт должен поддерживать Instant View для Telegram. Для более быстрого появления в агрегаторе желательно, чтобы ссылку на новость хотя бы один раз переслали через мессенджер — так ее сразу же распознает алгоритм Instant View. Впрочем, даже если этого не произойдет, то на помощь придут внутренние краулеры, которые проактивно обходят ссылки на доменах Instant View.

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

Как это выглядит?

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

В шапке главной страницы доступен выбор языка (EN/RU) и даты, за которую будут выдаваться новости. На текущий момент можно просмотреть только новости за сегодня или за 25, 27 и 29 мая. Это связано с тем, что изначально участникам предоставили доступ к базе Instant View только за этот период, а теперь открыли актуальную повестку.

image-56.png

Ниже можно выбрать одну из 8 категорий:

  • Главное (сюда попадают наиболее важные инфоповоды из всех категорий)
  • Общество
  • Экономика
  • Технологии
  • Спорт
  • Развлечения
  • Наука
  • Другое (те новости, которые не подошли ни под одну из категорий)

И здесь же можно указать временной промежуток — за весь день, за последние три часа или за последний час.

Нажав на интересующий нас заголовок, мы попадаем в тред — список всех новостей на эту тему с указанием источника.

image-57.png

И уже по нажатию на одну из строк из треда открывается новость в адаптированном под быструю загрузку виде. Когда агрегатор будет встроен в Telegram, новости станут открываться соответственно в Instant View.

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

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

Mindful Kitten — 9 баллов. Мои коллеги сошлись во мнении, что это одна из лучших работ по качеству повестки. Главная страница дает то, что мы ожидаем там увидеть.

Ace Cock — 8,5 баллов. Практически по всем топам повестка формируется неплохо — новости свежие, однако большинство из них составляют общественно-политические инфоповоды, при этом технологии и другие темы обделены вниманием.

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

Gifted Lemur — 8 баллов. Топы показывают разнообразные темы, в том числе технологии, экономику и политику — очень актуальные и общественно-резонансные новости. Однако есть и большая проблема — повестка медленно меняется в течение дня и в какой-то момент может стать уже не такой актуальной.

Hairy Snail — 8 баллов. Одна из немногих работ, в которой нет явного акцента на политике. Повестка относительно актуальная, но новости не всегда интересные. В основном о науке и технологиях, а остальные темы «хромают».

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

Bossy Gnu — 7 баллов. Единственная работа с заметным акцентом на спорт. Есть проблемы с алгоритмами: во-первых, нередко встречается одна и та же новость в двух разных карточках, во-вторых, на месте топ-1 мы замечали совсем уж странные инфоповоды вроде коронавируса на Кубани. И почти нет политики — это даже забавно.

Happy Ladybird — 6 баллов. Новости актуальные, но не слишком интересные и их мало. В топе только политика и «корона», последней много, хотя в самих заметках нет ничего особенного. Некоторые новости очень запоздалые и при этом мало цитируемые.

Swift Skunk — 3,5 балла. Политическая выдача с не самыми актуальными новостями. Новости плохо собираются в треды — много повторяющихся. Почему-то большой акцент на новости Украины.

Mad Crow — 3 балла. Неактуальная выдача только с общественно-политической повесткой, треды работают некорректно.

Suave Penguin — 3 балла. Неактуальная выдача, все заголовки начинаются с маленькой буквы, нет источников в треде.

Calm Lemur — 2,5 балла. Как отметил мой коллега, повестка в этой работе сформирована таким образом, чтобы понравиться патриотам одной страны. Не хватает разнообразия в инфоповодах. В топе много второстепенных новостей, пусть и интересных, но никак не главных. Есть проблема с тредами.

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

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
А как считаете Вы?
Напишите в комментариях, что вы думаете – согласны
ли со статьей или есть что добавить?
Добавить комментарий