Выделение смысла с помощью Yandex SpeechKit Cloud
Наверх [Oktell 2.7+]
Содержание
Введение
Yandex SpeechKit Cloud — это облачный сервис, открывающий разработчикам доступ к речевым технологиям Яндекса. В этой статье мы поговорим про выделение смысловых структур из текста.
Технология выделения смысловых объектов позволяет позволяет найти смысловые объекты в тексте и получить от сервера размеченный распознанный текст. С помощью сервиса возможно анализировать контекст фразы, к примеру, система понимает, что во фразе "Позвони Владимиру" имеется ввиду человек, а во фразе "Поехали во Владимир" - город. В системе Oktell сервис удобно применять для анализа распознанных голосовых выражений и электронных писем.
Для иллюстрации полезности сервиса рассмотрим задачу голосового управления в IVR-меню. Представим, что в компанию позвонил клиент, который хочет соединиться с отделом технической поддержки. После того как, система спросит клиента с кем его соединить, она отправит фразу на распознавание и получит конечный текст, который потребуется проанализировать. Давайте подумаем, какие фразы мы можем получить:
- Соедините меня с отделом техподдержки
- Мне нужны инженеры
- У меня не работает программа, хочу услышать программистов
Даже если перебирать все слова в полученном выражении, мы уже получим 7 вариантов одного слова в различных падежах или модальностях. Например, глагол "позвонить" и "позвони" - одно и то же. Фактически получится, что разработка сценария приведет к перебору ключевых слов или фраз, на которые стоит реагировать. С помощью выделения смысла мы как минимум можем получить все существительные в именительном падеже, глаголы в инфинитиве и тем самым абстрагироваться от модальности. Если в исходной фразе имеется адрес, то сервис определяет номер квартиры, название улицы и города. Это значительно облегчает задачу построения логики управления.
На момент написания статьи сервис умеет следующие структуры:
- Дата и время.
- Фамилия, имя и отчество.
- Адреса
- Морфемы - существительные преобразуются в именительный падеж, глаголы в инфинитив
Документация по API выделения смысла Yandex SpeechKit доступна на сайте https://tech.yandex.ru/speechkit/cloud/doc/dg/concepts/speechkit-dg-nlu-docpage/
Быстрый старт
Для использования системы выделения смысла Yandex SpeechKit Cloud выполните следующие действия:
Шаг 1. Получите API-ключ на использование сервиса в кабинете разработчика.
Шаг 2. Для использования сервиса используйте компонент "Web-запрос" в сценариях. В свойствах компонента выберите:
- URL - используется выражение:
'https://vins-markup.voicetech.yandex.net/markup/0.x/?text='+[Text]+'&layers=Fio,Morph,GeoAddr,Date&key='+[key]
где
- [Text] - переменная Text (строковая), анализируемое выражение
- [key] - переменная key (строковая), API-ключ, полученный на шаге 1
- Метод - GET
- Режим работы - Ожидание результата
- Тип ответа - Текст
- Ответ в переменную - переменная ЯндексОтвет (строковая), содержит размеченный текст
- Кодировка ответа - UTF-8
- Код ошибки в переменную - переменная "Код ошибки" (строковая), нужна для вывода администратору в случае возникновения проблем.