Чем удивит голосовой бот тинькофф

Персонализация

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

В сложных ситуациях Олег может проявить несогласие или даже неодобрение, но без занудства. Олег отдает себе отчет в том, что он «не совсем человек», но без страданий по этому поводу.

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

Актер кино и дубляжа Никита Прозоровский

В процессе озвучки Никита Прозоровский записал порядка 30 часов реплик для голосового помощника, на основе которых в дальнейшем была синтезирована речь Олега.

Как «включить» голосовой ответ для Олега

Я об этом долго не знал. Олег может отвечать не только текстом, но и голосом. Для этого надо выключить беззвучный режим на смартфоне, увеличить громкость динамика и задавать вопросы ассистенту именно голосом.

Голос у Олега, кстати, необычный – не похож на распространённые ассистенты спокойным тембром и уверенностью в тоне. Даже общаться хочется, лишь бы отвечал голосом.

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

Лично меня как редактора отдельно радует, что любые голосовые запросы, заданные Олегу, автоматически распознаются уже со знаками препинания, включая запятые. До сих пор так не делает ни та же Siri, ни Google Ассистент, ни Алиса от Яндекса.

Константин Рубцов

руководитель продукта голосового помощника Олега (Тинькофф)

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

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

У робота-помощника, как и у человека, есть только один шанс произвести первое впечатление

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

На роль Олега претендовали семь актеров. Все они проходили прослушивание. Коллективным голосованием выбрали актера Никиту Семенова-Прозоровского, который озвучивал Сойера в «Остаться в живых», Джо Триббиани и Росса Геллера в «Друзьях» и Майкла Кейна в «Бэтмене». С ним записали около 30 часов аудио — от отдельных слов до предложений, будущих реплик Олега. Потом всё это загрузили в нейросеть.

Чтобы Олег разговаривал на свободные темы, мы обучили его на огромном массиве диалоговых данных из интернета — это несколько миллиардов фраз в контексте. А потом продолжили обучать его на диалогах с юмористических пабликов, чтобы ответы были более ироничными.

Лучше всего Олег разбирается в том, как помочь сохранить и приумножить капитал пользователя. К каждому человеку Олег обращается как к своему единственному и главному собеседнику. У Олега есть полезные навыки: например, функция «контроль расходов», где можно поставить лимит на определенные траты. При этом он не блокирует возможность проведения операций, а просто присылает пуш, где написано, что планировалось потратить некоторую сумму, а пользователь уже потратил чуть больше. Если захотите поговорить с помощником про финансы, можно сказать: «Олег, задай вопрос дня» или «Дай совет дня». По пятницам он присылает финансовые новости за последнюю неделю. А еще можно подписаться на навык «Курс валют» — так вы всегда будете в курсе котировок.

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

Будущее голосового ассистента «Тинькофф»

По мере развития и общения с пользователями Олег будет обучаться и менять свой характер. Например, сможет проводить речевой анализ реплик клиента, изучать его настроение в режиме реального времени и подбирать стиль ответов — от дружелюбного до официального.

По данным разработчиков голосового сервиса «Тинькофф», в перспективе Олег будет интегрирован во все элементы экосистемы компании, такие как «Путешествия», «Мобайл», «Инвестиции», «Страхование», «Развлечения», «Бизнес», «Джуниор» и др.

Планируется, что со временем Олег сможет заказать такси, организовать путешествие, подобрать и оплатить авиа и железнодорожные билеты, отели, управлять бронированиями, купить билеты в театр, на концерты и спортивные мероприятия, записать на прием к врачу, оплатить счета, предложить варианты досуга на вечер, показать статистику расходов, подсказать инвестиционную идею в приложении «Тинькофф Инвестиции» и многое другое.

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

Что умеет Олег?

  • Принимать звонки от имени абонента, когда тот по определенным причинам не может или не хочет брать трубку
  • Определять категорию звонка — делить на полезные и назойливые, безопасные и опасные
  • Понимать, что говорит собеседник, отвечать на его вопросы и вести какой-никакой диалог, полагаясь на контекст
  • Записывать входящий звонок и присылать в приложение или Telegram расшифровку
  • Перезванивать абоненту, чтобы поинтересоваться, зачем он звонил

То есть Олег — это такая приколюха, которая в теории поможет облегчить жизнь пользователю. Лично я давно знал о технологии и хотел перейти на «Тинькофф Мобайл» — оператора одноименного банка — только ради возможности получать расшифровки пропущенных звонков. Хорошо, что в 2021 году аналог автоответчика от известного банка стал доступен всем пользователям вне зависимости от выбранного оператора.

Имиджевый пилот

