Распознавание речи с помощью Yandex SpeechKit Сloud — различия между версиями

Материал из Oktell
Перейти к: навигация, поиск
м
 
(не показано 45 промежуточных версии этого же участника)
Строка 5: Строка 5:
  
  
'''Yandex ASR Сloud''' – сервис для распознавания голосовых запросов на русском языке.  
+
[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]
  
Скачать шаблон договора (.doc)
 
Отправить заявку на подключение модуля: sheechkit@yandex-team.ru
 
  
 
Распознавание речи позволяет создавать системы автоматического обслуживания клиентов в тех случаях, когда <u>управление с помощью тонального набора неудобно</u>. В качестве примера можно рассмотреть сервис бронирования авиабилетов, который подразумевает выбор из большого числа городов. Тональное меню в таком сервисе не удобно, поэтому голосовое управление будет самым эффективным. Диалог между системой и абонентом может выглядеть следующим образом:
 
Распознавание речи позволяет создавать системы автоматического обслуживания клиентов в тех случаях, когда <u>управление с помощью тонального набора неудобно</u>. В качестве примера можно рассмотреть сервис бронирования авиабилетов, который подразумевает выбор из большого числа городов. Тональное меню в таком сервисе не удобно, поэтому голосовое управление будет самым эффективным. Диалог между системой и абонентом может выглядеть следующим образом:
Строка 40: Строка 40:
  
  
Для использования '''Yandex ASR Cloud''' в вашей системе выполните следующие действия:
+
<center><span style="color:lightblack">
 +
----
 +
'''''По вопросам реализации данной функции на базе вашей АТС, а также приобретения продуктов Oktell
  
 +
'''''обращайтесь в отдел продаж ООО "Телефонные Системы": +7 (495) 229-49-89, mail@oktell.ru.
 +
----
 +
</span></center>
  
