{"id":9131,"title":"CRM-\u0441\u0438\u0441\u0442\u0435\u043c\u044b \u2014 \u044d\u0442\u043e \u0447\u0442\u043e-\u0442\u043e \u043d\u0430 \u0431\u043e\u0433\u0430\u0442\u043e\u043c. \u0418\u043b\u0438 \u043d\u0435\u0442!","url":"\/redirect?component=advertising&id=9131&url=https:\/\/vc.ru\/promo\/320668-predprinimatelyam-ne-nuzhen-crm-partner-salesforce-obyasnyaet-pochemu-my-ne-pravy&placeBit=1&hash=737d7f6a70b711e4597167ca03452a69967df2ee861f60beeefbea5b58cf8663","isPaidAndBannersEnabled":false}
Трибуна
Anton

Телеграм бот для тех, кто хочет использовать ML в работе, но не готов писать код

Я работаю менеджером продуктов. В рамках рабочих и личных проектов время от времени делаю аналитику данных. Одни из самых популярных задач для меня во время анализа — поиск зависимостей, прогнозирование, деление клиентов на группы, поиск аномалий/инсайтов. То есть стандартные задачи ML. Для этого я беру готовые ML-библиотеки немного причесываю данные, запускаю обучение модели и затем работаю с ней. Это относительно несложный, но утомительный процесс. У меня есть несколько шаблонов кода для разных ситуаций. Но даже тут надо запускать среду разработки, писать код и прочее. В итоге я пришел к идее еще больше автоматизировать процесс работы с ML и, заодно, дать инструмент для тех, кто не готов писать код, но хочет так же иметь возможность решать схожие задачи в своих проектах. Так родилась идея сделать no-code сервис "ML для домохозяек"👵., который в последствии получил название goML.

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

Команда

Я, конечно, могу сам руками писать код, разворачивать его в докере на сервере и прочее, но я не профессионал в этом. И поэтому у меня это обычно занимает много времени, которое я провожу за чтением документации, Stackoverflow и тематических чатов. В data science я тоже далек от тех, кто занимается этим профессионально каждый день. Поэтому решил привлечь к проекту фрилансера. Мне посчастливилось найти прекрасного исполнителя, который как раз недавно закончил похожий проект, поэтому располагал всем необходимым стеком. Плюс Сергей (а именно так зовут фрилансера) загорелся идеей и много сам проактивно предлагал и исследовал. В общем, я рад нашей dream team, так как хорошая команда - один из главных залогов успешности продукта.

MVP

Для простоты и скорости реализации решили делать первую версию в формате бота для Телеграм. Для MVP взяли только одну ML задачу - классификацию. Суть задачи - научиться предсказывать класс/категорию. Примеры таких задач:

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

В нашем MVP определяемых категорий может быть от 2 до 10.

В момент реализации MVP, осознали, что после обучения модели, бот знает столько всего интересного о данных, что ценности от этой информации достаточно для MVP. Поэтому в первой версии отказались от прогнозирования. Но вместо этого можно узнать не менее (а для меня часто более) ценную информацию:

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

Сейчас у нас бета-версия. То есть, работающий (местами с багами) функционал. Качество пока "на пути к идеалу". Надо дотачивать автоматическую предобработку входных данных, выбор модели и улучшать клиентскую часть.

На данном этапе хочется собрать обратную связь, услышать потребности рынка, подумать о, так называемом, product market fit и... протестировать наш бэкенд;)

Давайте я покажу на примере как работает бот. Так будет более понятно.

Пример работы бота goML

Для демонстрации я возьму один из самых популярных датасетов — данные о пассажирах Титаника с информацией о том, кто выжил, а кто нет. Давайте попробуем разобраться, что влияло на то, что пассажир выживет или нет. Заходим в бота.

Начало

После запуска бота надо будет загрузить CSV файл с историческими данными по клиентам/событиям, которые хотелось бы научиться предсказывать.

Для обучения используются первые 10 тысяч строк из файла (оптимизация нагрузки в бета-версии). Но в большинстве случаев этого достаточно, чтобы обучить модель на приемлемом уровне.

Обучение модели

После загрузки файла надо выбрать, какую колонку/параметр хотим научиться предсказывать. Модель может прогнозировать от 2 до 10 вариантов категории. По моему опыту, в 80% случаев встречается классификация в рамках двух вариантов (да - нет, 1 - 0, болеет - здоров, купит - не купит и так далее). В случае с Титаником категорий так же две - выжил (в датасете обозначен как "1") и умер ("0"). Обучение может занять до 2-3 минут. Модель для Титаника учится примерно 10 секунд.

