Выделение смысла с помощью Yandex SpeechKit Cloud

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

Наверх    [Oktell 2.7+]

Введение

Yandex SpeechKit Cloud — это облачный сервис, открывающий разработчикам доступ к речевым технологиям Яндекса. В этой статье мы поговорим про выделение смысловых структур из текста.

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

На момент написания статьи сервис умеет распознавать следующие структуры:

  • Дата и время.
  • Фамилия, имя и отчество.
  • Адреса
  • Морфемы - существительные преобразуются в именительный падеж, глаголы в инфинитив

Документация по 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
  • Код ошибки в переменную - переменная "Код ошибки" (строковая), нужна для вывода администратору в случае возникновения проблем.
Выделение смысла Yandex 001.png


Шаг 3. После выполнения web-запроса в переменной ЯндексОтвет содержится размеченный текст в виде JSON-структуры. Для получения конкретных значений используйте компонент "Парсер". Подробнее про работу с компонентом читайте в статье: Компонент Парсер.


Описание сценария

В этом параграфе описывается демонстрационный пример использования сервиса выделения смысла Yandex SpeechKit Cloud. Сценарий выглядит следующим образом:


Выделение смысла Yandex 002.png


Компонент "SpeechKit Key". Определяет API-ключ для выполнения Web-запроса на сервисы Yandex.

  • переменной key (строковая) присваивается значение API-ключа.


Компонент "Text". Предназначен для ввода демонстрационного текста.

  • переменной Text (строковая) присваивается текст для анализа: "Здравствуйте меня зовут Александр Сергеев. Я живу на Проспекте Победы, дом 55 квартира 890. Позвоните мне завтра". Вы можете опробовать любой другой текст.

Компонент "Выделение смысла". Отправляет текст на сервис Yandex SpeechKit для анализа и сохраняет разметку в переменную.

  • URL - используется выражение:
'https://vins-markup.voicetech.yandex.net/markup/0.x/?text='+[Text]+'&layers=Fio,Morph,GeoAddr,Date&key='+[key]
  • Метод - GET
  • Режим работы - Ожидание результата
  • Тип ответа - Текст
  • Ответ в переменную - переменная ЯндексОтвет (строковая), содержит размеченный текст
  • Кодировка ответа - UTF-8
  • Код ошибки в переменную - переменная "Код ошибки" (строковая), нужна для вывода администратору в случае возникновения проблем.

Компонент "Вывод разметки". Выводит размеченную структуру на экран.

  • Текст - переменная ЯндексОтвет
  • Адресат - укажите вашего пользователя

Компонент "Ошибка". В случае неудачного выполнения web-запроса выводит код ошибки на экран

  • Текст - выражение 'Ошибка '+[Код ошибки]
  • Адресат - укажите вашего пользователя


Результаты работы