DOU Labs: як в IntelVerse створили AI-коуча щодо персонального розвитку
У рубриці DOU Labs ми запрошуємо IT-компанії ділитися досвідом власних цікавих розробок і внутрішніх технологічних ініціатив. Питання і заявки на участь надсилайте на [email protected] .
Привіт, мене звати Дмитро Мараховський, я СЗГ компанії IntelVerse. Хочу розповісти про наш проект GrowApp . Це мобільний додаток, яке з допомогою AI вибудовує індивідуальний шлях розвитку для кожної людини.
Принцип продукту — допомагати користувачам здійснювати маленькі регулярні кроки для досягнення великої мети. Ми хочемо надати лідируюче рішення на базі AI, яке об'єднає і надихне всіх, хто сфокусований на якість свого життя.
Ідея
Кілька років тому я серйозно задумався: що мені варто робити, щоб стати краще, як правильно розвиватися. Зазвичай прискорити зростання в будь-якій області допомагає вчитель або наставник, але не завжди у людини є можливість взаємодіяти з професійним тренером. Але чому б не доручити цю роль штучного інтелекту? Так і виникла ідея створити персонального AI-коуча.
На ринку вже є багато продуктів, які допомагають людині в розвитку. Але, як правило, ці сервіси розраховані на одну певну зону росту — наприклад, програми для поліпшення здоров'я або оволодіння професійними навичками. Ми ж вирішили зробити ставку на збалансований розвиток і об'єднати в одному сервісі всі можливі області, в яких людина може поставити будь-яку мету.
Разом з командою з 18 профільних фахівців ми виділили шість головних областей, в яких люди прагнуть розвиватися:
- здоров'я;
- інтелект;
- соціальна життя;
- робота і фінанси;
- культура;
- внутрішній світ.
Яке б завдання ви собі не поставили, вона так чи інакше потрапляє в одну з цих шести категорій. Кожна категорія, в свою чергу, ділиться ще на 6-7 подобластей. Наприклад, «здоров'я» поділяється на такі підгрупи, як спорт, харчування, корисні звички, відмова від шкідливих звичок і ментальне (психічне здоров'я.
Ми поставили собі за мету з допомогою штучного інтелекту, машинного навчання і аналізу великих даних вибудовувати для користувача дорожню карту для досягнення будь-якої мети, яка його цікавить. Такий персональний шлях розвитку наблизить людини до його цілям і радісною, збалансованого життя.
GrowApp буде цікавий людям, які турбуються про якість свого життя, але мають недолік позитивних змін. Додаток комбінує верифіковані дані з геймификацией і соціальними взаємозв'язками.
Реалізація
Роботу над додатком ми розпочали 2 роки тому. Перші півроку розробляли концепцію, вибудовували структуру майбутнього продукту — бази даних, яка містить алгоритми корисних дій.
Потім зібрали ту саму команду теоретиків, про яку я згадував вище. В основному це були люди з України та США — експерти з кожної з шести областей.
Безумовно, найбільш відповідальна область для нас — здоров'я, тому ми співпрацювали з терапевтом, кардіологом, дієтологом і психологом, а також один лікарем-геронтологом (вивчає старіння). Така команда змогла закрити питання не тільки здоров'я, але також частково питання інтелекту і психічного здоров'я — для користувача воно представлено як внутрішній світ.
З іншими областями дещо простіше. Ми звернулися до кількох соціологам, двом ключовим співробітникам кафедри культурології НаУКМА, двом популярним бізнес-тренерам та фінансисту одного з найбільших банків.
З внутрішнім світом і інтелектом досить не просто. Треба було знайти хороших вузькопрофільних фахівців. Це психологи, які працюють над розвитком емоційного інтелекту, практики йоги, які спеціалізуються на досягненні людиною радості і гармонії, а також нейробіолог.
Але найскладніше завдання — знайти хороших «крос-фахівців», які змогли б попрацювати над перетином користі в різних областях. Наприклад, якщо ви граєте в теніс, це користь для здоров'я. А якщо граєте в теніс з співробітником, то користь не тільки для здоров'я, але і для підвищення вашої соціальної культури.
Загалом над проектом працювали 18 фахівців у різні періоди, і з деякими ми продовжуємо співпрацю. Їх завданням було описати процеси розвитку «в ширину»: що можна робити, щоб стати краще, з якою частотою вчиняти дії.
Я вважаю, що використання нашого продукту повинне бути схоже на гру. Починати взаємодія з сервісом варто з чогось легкого, потім переходити до більш складним завданням. За досягнення кожної мети — отримувати заохочення. Щоб геймифицировать ці процеси, ми підключили до розробки гейм-балансерів — фахівців, які займаються настройкою рівнів в іграх. Таким чином GrowApp пропонує користувачам грати — але не побічний квест, а у свій власний розвиток.
Коли визначилися з функціоналом, стали виставляти пріоритети: які можливості будуть доступні користувачам у першому релізі, які з'являться пізніше. Нарешті, приступили до безпосередньо розробки. Зараз у нашій команді 15 осіб, в основному це програмісти.
Наша команда
Серверна частина розробляється на Java 8. Використовуємо Spring Boot/Security/MVC/Data.
Для максимальної ефективної роботи на великих навантаженнях ми будуємо сервери на основі микросерверной архітектури з використанням стека Spring Cloud, а саме Zuul proxy, Eureka service discovery, Feing-клієнта. Для масштабування тісно інтегруємося з AWS, а наші сервери повністю «stateless».
Ми також використовуємо S3 для зберігання медіаконтенту і Elastic Beanstalk/EC2 як обчислювальні ресурси.
Для того щоб отримувати «the smoothest» мобільний додаток, яке вже зараз має більш ніж 200 екранів і виконує складні обчислення, ми ведемо розробку лише на нативних рішеннях: Swift під iOS і Java під Android.
Практично весь функціонал покривається тестами, що дозволяє нам робити рефакторинг коду практично без ризиків.
На даний момент у нашого штучного інтелекту є близько 100 різних алгоритмів, які складають базовий пакет для користувача — згідно його поглядам та інтересам.
Також ми навчили нашого AI-коуча набору з 18-ти базовим емоціям, щоб він міг у кожен момент часу знаходити правильні дії для спілкування з користувачів — наприклад, мотивувати, підтримати, розважити або ж стимулювати.
Щодо того, як будемо монетизувати додаток, ми поки не визначилися. Базовий функціонал точно завжди буде безкоштовним. Можливо, будемо додавати якісь окремі додаткові елементи підписку чи одноразову оплату.
куди ж без if a = kDefaultWidth, замість ==
Як усе працює
Коли користувач вперше заходить в додаток, ми пропонуємо йому синхронізуватися з іншими ключовими платформами — наприклад, Apple Health. Такі дані дозволяють нам зчитувати інформацію про здоров'я людини і відразу персоналізувати поради щодо цілей і шляхів їх досягнення.
Потім ми запрошуємо користувача розставити пріоритети, які з шести областей розвитку його цікавлять більше або менше. Далі — пройти невеликий тест, який визначить, який у людини тип активності, скільки вільного часу і т. д.
Після цього починаємо давати перші персоналізовані рекомендації. Навчаючись на зворотного зв'язку, наш AI з кожним разом буде давати все більш релевантні поради.
Дорожня карта розвитку складається з трьох типів дій:
- Одноразові прості дію — наприклад, посміхнутися незнайомій людині або посадити дерево у себе у дворі;
- Звички — наприклад, бігати вранці, читати не менше трьох книг в місяць;
- Програми — наприклад, якщо ви поставили за мету пробігти тріатлон, вам потрібно здійснити цілий комплекс дій: відвідувати тренування з бігу, плавання та велосипеду, відмовити від шкідливих звичок і т. д.
В особистому кабінеті користувача буде доступна статистика по прогресу. Наприклад, скільки часу знадобилося, щоб виробити нову звичку.
Один з головних показників розвитку — це так званий тонус. Він визначається на основі досягнень користувача не за весь час, а тільки за останні два тижні. Приміром, якщо людина сумлінно ходив в зал півроку, а потім з якихось причин перестав займатися фітнесом, поступово його фізична форма зійде нанівець, і попередні результати вже не будуть мати особливого значення. Тому додаток буде мотивувати на регулярні зусилля, які і забезпечують гармонійний розвиток.
Особливо цікаво фокусуватися на діях, які одночасно наближають досягнення кількох цілей з різних областей. Наприклад, якщо людину одночасно цікавлять і кардионагрузки, і зміцнення соціальних зв'язків на роботі, то відмінним рішенням може стати спільна гра в теніс з колегами. Ми склали багато комбінацій таких доповнюють один одного активностей.
Також через додаток можна кидати виклики друзям, які теж користуються GrowApp. Наприклад, запропонувати приятелеві разом кинути палити і призначити грошові штрафи за зрив. Якщо хтось зривається, гроші йдуть на благодійність.
Результати та плани
Зараз ми знаходимося на фінальному етапі розробки і запускаємо бета-версію. З жовтня плануємо реліз на ринку Нової Зеландії. Потім до Нового року — запуск в США, Канаді та Австралії. Почнемо з англомовною версією програми.
Російсько - або україномовна локалізація теж є в планах — швидше за все, зробимо її у другому кварталі 2019 року.
Після запуску будемо випускати нові релізи, додавати функціонал. Крім цього, хочемо побудувати співтовариство на базі програми, щоб люди зі схожими інтересами і цілями могли знайомитися між собою.
Запрошую читачів DOU стати першими користувачами продукту — завантажити додаток можна на сайті growapp.me . Буду радий коментарям та зворотного зв'язку.
Опубліковано: 17/10/18 @ 10:00
Розділ Різне
Рекомендуємо:
Дизайнер Павло Грозян: «В Сан-Франциско і Долині ти можеш заробляти стільки, скільки захочеш»
Методика Learning 3.0: як навчатися, щоб AI не зайняв ваше місце
PHP дайджест #17: Typed Properties, All frameworks sucks – Rusmus, Hacktoberfest'18
Плюси і мінуси розробки додатків на Ionic
12 консенсус-протоколів для розподілених систем