Для обучения используем свое решение на базе CatBoost от Яндекса. Пока не идеально работает, есть проблемы с автоопределением типов параметров и предобработкой данных. Хотим добавить еще XGBoost, LightGBM и сделать симбиоз адаптирующийся под конкретный набор данных и кейс. Предварительные исследования показали, что это может заметно улучшить качество модели и снизить время обучения.

Когда обучение закончится, появится информация о качестве предсказательной модели. Что именно значат эти метрики можно узнать в разделе бота "Что это все значит?".

Знания о данных, полученных моделью. Предсказание

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

Можно посмотреть топ параметров по их влиянию на предсказываемый параметр. В разделе "Инсайты" можно посмотреть как именно они влияют. В случае с Титаником заметнее всего влиял пол пассажира (первый скрин ниже). Что интересно, женский пол заметно увеличивал шанс выжить (второй скрин).

Обратная связь

Если вы столкнулись с проблемой или у вас есть идея, предложение - пишите, пожалуйста, прямо через форму обратной связи в боте (раздел "Оставить отзыв или предложение"). Если вы хотите лично со мной пообщаться, то на старте бота есть мой аккаунт в Телеграм. Ну а если просто хочется следить за развитием проекта, то подписывайтесь на мой канал.

Что дальше

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

В ближайшем бэклоге:

  • добавить возможность делать предсказания
  • расширить инсайты и вытаскивать "переломные значения"
  • расширить пул библиотек в беке и сделать что-то вроде auto-ML
  • улучшить качество моделей на выходе
  • прогнозировать не только категорийные параметры (например, цену)

Но все это будет сильно зависеть от реакции и фидбэка. Поэтому:

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

Для развития проекта хочу еще привлечь веб-разработчика и, возможно, UX-дизайнера. Нужен middle+ уровень с релевантным бэкграундом. Если среди читателей есть такие, то присылайте в личку портфолио, рейт, сколько времени можете уделять в неделю проекту.

Прошу не судить строго, это первая версия беты, написанная в свободное от работы время (по ночам и выходным) менеджером проектов и фрилансером студентом.

0
13 комментариев
Популярные
По порядку
Написать комментарий...

Так это ML или бот просто считает корреляцию одного параметра относительного другого?

2

Никита, в бета-версии показываем пока только влияние параметров на результат. Прогнозирование в процессе. Хочется понять в каком виде его удобнее для пользователей реализовывать — одним общим файлом грузить группу объектов или руками забивать параметры прямо в боте (случай, когда надо предсказать для единичного объекта). Что для вас более востребовано было бы? Можете, пожалуйста, рассказать для чего используете классификацию?

0

Эммм... Вы нам хотели рассказать, что такое классификаторы и похвастаться, что you've got one? :)

0

Антон, подскажите пожалуйста как лучше реализовать. Есть задача проверки корректности имён. В базе есть 10000 клиентов, но не все из них корректно заполнены.

К примеру, одно из некорректных имен: Ирина Красные волосы
Андрей Мелочный
ИРина ДОБрова

Пример из корректных:
Александр
Ирина Доброва

Какие нужны будут параметры?
Кол-во букв, наличие мат слов, более 2ух заглавных, более 2ух слов и т.д.

1

наличие мат слов

Наличие математических терминов? ;)

1

Тут ML не нужен

0

Султан, это задача из NLP и тут лучше взять библиотеку для анализа текста и применить для своих нужд. Рекомендую обратить внимание на Spacy. Примерно полгода назад сам на ней написал несложный анализатор текстов для своих задач. Там можно доставать часть речи и, если это прилагательное или глагол, то отсеивать. Но надо тестировать и дотачивать решение так как, кажется, что многие фамилии очень похожи на прилагательные и, как вариант, надо добавлять специальные шаблоны для дополнительной проверки.

Если нужна реализация "под ключ" - пишите в личку, попробуем что-нибудь придумать.

0

Бесспорно, идея хорошая) желаю Вам удачи)

1

Спасибо! 🙏

0

