Распознавание речи с помощью Yandex SpeechKit Сloud — различия между версиями
м |
|||
(не показаны 62 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
[[Практики|Наверх]] | [[Практики|Наверх]] | ||
− | |||
− | Распознавание речи позволяет создавать системы автоматического обслуживания клиентов в тех случаях, когда <u> | + | [[Файл:Yandex_ASR_Cloud.png|500px]] |
+ | |||
+ | |||
+ | [https://cloud.yandex.ru/services/speechkit '''Yandex SpeechKit '''] – сервис распознавания и синтеза речи платформы Яндекс.Облако, который позволяет оптимизировать обработку звонков абонентов с помощью голосового управления IVR сценариями. Работает на базе разработанной в Яндексе технологии распознавания речи | ||
+ | |||
+ | Это платный модуль, для использования которого необходимо заключить договор с Яндексом. Стоимость зависит от количества запросов в сутки. Ознакомьтесь с [https://cloud.yandex.ru/docs/speechkit/pricing Правилами тарификации для Yandex SpeechKit] | ||
+ | |||
+ | Документация по API распознавания и синтеза речи Yandex SpeechKit доступна на сайте [https://cloud.yandex.ru/docs/speechkit/ Yandex SpeechKit] | ||
+ | |||
+ | |||
+ | Распознавание речи позволяет создавать системы автоматического обслуживания клиентов в тех случаях, когда <u>управление с помощью тонального набора неудобно</u>. В качестве примера можно рассмотреть сервис бронирования авиабилетов, который подразумевает выбор из большого числа городов. Тональное меню в таком сервисе не удобно, поэтому голосовое управление будет самым эффективным. Диалог между системой и абонентом может выглядеть следующим образом: | ||
<span style="color:darkred">Система:</span> Здравствуйте. Куда вы хотите лететь? | <span style="color:darkred">Система:</span> Здравствуйте. Куда вы хотите лететь? | ||
Строка 14: | Строка 23: | ||
Общение с таким голосовым порталом становится приближенным к обслуживанию оператором. | Общение с таким голосовым порталом становится приближенным к обслуживанию оператором. | ||
− | + | Распознавание голосовых запросов применяется во многих системах, например, для: | |
* Голосовой навигации в многоуровневых меню IVR и автоматического соединения с нужным сотрудником | * Голосовой навигации в многоуровневых меню IVR и автоматического соединения с нужным сотрудником | ||
* Распознавания адреса для доставки | * Распознавания адреса для доставки | ||
Строка 20: | Строка 29: | ||
* Справочной системы информационного обслуживания | * Справочной системы информационного обслуживания | ||
* Корпоративной системы голосового самообслуживания клиентов (запрос баланса, проверка лицевого счета, бронирование билетов) | * Корпоративной системы голосового самообслуживания клиентов (запрос баланса, проверка лицевого счета, бронирование билетов) | ||
+ | |||
+ | |||
+ | Внедрение такой системы позволит автоматизировать определенные задачи по обработке входящих звонков, упростит взаимодействие клиента с системой и сократит суммарное время ожидания клиента на линии. Тем самым в вашей компании будут высвобождены значительные ресурсы операторов, что позволит распределить на другие не менее важные задачи. | ||
Система распознавания речи, как правило, состоит из следующих частей: | Система распознавания речи, как правило, состоит из следующих частей: | ||
− | + | # Запись сообщения от абонента | |
− | + | # Распознавание речи и прием текстовых данных от сервиса | |
− | + | # Анализ полученной информации и выполнение необходимых действий | |
+ | |||
+ | |||
+ | <center><span style="color:lightblack"> | ||
+ | ---- | ||
+ | '''''По вопросам реализации данной функции на базе вашей АТС, а также приобретения продуктов Oktell | ||
+ | |||
+ | '''''обращайтесь в отдел продаж ООО "Телефонные Системы": +7 (495) 229-49-89, mail@oktell.ru. | ||
+ | ---- | ||
+ | </span></center> | ||
Строка 31: | Строка 52: | ||
− | '''Шаг 1.''' | + | '''Шаг 1.''' Получить авторизационные данные на использование сервиса Yandex SpeechKit. |
+ | * Выполните шаги 1-5 [https://cloud.yandex.ru/docs/speechkit/concepts/auth инструкции] по авторизации в API для получения идентификатора каталога | ||
+ | * [https://passport.yandex.ru/auth Войдите] в ваш аккаунт на Яндексе или Яндекс.Коннекте | ||
+ | * Получите OAuth-токен в сервисе Яндекс.OAuth. Для этого перейдите по [https://oauth.yandex.ru/authorize?response_type=token&client_id=1a6990aa636648e9b2ef855fa7bec2fb ссылке], нажмите '''Разрешить''' и скопируйте полученный OAuth-токен. | ||
− | |||
− | + | '''Шаг 2.''' Перейдите в '''Администрирование''' / '''Общие настройки''' / '''Распознавание речи Yandex SpeechKit Cloud'''. Введите полученные значения '''OAuth-токен''' и '''Идентификатор каталога''' в соответствующие поля | |
− | + | ||
− | + | ||
− | |||
+ | [[Файл:Yandex ASR Cloud 001.png|center|600px]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Нажмите "'''Сохранить'''". Теперь вы можете использовать распознавание речи в сценариях. | |
− | + | '''Шаг 3.''' Для примера покажем простейшую маршрутизацию, основанную на распознавании речи. Сценарий выглядит следующим образом: | |
+ | [[Файл:Yandex ASR Cloud 002.png|center]] | ||
− | |||
+ | <u>Компонент "'''Приветствие'''"</u> - проигрывает приветственную фразу для абонента и спрашивает с кем он желает поговорить. В примере, для простоты, используется "'''ding.wav'''". | ||
+ | *'''Режим''' - Файл полностью | ||
+ | *'''Файл''' - ding.wav | ||
− | [[Файл:Yandex | + | <u>Компонент "'''Распознавание речи'''"</u> - новый компонент в IVR-сценариях, использующий систему Yandex SpeechKit Cloud. Позволяет распознавать речь как из заранее записанного файла, так и непосредственно из линии абонента. В примере, используется именно второй вариант. Рассмотрим настройки детальнее: |
+ | * '''Режим''' - Распознавание может происходить сразу из речи абонента, либо из файла. В примере, используется режим "'''Запись'''". | ||
+ | * '''Символы прерывания''' - При нажатии на символ прерывания, введенные символы запишутся в переменную. Распознавание производиться не будет. В примере "'''*'''". | ||
+ | * '''Буфер для DTMF''' - В компоненте можно ввести некоторое заданное количество DTMF-символов, аналогично компоненту "'''Преднабор'''", после чего компонент прекратит распознавать текст, а сразу вернет полученную строку. В примере для введенных DTMF используется переменная '''number''' (строковая). | ||
+ | * '''Очистить буфер DTMF''' - Если да, то переменная для буфера будет заранее очищена от предыдущих значений. В примере '''Да'''. | ||
+ | * '''Макс время записи, с''' - В течении заданного количества секунд абонент должен будет либо произнести фразу, либо ввести заданное количество DTMF-символов. В примере '''5''' секунд. | ||
+ | * '''Количество символов''' - Необходимое количество DTMF-символов, которое нужно ввести. В примере, '''3''', так как предполагается, что в компании трехзначный номерной план | ||
+ | * '''Сигнал окончания''' - Сигнал, который будет воспроизведен после окончания распознавания. В примере, проигрывается файл "'''ding.wav'''". | ||
+ | * '''Тема''' - настройка, отвечающая за тематику речи. Мы рекомендуем использовать '''queries'''. Эта тема применяется для поисковых запросов и коротких фраз (3–5 слов) на различную тематику, например "''а где ближайший банкомат''", "''мне нужно заблокировать карту''" или "''соедините меня с оператором''". В примере '''queries''' | ||
+ | * '''Предопределенные значения''' - компонент позволяет заранее предустановить код для распознанной фразы. В примере, это будут номера телефонов сотрудников. Таким образом, если будет произнесено "''Директор''" или "''С директором''", определится код ответа "'''401'''". | ||
+ | * '''Текст в переменную''' - распознанный текст может быть присвоен переменной. В примере, переменная '''parse_bestText''' (строковая). | ||
+ | * '''Код группировки в переменную''' - если распознанное выражение совпадает с каким-либо '''предопределенным значением''' (см. выше), то вы можете сохранить этот код в переменную. В примере, переменная '''group''' (строковая). | ||
+ | * '''Вероятность совпадения в переменную''' - выберите переменную для сохранения вероятности совпадения с одним из предопределенных выражений. В примере, переменная '''parse_bestConfidence''' (строковая) | ||
+ | |||
+ | |||
+ | [[Файл:Yandex ASR Cloud 003.png|center]] | ||
+ | |||
+ | |||
+ | <u>Компонент "'''Результаты'''"</u> - выводит на экран результаты работы компонента "'''Распознавание речи'''". Используется выражение | ||
+ | 'Точность '+[parse_bestConfidence]+endline+ | ||
+ | 'Текст '+[parse_bestText]+endline+ | ||
+ | 'Код группировки '+[group]+endline+ | ||
+ | 'Введенный номер '+[number] | ||
+ | |||
+ | Все компоненты ниже отвечают за маршрутизацию звонка, на основании полученных результатов. | ||
+ | |||
+ | <u>Компонент "'''Ввели номер?'''"</u> - определяет была ли введена DTMF-последовательность (внутренний номер сотрудника). | ||
+ | *Аргумент 1 - переменная '''number''' | ||
+ | *Аргумент 2 - пустая строка | ||
+ | *Тип сравнения - "'''='''" | ||
+ | |||
+ | <u>Компонент "'''Определилась группа?'''"</u> - если номер не был введен вручную с помощью DTMF, то проверяется определился ли код распознанного текста. | ||
+ | *Аргумент 1 - переменная '''group''' | ||
+ | *Аргумент 2 - пустая строка | ||
+ | *Тип сравнения - "'''='''" | ||
+ | |||
+ | <u>Компонент "'''number=group'''"</u> - если код распознался, то переменной number присваивается значение переменной group. | ||
+ | |||
+ | |||
+ | [[Файл:Yandex ASR Cloud 005.png|center]] | ||
+ | |||
+ | |||
+ | <u>Компонент "'''Секретарь по умолчанию'''"</u> - если номер, на который нужно переключить не был ни введен, ни распознан, то по умолчанию, звонок будет переключен на секретаря. Переменной '''number''' присваивается значение '''100'''. | ||
+ | |||
+ | <u>Компонент "'''На секретаря'''"</u> - отладочное уведомление для администратора, которое показывает, что был присвоен номер по умолчанию. | ||
+ | |||
+ | <u>Компонент "'''Переключение на сотрудника'''"</u> - компонент осуществляет переключение на сотрудника по номеру, определенному в переменной '''number'''. | ||
+ | |||
+ | |||
+ | [[Файл:Yandex ASR Cloud 007.png|center]] | ||
+ | |||
+ | |||
+ | '''Шаг.4.''' В модуле "'''Администрирование'''" - "'''Внутренние номера'''" добавьте внутренний номер с типом "'''Запуск IVR'''". Выберите IVR-сценарий '''Yandex_SpeechKit_Cloud'''. | ||
Строка 67: | Строка 135: | ||
− | '''Шаг | + | [[Файл:Yandex ASR Cloud 010.png|center|600px]] |
+ | |||
+ | |||
+ | '''Шаг 5.''' При звонке на заданный номер, проговорите сообщение. В конце нажмите "'''*'''". Через несколько секунд появятся уведомления с распознанным текстом. Также можете проверить остальные случаи. | ||
+ | |||
+ | '''Информация для отладки:''' Все нераспознанные фразы рекомендуется сохраняться в отдельную таблицу, а затем включать в "'''Предопределенные значения'''". Тем самым, вы сможете распознавать большинство фраз, которые говорят ваши клиенты. | ||
+ | |||
+ | '''Шаг 6.''' Если Вас устраивает тест, Вы заключаете договор с Яндексом. Отчетный период начинается с даты подписания договора. Оплата происходит по окончанию отчетного периода на основании подписанного акта. | ||
− | [[ | + | '''Скачать сценарий:''' [[Media:Yandex_SpeechKit_Cloud.oscr|Yandex_SpeechKit_Cloud.oscr]] |
+ | '''Описание компонента:''' [[Компоненты_сценариев_IVR#.D0.A0.D0.B0.D1.81.D0.BF.D0.BE.D0.B7.D0.BD.D0.B0.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D1.80.D0.B5.D1.87.D0.B8|Распознавание речи]] | ||
− | |||
− | < | + | <center><span style="color:lightblack"> |
+ | ---- | ||
+ | '''''По вопросам реализации данной функции на базе вашей АТС, а также приобретения продуктов Oktell | ||
− | ''' | + | '''''обращайтесь в отдел продаж ООО "Телефонные Системы": +7 (495) 229-49-89, mail@oktell.ru. |
+ | ---- | ||
+ | </span></center> |
Текущая версия на 11:30, 31 марта 2023
Yandex SpeechKit – сервис распознавания и синтеза речи платформы Яндекс.Облако, который позволяет оптимизировать обработку звонков абонентов с помощью голосового управления IVR сценариями. Работает на базе разработанной в Яндексе технологии распознавания речи
Это платный модуль, для использования которого необходимо заключить договор с Яндексом. Стоимость зависит от количества запросов в сутки. Ознакомьтесь с Правилами тарификации для Yandex SpeechKit
Документация по API распознавания и синтеза речи Yandex SpeechKit доступна на сайте Yandex SpeechKit
Распознавание речи позволяет создавать системы автоматического обслуживания клиентов в тех случаях, когда управление с помощью тонального набора неудобно. В качестве примера можно рассмотреть сервис бронирования авиабилетов, который подразумевает выбор из большого числа городов. Тональное меню в таком сервисе не удобно, поэтому голосовое управление будет самым эффективным. Диалог между системой и абонентом может выглядеть следующим образом:
Система: Здравствуйте. Куда вы хотите лететь? Абонент: Казань Система: Откуда вы хотите лететь? Абонент: Москва Система: Назовите дату вылета Абонент: 10 апреля
Общение с таким голосовым порталом становится приближенным к обслуживанию оператором.
Распознавание голосовых запросов применяется во многих системах, например, для:
- Голосовой навигации в многоуровневых меню IVR и автоматического соединения с нужным сотрудником
- Распознавания адреса для доставки
- Автоматической голосовой аутентификации пользователей при запросе персонализированной или конфиденциальной информации по телефону или через интернет
- Справочной системы информационного обслуживания
- Корпоративной системы голосового самообслуживания клиентов (запрос баланса, проверка лицевого счета, бронирование билетов)
Внедрение такой системы позволит автоматизировать определенные задачи по обработке входящих звонков, упростит взаимодействие клиента с системой и сократит суммарное время ожидания клиента на линии. Тем самым в вашей компании будут высвобождены значительные ресурсы операторов, что позволит распределить на другие не менее важные задачи.
Система распознавания речи, как правило, состоит из следующих частей:
- Запись сообщения от абонента
- Распознавание речи и прием текстовых данных от сервиса
- Анализ полученной информации и выполнение необходимых действий
По вопросам реализации данной функции на базе вашей АТС, а также приобретения продуктов Oktell
обращайтесь в отдел продаж ООО "Телефонные Системы": +7 (495) 229-49-89, mail@oktell.ru.
Для использования Yandex SpeechKit в вашей системе выполните следующие действия:
Шаг 1. Получить авторизационные данные на использование сервиса Yandex SpeechKit.
- Выполните шаги 1-5 инструкции по авторизации в API для получения идентификатора каталога
- Войдите в ваш аккаунт на Яндексе или Яндекс.Коннекте
- Получите OAuth-токен в сервисе Яндекс.OAuth. Для этого перейдите по ссылке, нажмите Разрешить и скопируйте полученный OAuth-токен.
Шаг 2. Перейдите в Администрирование / Общие настройки / Распознавание речи Yandex SpeechKit Cloud. Введите полученные значения OAuth-токен и Идентификатор каталога в соответствующие поля
Нажмите "Сохранить". Теперь вы можете использовать распознавание речи в сценариях.
Шаг 3. Для примера покажем простейшую маршрутизацию, основанную на распознавании речи. Сценарий выглядит следующим образом:
Компонент "Приветствие" - проигрывает приветственную фразу для абонента и спрашивает с кем он желает поговорить. В примере, для простоты, используется "ding.wav".
- Режим - Файл полностью
- Файл - ding.wav
Компонент "Распознавание речи" - новый компонент в IVR-сценариях, использующий систему Yandex SpeechKit Cloud. Позволяет распознавать речь как из заранее записанного файла, так и непосредственно из линии абонента. В примере, используется именно второй вариант. Рассмотрим настройки детальнее:
- Режим - Распознавание может происходить сразу из речи абонента, либо из файла. В примере, используется режим "Запись".
- Символы прерывания - При нажатии на символ прерывания, введенные символы запишутся в переменную. Распознавание производиться не будет. В примере "*".
- Буфер для DTMF - В компоненте можно ввести некоторое заданное количество DTMF-символов, аналогично компоненту "Преднабор", после чего компонент прекратит распознавать текст, а сразу вернет полученную строку. В примере для введенных DTMF используется переменная number (строковая).
- Очистить буфер DTMF - Если да, то переменная для буфера будет заранее очищена от предыдущих значений. В примере Да.
- Макс время записи, с - В течении заданного количества секунд абонент должен будет либо произнести фразу, либо ввести заданное количество DTMF-символов. В примере 5 секунд.
- Количество символов - Необходимое количество DTMF-символов, которое нужно ввести. В примере, 3, так как предполагается, что в компании трехзначный номерной план
- Сигнал окончания - Сигнал, который будет воспроизведен после окончания распознавания. В примере, проигрывается файл "ding.wav".
- Тема - настройка, отвечающая за тематику речи. Мы рекомендуем использовать queries. Эта тема применяется для поисковых запросов и коротких фраз (3–5 слов) на различную тематику, например "а где ближайший банкомат", "мне нужно заблокировать карту" или "соедините меня с оператором". В примере queries
- Предопределенные значения - компонент позволяет заранее предустановить код для распознанной фразы. В примере, это будут номера телефонов сотрудников. Таким образом, если будет произнесено "Директор" или "С директором", определится код ответа "401".
- Текст в переменную - распознанный текст может быть присвоен переменной. В примере, переменная parse_bestText (строковая).
- Код группировки в переменную - если распознанное выражение совпадает с каким-либо предопределенным значением (см. выше), то вы можете сохранить этот код в переменную. В примере, переменная group (строковая).
- Вероятность совпадения в переменную - выберите переменную для сохранения вероятности совпадения с одним из предопределенных выражений. В примере, переменная parse_bestConfidence (строковая)
Компонент "Результаты" - выводит на экран результаты работы компонента "Распознавание речи". Используется выражение
'Точность '+[parse_bestConfidence]+endline+ 'Текст '+[parse_bestText]+endline+ 'Код группировки '+[group]+endline+ 'Введенный номер '+[number]
Все компоненты ниже отвечают за маршрутизацию звонка, на основании полученных результатов.
Компонент "Ввели номер?" - определяет была ли введена DTMF-последовательность (внутренний номер сотрудника).
- Аргумент 1 - переменная number
- Аргумент 2 - пустая строка
- Тип сравнения - "="
Компонент "Определилась группа?" - если номер не был введен вручную с помощью DTMF, то проверяется определился ли код распознанного текста.
- Аргумент 1 - переменная group
- Аргумент 2 - пустая строка
- Тип сравнения - "="
Компонент "number=group" - если код распознался, то переменной number присваивается значение переменной group.
Компонент "Секретарь по умолчанию" - если номер, на который нужно переключить не был ни введен, ни распознан, то по умолчанию, звонок будет переключен на секретаря. Переменной number присваивается значение 100.
Компонент "На секретаря" - отладочное уведомление для администратора, которое показывает, что был присвоен номер по умолчанию.
Компонент "Переключение на сотрудника" - компонент осуществляет переключение на сотрудника по номеру, определенному в переменной number.
Шаг.4. В модуле "Администрирование" - "Внутренние номера" добавьте внутренний номер с типом "Запуск IVR". Выберите IVR-сценарий Yandex_SpeechKit_Cloud.
Нажмите "Сохранить". Затем "Применить".
Шаг 5. При звонке на заданный номер, проговорите сообщение. В конце нажмите "*". Через несколько секунд появятся уведомления с распознанным текстом. Также можете проверить остальные случаи.
Информация для отладки: Все нераспознанные фразы рекомендуется сохраняться в отдельную таблицу, а затем включать в "Предопределенные значения". Тем самым, вы сможете распознавать большинство фраз, которые говорят ваши клиенты.
Шаг 6. Если Вас устраивает тест, Вы заключаете договор с Яндексом. Отчетный период начинается с даты подписания договора. Оплата происходит по окончанию отчетного периода на основании подписанного акта.
Скачать сценарий: Yandex_SpeechKit_Cloud.oscr
Описание компонента: Распознавание речи
По вопросам реализации данной функции на базе вашей АТС, а также приобретения продуктов Oktell
обращайтесь в отдел продаж ООО "Телефонные Системы": +7 (495) 229-49-89, mail@oktell.ru.