Например, 

На данный момент система распознает даты, время, числа, города, имена, фамилии, отчества и обычный текст

Как это работает

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


На вход вашей системе поступает обычная строка текста, из которой необходимо извлечь дату и данные о городе отправления и прибытия. Учитывая особенности языка и количество всевозможных вариантов указания дат...

Пользователь формирует запрос в виде текста или речи

Текст передается на сервер Speech Markup, и из него выделяются сущности, которые преобразуются в нужный формат

Данные, выделенные из текста, передаются вашему приложению для дальнейшей работы

Speech Markup выполняет поиск необходимых сущностей и преобразовывает их в нужный формат. Скажем, дата может быть указана пользователем как "послезавтра", а Speech Markup приведет ее к формату dd.MM.yyyy в зависимости от текущей даты. Город "Москва" будет приведен к формату, в котором сразу будут присутствовать координаты и код страны и т.д.

Открытый API

Speech Markup - это открытый сервис, к которому можно подключиться совершенно бесплатно.

Чтобы воспользоваться сервисом Speech Markup нужно всего лишь отправить HTTP запрос с текстом.

В ответ сервер вернет JSON с перечнем всех найденных в тексте данных.

Пример ответа


{
  "string": "Какая завтра погода в Новосибирске",
  "tokens": [
    { "type": "Text", "substring": "Какая", "value": "Какая" },
    { "type": "Date", "substring": "завтра", "formatted": "05.11.2014",
      "value": { "day": 5, "month": 10, "year": 2014 } },
    { "type": "Text", "substring": "погода в", "value": "погода в" },
    { "type": "City", "substring": "Новосибирске",
      "value": [
        {
          "lat": 55.0415, "lon": 82.9346, "population": 1419007, "countryCode": "RU",
          "timezone": "Asia/Novosibirsk", "id": "1496747", "name": "Новосибирск"
        }
      ]
    }
  ]
}
            

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

  Demo проект   Документация   Сообщество
UseYoVoice©    [email protected]