Звіт про хакатон Tele2

18-19 серпня компанія Tele2 влаштовувала Хакатон за Data Science. Цей хакатон орієнтований на аналіз діалогів техпідтримки в соціальних мережах, прискорення і спрощення взаємодії з клієнтами.

Завдання не мало конкретної метрики, яку треба оптимізувати, задачу можна було придумати собі самому. Головне — покращити сервіс. В якості журі змагання виступали директори різних напрямків Теле2, а також знаменитий Data Science співтоваристві Kaggle grandmaster Павло Плеск.

Під катом розповідь команди, що зайняла 1 місце.

Коли колега запропонував мені взяти участь у цьому хакатоні я погодився досить швидко.
Мені була цікава тема NLP, а також були деякі нейромережні напрацювання, які хотілося перевірити на практиці.

Організатори хакатона завчасно розіслали невеликі фрагменти датасетів, які давали уявлення про те, які саме дані будуть доступні на самому заході.
Дані виявилися досить брудними, діалоги влазили сторонні тролі, не завжди було очевидно на яке саме питання відповідає оператор.

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

Офіс теле2 знаходиться на території Нової Москви в бізнес-парку Румянцево. Як на мене, добиратися туди досить довго, але враження бізнес-парк справляє гарне (за винятком ЛЕП).


ЛЕП на тлі бізнес-центру

Прямо біля станції метро нас зустріли організатори, показали як пройти до офісу. Сама будівля бізнес-центру займає безліч компаній, офіс Теле2 розташовується на 5 поверсі. Учасникам хакатона була відведена спеціальна зона всередині офісу, була кухня, зона для відпочинку з PlayStation і пуфиками. Особливо порадувала швидкість wi-fi, ніяких проблем, властивих масовим заходам, не спостерігалося.

Читайте також  Як стати програмістом Java


Сніданок

Реальні датасет, який надав Теле2 складався з 3 великих CSV файлів з діалогами техпідтримки: діалогів в соціальних мережах, telegram і email. Всього сумарно більше 4 мільйонів звернень — те що потрібно для навчання нейромережі.

Що ж собою являла нейромережа?


Архітектура мережі

У датасете не було ніякої додаткової розмітки, яку цікаво було б попредсказывать, а вирішувати хотілося supervised завдання. Тому вирішили спробувати передбачати відповіді на питання, вже як мінімум простого чат-бота з такої моделі можна буде зробити. Для цього обрали архітектуру CDSSM (Convolution Deep Semantic Similarity Model). Ця одна з простих нейромережевих моделей для порівняння текстів за змістом, спочатку була запропонована Microsoft для ранжирування пошукової видачі Bing.

Суть її в наступному: спочатку кожен текст перетворюється у вектор з допомогою послідовності convolution і pooling шарів.

Потім отримані вектори порівнюються яким-небудь способом. У нашій задачі хороший результат дав додатковий лінійний шар, що поєднує обидва вектора з сигмоїдою в якості функції активації. Ваги мережі, кодують пропозиції в вектори, можуть бути як однаковими для пари текстів (такі мережі називають сіамськими), так і відрізнятися.

У нашому випадку варіант з різними вагами дав найкращий результат, так як тексти питання і відповіді значно відрізнялися.


Спроба навчити сіамську мережа

Як предобученных эмбеддингов використовували FastText c RusVectōrēs, він стійкий до опечаткам, які часто зустрічаються у питаннях користувачів.

Для того, щоб таку модель навчити, її потрібно тренувати не тільки на позитивних, але і на негативних прикладах. Для цього ми додавали в навчальну вибірку випадкові пари запитань-відповідей співвідношенні 1 до 10.

Щоб оцінити якість такої не збалансованої вибірки використовували метрику ROC-AUC. Після 3 годин навчання на GPU нам вдалося досягти значення 0.92 по цій метриці.

Читайте також  У Кабардино-Балкарії знайдено поховання людей з довгими черепами

За допомогою такої моделі можна вирішувати не тільки пряму задачу — вибирати відповідь на питання, але і по іншому — знаходити помилки операторів, неякісні і дивні відповіді на запитання користувачів.

Деякі такі відповіді нам вдалося знайти прямо на хакатоні і включити їх у фінальну презентацію. Як мені здається, це справило найбільше враження на журі.

Цікаве застосування можна знайти також від векторного подання текстів, які мережа генерує в процесі своєї роботи.

За допомогою нього можна шукати аномалії в питаннях і відповідях різними unsupervised методами.

В результаті наше рішення було добре прийнято як з технічної точки зору, так і з точки зору бізнесу. Інші команди, в основному, намагалися вирішувати завдання аналізу тональності і тематичного моделювання, тому наше рішення вигідно відрізнялося. В результаті ми зайняли 1 місце, роз’їхалися задоволені і втомлені.


На фото (зліва направо): Олександр Абрамов, Костянтин Іванов, Андрій Васнєцов (автор) і Швецов Єгор

Степан Лютий

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

You may also like...

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *