Блог

Кодить на «Питоне», варить Data Science: как работают над чат-ботом в Сбербанке

Кодить на «Питоне», варить Data Science: как работают над чат-ботом в Сбербанке

Разработчики, Data Scientist’ы, тестировщики нужны как горячий кофе по утрам. Но чем всё-таки занимаются эти ребята? Мы пришли к разработчику Владимиру Соколову и спросили, как работает над чат-ботом его команда.

— Вова, привет! Расскажи, кем и с кем ты работаешь в Сбербанке?

— Привет! Я — Python-разработчик. Мы с командой занимаемся созданием NLP-платформы, на которой делаются чат-боты в Сбербанке. Со мной в команде работают: два Data Scientist’а, четыре разработчика в Москве, два на «удалёнке», в Питере, DevOps-специалист, Product Owner 
и архитектор сервиса.

— Что делает Data Scientist?

— Data Scientist занимается созданием моделей машинного обучения. 
Наше направление — это обработка естественного языка (NLP). 
Сейчас он работает над добавлением анафоры и эллипсиса в платформу. «Эллипсис» сам по себе — это пропуск каких-то слов. Автоматическое разрешение эллипсиса — это понимание, какие слова были опущены. Разрешение анафоры — это понимание, к кому отсылает личное местоимение.

— Разобрались. А что тогда делают разработчики, если Data Scientist занимается искусственным интеллектом?

— Разработчики делают платформу для создания чат-ботов. Мы пишем логику для удобного создания скилов чат-бота, интегрируемся с другими системами банка, работаем с базой данных и внешними сервисами.

— Расскажи про архитектора сервиса. Чем он занимается?

— За архитектором сервиса всегда главное слово, ведь он знает и проектирует сервис вплоть до тончайших деталей. Его задача — направлять команду 
и оптимизировать созданные решения.

Кристина Долманская — архитектор сервиса

— Получается, вся команда — это специалисты по разработке и искусственному интеллекту. Как эти технологии сочетаются в боте?

— К нам приходит сообщение: например, человек хочет взять кредит. 
Сначала фраза проходит предобработку, выделяются сущности, 
исправляются ошибки. Затем, используя модели машинного обучения, фраза попадает в определённый сценарий. После чего формируется ответ и он отправляется пользователю. Мы хотим, чтобы бот стал не просто справочным бюро, а собеседником.

— Почему ты выбрал работать именно на Python?

— Плюсы этого языка в том, что у него низкий порог входа 
и широкая область применения. Его используют и разработчики, 
и Data scientist’ы.Удобно, когда команда общается на «одном языке». 
Также у Python очень большое и дружное сообщество, часто проходят 
классные конференции.

— Понятно. Расскажи, как начинается ваш обычный рабочий день в Сбере.

— Каждое утро мы собираемся на 5-10 минут и рассказываем, что сделали вчера и что планируем делать сегодня, чтобы синхронизироваться с командой и просто пообщаться друг с другом. А потом приступаем к задачам, расписанным по двухнедельным спринтам.

— Почему именно две недели?

— Мы работаем по методологии Agile — это значит, что каждые две недели вся команда планирует новый спринт. Product Owner даёт задачи, выставляет приоритеты, мы их обсуждаем и накидываем план действий. Через две недели проходит встреча под названием «Демо», на которую приходят руководители и другие команды. Там мы показываем, что хорошего и интересного сделали 
за это время. После собираемся на ретро и груминг.

— Названия «Ретро» и «Груминг» как будто далеки от программирования. Что происходит на этих встречах?

— На груминге мы устраиваем мозговой штурм и ищем ответы 
на сложные вопросы. На ретро обсуждаем, что было сделано хорошо, 
что не очень, и собираем фидбэк от команды про каждого, чтобы знать, как работать над собой.

— Допустим, задачу закрыли, код написали — всё хорошо. Что дальше происходит?

— Новый код не сразу внедряется в продукт, потому что его сначала нужно протестировать. Первая стадия проверки — интеграционно-функциональное тестирование. Здесь тестировщики следят, чтобы платформа работала правильно, проверяют скилы чат-ботов, которые делают другие команды. Потом идёт нагрузочное тестирование. Его проводит команда, которая берёт нашу платформу и проводит стресс-тесты. Важно, чтобы новый релиз не снижал производительность платформы.

— Какие у вас отношения с тестировщиками? Получается, их задача — вывести из строя то, что вы разработали. Не обидно, когда у них получается?

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

— О чём обычно люди общаются с ботом?

— Часто хотят просто поболтать. Это нормально и даже здорово, 
но пока мы не вывели возможности чат-бота на уровень человеческого общения. Случаются моменты, когда человек пишет, что у него зажевало карту в банкомате или он хочет взять кредит, оплатить телефон — для этого существуют определённые скилы, которые решают потребность пользователя. Если же чат-бот не знает, как ответить, он «бесшовно» переводит беседу на оператора и оператор решает проблему. 
Мы работаем над тем, чтобы как можно больше вопросов 
решал чат-бот и чтобы делал это естественно.

— Как вы делаете ответы бота естественнее? Этому можно научить нейросеть?

— Этим занимаются редактора. Они вычитывают фразы, которые говорит бот, следят, чтобы это было органично. Вопреки стереотипам, разработчики этим не занимаются, наше дело — код написать.

— Есть ли какая-то креативная составляющая в вашей работе, помимо кодинга?

— Часто бывает, что задача оформлена в виде новой идеи, 
которая сделает нашу платформу лучше. В этот момент и вступает 
в работу «креатив» разработчиков: нужно понять, как оформить 
идею в коде, какие структуры данных использовать, как сделать 
это с минимальными прилагаемыми усилиями.

— Круто! Спасибо за интервью! Захотелось стать частью 
вашей команды. Кстати, а насколько сложно к вам попасть?

— Если вы хорошо знаете Python, любите решать сложные задачи и хотите делать что-то инновационное, то мы с удовольствием с вами пообщаемся
Мы рады новым талантливым коллегам. Так что, желаю удачи всем, 
кого вдохновляет наша работа!

Поделись статьей с друзьями!