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

Материал из Oktell
Перейти к: навигация, поиск
(Новая страница: «Наверх    <span style="color:darkviolet"><nowiki>[Oktell 2.7+]</nowiki></span> __TOC__ ==Введение== Yandex SpeechKit Clo…»)
 
Строка 10: Строка 10:
  
 
Для иллюстрации полезности сервиса рассмотрим задачу голосового управления в IVR-меню. Представим, что в компанию позвонил клиент, который хочет соединиться с отделом технической поддержки. После того как, система спросит клиента с кем его соединить, она отправит фразу на распознавание и получит конечный текст, который потребуется проанализировать. Давайте подумаем, какие фразы мы можем получить:
 
Для иллюстрации полезности сервиса рассмотрим задачу голосового управления в IVR-меню. Представим, что в компанию позвонил клиент, который хочет соединиться с отделом технической поддержки. После того как, система спросит клиента с кем его соединить, она отправит фразу на распознавание и получит конечный текст, который потребуется проанализировать. Давайте подумаем, какие фразы мы можем получить:
*Соедините меня с отделом техподдержки
+
*''Соедините меня с отделом техподдержки''
*Мне нужны инженеры
+
*''Мне нужны инженеры''
*У меня не работает программа, хочу услышать программистов
+
*''У меня не работает программа, хочу услышать программистов''
Даже если перебирать все слова в полученном выражении, мы уже получим 7 вариантов одного слова в различных падежах или модальностях. Например, глагол "позвонить" и "позвони" - одно и то же. Фактически получится, что разработка сценария приведет к перебору ключевых слов или фраз, на которые стоит реагировать. С помощью выделения смысла мы как минимум можем получить все существительные в именительном падеже, глаголы в инфинитиве и тем самым абстрагироваться от модальности. Если в исходной фразе имеется адрес, то сервис определяет номер квартиры, название улицы и города. Это значительно облегчает разра 
+
Даже если перебирать все слова в полученном выражении, мы уже получим 7 вариантов одного слова в различных падежах или модальностях. Например, глагол "позвонить" и "позвони" - одно и то же. Фактически получится, что разработка сценария приведет к перебору ключевых слов или фраз, на которые стоит реагировать. С помощью выделения смысла мы как минимум можем получить все существительные в именительном падеже, глаголы в инфинитиве и тем самым абстрагироваться от модальности. Если в исходной фразе имеется адрес, то сервис определяет номер квартиры, название улицы и города. Это значительно облегчает задачу построения логики управления. 
  
На момент написания статьи сервис умеет находить такие объекты, как
+
На момент написания статьи сервис умеет следующие структуры:
 
* Дата и время.  
 
* Дата и время.  
 
* Фамилия, имя и отчество.
 
* Фамилия, имя и отчество.
Строка 21: Строка 21:
 
* Морфемы - существительные преобразуются в именительный падеж, глаголы в инфинитив
 
* Морфемы - существительные преобразуются в именительный падеж, глаголы в инфинитив
  
Таким образом, что сказал абонент и проанализировать конкретное выражен  Это облегчает задачу построения логики голосового управления.
+
Документация по API выделения смысла Yandex SpeechKit доступна на сайте https://tech.yandex.ru/speechkit/cloud/doc/dg/concepts/speechkit-dg-nlu-docpage/
  
  
Технология позволяет найти и разметить смысловые объекты в  тексте и получить от сервера размеченный распознанный текст в виде JSON-структуры.
+
==Быстрый старт==
  
 +
Для использования системы выделения смысла Yandex SpeechKit Cloud выполните следующие действия:
  
 +
'''Шаг 1.''' Получите API-ключ на использование сервиса в [https://developer.tech.yandex.ru/?utm_source=partn&utm_medium=wiki&utm_campaign=oktell кабинете разработчика].
  
  
 +
'''Шаг 2.'''  Для использования сервиса используйте компонент "'''Web-запрос'''" в сценариях. В свойствах компонента выберите:
  
Документация по API выделения смысла Yandex SpeechKit доступна на сайте https://tech.yandex.ru/speechkit/cloud/doc/dg/concepts/speechkit-dg-nlu-docpage/
+
*'''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 SpeechKit Cloud 002.png|center]]

Версия 10:24, 26 декабря 2014

Наверх    [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
  • Код ошибки в переменную - переменная "Код ошибки" (строковая), нужна для вывода администратору в случае возникновения проблем.
Синтез речи Yandex SpeechKit Cloud 002.png