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

Материал из Oktell
Перейти к: навигация, поиск
Строка 16: Строка 16:
 
Идея улучшения анализа заключается в применении сервиса выделения смысла. Сервис разбивает фразу на отдельные слова (леммы), преобразовывая существительные в именительный падеж, а глаголы в инфинитив. После этого сценарий в цикле просматривает каждую лемму и ищет совпадение с ключевым словом. В каком бы падеже не стояло искомое слово, если оно есть во фразе, алгоритм найдет его. Как только совпадение сработает  происходит переключение на требуемый отдел.  
 
Идея улучшения анализа заключается в применении сервиса выделения смысла. Сервис разбивает фразу на отдельные слова (леммы), преобразовывая существительные в именительный падеж, а глаголы в инфинитив. После этого сценарий в цикле просматривает каждую лемму и ищет совпадение с ключевым словом. В каком бы падеже не стояло искомое слово, если оно есть во фразе, алгоритм найдет его. Как только совпадение сработает  происходит переключение на требуемый отдел.  
  
'''Скачать файл:''' [http://wiki.oktell.ru/images/2/2f/Yandex_SpeechKit_Cloud_%D1%83%D0%BB%D1%83%D1%87%D1%88%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC.oscr Yandex_SpeechKit_Cloud_улучшенный_алгоритм.oscr]
+
'''Скачать файл:''' [http://wiki.oktell.ru/images/2/2f/Yandex_SpeechKit_Cloud_%D1%83%D0%BB%D1%83%D1%87%D1%88%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC.oscr Yandex_SpeechKit_Cloud_улучшенный_алгоритм.oscr] (собрано на версии 2.11.2.141230)
  
  
 
==Реализация сценария==
 
==Реализация сценария==
 +
 +
Рассмотрим алгоритм на примере сценария входящей маршрутизации. Позвонив в компанию, система спрашивает абонента с кем он хочет соединиться. Ответ клиента распознается, а дальше анализируется согласно вышеописанному алгоритму.
  
 
Сценарий выглядит следующим образом:
 
Сценарий выглядит следующим образом:
Строка 25: Строка 27:
 
[[Файл:Алгоритм распознавания - 001.png|center]]
 
[[Файл:Алгоритм распознавания - 001.png|center]]
  
Компонент  
+
 
 +
Компонент "'''Приветствие'''".
 +
Компонент "'''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'''"
 +
 
  
  
  
'''Скачать файл:''' [http://wiki.oktell.ru/images/2/2f/Yandex_SpeechKit_Cloud_%D1%83%D0%BB%D1%83%D1%87%D1%88%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC.oscr Yandex_SpeechKit_Cloud_улучшенный_алгоритм.oscr]
+
'''Скачать файл:''' [http://wiki.oktell.ru/images/2/2f/Yandex_SpeechKit_Cloud_%D1%83%D0%BB%D1%83%D1%87%D1%88%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC.oscr Yandex_SpeechKit_Cloud_улучшенный_алгоритм.oscr] (собрано на версии 2.11.2.141230)

Версия 08:09, 16 января 2015

Наверх


Введение

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

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

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

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

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

Скачать файл: 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)