Улучшенный алгоритм распознавания с помощью Yandex SpeechKit Cloud — различия между версиями
Строка 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)
Реализация сценария
Рассмотрим алгоритм на примере сценария входящей маршрутизации. Позвонив в компанию, система спрашивает абонента с кем он хочет соединиться. Ответ клиента распознается, а дальше анализируется согласно вышеописанному алгоритму.
Сценарий выглядит следующим образом:
Компонент "Приветствие".
Компонент "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)