Улучшенный алгоритм распознавания с помощью Yandex SpeechKit Cloud

Материал из Oktell
Перейти к: навигация, поиск

Наверх


Введение

В данной статье показывается пример улучшения анализа распознанной речи с помощью сервиса выделения смысла.

На данный момент анализ текста проводится в компоненте "Распознавание речи" с помощью свойства "Предопределенные значения". Это может быть неудобным для анализа длинных выражений, так как чтобы получить код группы должно быть полное совпадение распознанного выражения с одним из предопределенных. Например, чтобы соединиться с инженерами техподдержкой, клиент может сказать:

  • Соедините меня с отделом технической поддержки
  • Переключите меня на инженеров
  • Мне срочно нужны ваши программисты

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

Идея улучшения анализа заключается в применении сервиса выделения смысла. Сервис разбивает фразу на отдельные слова (леммы), преобразовывая существительные в именительный падеж, а глаголы в инфинитив. После этого сценарий в цикле просматривает каждую лемму и ищет совпадение с ключевым словом. В каком бы падеже не стояло искомое слово, если оно есть во фразе, алгоритм найдет его. Как только совпадение сработает происходит переключение на требуемый отдел.

Скачать файл: Yandex_SpeechKit_Cloud_улучшенный_алгоритм.oscr (собрано на версии 2.11.2.141230)


Реализация сценария

Рассмотрим алгоритм на примере сценария входящей маршрутизации. Позвонив в компанию, система спрашивает абонента с кем он хочет соединиться. Ответ клиента распознается, а дальше анализируется согласно вышеописанному алгоритму.

Сценарий выглядит следующим образом:

Алгоритм распознавания - 001.png


Компонент "Приветствие".

Компонент "ding".

Компонент "Распознавание речи".

Компонент "Запрос на выделение смысла".

Компонент "Ув1"

Компонент "id_morph=0"

Компонент "count_morph"

Компонент "morph"

Компонент "count_lemmas"

Компонент "id_lemmas=0"

Компонент "count_lemmas"

Компонент "id_lemmas=0"

Компонент "lemmas"

Компонент "text"

Компонент "Ув2"

Компонент "Выбор варианта"

Компонент "id_lemmas++"

Компонент "Секретарь".

Компонент "Сообщение 1"

Компонент "на секретаря"

Компонент "Стоп"

Компоненты "Техподдержка", "Сообщение 2", "на техподдержку" аналогично ветке "Секретарь" - "на секретаря".

Компонент "->"

Компонент "id_morph++"

Компонент "Ув3"

Компонент "Неизвестная фраза"

Компонент "ding2"




Скачать файл: Yandex_SpeechKit_Cloud_улучшенный_алгоритм.oscr (собрано на версии 2.11.2.141230)