Чат-бот + нейросеть = довольный клиент

5206c19df417b8876825b5561344c1a0?s=47 Exactpro
October 01, 2020

Чат-бот + нейросеть = довольный клиент

Вадим Данильченко
Главный специалист по машинному обучению, Хоум Кредит Банк

1 октября 2020
Online Dev Meetup

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

---
Подписывайтесь на Exactpro в социальных сетях:

LinkedIn https://www.linkedin.com/company/exactpro-systems-llc
Twitter https://twitter.com/exactpro
Facebook https://www.facebook.com/exactpro/
Instagram https://www.instagram.com/exactpro/

Подписывайтесь на YouTube канал Exactpro http://www.youtube.com/c/ExactproVlog

5206c19df417b8876825b5561344c1a0?s=128

Exactpro

October 01, 2020
Tweet

Transcript

  1. None
  2. ЧАТ-БОТ + НЕЙРОСЕТЬ = ДОВОЛЬНЫЙ КЛИЕНТ

  3. ФАКТЫ О БАНКЕ 17+ лет на рынке >11 500 сотрудников

    38 100 000 клиентов 65% клиентов используют онлайн- сервисы Net Promoter Score индекс потребительской лояльности один из ведущих розничных банков 58% >2 000 городов присутствия >3 500 000 активных клиентов 20% POS-кредитов выдано онлайн BB-рейтинг Fitch RUS A- рейтинг Expert RA
  4. ДЛЯ ЧЕГО МЫ ДЕЛАЛИ ЧАТ-БОТ Консультация клиентов без участия оператора.

    Операторы могут сосредоточиться на решении более сложных вопросов клиентов
  5. 19,5% 23,6% 40,7% 41,4% 54,5% 48,9% 6 657 30 442

    61 682 64 976 77 203 97 662 0 20 000 40 000 60 000 80 000 100 000 120 000 0% 10% 20% 30% 40% 50% 60% Май Июнь Июль Август Сентябрь Октябрь Ноябрь Декабрь Январь Февраль Март Апрель Май Июнь Июль Август Сентябрь 2019 2019 2019 2019 2019 2019 2019 2019 2020 2020 2020 2020 2020 2020 2020 2020 2020 к команде добавились КМ и разметчики в ансамбль моделей добавлены нейросети начали терять в качестве внедрены сложные сценарии по кредитным каникулам 88% 88% 76% 90% 89% 91% 89% 90% 89% 91% качество ЭТАПЫ РАЗВИТИЯ ЧАТ-БОТА опорные фразы доля закрытых диалогов ботом
  6. ЧТО УМЕЕТ БОТ • Принимать заявку на частичное/досрочное погашение кредита

    • Подсказывать как включать/отключать уведомления, изменять лимиты по операциям • Рассказывать как оформить карту/вклад/кредит • Консультировать по партнерам банка и срокам рассрочки • Проверять наличие просроченной задолженности и давать консультацию по арестованному счету • Давать информацию о преимуществах использования страховых продуктов • Информировать по многим продуктам банка • Сообщать размер комиссии по услугам и детализацию по начислению бонусных баллов • и многое другое …
  7. ЧАТ-БОТ В ЦИФРАХ • Консультация клиентов без участия оператора. Операторы

    могут сосредоточиться на решении более сложных вопросов клиентов. Процент закрытия обращений клиентов чат-ботом составляет >50% от общего количества обращений, с качеством 90%. • Удержание клиентов – сценарии дополнительных вопросов клиентам при обращении с намерением отключить некоторые услуги (более 15% по тематике «страхование») • Дополнительный канал продаж • Повышение лояльности клиентов – средняя оценка клиентом консультации бота 4 • FCR - более 90% клиентов не возвращаются с повторным обращением в банк через любой канал связи в ближайший день • Получили 2 место в рейтинге лучших онлайн чатов банков* за доступность в чате и за качество предоставленных ответов * По версии независимого исследования Бробанк.ру, публикация от 07.04.2020
  8. ЧАТ-БОТ ИЗНУТРИ

  9. Основные модули чат-бота: Webim. Платформа онлайн-консультирования. Рабочее место оператора, управление

    работой операторов. Диалоговый модуль. Реализует интерфейс взаимодействия между Webim, модулем AI и системами банка. Содержит бизнес-логику обработки команд, полученных из модуля AI, с последующей передачей ответа клиенту через Webim. Модуль AI. Анализ текстовых сообщений клиентов с помощью машинного обучения и преобразование их в шаблоны команд для передачи в диалоговый модуль. КАК УСТРОЕН ЧАТ-БОТ клиенты WEBIM диалоговый модуль модуль AI запрос ответ запрос ответ запрос ответ системы банка клиентские данные
  10. хочу оформить кредит модель 1 модель 2 модель 3 определение

    согласно метрике максимально близкой фразы по базе знаний вектор фразы клиента «хочу оформить кредит» вектор фразы из базы знаний «я хочу оформить кредит» 0.9 0.7 0.8 0.9*0.2 + 0.7*0.32 + 0.8*0.1 + 0.9*0.38 = 0.83 проверяем какой из наших тем принадлежит эта фраза: «как оформить кредит наличными» из справочника забираем команду, которая соответствует данной теме: «GetCredit» отдаем в Диалоговый модуль 3 преобразование в вектор 2 получаем фразу клиента 6 7 если показатель выше установленного порогового значения, можем считать, что тема определена 0.83 > 0.75 = TRUE 1 5 модель 4 нейросеть возвращает вероятность 0.9 КАК РАБОТАЕТ МОДУЛЬ AI расчет итогового значения взвешиванием показателя каждой модели 4
  11. ПРЕПРОЦЕССИНГ ТЕКСТА Привт! Хачу кридит на 120 тыщщщ, но у

    миня уже есть адин..НУ ТАК ЧЁ ДАШ ИЩО?????…. привет ! хотеть кредит на 120 тысяча , но у я уже есть один .. ну так что давать еще ??.. • приведение к нижнему регистру • токенизация • замена ё на е • замена дублирующихся букв и символов • отделение текста от цифр и знаков препинания • замена опечаток • приведение к нормальной форме (лемматизация) основные преобразования фраза после преобразования • удаление приветствий • удаление стоп-слов • замена слов на сущности • удаление символов • другое дополнительные (зависит от алгоритма) фраза клиента
  12. ВЕКТОРИЗАЦИЯ НА МОРФОЛОГИЧЕСКИХ ПРИЗНАКАХ 1 0 1 0 1 0

    0 0 0 0 .. 0 0 0 0 0 0 0 0 1 … кредит оформить остальные слова длина 30т уменьшение размерности и отбрасывание неважных признаков длина 5т . . . признак 1 признак 2 признак 3 число: единственное род: женский род: мужской род: средний падеж: именительный падеж: винительный часть речи: существительное часть речи: глагол падеж: …. часть речи: … число: единственное число: множественное род: мужской род: женский род: средний падеж: именительный падеж: винительный часть речи: глагол падеж: …. …. … 3 1 2 -1.2 0.6 1 2.2 1.7 -4.6 3.3 0.11 1.5 -1 0.7 0.9 1.3 1.4 0.8 0.5 1.9 3.1 1.4 признак 5т оставляем признаки с наибольшей значимостью фраза из обучающей выборки POS вектор вектор признаков
  13. ВЕКТОРИЗАЦИЯ НА БИНАРНЫХ КЛАССИФИКАТОРАХ CLASSES И TERMS 3 1 2

    -1.2 0.6 1 2.2 1.7 -4.6 3.3 0.11 1.5 -1 0.7 0.9 1.3 1.4 0.8 0.5 1.9 3.1 1.4 как оформить кредит ? 0.7 0 0.05 0.1 0.01 0.05 0 0.95 0 . . . длина 5т 94 классификатора длина 31 terms автокредит арест баллы банк блокировка бот валюта кредит mcc . . . вопрос где зачем как какой можно нужно общение плохо . . . 0.9 0.1 0.05 0.95 0.3 0.2 0 0.35 0 . . . 31 классификатор classes длина 94 фраза из обучающей выборки вектор на морфологии бинарные классификаторы вектора предсказаний классификаторов
  14. Есть множество способов векторизации, некоторые не учитывают порядок слов, что

    может усложнить классификацию, так как от позиции слов в предложении может поменяться смысл. Лучшую векторизацию позволяет сделать Word2Vec – он для слов, встречающихся в сходном контексте, делает похожий вектор. Также с его помощью можно нивелировать влияние опечаток. Например, в фразах «хочу оформить кредит», «хочу взять кредит», «хочу получить кредит» этот метод определит, что «оформить, взять, получить» являются синонимами, так как находятся в окрестности одинаковых слов страхование кредит оформить смс ПОДГОТОВКА ВЕКТОРА ДЛЯ НЕЙРОСЕТИ Россия США Вашингтон Москва благодаря этому методу мы можем выполнять математические операции над полученными векторными представлениями, например, если из векторного представления «Россия» вычесть «Москва» и добавить «Вашингтон», то можем попасть в векторное представление «США» отображение в двумерное пространство векторов, близких по контексту к словам «кредит, оформить, смс, страхование»
  15. РАБОТА СО СВЕРТОЧНЫМИ НЕЙРОННЫМИ СЕТЯМИ на вход сверточной нейронной сети

    подаем матрицу с векторами слов предложения, далее проходим по этим данным сверткой с различными размером ядра, по итогу применяем операцию пулинга с функцией максимума брать кредит расчет пять год .. unk unk 0.10 0.80 0.96 -2.8 0.72 … 0 0 -1.20 -0.66 1.43 -0.3 -1.2 … 0 0 -0.33 0.27 -1.3 1.34 -0.5 … 0 0 0.18 -0.48 0.55 -1.3 0.49 … 0 0 0.57 0.45 -0.2 -0.7 0.41 … 0 0 -0.89 -0.19 -1.1 -0.5 -0.7 … 0 0 -0.67 0.58 1.06 0.11 -0.7 … 0 0 0.24 -1.34 -0.7 0.18 0.60 … 0 0 .. .. .. .. .. .. .. .. 0.53 -0.71 -0.7 -0.8 0.09 … 0 0 1.27 0.58 -1.1 -0.0 1.13 … 0 0 0.81 0.05 -0.8 0.46 0.09 … 0 0 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 1.84 0,3 2.8 2.4 0.6 0.4 3 0 0 0 0.2 1,9 0.9 2.2 0.1 0.5 2 0 0 0 брать кредит 0.10 0.80 -1.20 -0.66 -0.33 0.27 … … = -1 +1 -1 +1 -1 +1 … … 0 1.84 0.10*(-1) + 0.8*1+(-1.20)*(-1)+(-0.66)*1+(-0.33)*(-1)+0.27*1 = 1.84 * 1,9 2,8 0,6 3 0 для того, чтобы избавиться от элементов, не несущих значимой информации, применяем операцию пулинга с функцией максимума – пройдемся по нашей матрице определенным окном 2х2 со сдвигом 2 и выберем самые максимальные значения в области слова в предложении признаки обрабатываемая область ядро свертки результат свертки результат макс- пулинга
  16. .. .. .. .. .. значения входного слоя полносвязная нейросеть

    для классификации ПРЕОБРАЗОВАНИЕ РЕЗУЛЬТАТОВ МОДЕЛЕЙ ПЕРЕД КЛАССИФИКАЦИЕЙ 1,9 2,8 0,6 3 0 0,3 1.1 2.5 0,7 1,4 результат нейросети 1 результат нейросети .. результат нейросети 2 ВЫТЯГИВАЕМ РЕЗУЛЬТАТЫ ВСЕХ МОДЕЛЕЙ В ЕДИНЫЙ ВЕКТОР ДЛЯ ПОСЛЕДУЮЩЕЙ КЛАССИФИКАЦИИ 1,9 2,8 0,6 3 0 .. .. .. .. .. 0,3 1,1 2,5 0,7 1,4
  17. 1,9 2,8 1,4 … … 0,4 0,9 … … 0,9

    выходной слой скрытый слой 0.4 входной слой 0.8 0.6 0.85 задача классификации: нахождение оптимальной разделяющей поверхности между классами Тема 5 Тема 4 Тема 3 Тема 2 Тема 1 ПРИНЦИП КЛАССИФИКАЦИИ вектор фразы веса нейроны 0.8 количество и размерность скрытых слоев подбирается экспертно, исходя из показателей качества и необходимых вычислительных ресурсов. 1,9 2,8 0,6 3 0 .. .. .. .. .. 0,3 1,1 2,5 0,7 1,4
  18. ВЫХОД МОДЕЛИ В ПРОДАКШН Контент- менеджер и разметка DS Тестирование

    ПРОД поиск потенциальных тем наполнение тем похожими фразами обучение модели проверка тем на адекватность бинарная разметка полученных фраз проверка пересечений СМОУК-тесты, проверка соответствия ответов вопросам установка сборки
  19. А ТЕПЕРЬ ПРО ОБУЧЕНИЕ

  20. DBSCAN ПОИСК НОВЫХ ТЕМАТИК есть некоторая eps- окрестность, в рамках

    которой если находится k- соседей одного кластера для точки, то они тоже считаются принадлежащей этому кластеру итерация 1 итерация 2 итерация 3 итерация 4 на каждой итерации считаем расстояние от точек до ближайших центроид, перестраиваем центроиды на основе координат полученных кластеров и снова проверяем являются ли эти точки максимально близкими к своему центроиду. Продолжаем пока изменения в перестроении центроиды станут незначимыми K-Means
  21. 1,9 2,8 1,4 … … 0,4 0,9 … … 0,9

    выходной слой скрытый слой 0.4 входной слой 0.8 0.6 0.8 КАК ОБУЧАЕТСЯ ПОЛНОСВЯЗНАЯ НЕЙРОСЕТЬ обучение заключается в сравнении полученных значений на выходном слое нейросети со значениями примера, вычисляется разница и после некоторых преобразований возвращается в модель для корректировки весов. Операция повторяется до тех пор, пока разница (ошибка) не станет минимальной предсказание модели реальные значения класса для фразы 1 1 – 0.9 + … = 0.1 величина ошибки 1 0 0 0 0 вектор фразы 1 корректируем ошибку и пробуем пересчитать с новыми весами 0.85 1,9 2,8 0,6 3 0 .. .. .. .. .. 0,3 1,1 2,5 0,7 1,4
  22. ..в процессе обучения сети может возникнуть проблема - переобучение, то

    есть сеть просто запомнит все обучающую выборку и на валидации (val_loss) выдаст большую ошибку, чем при обучении (также можно определить по большой разнице в качестве, val_accuracy) в таких ситуациях применяют dropout, т.е. отключают некоторые нейроны (они выдают только 0) и это позволяет предотвратить взаимоадаптацию нейронов на этапе обучения КАК БОРЕМСЯ С ПЕРЕОБУЧЕНИЕМ
  23. ПЛАНЫ РАЗВИТИЯ • Применение новых SOTA-подходов к построению архитектуры нейросети

    для увеличения количества закрытых диалогов ботом без потери качества консультации. • Повышение качества обслуживания (более 4 баллов в месяц). • Добавление новых функций: – Расширение списка сценариев на удержания клиентов – Персональные предложения с использованием CRM – Предсказание тематики обращения клиента до начала диалога • Построение новой высоконагруженной архитектуры чат-бота (использование более сложных моделей, использование контекста диалога, уменьшение времени ответа, построение новых чат-ботов и многое другое).
  24. СПАСИБО ЗА ВНИМАНИЕ Хоум Кредит Банк Данильченко Вадим Главный специалист

    по машинному обучению vadim.danilchenko@homecredit.ru 2020