Распознавание речи с помощью Yandex SpeechKit Сloud — различия между версиями
м |
|||
(не показано 47 промежуточных версии этого же участника) | |||
Строка 5: | Строка 5: | ||
− | '''Yandex | + | [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>. В качестве примера можно рассмотреть сервис бронирования авиабилетов, который подразумевает выбор из большого числа городов. Тональное меню в таком сервисе не удобно, поэтому голосовое управление будет самым эффективным. Диалог между системой и абонентом может выглядеть следующим образом: | Распознавание речи позволяет создавать системы автоматического обслуживания клиентов в тех случаях, когда <u>управление с помощью тонального набора неудобно</u>. В качестве примера можно рассмотреть сервис бронирования авиабилетов, который подразумевает выбор из большого числа городов. Тональное меню в таком сервисе не удобно, поэтому голосовое управление будет самым эффективным. Диалог между системой и абонентом может выглядеть следующим образом: | ||
Строка 40: | Строка 40: | ||
− | + | <center><span style="color:lightblack"> | |
+ | ---- | ||
+ | '''''По вопросам реализации данной функции на базе вашей АТС, а также приобретения продуктов Oktell | ||
+ | '''''обращайтесь в отдел продаж ООО "Телефонные Системы": +7 (495) 229-49-89, mail@oktell.ru. | ||
+ | ---- | ||
+ | </span></center> | ||
− | |||
− | + | Для использования '''Yandex SpeechKit''' в вашей системе выполните следующие действия: | |
− | '''Шаг 2.''' Перейдите в '''Администрирование''' / '''Общие настройки''' / '''Распознавание речи | + | '''Шаг 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-токен''' и '''Идентификатор каталога''' в соответствующие поля | ||
Строка 67: | Строка 77: | ||
*'''Файл''' - ding.wav | *'''Файл''' - ding.wav | ||
− | <u>Компонент "'''Распознавание речи'''"</u> - новый компонент в IVR-сценариях, использующий систему Yandex | + | <u>Компонент "'''Распознавание речи'''"</u> - новый компонент в IVR-сценариях, использующий систему Yandex SpeechKit Cloud. Позволяет распознавать речь как из заранее записанного файла, так и непосредственно из линии абонента. В примере, используется именно второй вариант. Рассмотрим настройки детальнее: |
− | * Режим - Распознавание может происходить сразу из речи абонента, либо из файла. В примере, используется режим "Запись". | + | * '''Режим''' - Распознавание может происходить сразу из речи абонента, либо из файла. В примере, используется режим "'''Запись'''". |
− | * Символы прерывания - При нажатии на символ прерывания, | + | * '''Символы прерывания''' - При нажатии на символ прерывания, введенные символы запишутся в переменную. Распознавание производиться не будет. В примере "'''*'''". |
− | * Буфер для DTMF - В компоненте можно ввести некоторое заданное количество DTMF-символов, аналогично компоненту "'''Преднабор'''", после чего компонент | + | * '''Буфер для DTMF''' - В компоненте можно ввести некоторое заданное количество DTMF-символов, аналогично компоненту "'''Преднабор'''", после чего компонент прекратит распознавать текст, а сразу вернет полученную строку. В примере для введенных DTMF используется переменная '''number''' (строковая). |
− | * Очистить буфер DTMF - | + | * '''Очистить буфер DTMF''' - Если да, то переменная для буфера будет заранее очищена от предыдущих значений. В примере '''Да'''. |
− | * Макс время записи, с - В течении заданного количества секунд абонент должен будет либо произнести фразу, либо ввести заданное количество DTMF-символов. В примере | + | * '''Макс время записи, с''' - В течении заданного количества секунд абонент должен будет либо произнести фразу, либо ввести заданное количество DTMF-символов. В примере '''5''' секунд. |
− | * Количество символов - Необходимое количество DTMF-символов, которое нужно ввести. В примере, 3, так как предполагается, что в компании трехзначный номерной план | + | * '''Количество символов''' - Необходимое количество DTMF-символов, которое нужно ввести. В примере, '''3''', так как предполагается, что в компании трехзначный номерной план |
− | * Сигнал окончания - | + | * '''Сигнал окончания''' - Сигнал, который будет воспроизведен после окончания распознавания. В примере, проигрывается файл "'''ding.wav'''". |
− | * Тема - настройка, отвечающая за тематику речи. | + | * '''Тема''' - настройка, отвечающая за тематику речи. Мы рекомендуем использовать '''queries'''. Эта тема применяется для поисковых запросов и коротких фраз (3–5 слов) на различную тематику, например "''а где ближайший банкомат''", "''мне нужно заблокировать карту''" или "''соедините меня с оператором''". В примере '''queries''' |
− | * Предопределенные значения - компонент позволяет заранее предустановить код для распознанной фразы. В примере, это будут номера телефонов сотрудников. Таким образом, если будет произнесено "Директор" или "С директором", | + | * '''Предопределенные значения''' - компонент позволяет заранее предустановить код для распознанной фразы. В примере, это будут номера телефонов сотрудников. Таким образом, если будет произнесено "''Директор''" или "''С директором''", определится код ответа "'''401'''". |
− | * Текст в переменную - распознанный текст может быть присвоен переменной. В примере, переменная '''parse_bestText''' (строковая). | + | * '''Текст в переменную''' - распознанный текст может быть присвоен переменной. В примере, переменная '''parse_bestText''' (строковая). |
− | * Код группировки в переменную - если распознанное выражение совпадает с каким-либо | + | * '''Код группировки в переменную''' - если распознанное выражение совпадает с каким-либо '''предопределенным значением''' (см. выше), то вы можете сохранить этот код в переменную. В примере, переменная '''group''' (строковая). |
− | * Вероятность совпадения в переменную - выберите переменную для сохранения вероятности совпадения с одним из предопределенных выражений. В примере, переменная '''parse_bestConfidence''' (строковая) | + | * '''Вероятность совпадения в переменную''' - выберите переменную для сохранения вероятности совпадения с одним из предопределенных выражений. В примере, переменная '''parse_bestConfidence''' (строковая) |
Строка 106: | Строка 116: | ||
− | [[Файл:Yandex ASR Cloud 005.png|center | + | [[Файл:Yandex ASR Cloud 005.png|center]] |
− | <u>Компонент "'''Секретарь по умолчанию'''"</u> - если номер, на который нужно переключить не был ни введен ни распознан, то по умолчанию, звонок будет переключен на секретаря. Переменной '''number''' присваивается значение '''100'''. | + | <u>Компонент "'''Секретарь по умолчанию'''"</u> - если номер, на который нужно переключить не был ни введен, ни распознан, то по умолчанию, звонок будет переключен на секретаря. Переменной '''number''' присваивается значение '''100'''. |
<u>Компонент "'''На секретаря'''"</u> - отладочное уведомление для администратора, которое показывает, что был присвоен номер по умолчанию. | <u>Компонент "'''На секретаря'''"</u> - отладочное уведомление для администратора, которое показывает, что был присвоен номер по умолчанию. | ||
Строка 116: | Строка 126: | ||
− | [[Файл:Yandex ASR Cloud 007.png|center | + | [[Файл:Yandex ASR Cloud 007.png|center]] |
− | '''Шаг.4.''' В модуле "'''Администрирование'''" - "'''Внутренние номера'''" добавьте внутренний номер с типом "'''Запуск IVR'''". Выберите IVR-сценарий ''' | + | '''Шаг.4.''' В модуле "'''Администрирование'''" - "'''Внутренние номера'''" добавьте внутренний номер с типом "'''Запуск IVR'''". Выберите IVR-сценарий '''Yandex_SpeechKit_Cloud'''. |
Строка 129: | Строка 139: | ||
'''Шаг 5.''' При звонке на заданный номер, проговорите сообщение. В конце нажмите "'''*'''". Через несколько секунд появятся уведомления с распознанным текстом. Также можете проверить остальные случаи. | '''Шаг 5.''' При звонке на заданный номер, проговорите сообщение. В конце нажмите "'''*'''". Через несколько секунд появятся уведомления с распознанным текстом. Также можете проверить остальные случаи. | ||
+ | |||
+ | '''Информация для отладки:''' Все нераспознанные фразы рекомендуется сохраняться в отдельную таблицу, а затем включать в "'''Предопределенные значения'''". Тем самым, вы сможете распознавать большинство фраз, которые говорят ваши клиенты. | ||
'''Шаг 6.''' Если Вас устраивает тест, Вы заключаете договор с Яндексом. Отчетный период начинается с даты подписания договора. Оплата происходит по окончанию отчетного периода на основании подписанного акта. | '''Шаг 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.