ИИ оценивает сайты, подражая реальным людям, и даже превосходит их. Как это сделать?

Сегодня один из компонентов uKit AI, интеллектуальной системы редизайна веб-сайтов, становится общедоступным. Это прототип модуля для оценки красоты веб-страниц. Он объединяет нейронную сеть и деревья решений, чтобы имитировать реакцию обычного посетителя на дизайн сайта.

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

Текущая версия AI для WebScore отражает мнение среднего интернет-пользователя о внешнем виде сайта. Хотя мы можем создать и другие варианты, например, можно оценить удобство использования веб-сайта.

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

Пара сайтов из учебного образца.

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

Люди, которые имитируют AI WebScore. Нам потребовались две вещи для формирования набора данных (набора данных для модели обучения) с различных веб-сайтов:

  • признаки, по которым система будет определять привлекательность веб-сайта;
  • оценки (оценки), сделанные с помощью нашей шкалы для определенного количества сайтов. Они станут моделью для системы.

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

Интерфейс оценки веб-сайтов: в скором времени воспользуйтесь нашим GitHub.

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

Сначала мы экспериментировали с методами оценки.

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

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

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

Команда разработчиков uKit.com.

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

Создать алгоритм. Что такое «модель обучения»? Это построение алгоритма, основанного на заданном наборе характеристик и способного оценить выбранный веб-сайт. Желательно, чтобы оценка системы и оценка среднего учителя разделяли минимальный разрыв в своих итоговых оценках.

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

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

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

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

Мы выбрали одну из самых популярных сетей, resnet50, она известна как хороший алгоритм для извлечения функций высокого уровня. И мы узнали, как получить 1000 дополнительных атрибутов для оценки веб-сайта. В результате система в настоящее время характеризует URL-адрес в общей сложности 1125 функций и находит «место» веб-сайта по 10-балльной шкале. Этот процесс занимает несколько десятков секунд, поэтому мы считаем, что нужно ускорить модель, сократив количество признаков при сохранении качества оценки на прежнем уровне.

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

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