Транскрибація дзвінків українською: чому точність падає на суржику і що з цим робити
Чому точність розпізнавання дзвінків падає: шум, якість каналу, суржик і власні назви. Як перевірити сервіс транскрибації на своїх записах, а не на демо.
Кожен сервіс розпізнавання мовлення обіцяє «точність 95–98%». Потім ви завантажуєте запис реального дзвінка з відділу продажів і бачите текст, де адреса перетворилась на набір складів, а половина реплік клієнта приписана менеджеру. Обидві цифри правдиві, просто одну виміряли на чистому студійному записі, а другу на телефонній лінії, де клієнт говорить із маршрутки.
Розбираємось, від чого залежить точність транскрибації дзвінків українською, чому суржик створює окрему проблему і як перевірити сервіс так, щоб не розчаруватися після підписання договору.
Як міряють точність
Стандартною метрикою є WER (word error rate), тобто частка слів, які розпізнано неправильно, пропущено або додано зайвими. Точність 97% означає три помилки на сто слів. У п’ятихвилинній розмові це близько 600 слів і приблизно 18 помилок. Якщо ці помилки припадають на «так», «ну», «угу», текст читається нормально. Якщо ж вони припадають на артикул товару, суму і дату доставки, транскрипт стає непридатним, хоча цифра та сама.
Тому дивитися треба не лише на загальний відсоток, а на те, де саме модель помиляється: у числах, назвах, іменах чи в службових словах.
Шість причин, чому точність падає на реальних дзвінках
1. Телефонний канал
Студійний запис має частоту 44 кГц, а телефонний лише 8 кГц, до того ж його стискає кодек. Частина звуків просто не потрапляє в запис, тому «с» і «ф», «п» і «т» у телефонному каналі майже нерозрізненні. Модель, навчена на подкастах і аудіокнигах, на такому звуці одразу втрачає 5–10 пунктів точності.
2. Шум і перебивання
Шум додають вулиця, офіс із десятьма менеджерами чи гучний зв’язок у машині. До того ж люди в розмові перебивають одне одного, а на моно-записі дві накладені репліки зливаються в кашу, яку не розбере жодна модель.
3. Суржик і перемикання мов посеред фрази
Це головна українська специфіка. Менеджер починає українською, клієнт відповідає російською, а далі обидва говорять сумішшю: «Ну я вам перезвоню, коли буде готово, окей?» Моделі, які працюють з однією мовою на файл, роблять одну з двох речей. Або вони «перекладають» усе на літературну мову, і тоді з тексту зникає те, що клієнт казав насправді, або розсипаються на транслітерацію. Правильна модель записує так, як сказано, і не втрачає зміст.
4. Власні назви, артикули, адреси
Усе, чого модель не бачила в навчальних даних, вона замінює на схоже за звучанням, чи то адреса «Вул. Івана Мазепи, 14-Б», чи «модель ХК-2200», чи прізвище «Пшеничний». Саме тут концентруються помилки, які роблять транскрипт непридатним для CRM.
5. Темп і діалект
Люди говорять швидко, ковтають закінчення й мають регіональну вимову. Це впливає менше, ніж канал і шум, але додає помилок у довгих реченнях.
6. Розділення спікерів
Якщо телефонія пише обидві сторони в один канал, системі доводиться вгадувати за тембром, хто говорить. На коротких репліках («так», «добре») вона помиляється часто, і в результаті чек-лист оцінює менеджера за словами клієнта.
Що з цим робити
- Пишіть стерео. Більшість сучасних АТС і телефоній уміють записувати кожну сторону в окремий канал. Це одна галочка в налаштуваннях, яка повністю знімає проблему розділення спікерів.
- Дайте моделі словник. Внесіть у нього назви ваших продуктів, артикули, імена менеджерів і типові адреси. Сервіси, які підтримують користувацький словник, розпізнають «ХК-2200» замість «ха-ка дві тисячі».
- Обирайте модель, яка бачила змішану мову. Запитайте прямо, як сервіс поводиться з перемиканням мов посеред фрази, і перевірте це на своєму записі.
- Нормалізуйте після розпізнавання. Числа, дати, суми й телефони треба приводити до одного вигляду вже після транскрибації, інакше пошук по розмовах не знайде «14 лютого», записане як «чотирнадцяте».
- Перевіряйте вибірку людиною. Раз на місяць прослуховуйте десять розмов вручну. Це потрібно не для того, щоб виправляти, а щоб побачити, де саме модель просідає на ваших даних.
Як перевірити сервіс на своїх дзвінках
Не оцінюйте сервіс за демо-записом, бо його підібрали так, щоб усе працювало. Ось методика, на яку підуть дві-три години.
- Зберіть 20 записів. Візьміть розмови різних менеджерів, вхідні й вихідні, тихі й гучні, коротку і довгу, а також обов’язково кілька із суржиком і переходами між мовами.
- Для п’яти з них зробіть еталон. Прослухайте ці записи й запишіть текст вручну. Це нудно, але без еталона у вас буде лише враження, а не цифра.
- Порахуйте помилки на цих п’яти записах. Рахуйте окремо помилки у звичайних словах і окремо в числах, назвах та іменах.
- Перевірте, чи модель не «згладжує» суржик. Якщо клієнт сказав «шо по цінє», а в транскрипті стоїть «що по ціні», зміст збережено, і це прийнятно. Якщо ж цілу репліку переписано іншими словами, це вже неприйнятно.
- Подивіться на розділення спікерів і таймкоди. Клікніть на репліку й перевірте, чи запис перемотується саме на неї.
- Решту 15 записів перевірте побіжно. Подивіться, чи є розмови, на яких результат очевидно гірший, і зʼясуйте чому.
Після такої перевірки ви знаєте свою реальну точність, а не рекламну.
Транскрипт не мета, а сировина
Сам по собі текст розмови мало кому потрібен, бо на 200 дзвінків у день його ніхто не читатиме. Цінність з’являється, коли з транскрипта автоматично витягуються резюме, оцінка за чек-листом, домовленості й теми, які повторюються з дзвінка в дзвінок. Про це ми писали в статтях про контроль якості на всьому обсязі дзвінків і про чек-лист оцінки.
В Omniscore точність вимірюється саме так, як описано вище. На пілоті ми беремо ваші записи, порівнюємо їх з еталоном і називаємо цифру до підписання договору. На чистому записі українською вона близька до 97%, а на реальних дзвінках із шумом і суржиком нижча, і ми чесно її називаємо. Залишити заявку на пілот.