На мероприятиях в рамках конференции Microsoft BUILD 2017 было сделано несколько важных объявлений о машинном обучении Azure. Давайте посмотрим, что представляют собой соответствующие службы и каким образом мы можем воспользоваться ими. Все компоненты машинного обучения Azure входят в состав служб, именуемых Microsoft Cognitive Services.

Что такое Microsoft Cognitive Services

Microsoft Cognitive Services представляют собой набор прикладных программных интерфейсов API, пакетов SDK и служб, с помощью которых разработчики могут сделать свои приложения более интеллектуальными, эффективными и доступными для обнаружения. Microsoft Cognitive Services дополняют портфолио интерфейсов API для машинного обучения Microsoft и позволяют разработчикам без труда добавлять в свои приложения интеллектуальные функции, такие как распознавание видео и эмоций; распознавание выражения лица, речи и компьютерного зрения; понимание речи и языка. В перспективе это позволит персонализировать вычислительную среду и увеличить производительность благодаря системам, способным видеть, слышать, говорить, понимать и даже обладающим логикой.

Какие службы доступны сегодня в составе Microsoft Cognitive Services

Текущая версия продукта располагает большим числом компонентов, чем можно было бы предположить. Службы разделены на компоненты Vision («Зрение»), Speech («Речь»), Language («Язык»), Knowledge («Зна­ние») и Search («Поиск»). Каждый из них состоит из одного или нескольких API-интерфейсов (рисунок 1).

 

Службы в составе Microsoft Cognitive Services
Рисунок 1. Службы в составе Microsoft Cognitive Services

К каждому доступному сегодня интерфейсу API можно легко обратиться через Интернет и вызвать из собственного программного кода.

Зрение

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

  • компьютерное зрение;
  • распознавание лиц;
  • проверка информационного содержимого, Content Moderator;
  • распознавание эмоций;
  • видео;
  • выбор просмотра;
  • индексатор видео.

Речь

Обработка разговорного языка в приложениях. Содержит следующие конечные точки:

  • выбор речи;
  • распознавание говорящего;
  • переводчик;
  • распознавание речи Bing.

?Язык

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

  • понимание языка;
  • язык сети Интернет;
  • переводчик;
  • произношение Bing;
  • текстовая аналитика;
  • лингвистический анализ.

Знание

Сопоставляет сложную информацию и данные для решения таких задач, как интеллектуальные рекомендации и семантический поиск. Содержит следующие конечные точки:

  • рекомендации;
  • исследование знаний;
  • связывание сущностей;
  • научное знание;
  • анализатор для обслуживания очередей;
  • выбор решения.

Поиск

Повышает интеллектуальность и эффективность ваших приложений, веб-страниц и прочих объектов взаимодействия с помощью API-интерфейсов Bing. Содержит следующие конечные точки:

  • автозаполнение Bing;
  • изображения Bing;
  • новости Bing;
  • видео Bing;
  • Bing и Интернет;
  • выбор настроек Bing.

Существует еще несколько API-интерфейсов, пока представленных предварительными версиями, знакомство с которыми позволяет оценить, чего ожидать в будущем (рисунок 2).

 

Несколько предварительных версий API-интерфейсов
Рисунок 2. Несколько предварительных версий API-интерфейсов

Проект «Прага»

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

Проект «Нанкин»

Изохроны определяют область, которой можно достичь при движении транспорта с данной скоростью, и при необходимости прогнозировать трафик в данное время суток. С помощью изохронов можно узнать, например, где следует поселиться, чтобы не тратить на дорогу до работы более 45 минут. Проект «Нанкин» предоставляет временные изохроны для точного поиска во времени и пространстве.

Проект «Йоханнесбург»

Проект «Йоханнесбург» обеспечивает предварительное знакомство с новой службой прокладки маршрутов грузовых перевозок для специализированного транспорта. Длинные, широкие или тяжелые машины или средства для перевозки потенциально опасных товаров не всегда могут воспользоваться той же службой маршрутизации, что и обычные автомобили. Возможно, слишком низким окажется мост, под которым нужно проехать; другой мост может не выдержать веса; радиус поворота может быть слишком мал или подъем слишком крут. Проект «Йоханнесбург» учитывает такие характеристики грузовика, как ограничения скорости, масса, длина и высота, а также правила перевозок опасных материалов.

Проект «Куско»

Этот API-интерфейс размещается на системе, которая слушает окружающий мир и собирает сигналы о событиях, происходящих на планете. Система представляет данные со структурированной информациейиз различных источников, как позитивной, так и негативной, необъективной и беспристрастной. Сбор всех связанных сигналов поможет охарактеризовать события, которые будут происходить.

Проект «Абу-Даби»

Вычисление времени в пути и расстояния в сценариях расчета движения нескольких объектов в разные места назначения часто выполняется через API-интерфейсы матрицы расстояний. В проекте «Абу-Даби» представлена предварительная версия сложного алгоритма Distance Matrix, который может содержать гистограмму времени передвижения с учетом временных окон и прогнозируемого трафика в эти периоды.

Проект «Вуллонгонг»

Вы хотите знать, сколько кинотеатров, баров, театров, парков и других объектов находится в данной местности? Вам поможет проект «Вуллонгонг». Его цель — оценить привлекательность территории в зависимости от количества культурно-бытовых объектов, близости к остановкам общественного транспорта или других критериев. Вы можете выполнять поиск по времени или расстоянию, а также учитывать прогнозируемый трафик в нужное время суток.

Как мы видим, Microsoft продолжает вкладывать средства в эти службы. Чтобы протестировать любую из служб, можно просто обратиться по адресу: https://azure.microsoft.com/en-us/services/cognitive-services и опробовать ее в действии, прежде чем оформлять подписку на Azure.

Например, щелкнув Text Analytics API, вы попадете на страницу, где можно выполнить тестирование, введя текст, который будет проверен на тональность, ключевые фразы и язык (https://azure.microsoft.com/en-us/services/cognitive-services/text-analytics/).

Я могу просто вставить свою профессиональную биографию, которую представляю на конференциях, а затем нажать кнопку Analyze («Анализировать»), как показано на экране 1.

 

Тестирование текста на тональность, ключевые фразы и язык
Экран 1. Тестирование текста на тональность, ключевые фразы и язык

После завершения возвращаются значения JSON в структуре для языка, тональности и ключевых фраз (экран 2).

 

Результаты тестирования текста в JSON
Экран 2. Результаты тестирования текста в JSON

В процессе программирования применяйте тот же принцип, вызовите конечную точку, а затем воспользуйтесь откликом JSON. В моей предыдущей статье по этой теме «SharePoint и машинное обучение» (опубликована в Windows IT Pro/RE № 5 за 2017 год) была показана процедура установки и приведены варианты кода.

Машинное обучение — одна из наиболее важных современных технологий, поэтому я рекомендую продолжить знакомство с ней, перейдя по адресу: azure.microsoft.com/en-us/services/cognitive-services/.