Обучать Олега помимо пользователей будет суперкомпьютер «Колмогоров» — с его помощью команда разработчиков обучает нейросетевые модели для распознавания речи, синтеза речи, обработки естественного языка, общения на свободные темы. Разработка собственной технологии синтеза речи от банка стартовала в 2018 году на основе таких нейросетевых моделей, как WaveNet, Tacotron, Deep Voice, разработкой распознавания речи в банке занимаются с 2016 года. В настоящее время им удалось добиться корректного распознавания до 95% произнесенных слов, заверили в банке. Голос для Олега записывал актер Никита Прозоровский (он, в частности, озвучивал Фрэнка Андервуда из «Карточного домика» и комиссара Гордона в трилогии Кристофера Нолана о Бэтмене). Прозоровский записал около 30 часов реплик, на основе которых синтезируется голос.

Затраты на разработку, рекламную кампанию и поддержку продукта в банке не раскрывают. Там отмечают, что вся разработка Олега «отбивается меньше чем за месяц текущей экономией, которую дают текстовые чат-боты». «Мы запустили чат-ботов для клиентов около года назад, сегодня в клиентских чатах «Тинькофф» более 35% входящих обращений клиентов уже полностью обслуживаются и решаются роботами, диалог происходит вообще без участия человека со стороны «Тинькофф». Сегодня только в текстовом канале клиентской поддержки роботы позволяют сэкономить нам около 50 млн рублей в месяц», — сообщили в пресс-службе банка.

Олег позиционируется банком как первый голосовой финтех-ассистент в России и в этой нише пока остается единственным. Ближайшим конкурентом может стать Сбербанк и даже без помощи голосового помощника Алисы от «Яндекса». В ноябре 2019 года подразделение «Сбербанк Технологии» планировало запустить собственного голосового помощника для клиентов. Им может стать Варвара — сервис от Центра речевых технологий, долю в котором банк купил в апреле.

Самым популярным и активно продвигаемым продуктом на этом рынке остается Алиса. Примечательно, что на ПМЭФ Олег Тиньков предлагал основателю «Яндекса»Аркадию Воложу объединить бизнес, а помощник Олег пытался флиртовать с Алисой. Отказ получили оба Олега. Своих ассистентов обещали запустить Mail.Ru Group (17-18 июня, как ожидается, будет представлена Маруся), Wildberries (Ева Вайлет), у «МегаФона» уже работает Елена.

Пока этот продукт в большей степени пилотный, нужно время для того, чтобы оценить степень его проникновения, удобство и востребованность, но как идея — это интересно, прогрессивно и ярко, считает Анна Бодрова, старший аналитик информационно-аналитического центра «Альпари».

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

Тинькову запуск Олега поможет сохранить имидж высокотехнологичного банка, привлекательного для самой активной аудитории, позволит и дальше позиционировать себя как «новый банк» или «другой банк», выделиться среди конкурентов, не имея клиентской базы Сбербанка, это вопрос позиционирования, очень важный для компании, говорит ведущий аналитик «Финам»Леонид Делицын. По его словам, в целом появление таких помощников — закономерный тренд.

«Человек, если ему дать возможность, с удовольствием разучился бы читать и писать. Это прекрасно понимали еще 20 лет назад, когда IBM начала разработку голосовых команд. Сегодня своих помощников выпустили крупнейшие it-гиганты, дело закономерно дошло и до банков, которые обслуживают миллионы своих клиентов. Могу предположить, что такие помощники в ближайшее время появятся у сотовых операторов и продуктовых сетей», — прогнозирует Делицын.

Обсуждаем новости здесь.
Присоединяйтесь!

Что умеет Олег

Для начала общения с помощником в мобильном приложении «Тинькофф» можно сказать «Привет, Олег!» или «Слушай, Олег!». Найти его можно также в разделе «Чат» или нажав на кнопку «Микрофон» рядом со строкой поиска на любом экране.

Голосовой помощник «Тинькофф» может распознавать и интерпретировать запросы пользователей, задавать уточняющие вопросы, беседовать на разные темы и консультировать в решении различных задач. Помощнику можно задать вопрос, например – «Что делать вечером?», или обратиться с просьбой сделать перевод другу и пр. Чтобы узнать о текущих возможностях Олега, нужно спросить его «Что ты умеешь?».

Навыки голосового ассистента Олега

Самая первая версия Олега уже способна совершать денежные переводы на счета в «Тинькофф» и Сбербанке, бронировать столики в ресторанах, записывать пользователей в салоны красоты, покупать билеты в кино с кэшбэком 15%, а также искать скидки на товары и услуги. Например, можно сказать «Покажи скидки на кроссовки», на что Олег покажет подходящие спецпредложения от «Тинькофф».

