Есть ли у вас та штука, что называется pet project или side project? Тот самый проект, который бы вы делали в свое удовольствие и для себя, для саморазвития или расширения портфолио. Лично у меня долгое время не было ничего, что можно было бы показать. Однако, в рамках стартовавшего этой осенью конкурса Atos IT Challenge 2018, у меня как раз появилась возможность начать такой проект. Объясню: уже седьмой год подряд Atos выбирает некоторую горячую в мире IT тему и предлагает командам студентов всего мира придумать и реализовать идею, этой теме посвященную. Конкурс достаточно значителен: студенты, прошедшие в основной тур, будут работать полгода под руководством опытного ментора, и лишь в июне узнают о результатах. Призовой фонд на фоне такого объема работ не сногсшибателен: 10 000, 5 000 и 3 000 евро расположились на призовых ступеньках, но да, собственно, привлекают прежде всего не деньги. Главным я считаю возможность прокачаться в новой для себя области, заодно применив это в реальном проекте. И претворяя это все в жизнь в компании своих товарищей, конечно. “Чат-боты для жизни и бизнеса” — вот то ядро, на основе которого нужно придумать свою идею. “Чат” значит общение, речь и текст. Поэтому и без знаний NLP — “natural language processing”, или “обработки естественного языка” — никуда. Как известно, студенты лучше всего воспринимают информацию в ночь перед экзаменом, и мы, руководствуясь той же логикой, решаем участвовать, а знания NLP совершенствовать по ходу. Такие вещи, как простая классификация текстов, нам уже давно подвластна, но в рамках конкурса нам предстоит разобраться и в Q&A-системах, алгоритмах реферирования, — в общем, все становится интереснее. До первого декабря участники подавали заявки с описаниями идей, и, надо сказать, составить заявку оказалось делом непростым. От нас попросили и бизнес-модель будущего приложения, и техническую осуществимость, и архитектуру, и конечную выгоду для пользователей и наших партнеров.  Мы — классические студенты-технари, и с бизнес-моделями были до конкурса и не знакомы толком. Однако, благодаря хорошей книге Остервальдера и Пинье «Построение бизнес-моделей» смогли изобразить что-то похожее на правду.
Заявки, конечно, видят, только судьи, однако участникам видны название и описание — summary — идей соперников.  Мы — четверо студентов Воронежского госуниверситета. Четверо достаточно творческих людей, любящих искусство и музыку. Возможно, поэтому мы и стали отталкиваться не от бизнес-применений чатботов, а от далекой для денежной выгоды темы: живописи.
Было бы вам интересно поговорить с роботом о картине, что видите? Обсудить детали, поделиться впечатлениями?  Для нас ответ очевиден: конечно, было бы интересно! Отлично, а как лучше всего общаться с системой, если не хочется смотреть в телефон? Конечно, голосом.
Так и была сформирована первичная идея: бот, с которым вы говорите об искусстве и том, что видите.  Совершенство любого интерфейса в его отсутствии. Вы просто говорите, что думаете, и получаете ответ. Нет сценария, рамок или команд. Словом, “дзен”, — и в этом мы видим ценность и будущее подобного рода систем и приложений. До 1 декабря заявки были поданы, и через неделю, 7 декабря, нам был открыт список идей других команд. Их оказалось очень много: 204.
Вот некоторые, которые нам понравились: А вот… странные: Читать описание каждой из идей, конечно, лень. А если программисту что-то делать лень, то он пишет для этого программу, не так ли? Сначала все просто: импортируем библиотеки и скачиваем данные с сайта. Наш промежуточный результат:  В колонке url как раз содержатся странички с каждой из идей. На них, впрочем, новой информации немного: состав команды и текст описания. Скачаем и их и присоединим к нашему исходному dataframe: И финальный результат — в студию!  Ну что, посмотрим, с чем имеем дело? Что у нас со странами?  Ну и дела! Студентов из Индии не в пример больше.   Действительно: почти половина всех участников — ребята из страны священных коров и экономичных космических программ. Доли остальных участников по странам распределились вот так:  А как дела с университетами?  Да. Вот так. Неутешительно. Все три команды-участника из России из одного и того же университета — нашего. Где вы все, ребята, ну как так?..  Индию нам лишь удалось обойти лишь в силе дружбы: на графике видно, что наши команды в среднем более полные. Ну что, приступим к самому мясному, — к тексту? Как бота назовешь, о том он говорить и будет. Может, тренды этого года в тематиках ботов будут видны еще из названий проектов? Давайте посмотрим: Уберем очевидно не относящиеся к теме слова, которые, однако, наверняка будут всплывать (“chat”, “chatbot”, “intelligent”, “system” и другие) и построим частотный словарь:  Правда уже проглядывается: в этом году популярны боты, призванные помогать со здоровьем. Их догоняют боты, посвященные путешествиям и покупкам. Очевидное ли применение? Здравое? Хорошая реализация проектов покажет. Приступим теперь к обработке текстов описаний идей.  Из возникающих слов попарно образуются смешные, но, в общем-то, правильные утверждения: “пользователи используют”, “чатбот помогает” и “также система предоставляет”. Обращая внимание на самые встречаемые слова, можно легко представить, как выглядит средний текст с описанием: он о том, что проблемы решаются с помощью бота, проект технологичный и служит людям. Все правильно! Но надеюсь, что судьям хватит терпения дочитать эти две сотни альтруистских од, .. .., если же терпения не хватит, с помощью знаменитой gensim можно попросить вывести краткое содержание всей этой массы: И ключевые слова: А потом я подумал, что могу заставить генеративные модели сделать новые описания новых идей! Погнали! Особо классные моменты так и бросаются в глаза: После того, как результаты настолько заинтриговали, можно найти оригинал идеи и посмотреть, в чем же состоит ее суть.  Так как все любят облака слов (и не говорите, что вы не один из таких!), я не мог его вам не сделать.  Впереди нас ждет еще много работы, и мы надеемся, что ее результатом мы не будем разочарованы. Судьям предстоит не менее сложная работа: в заявленных темах встречаются и здравоохранение, и рекрутинг, и шопинг, и образование, и путешествия, и даже трейдинг и биткоины!  А пока мы на позиции низкого старта. Подготовили твиттер-аккаунт для того, чтобы писать туда заметки о проходящей разработке. Кстати, рекламный мини-видеоролик даже сняли, если вам будет интересно. Буду рад выслушать любую критику, комментарии к вашим услугам.