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

Материал из Oktell
Перейти к: навигация, поиск
Строка 63: Строка 63:
  
  
В сценарии '''Yandex_SpeechKit_Recognition_IVR''' в компоненте "'''Required params'''" определите следующие параметры:
+
<u>Компонент "'''Приветствие'''"</u> - проигрывает приветственную фразу для абонента и спрашивает с кем он желает поговорить. В примере, для простоты, используется "'''ding.wav'''".  
*'''uuid''' - уникальная строка для подключения. Поле позволяет идентифицировать пользователя для вашего аккаунта, который выполняет запрос. Вы можете использовать любые неповторяющиеся строки.
+
*'''Режим''' - Файл полностью
*'''key''' - API-ключ для подключения к сервису '''Yandex ASR Cloud'''.  
+
*'''Файл''' - ding.wav
*'''topic''' - тема голосового сообщения, параметр влияет на качество распознавания. Возможны 4 варианта:
+
**'''freeform''' - диктовка текста, СМС, email, заметки
+
**'''general''' - распознавание поисковых запросов и коротких фраз на различные тематики
+
**'''maps''' - распознавание адресов, названий организаций и различных географических объектов
+
**'''music''' - распознавание названий песен, исполнителей, групп
+
  
По умолчанию, в компоненте используются тестовые данные от разработчиков. После изменения данных, сохраните сценарий "'''На сервер'''".
+
<u>Компонент "'''Распознавание речи'''"</u> - новый компонент в IVR-сценариях, использующий систему Yandex ASR Cloud. Позволяет распознавать речь как из заранее записанного файла, так и непосредственно из линии абонента. В примере, используется именно второй вариант. Рассмотрим настройки детальнее:
 +
* Режим - Распознавание может происходить сразу из речи абонента, либо из файла. В примере, используется режим "Запись".
 +
* Символы прерывания - При нажатии на символ прерывания, файл отправится на распознавание в систему Yandex ASR Cloud. В примере, "'''*'''".
 +
* Буфер для DTMF - В компоненте можно ввести некоторое заданное количество DTMF-символов, аналогично компоненту "'''Преднабор'''", после чего компонент не будет распознавать текст, а вернет полученную строку. В примере, для введенных DTMF используется переменная '''number''' (строковая).
 +
* Очистить буфер DTMF - Да. Переменная для буфера будет заранее очищена от предыдущих значений.  
 +
* Макс время записи, с - В течении заданного количества секунд абонент должен будет либо произнести фразу, либо ввести заданное количество DTMF-символов. В примере, 5 секунд.
 +
* Количество символов - Необходимое количество DTMF-символов, которое нужно ввести. В примере, 3, так как предполагается, что в компании трехзначный номерной план
 +
* Сигнал окончания - Распознавание не всегда происходит мгновенно, рекомендуется сообщить абоненту, что его фраза обрабатывается. В примере, проигрывается файл "queue_!flash.wav".
 +
* Тема - настройка, отвечающая за тематику речи. В примере, freeform (общие фразы).
 +
* Предопределенные значения - компонент позволяет заранее предустановить код для распознанной фразы. В примере, это будут номера телефонов сотрудников. Таким образом, если будет произнесено "Директор" или "С директором", распознанному выражению будет присвоен код "401".
 +
* Текст в переменную - распознанный текст может быть присвоен переменной. В примере, переменная '''parse_bestText''' (строковая).
 +
* Код группировки в переменную - если распознанное выражение совпадает с каким-либо распознанным выражением, то вы можете сохранить этот код в переменную. В примере, переменная '''group''' (строковая).
 +
* Вероятность совпадения в переменную - выберите переменную для сохранения вероятности совпадения с одним из предопределенных выражений. В примере, переменная '''parse_bestConfidence''' (строковая)
  
 +
<u>Компонент "'''Результаты'''"</u> - выводит на экран результаты работы компонента "'''Распознавание речи'''". Используется выражение
 +
'Точность '+[parse_bestConfidence]+endline+
 +
'Текст '+[parse_bestText]+endline+
 +
'Код группировки '+[group]+endline+
 +
'Введенный номер '+[number]
  
 +
Все компоненты ниже отвечают за маршрутизацию звонка, на основании полученных результатов.
  
'''Шаг.4.''' В модуле "'''Администрирование'''" - "'''Внутренние номера'''" добавьте внутренний номер с типом "'''Запуск IVR'''". Выберите IVR-сценарий '''Yandex_SpeechKit_Recognition_main'''.
+
<u>Компонент "'''Ввели номер?'''"</u> - определяет была ли введена DTMF-последовательность (внутренний номер сотрудника).
 +
*Аргумент 1 - переменная '''number'''
 +
*Аргумент 2 - пустая строка
 +
*Тип сравнения - "'''='''"
  
 +
<u>Компонент "'''Определилась группа?'''"</u> - если номер не был введен вручную с помощью DTMF, то проверяется определился ли код распознанного текста.
 +
*Аргумент 1 - переменная '''group'''
 +
*Аргумент 2 - пустая строка
 +
*Тип сравнения - "'''='''"
  
[[Файл:Yandex SpeechKit Recognition -002.png|center]]
+
<u>Компонент "'''number=group'''"</u> - если код распознался, то переменной number присваивается значение переменной group.  
  
 +