'''Шаг 1.''' Для получения API-ключа отправьте e-mail на адрес speechkit@yandex-team.ru, с кратким описанием задачи, которую Вы собираетесь решать с помощью Yandex ASR Cloud.
 
  
Тестовый период (бесплатный) – 2 недели с момента получения ключа.
+
Для использования '''Yandex SpeechKit''' в вашей системе выполните следующие действия:
  
  
'''Шаг 2.''' Перейдите в '''Администрирование''' / '''Общие настройки''' / '''Распознавание речи Яндекс'''. Введите полученный ключ доступа в поле "'''Ключ доступа (key)'''"
+
'''Шаг 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 ASR Cloud. Позволяет распознавать речь как из заранее записанного файла, так и непосредственно из линии абонента. В примере, используется именно второй вариант. Рассмотрим настройки детальнее:
+
<u>Компонент "'''Распознавание речи'''"</u> - новый компонент в IVR-сценариях, использующий систему Yandex SpeechKit Cloud. Позволяет распознавать речь как из заранее записанного файла, так и непосредственно из линии абонента. В примере, используется именно второй вариант. Рассмотрим настройки детальнее:
* Режим - Распознавание может происходить сразу из речи абонента, либо из файла. В примере, используется режим "Запись".
+
* '''Режим''' - Распознавание может происходить сразу из речи абонента, либо из файла. В примере, используется режим "'''Запись'''".
* Символы прерывания - При нажатии на символ прерывания, файл отправится на распознавание в систему Yandex ASR Cloud. В примере, "'''*'''".
+
* '''Символы прерывания''' - При нажатии на символ прерывания, введенные символы запишутся в переменную. Распознавание производиться не будет. В примере "'''*'''".
* Буфер для DTMF - В компоненте можно ввести некоторое заданное количество DTMF-символов, аналогично компоненту "'''Преднабор'''", после чего компонент не будет распознавать текст, а вернет полученную строку. В примере, для введенных DTMF используется переменная '''number''' (строковая).  
+
* '''Буфер для DTMF''' - В компоненте можно ввести некоторое заданное количество DTMF-символов, аналогично компоненту "'''Преднабор'''", после чего компонент прекратит распознавать текст, а сразу вернет полученную строку. В примере для введенных DTMF используется переменная '''number''' (строковая).  
* Очистить буфер DTMF - Да. Переменная для буфера будет заранее очищена от предыдущих значений.  
+
* '''Очистить буфер DTMF''' - Если да, то переменная для буфера будет заранее очищена от предыдущих значений. В примере '''Да'''.
* Макс время записи, с - В течении заданного количества секунд абонент должен будет либо произнести фразу, либо ввести заданное количество DTMF-символов. В примере, 5 секунд.  
+
* '''Макс время записи, с''' - В течении заданного количества секунд абонент должен будет либо произнести фразу, либо ввести заданное количество DTMF-символов. В примере '''5''' секунд.  
* Количество символов - Необходимое количество DTMF-символов, которое нужно ввести. В примере, 3, так как предполагается, что в компании трехзначный номерной план  
+
* '''Количество символов''' - Необходимое количество DTMF-символов, которое нужно ввести. В примере, '''3''', так как предполагается, что в компании трехзначный номерной план  
* Сигнал окончания - Распознавание не всегда происходит мгновенно, рекомендуется сообщить абоненту, что его фраза обрабатывается. В примере, проигрывается файл "queue_!flash.wav".  
+
* '''Сигнал окончания''' - Сигнал, который будет воспроизведен после окончания распознавания. В примере, проигрывается файл "'''ding.wav'''".  
* Тема - настройка, отвечающая за тематику речи. В примере, freeform (общие фразы).
+
* '''Тема''' - настройка, отвечающая за тематику речи. Мы рекомендуем использовать '''queries'''. Эта тема применяется для поисковых запросов и коротких фраз (3–5 слов) на различную тематику, например "''а где ближайший банкомат''", "''мне нужно заблокировать карту''" или "''соедините меня с оператором''". В примере '''queries'''
* Предопределенные значения - компонент позволяет заранее предустановить код для распознанной фразы. В примере, это будут номера телефонов сотрудников. Таким образом, если будет произнесено "Директор" или "С директором", распознанному выражению будет присвоен код "401".  
+
* '''Предопределенные значения''' - компонент позволяет заранее предустановить код для распознанной фразы. В примере, это будут номера телефонов сотрудников. Таким образом, если будет произнесено "''Директор''" или "''С директором''", определится код ответа "'''401'''".  
* Текст в переменную - распознанный текст может быть присвоен переменной. В примере, переменная '''parse_bestText''' (строковая).
+
* '''Текст в переменную''' - распознанный текст может быть присвоен переменной. В примере, переменная '''parse_bestText''' (строковая).
* Код группировки в переменную - если распознанное выражение совпадает с каким-либо распознанным выражением, то вы можете сохранить этот код в переменную. В примере, переменная '''group''' (строковая).
+
* '''Код группировки в переменную''' - если распознанное выражение совпадает с каким-либо '''предопределенным значением''' (см. выше), то вы можете сохранить этот код в переменную. В примере, переменная '''group''' (строковая).
* Вероятность совпадения в переменную - выберите переменную для сохранения вероятности совпадения с одним из предопределенных выражений. В примере, переменная '''parse_bestConfidence''' (строковая)
+
* '''Вероятность совпадения в переменную''' - выберите переменную для сохранения вероятности совпадения с одним из предопределенных выражений. В примере, переменная '''parse_bestConfidence''' (строковая)
  
  
Строка 109: Строка 119:
  
  
<u>Компонент "'''Секретарь по умолчанию'''"</u> - если номер, на который нужно переключить не был ни введен ни распознан, то по умолчанию, звонок будет переключен на секретаря. Переменной '''number''' присваивается значение '''100'''.
+
<u>Компонент "'''Секретарь по умолчанию'''"</u> - если номер, на который нужно переключить не был ни введен, ни распознан, то по умолчанию, звонок будет переключен на секретаря. Переменной '''number''' присваивается значение '''100'''.
  
 
<u>Компонент "'''На секретаря'''"</u> - отладочное уведомление для администратора, которое показывает, что был присвоен номер по умолчанию.
 
<u>Компонент "'''На секретаря'''"</u> - отладочное уведомление для администратора, которое показывает, что был присвоен номер по умолчанию.
Строка 119: Строка 129:
  
  
'''Шаг.4.''' В модуле "'''Администрирование'''" - "'''Внутренние номера'''" добавьте внутренний номер с типом "'''Запуск IVR'''". Выберите IVR-сценарий '''Yandex_ASR_Cloud'''.  
+
'''Шаг.4.''' В модуле "'''Администрирование'''" - "'''Внутренние номера'''" добавьте внутренний номер с типом "'''Запуск IVR'''". Выберите IVR-сценарий '''Yandex_SpeechKit_Cloud'''.  
  
  
Строка 134: Строка 144:
  
 
'''Шаг 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 ASR Cloud.png


Yandex SpeechKit – сервис распознавания и синтеза речи платформы Яндекс.Облако, который позволяет оптимизировать обработку звонков абонентов с помощью голосового управления IVR сценариями. Работает на базе разработанной в Яндексе технологии распознавания речи

Это платный модуль, для использования которого необходимо заключить договор с Яндексом. Стоимость зависит от количества запросов в сутки. Ознакомьтесь с Правилами тарификации для Yandex SpeechKit

Документация по API распознавания и синтеза речи Yandex SpeechKit доступна на сайте Yandex SpeechKit


Распознавание речи позволяет создавать системы автоматического обслуживания клиентов в тех случаях, когда управление с помощью тонального набора неудобно. В качестве примера можно рассмотреть сервис бронирования авиабилетов, который подразумевает выбор из большого числа городов. Тональное меню в таком сервисе не удобно, поэтому голосовое управление будет самым эффективным. Диалог между системой и абонентом может выглядеть следующим образом:

