Читать книгу Создай голосового помощника. И научи бизнес летать - Ар'лан ис'Дрекхэм - Страница 18
Часть 3: Фундамент. Инструментарий и подготовка
Глава 17. Распознавание речи (ASR): Чтобы помощник слышал и понимал даже с акцентом
ОглавлениеПредставьте, что вы пришли на важные переговоры с иностранным партнером. Вы говорите на хорошем английском, но у партнера – сильный акцент, шум в помещении и он иногда проглатывает окончания. Вы слушаете, напрягаетесь, переспрашиваете и… теряете нить разговора.
Примерно так чувствует себя голосовой помощник, если у него плохое распознавание речи.
В техническом мире эта технология называется ASR (Automatic Speech Recognition) – автоматическое распознавание речи. Это уши вашего помощника. И от того, насколько хороший у него слух, зависит ровно половина успеха всего проекта.
Потому что какая польза от гениального мозга (нейросети), если он получает на вход искаженный текст?
Почему ASR – это сложно (и почему хороший ASR стоит денег)
Распознать человеческую речь – одна из самых сложных задач в мире ИИ. Почему?
1. Акценты и диалекты
В России только официальных языков десятки. А уж вариаций русского языка – сотни. Человек из Ростова-на-Дону говорит иначе, чем человек из Вологды или из Татарстана. Хороший ASR должен понимать всех.
2. Шум
Клиенты звонят откуда угодно: с улицы (ветер, машины), из машины (шум мотора), из кафе (музыка, голоса), из дома (телевизор, дети). Распознавание должно отсекать этот шум и выделять голос.
3. Слова-паразиты и запинки
«Ну это… типа… я хотел бы… эээ… заказать… ну это… пиццу что ли». Человек понимает, о чем речь. ASR должен не запутаться в этом мусоре.
4. Специфическая лексика
Если у вас медицинский центр, клиент будет говорить «МРТ», «УЗИ», «стоматолог-ортопед». Если у вас автосервис – «сход-развал», «ступичный подшипник», «лямбда-зонд». ASR должен знать эти слова.
5. Скорость
Распознавание должно происходить в реальном времени, с минимальной задержкой. Клиент не должен ждать по 2—3 секунды, пока робот «переварит» услышанное.
Как работает современный ASR (очень просто)
Раньше системы распознавания работали по принципу «сравнения с эталоном». В них были зашиты словари произношения, и они пытались подобрать звуки к словам.
Современный ASR – это тоже нейросети. Они обучаются на тысячах часов разнообразной речи (с акцентами, шумами, ошибками) и учатся выделять паттерны. Нейросеть не «знает» слова, она «чувствует», что за последовательность звуков с наибольшей вероятностью образует осмысленную фразу.
Лучшие ASR-системы сегодня:
– Yandex SpeechKit (отличное распознавание русского языка, огромное количество обучающих данных)
– Salute Speech (Сбер) (сильный конкурент, особенно в связке с другими сервисами Сбера)
– Google Cloud Speech-to-Text (мировой лидер, но сложности с доступом из РФ)
– OpenAI Whisper (очень мощная opensource-модель, но требует технических навыков для настройки)
Как оценить качество ASR: Метрика WER
В мире распознавания есть главный показатель – WER (Word Error Rate) – частота ошибок в словах.
Простыми словами: сколько слов из ста ASR распознал неправильно.
– WER 5—10% – отличный результат.
– WER 10—20% – приемлемый для простых диалогов.
– WER> 20% – клиенты будут беситься от переспросов.
Хорошие современные системы держат WER в районе 5—7% для чистой речи и 10—15% для речи с шумами.
Выбор ASR для вашего проекта
В большинстве конструкторов голосовых помощников (Aimylogic, Tovie и др.) ASR уже встроен и настроен. Вам, как бизнесмену, обычно не нужно выбирать конкретную технологию – она идет «в комплекте» с платформой.
Однако важно понимать, какой ASR использует ваша платформа, и при необходимости его можно улучшить.
Вариант 1. Встроенный ASR платформы
Например, Aimylogic использует собственные разработки и интеграции с ведущими провайдерами. Для 90% задач этого достаточно.
Вариант 2. Подключение внешнего ASR через API
Если у вас специфическая лексика или особые требования, можно подключить внешний ASR:
– Yandex SpeechKit: Отличный выбор для русского языка. Легко интегрируется.
– Salute Speech: Хорош, если вы уже используете экосистему Сбера.
– Google Cloud Speech-to-Text: Если вам нужно распознавание на десятках языков (международный бизнес).
Как улучшить распознавание: Практические советы
Даже самый лучший ASR можно «натренировать» лучше понимать ваших клиентов. Вот что вы можете сделать.
Совет 1. Кастомизируйте словарь (Важно!)
Это самый действенный способ. Почти все ASR-системы позволяют загружать кастомный словарь – список специфических слов, терминов, названий, которые часто используют ваши клиенты.
Что загружать:
– Названия ваших продуктов (если они нестандартные).
– Профессиональные термины (МРТ, УЗИ, сайлентблок, термостат).
– Имена и фамилии сотрудников.
– Адреса, названия улиц.
Когда вы загружаете словарь, вы как бы говорите ASR: «Слушай, если услышишь что-то похожее на „сайлентблок“ – это точно сайлентблок, не пытайся распознать как „сайлент блок“ или „силент блок“».
Совет 2. Обучайте на реальных диалогах (Fine-tuning)
Некоторые продвинутые ASR (например, Yandex SpeechKit) позволяют дообучать модель на ваших реальных записях разговоров. Вы даете системе 100—200 расшифрованных диалогов (где текст идеально совпадает с речью), и она учится лучше понимать именно ваших клиентов, с их акцентами и особенностями.
Это требует некоторых усилий, но дает огромный прирост качества.
Совет 3. Используйте контекст
ASR работает лучше, если знает контекст. Если ваш помощник находится в ветке диалога про доставку, можно подсказать ASR: «сейчас клиент будет говорить про адрес, поэтому ищи слова „улица“, „дом“, „квартира“, „подъезд“». Это повышает точность.
Совет 4. Обрабатывайте шум
Научите клиентов говорить в тишине. Звучит смешно, но можно добавить в приветствие фразу: «Если вы находитесь в шумном месте, постарайтесь говорить чуть громче и четче». Это реально помогает.
Акценты: Как быть, если клиенты говорят с акцентом
Россия – многонациональная страна. Если ваш бизнес работает в регионах, вы столкнетесь с акцентами. Это нормально.
Что делать:
– Выбирайте ASR, обученный на разнообразной речи. Yandex SpeechKit, например, обучался на огромном массиве данных, включая речь с акцентами.
– Собирайте записи. Когда вы начнете получать реальные звонки от клиентов с акцентом, сохраняйте те, где распознавание сработало плохо.
– Используйте их для дообучения. Если есть возможность дообучения (fine-tuning), используйте эти записи, чтобы научить ASR понимать именно ваш региональный акцент.
– Упрощайте сценарий. Если вы знаете, что в вашем регионе много клиентов с сильным акцентом, делайте сценарий максимально простым, с короткими вопросами и четкими вариантами ответов. Меньше свободы – меньше шансов на ошибку распознавания.
Техническая настройка в платформе (на примере)
Давайте посмотрим, как обычно выглядит настройка ASR в конструкторе.
– В настройках проекта найдите раздел «Распознавание речи» или «ASR».
– Выберите провайдера (Yandex, Google, Сбер, встроенный).
– Загрузите кастомный словарь (обычно это текстовый файл со списком слов, по одному в строке).
– Настройте чувствительность (иногда есть ползунок «агрессивность распознавания» – стоит поэкспериментировать).
– Включите опции:
– «Распознавание пауз» (чтобы определять, когда клиент закончил говорить).
– «Фильтрация слов-паразитов» (чтобы отсеивать «эээ», «ммм», «типа»).
– «Нормализация чисел» (чтобы «500» распознавалось как «пятьсот», а не «пятьсот» текстом).
Как проверить качество ASR
После настройки обязательно проведите тестирование.
– Запишите 10—20 реальных или имитированных звонков от разных людей (с разными голосами, с разным фоном).
– Прослушайте записи и рядом откройте расшифровку, которую выдал ASR.
– Посчитайте ошибки. В скольких словах ASR ошибся? Если ошибок много (больше 10—15% значимых слов) – нужно менять настройки или провайдера.
– Обратите внимание на ключевые слова. Самое страшное – когда ASR неправильно распознает важную информацию: дату, время, сумму, адрес. Если робот переспрашивает «Вы сказали 1000 или 7000?» – это приемлемо. Если он молча записывает не ту сумму – это катастрофа.
Резюме для внедрения
– ASR – это уши вашего помощника. Без хорошего слуха самый умный мозг бесполезен.
– Используйте кастомные словари. Это самый простой и эффективный способ улучшить распознавание специфических терминов.
– Учитывайте акценты и шум. Выбирайте ASR, который обучен на разнообразной речи.
– Тестируйте на реальных клиентах. Не верьте демо-версиям, проверяйте на тех, кто будет реально звонить.
– Для старта используйте ASR, встроенный в вашу платформу. Если начнутся проблемы – подключайте Yandex SpeechKit или Salute Speech.
Теперь ваш помощник обрел и мозг, и голос, и слух. Он готов слышать клиентов, понимать их и красиво отвечать. В следующей главе мы наведем порядок в его «рабочем столе».