<u>Компонент "'''Секретарь по умолчанию'''"</u> - если номер, на который нужно переключить не был ни введен ни распознан, то по умолчанию, звонок будет переключен на секретаря. Переменной '''number''' присваивается значение '''100'''.
  
Нажмите "'''Сохранить'''". Затем "'''Применить'''".
+
<u>Компонент "'''На секретаря'''"</u> - отладочное уведомление для администратора, которое показывает, что был присвоен номер по умолчанию.
  
 +
<u>Компонент "'''Переключение на сотрудника'''"</u> - компонент осуществляет переключение на сотрудника по номеру, определенному в переменной '''number'''.
  
'''Шаг 5.''' При звонке на заданный номер, проговорите сообщение. В конце нажмите "'''*'''". Через несколько секунд появятся уведомления с распознанным текстом.
 
  
 +
'''Шаг.4.''' В модуле "'''Администрирование'''" - "'''Внутренние номера'''" добавьте внутренний номер с типом "'''Запуск IVR'''". Выберите IVR-сценарий '''Yandex_ASR_Cloud'''.
  
[[Файл:Yandex SpeechKit Recognition -003.png|center]]
 
  
 
+
Нажмите "'''Сохранить'''". Затем "'''Применить'''".
Полученный текст передается в переменной '''parse_bestText''', которую затем можно проанализировать и выполнить необходимые действия. Используйте пример '''Yandex_SpeechKit_Recognition_main''' для использования сервиса распознавания в главном сценарии.
+
  
  
'''Шаг 6.''' Если Вас устраивает тест, Вы заключаете договор с Яндексом. Отчетный период начинается с даты подписания договора. Оплата происходит по окончанию отчетного периода на основании подписанного акта.  
+
'''Шаг 5.''' При звонке на заданный номер, проговорите сообщение. В конце нажмите "'''*'''". Через несколько секунд появятся уведомления с распознанным текстом. Также можете проверить остальные случаи.  
  
  
<u>Дополнение:</u> Также вы можете скачать служебный сценарий интеграции с системой '''Yandex SpeechKit'''. Сценарий может использоваться для off-line распознавания голосовых файлов. На вход сценария необходимо передать путь к файлу с записью.
+
'''Шаг 6.''' Если Вас устраивает тест, Вы заключаете договор с Яндексом. Отчетный период начинается с даты подписания договора. Оплата происходит по окончанию отчетного периода на основании подписанного акта.

Версия 06:45, 3 июля 2014

Наверх


Yandex ASR Cloud.png


Yandex ASR Сloud – сервис для распознавания голосовых запросов на русском языке.

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

Скачать шаблон договора (.doc)
Отправить заявку на подключение модуля: sheechkit@yandex-team.ru 

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

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

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

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

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


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


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

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


Для использования Yandex ASR Cloud в вашей системе выполните следующие действия:


Шаг 1. Для получения API-ключа отправьте e-mail на адрес speechkit@yandex-team.ru, с кратким описанием задачи, которую Вы собираетесь решать с помощью Yandex ASR Cloud.

Тестовый период (бесплатный) – 2 недели с момента получения ключа.


Шаг 2. Перейдите в Администрирование / Общие настройки / Распознавание речи Яндекс. Введите полученный ключ доступа в поле "Ключ доступа (key)"


Yandex ASR Cloud 001.png


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


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


Yandex ASR Cloud 002.png


Компонент "Приветствие" - проигрывает приветственную фразу для абонента и спрашивает с кем он желает поговорить. В примере, для простоты, используется "ding.wav".

  • Режим - Файл полностью
  • Файл - ding.wav

Компонент "Распознавание речи" - новый компонент в IVR-сценариях, использующий систему Yandex ASR Cloud. Позволяет распознавать речь как из заранее записанного файла, так и непосредственно из линии абонента. В примере, используется именно второй вариант. Рассмотрим настройки детальнее:

  • Режим - Распознавание может происходить сразу из речи абонента, либо из файла. В примере, используется режим "Запись".
  • Символы прерывания - При нажатии на символ прерывания, файл отправится на распознавание в систему Yandex ASR Cloud. В примере, "*".
  • Буфер для DTMF - В компоненте можно ввести некоторое заданное количество DTMF-символов, аналогично компоненту "Преднабор", после чего компонент не будет распознавать текст, а вернет полученную строку. В примере, для введенных DTMF используется переменная number (строковая).
  • Очистить буфер DTMF - Да. Переменная для буфера будет заранее очищена от предыдущих значений.
  • Макс время записи, с - В течении заданного количества секунд абонент должен будет либо произнести фразу, либо ввести заданное количество DTMF-символов. В примере, 5 секунд.
  • Количество символов - Необходимое количество DTMF-символов, которое нужно ввести. В примере, 3, так как предполагается, что в компании трехзначный номерной план
  • Сигнал окончания - Распознавание не всегда происходит мгновенно, рекомендуется сообщить абоненту, что его фраза обрабатывается. В примере, проигрывается файл "queue_!flash.wav".
  • Тема - настройка, отвечающая за тематику речи. В примере, freeform (общие фразы).
  • Предопределенные значения - компонент позволяет заранее предустановить код для распознанной фразы. В примере, это будут номера телефонов сотрудников. Таким образом, если будет произнесено "Директор" или "С директором", распознанному выражению будет присвоен код "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_ASR_Cloud.


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


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


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