Приветствуем.
После целого месяца проектирования и шести месяцев кодинга мы попытаемся рассказать о нашем проекте FAVORaim.com.
Идея
Идея проекта появилась спонтанно – просто было желание знать, когда в городе проходят танго-вечера. Ведь одно заведение может проводить такие тематические вечера всего пару раз в год, и отследить их довольно проблематично – нужно или постоянно искать самому в интернете, или быть подписанным на кучу пабликов. Организаторы размещают информацию о таких событиях на своей странице в ВК, но это же не повод – ради нескольких раз в год – подписываться на все подобные группы в социальных сетях.
В процессе обдумывания идеи назрел вывод, что у человека есть разные интересы, в соответствии с которыми ему было бы удобно получать информацию, когда в городе проходит что-то интересное именно для него. А в дополнение к событиям хотелось бы получать и предложения от бизнеса, которые строго соответствуют личным интересам.
О чем проект
FAVORaim – это персональные события и предложения.
1. FAVORaim помогает быть в курсе событий на строго интересующие темы.
Например, для любителей сериала «Сверхъестественное» FAVORaim подбирает тематические вечеринки и встречи поклонников (то же самое и для любителей других сериалов и культовых фильмов). А для стартапера система найдет не только профессиональные конференции и встречи с венчурными финансистами, но и неформальные startup-вечеринки. Также, у пользователя есть возможность отслеживать более детальные и профессиональные темы: Android, SMM, веерный маркетинг и т.п. Мощным направлением у нас выросла тема аниме.
2. Анализ внешней информации на соответствие интересам пользователя.
Даже не заходя в магазин, с помощью мобильного приложения FAVORaim пользователь может посмотреть, что здесь подойдет ему по стилю, размеру и предпочтениям. А в торговом центре посмотреть, что есть интересного и подходящее для пользователя (пока без indoor-навигации).
Затратив почти месяц на аналитику и планирование архитектуры, мы приступили к кодингу, который занял 6 месяцев. И тут, как всегда, появились и первые трудности, и идеи, которые ну очень хотелось сделать.
Для хабра мы расскажем некоторые детали технологии.
Интересы
Мы сделали систему, в которой, как бы человек ни указал свои интересы, его слова определяются и точно соотносятся с тем, что он хочет получить. Например, у слов и словосочетаний «хувиан», «фанат Доктор Кто», «сериал Доктор Кто» одна суть, но написание разное. То же самое с толкинистами и Властелином колец. FAVORaim умеет распознавать эти группы интересов и выдавать логически необходимую информацию. В этом направлении нам удалось реализовать и более профессиональные сопоставления в области SMM, разных видов маркетинга, медицины, программирования и т.п.
В этой работе мы столкнулись с проблемой омонимов. Например, органом может быть и музыкальный инструмент, и часть человека. А вариантов написания «web-дизайн», «вэб дизайн», «дизайн сайтов» или «веб моделирование», «вэб-проектирование» может быть огромное количество и предугадать их сложно, но, тем не менее, эти варианты одинаковы по смыслу. Создавать словарь со всеми возможными вариантами не хотелось, поэтому эту задачу удалось решить с помощью обучения нейросети. Анализируя поведение пользователя, система определяет, к какой логической сущности относится фраза.
В этой же системе мы реализовали поддержку языков, т.е. стало не важно, на каком языке человек ввел свои интересы – русский, английский или французский – всю эту информацию FAVORaim может распределять и сопоставлять.
Когда мы приняли решение делать систему поддержки языков, потребовалось переделать архитектуру. Это был морально трудный шаг, который значительно отодвигал дату релиза. Главный вопрос – «Для чего?». А мотивировало нас то, что находясь в Европе, пользователь мог бы ездить из страны в страну (где разный язык) и продолжать получать информацию на основе своих интересов. То же и в США с их английским и распространённым испанским.
Когда функционал нейросети был готов, стало проще сопоставлять Записи (события, предложения) с интересами пользователя – текст Записи система сама может логически отнести к соответствующему интересу. Не без ошибок, конечно, бывает, что система ошибается, поэтому на данном этапе мы проверяем все записи, и в случае погрешности задаем правильный вариант – так система учится.
База знаний и нейросеть
Как и во всех нейросетях, в нашей системе качество работы тем лучше, чем больше в ней данных. Система самообучается, анализируя данные и создавая так называемые нейроны для каждого пользователя. Именно нейросеть помогает нам структурировать и прогнозировать данные о пользовательских интересах. Мы не копаемся в данных на компьютере пользователя, не тащим все подряд из его кукисов. Определение интересов основывается на реакциях пользователя, анализе схожих данных и прогнозировании.
Сценарии
Еще одна деталь в развитии пользовательских интересов — сценарий. Логика сценариев задается нами. Например, если распознается, что пользователь — беременная девушка, то через определенный период ей присваиваются интересы, связанные с новорожденным ребенком, затем с маленьким ребенком и т.д.
Такие же сценарии есть и для профессиональной сферы, бизнеса, культуры.
Рекомендации
Немного модернизировав довольно известный алгоритм определения базисного вектора интересов, мы разработали рекомендации, т.е. система умеет предлагать пользователю то, что ему может понравиться. Строится эта информация на основе анализа пользователей со схожими интересами. Пользователю предлагается наиболее популярный вариант Записи, которая соответствует новому интересу, и вычисляется реакция пользователя на нее. В случае положительной реакции данный интерес заносится в базу знаний о пользователе.
Уведомления в мобильном приложении
Push-уведомлениями никого не удивишь, мы сделали их нескольких видов:
1. Новые записи в ленте. Можно настроить, чтобы информация приходила за день или один раз в неделю.
2. Интересное рядом. Если в радиусе 500м (в настройках пользователя также 300 м или 1 км) происходит или скоро будет происходить что-то, интересующее пользователя, FAVORaim уведомит его об этом.
О росте информации
Проект работает чуть больше месяца, и основная задача пока – набрать как можно больше разносторонней информации (пользовательских интересов, событий). Проект рассчитан на саморастущий контент, поэтому сейчас мы как можно больше привлекаем организаторов и другие компании, чтобы они добавляли информации о своих событиях. Многие идут нам на встречу и даже специально создают тематические вечера, например, мафию на английском языке.
Сейчас активно развивается московская база, но постепенно появляются данные и по другим городам. Даже если человек введет свои интересы, и система ничего ему не подберет, то, как только что-то появится, мы обязательно оповестим.
Сервисы
Мы разработали сайт и приложение под Android, и где-то там, на модерации в AppStore, находится наше приложение под iOS.
Об интересах пользователей
И тут началось самое интересное. Мы предполагали, что основное количество интересов будет одинаковым и довольно распространенным, но наши пользователи нас удивляют. Разброс интересов огромный, и для каждого интереса есть свои события. Мы узнали такие новые для нас слова, как: кизомба, буккросинг, зумба, мандала, хувиан и еще много непонятностей.
Из анонсированного
1. В зависимости от настроения, желания человека могут меняться. Поэтому мы доработали функцию выбора. Если человек хочет пойти в ночной клуб, а он заядлый анимешник, то FAVORaim предложит ему аниме-вечеринку. Если человек любит программирование, но сегодня хочет общения и повеселиться, то система предоставит информацию о ночных тусовках программистов (да, в нашей базе побывали и такие).
2. Сейчас мы еще не реализовали все задуманное, но основная наша цель – персонифицировать выбор информации и внедрить его в как можно большее количество сфер нашей жизни.
Каждый человек индивидуален – у каждого свои интересы.
Мы считаем, что сегодня вокруг человека стало слишком много информации, и нужен инструмент, который на основе личных интересов человека подберет подходящее. Этим направлением мы и занимаемся.
Спасибо, что обратили внимание на наш короткий обзор. Мы не хотели делать в первом посте огромный текст с большим количеством букв, поэтому постараемся в следующих статьях более детально описать особенности построения нейросети и направление персонализации данных.
Автор: favoraim