Ассистент может поиграть с пользователем в викторину, если сказать ему «Олег, задай вопрос». Он предложит догадаться, например, какие продукты нельзя купить в Австралии, что Лев Толстой мог купить на гонорар за «Анну Каренину» или сколько кэшбэка получил пользователь за прошлый год.

Голосовой ассистент поможет скрасить время общением на свободные темы, полезными советами и «лайфхаками» из «Тинькофф Журнала». Олег ответит на вопросы «Как тебя зовут?», «Как дела?», «Что ты делаешь в свободное время?», «Какую музыку ты слушаешь?», «Что нового в банке?», «Олег — красавчик?», «Какой курс доллара?» и т.д.

Результаты запросов к ассистенту «Тинькофф»

Олег способен проконсультировать по банковским вопросам и акциям, обеспечить управление финансовыми продуктами – такими как дебетовая и кредитная карты. Его можно спросить «Что такое беспроцентный период», «Какая у меня полная сумма задолженности», «Как перевыпустить карту», «Какой у меня минимальный платеж», «Как начисляется кэшбэк», «Как оплатить коммунальные платежи» и т.д. Он расскажет про комиссии, лимиты, программы лояльности, как пользоваться текущими банковскими услугами в Тинькофф и т.д.

Подсказки голосового ассистента Олега

С помощью голосового ассистента также можно изменить личные данные в экосистеме «Тинькофф», заказать и отправить на почту электронные документы – например, справку для посольства.

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

Иногда Олег может сказать или ответить на вопрос, не подумав. Он объясняет это «вспыльчивым характером». Пользователи смогут помочь в обучении Олега, проставляя его репликам «лайки» или «дизлайки», которые будут анализироваться командой «Тинькофф». Если у Олега возникнут затруднения с решением задачи клиента, ему можно сказать «Хватит», или «Позови человека».

Финансовые консультации ассистента «Тинькофф»

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

Кристина Вайсман

логопед, руководитель Международной команды логопедов

Педагог по сценической речи ставит речь для сцены и публичных выступлений, а логопед — для жизни. Взрослые приходят к логопеду не так часто: речь сформирована, к особенностям привыкли и они сами, и их близкие. Дефектов или не слышат, или слышат только отдельные неверные звуки. Часто это Р, Ш, С и их мягкие пары.

Можно тренироваться и самостоятельно, когда знаете как. Для проверки звуков есть фраза «Бабушка сушила мокрое бельё на верёвке». Скороговорки используются для отработки сложных звуков и совершенствования дикции. Из новеньких есть такие: «Бессмысленно осмысливать смысл неосмысленными мыслями!» и «Полосу про паласы заменили двумя полуполосами про пылесосы». Есть еще сложные слова.

Алиса

Помощник от «Яндекса» распознает естественную речь, имитирует живой диалог и дает ответы на вопросы. Запрограммированные навыки позволяют с ее помощью решать множество прикладных задач.

Работает на смартфонах и компьютерах. Кроме того, существуют уникальные аппаратные разработки с Алисой:

  • смарт-колонка «Яндекс. Станция»;
  • «умные» часы Elari KidPhone 3G;
  • фирменный смартфон «Яндекс. Телефон»;
  • колонка «Станция Мини»;
  • различные смарт-устройства сторонних производителей.

По данным компании «Яндекс», каждый день голосовым помощником Алиса пользуются 8 млн. человек, в месяц средний показатель составляет 30 млн. пользователей.

Озвучкой Алисы занималась актриса дубляжа Татьяна Шитова. Голосовой помощник встроен в различные приложения Яндекса:

  1. Поисковик.
  2. «Яндекс. Навигатор».
  3. «Яндекс. Лончер».
  4. Мобильная и десктопная версии «Яндекс. Браузера».

Общаться с ассистентом можно как голосом, так и методом набора запросов с клавиатуры:

  • Алиса отвечает и показывает результат в диалоговом окне;
  • открывает необходимое приложение;
  • включает музыку;
  • активирует таймер или будильник;
  • вызывает такси;
  • может быть партнером в играх.

Виртуальный ассистент распознает голосовой запрос с использованием технология SpeechKit. Масштабная база слов помогает помощнику разобраться с акцентами, диалектами, сленгом и англицизмами. Подбор правильного ответа производится по технологии Turing, с ее помощью Алиса дает ответы на поставленные вопросы, общается с пользователем на различные темы.