Система: Здравствуйте. Куда вы хотите лететь?
Абонент: Казань
Система: Откуда вы хотите лететь?
Абонент: Москва
Система: Назовите дату вылета
Абонент: 10 апреля

Общение с таким голосовым порталом становится приближенным к обслуживанию оператором.

Распознавание голосовых запросов применяется во многих системах, например, для:

  • Голосовой навигации в многоуровневых меню IVR и автоматического соединения с нужным сотрудником
  • Распознавания адреса для доставки
  • Автоматической голосовой аутентификации пользователей при запросе персонализированной или конфиденциальной информации по телефону или через интернет
  • Справочной системы информационного обслуживания
  • Корпоративной системы голосового самообслуживания клиентов (запрос баланса, проверка лицевого счета, бронирование билетов)


Внедрение такой системы позволит автоматизировать определенные задачи по обработке входящих звонков, упростит взаимодействие клиента с системой и сократит суммарное время ожидания клиента на линии. Тем самым в вашей компании будут высвобождены значительные ресурсы операторов, что позволит распределить на другие не менее важные задачи.


Система распознавания речи, как правило, состоит из следующих частей:

  1. Запись сообщения от абонента
  2. Распознавание речи и прием текстовых данных от сервиса
  3. Анализ полученной информации и выполнение необходимых действий



По вопросам реализации данной функции на базе вашей АТС, а также приобретения продуктов 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-токен и Идентификатор каталога в соответствующие поля


Yandex ASR Cloud 001.png


Нажмите "Сохранить". Теперь вы можете использовать распознавание речи в сценариях.


Шаг 3. Для примера покажем простейшую маршрутизацию, основанную на распознавании речи. Сценарий выглядит следующим образом:


Yandex ASR Cloud 002.png


Компонент "Приветствие" - проигрывает приветственную фразу для абонента и спрашивает с кем он желает поговорить. В примере, для простоты, используется "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 (строковая)


Yandex ASR Cloud 003.png


Компонент "Результаты" - выводит на экран результаты работы компонента "Распознавание речи". Используется выражение

'Точность '+[parse_bestConfidence]+endline+
'Текст '+[parse_bestText]+endline+
'Код группировки '+[group]+endline+
'Введенный номер '+[number]

Все компоненты ниже отвечают за маршрутизацию звонка, на основании полученных результатов.

Компонент "Ввели номер?" - определяет была ли введена DTMF-последовательность (внутренний номер сотрудника).

  • Аргумент 1 - переменная number
  • Аргумент 2 - пустая строка
  • Тип сравнения - "="

Компонент "Определилась группа?" - если номер не был введен вручную с помощью DTMF, то проверяется определился ли код распознанного текста.

  • Аргумент 1 - переменная group
  • Аргумент 2 - пустая строка
  • Тип сравнения - "="

Компонент "number=group" - если код распознался, то переменной number присваивается значение переменной group.


Yandex ASR Cloud 005.png


Компонент "Секретарь по умолчанию" - если номер, на который нужно переключить не был ни введен, ни распознан, то по умолчанию, звонок будет переключен на секретаря. Переменной number присваивается значение 100.

Компонент "На секретаря" - отладочное уведомление для администратора, которое показывает, что был присвоен номер по умолчанию.

Компонент "Переключение на сотрудника" - компонент осуществляет переключение на сотрудника по номеру, определенному в переменной number.


Yandex ASR Cloud 007.png


Шаг.4. В модуле "Администрирование" - "Внутренние номера" добавьте внутренний номер с типом "Запуск IVR". Выберите IVR-сценарий Yandex_SpeechKit_Cloud.


Нажмите "Сохранить". Затем "Применить".


Yandex ASR Cloud 010.png


Шаг 5. При звонке на заданный номер, проговорите сообщение. В конце нажмите "*". Через несколько секунд появятся уведомления с распознанным текстом. Также можете проверить остальные случаи.

Информация для отладки: Все нераспознанные фразы рекомендуется сохраняться в отдельную таблицу, а затем включать в "Предопределенные значения". Тем самым, вы сможете распознавать большинство фраз, которые говорят ваши клиенты.


Шаг 6. Если Вас устраивает тест, Вы заключаете договор с Яндексом. Отчетный период начинается с даты подписания договора. Оплата происходит по окончанию отчетного периода на основании подписанного акта.

Скачать сценарий: Yandex_SpeechKit_Cloud.oscr

Описание компонента: Распознавание речи



По вопросам реализации данной функции на базе вашей АТС, а также приобретения продуктов Oktell

обращайтесь в отдел продаж ООО "Телефонные Системы": +7 (495) 229-49-89, mail@oktell.ru.