Чтобы довести до идеала нужно будет много времени и средств. Что если это будет классификация текста, что если будет много пропущенных значений или данные максимально грязные, что если вам нужно будет создавать новые фичи и далее можно продолжать «что если» сколько угодно. Да есть плюс минус шаблоны, но все данные уникальны и разбираться в них тоже нужно индивидуально. Не все есть «кагловский Титаник».
Плюс, если проект будет рабочий, вам будут присылать кучу информации, возможно кто-то, будет присылать корпоративную информацию с выгрузкам из своих же баз данных (и не всегда форматы csv - просто к слову)) ). А это уже есть нарушение трудового договора сотрудника, да в этом виноват будет уже сам сотрудник, но что вы будете со всем этим делать? Хранить информацию или нет, использовать как-то в дальнейших целях. В общем - «вопросов много, реальных ответов только три…»

0

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

0

Извините ...но это очень смешно ...вы пытаетесь решить такие очень сложные и индивидуальные задачи как прогнозироование с помощью шаблонного бота+ мл ....а что изменилось когда вы сами использовали шаблоны и получали черте какие результаты ?? ))) С другой стороны Вы сможете возможно состричь купоны с идиотов которые будут верить в такое ботопредсказание.... какое то время... к сожалению 50 % арр так и работают пока не теряют подписку ред.

0

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

"Вы сможете состричь купоны с идиотов" — откуда столько негатива и подозрительности? Пользователи nocode ML-сервиса не "идиоты". Я правда хочу сделать полезные и удобный сервис. Возможно, это не получится.

0
Читать все 13 комментариев
eBay: 64% покупателей не жалеют о своих покупках в Черную пятницу

Черная пятница — одно из главных событий этой недели: тысячи покупателей находятся в поиске лучших скидок. А что происходит после Черной пятницы? eBay опросил около 1000 россиян и выяснил, считают ли они выгодными покупки, совершенные во время самой большой распродажи года.

IKEA начала сдавать в Токио квартиры в 10 м² за $0,86 в месяц, чтобы показать, что в них тоже можно жить Статьи редакции

Внутри есть мини-спальня, рабочая зона, диван, стиральная машина и другое.

Разговор PRO: аналитика рекламы

Эксперты компании Registratura, входящей в iConText Group, вместе со своим клиентом «Олант» приняли участие в спецпроекте AdIndex.ru, где поговорили о рекламной аналитике.
Сергей Ерофеев, генеральный директор Registratura, Андрей Сахаров, руководитель отдела продаж Registratura, и Филипп Иванов, директор по интернет-маркетингу и e-commerce «Олант»…

Плюшки – от робота, а преференции – для резидента

Как наладить взаимовыгодное сотрудничество на территории ОЭЗ «Технополис Москва».

«Как иронично, что фирме в сфере психического здоровья плевать на психическое здоровье собственных работников» Статьи редакции

Сотрудники Spring Health жалуются на соучредительницу Эйприл Го: она запугивает их, увольняет при всех, вынуждает работать по 70 часов в неделю и не нанимает тех, кто спрашивает про переработки. Го объясняет: «Мы носимся как безголовые цыплята, потому что на кону человеческие жизни».

Эйприл Го — на ноябрь 2021 года самая молодая женщина-директор компании с оценкой более $1 млрд Slush
Юбилей кешбэка: как в 130 лет выглядеть «на все сто»

Кешбэк — возврат определенного процента наличных на карточный счет клиента после покупок в магазинах-партнерах банка или полетах на самолетах авиакомпаний-партнеров-банка или вообще за любые покупки в конкретный период времени — очень популярен в народе. Он выглядит как современная модная финансовая фишка

Как обустроить домашнюю студию звукозаписи при скромном бюджете Статьи редакции

Почему сведённый трек нужно проверять на паршивой Bluetooth-колонке, какие плагины выгоднее брать новичку и с каким синтезатором работал Ханс Циммер, создавая саундтрек к «Тёмному рыцарю», — в пересказе Pitchfork.

AudioMunk
Кейс «АнтиШколы»: мы впустую потратили два года на разработку своей платформы и выжили в пандемию благодаря Edvibe

После вуза мы с партнером запустили неформальную АнтиШколу по английскому — с кофе, печеньками, играми и атмосферой антикафе. Но столкнулись с проблемой в онлайне: два года разрабатывали приложение для студентов и потратили порядка $40 тысяч в никуда. Рассказываю, как это было.

Так мы занимаемся английским на крыше! Никаких унылых парт

Зимний набор на оплачиваемую стажировку в Тинькофф Старт: какие задачи решают стажеры

Стажировка пройдет по направлениям: аналитика, QA, бэкенд-разработка (Java, C++, Python, Scala, .Net, Golang), фронтенд, мобильная разработка (iOS и Android), ML, маркетинг и менеджмент образовательных проектов.

null