LEON

249
Содержание

Введение:

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

 

Клиент:

Букмекерская компания

 

Задача:

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

 

Бот должен

  1. отправлять адрес актуального зеркала, который меняется каждые сутки, 
  2. загружать с сайта актуальную информацию по будущим матчам и давать пользователю возможность найти интересующие ставки
  3. Давать ответы на вопросы клиентов
  4. Предоставить пользователю возможность подписаться на рассылку бота, а менеджерам букмекерской компании производить рассылки сообщений подписавшимся, а также видеть информацию по подписавшимся пользователям 
  5. Собирать статистику по всем диалогам и вести рейтинг наиболее популярных сообщений
  6. Предоставить пользователю персональные рекомендации на основании его истории взаимодействия с ботом
  7. Иметь базу ответов на популярные вопросы (быстрые ответы)

 

Реализация:

  1. Сервер написан на Nodejs и использует MongoDB. Nodejs - одна из наиболее подходящих платформ для реализации задуманного функционала. К основным преимуществам платформы можно отнести ее популярность и большое количество готовых инструментов в репозитории npm. Кроме того Nodejs в связке с MongoDB всегда даёт хорошие показатели скорость работы и асинхронное выполнение команд.
  2. Интеграция с сайтом: к счастью платформа букмекерской компании уже имела собственный API для загрузки актуального списка матчей и информации по ним, так что нам не пришлось парсить данные напрямую с сайтов компании, однако и этот вариант рассматривался в качестве рабочего и вполне реализуемого. Текущая архитектура web-приложений использовала ПО Kafka для распределения нагрузки между несколькими серверами и взаимодействие сервера - бота не должно было стать исключением, и было реализовано. Подобная архитектура обеспечивает отказоустойчивость всей системы и защищает от сбоев и перегруза.
  3. Система управления ботом реализована в виде веб-приложения и написана также на  nodejs, а фронтенд реализован на vue.js. В целом система управления получила широкий набор настроек: 
    1. Менеджер с правами доступа может просматривать статистику сообщений, 
    2. Менеджер с правами доступа может корректировать «быстрые ответы» 
    3. Менеджер может отправлять сообщение подписавшимся пользователям, в том числе прикладывать изображение
  4. Система персональных рекомендаций построена на collaborative filtering и учитывает поиски матчей, которые пользователь делал ранее (аналогичным образом построены рекомендации например в Яндекс Музыке). Система собирает данные обо всех поисках всех пользователей, а затем, анализируя поведение пользователя, находит профили других пользователей интересующихся теми же матчами. Далее предлагаем пользователю те матчи из интересов собранных аналогичных пользователей, которые он еще не видел. Для адекватной работы рекомендательной системы требуется большое количество пользователей и большой объем собранных данных по их поведению. В целом чем больше данных, тем интереснее будут рекомендации для каждого конкретного пользователя. 
Эту статью еще никто не прокомментировал, будьте первым, кто оставит комментарий
Оставить комментарий
media__content

Есть вопросы?

Наш специалист бесплатно проконсультирует вас

Оставить заявку