На начальном этапе развития Алиса обучалась на массивах текстов классической русской литературы. Ее учителями стали Лев Толстой, Федор Достоевский, Николай Гоголь. Изучение живых текстов из интернета активировали второй волной.

навыки Алисы – это система чат-ботов и других интернет-сервисов, активирующихся по ключевому слову или фразе. Среди них:

  • заказ и доставка пиццы, цветов с возможностью оплаты внутри системы;
  • определение по изображению марки машины, породы кошки или собаки, здания, памятника;
  • поиск товаров на «Яндекс. Маркете» или в поиске «Яндекса»;
  • заказ товаров на маркетплейсе «Беру»;
  • поиск телефона и многое другое.

Пользователи в большинстве положительно оценивают умение «Алисы» поддерживать разговор, шутить, нетривиально отвечать на провокационные вопросы. В интернете можно найти множество скриншотов чатов с самыми интересными и смешными беседами.

Анализ текста

использовать tf-idf-вектор

precision recall f1-score
Денежный перевод 0,74 0,86 0,80
Остальное 0,99 0,99 0,99

увеличилась полнота

Визуализация данных

метод сжатия размерности — t-SNEотносительное расстояние между объектами сохраняется
t-SNE на tf-idf (топ-10 интентов), F1 score 0,92f1-мера равна 0,92

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

Где найти бота

В мобильном приложении банка. По официальной информации, бот доступен пользователям устройств на основе iOs и Android, но пока не всем, а выборочно. Разработчики обещали, что всем клиентам бот покажется до конца июня. На деле же бот появился только у некоторых владельцев устройств на iOs. Так нам ответили в банке. Когда Олег появится в гаджетах на Android, пока неясно.

Чтобы вызвать помощника, зайдите в мобильный интернет-банк и воспользуйтесь одним из трёх способов: командой «Привет, Олег» или «Слушай, Олег» на главном экране, нажатием на иконку микрофона в строке поиска или в разделе чата.

Если у вас уже появился Олег, а у друга ещё нет, ботом можно поделиться.

Для этого попросите помощника перевести другу деньги, после чего Олег автоматически поселится и в его мобильном приложении.

Модель рекомендаций

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

Поисследовав немного, я пришел к тому, что нужно поработать над следующими вещами:

Научить модель отличать каналы

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

Как быть? Количество каналов гораздо меньше количества постов и меньше количества юзеров. В канале все посты имеют примерно одинаковый flavour (извините), поэтому есть смысл ввести в модель эмбеддинги каналов и сделать их основным источником предсказательности. Посты тоже имеют свои эмбеддинги, но теперь 80% эмбеддингов несет канал и 20% — пост.

Окей, если мы вводим эмбеддинги каналов, простая модель DotProduct перестает работать, потому что перемножить три вектора для получения скаляра мы уже не можем. На помощь приходит нейросеть!

Нейросеть с одним скрытым слоем

Берем эмбеддинги юзера, канала и поста, конкатенируем их в один длинный тензор, и подаем этот тензор на входы нейросети. В моем случае эмбеддинг юзера имеет размерность 100, канала — 80, юзера — 20. Соответственно, у нейросети должно быть столько входов, сколько элементов у конкатенированного тензора. На иллюстрации я изобразил в 10 раз меньше нейронов (10-8-2) просто для удобства иллюстрации. Почему я выбрал такие размерности (100-80-20) — см. ниже.

Нейросеть имеет один скрытый слой из 70 нейронов и 1 нейрон на выходном слое, степень активации которого означает предсказанную оценку.

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

Подобрать размерности эмбеддингов

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

На этой итерации я поисследовал этот момент самостоятельно и провел пару дней в экспериментах.

Я пробовал разные размерности эмбеддингов и соотношение размерностей скрытого слоя и эмбеддингов, а также константы learning rate. Я смотрел, как быстро обучается модель, следил, чтобы скорость обучения (хорошо) не перерастала в быстрое скатывание в переобучение (плохо). Пытался найти баланс между точностью предсказания и генерализацией.

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

Попробовав различные комбинации размерностей, я подобрал такие значения:

  • Эмбеддинг юзера — 100,

  • Канала — 80,

  • Поста — 20

Соотношение между каналом и постом я выбрал самостоятельно, мне показалось, что смыслы которые несет собой канал превалируют над смыслами, которые несет собой отдельный пост. Также я чисто эмпирически предположил, что общая размерность канал+пост должна быть равна размерности эмбеддинга юзера. Остальные соотношения я подбирал экспериментально. Так, у меня получилось, что размерность скрытого слоя = 70. Такой результат получился, когда я пытался сделать обучение гладким, быстрым, но не очень быстрым, чтобы не проскакивать момент начала переобучения.