На мероприятиях в рамках конференции 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).
Рисунок 1. Службы в составе Microsoft Cognitive Services |
К каждому доступному сегодня интерфейсу API можно легко обратиться через Интернет и вызвать из собственного программного кода.
Зрение
Передовые алгоритмы обработки изображений помогают автоматически сделать контент более заметным и строить персонализированные приложения, интеллектуально воспринимающие лица, изображения и эмоции. Данный компонент содержит следующие конечные точки:
- компьютерное зрение;
- распознавание лиц;
- проверка информационного содержимого, Content Moderator;
- распознавание эмоций;
- видео;
- выбор просмотра;
- индексатор видео.
Речь
Обработка разговорного языка в приложениях. Содержит следующие конечные точки:
- выбор речи;
- распознавание говорящего;
- переводчик;
- распознавание речи Bing.
?Язык
Данный компонент позволяет вашим приложениям обрабатывать естественный язык, оценивать эмоциональность и тему и выяснять, чего хотят пользователи. Содержит следующие конечные точки:
- понимание языка;
- язык сети Интернет;
- переводчик;
- произношение Bing;
- текстовая аналитика;
- лингвистический анализ.
Знание
Сопоставляет сложную информацию и данные для решения таких задач, как интеллектуальные рекомендации и семантический поиск. Содержит следующие конечные точки:
- рекомендации;
- исследование знаний;
- связывание сущностей;
- научное знание;
- анализатор для обслуживания очередей;
- выбор решения.
Поиск
Повышает интеллектуальность и эффективность ваших приложений, веб-страниц и прочих объектов взаимодействия с помощью API-интерфейсов Bing. Содержит следующие конечные точки:
- автозаполнение Bing;
- изображения Bing;
- новости Bing;
- видео Bing;
- Bing и Интернет;
- выбор настроек Bing.
Существует еще несколько API-интерфейсов, пока представленных предварительными версиями, знакомство с которыми позволяет оценить, чего ожидать в будущем (рисунок 2).
Рисунок 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).
Экран 2. Результаты тестирования текста в JSON |
В процессе программирования применяйте тот же принцип, вызовите конечную точку, а затем воспользуйтесь откликом JSON. В моей предыдущей статье по этой теме «SharePoint и машинное обучение» (опубликована в Windows IT Pro/RE № 5 за 2017 год) была показана процедура установки и приведены варианты кода.
Машинное обучение — одна из наиболее важных современных технологий, поэтому я рекомендую продолжить знакомство с ней, перейдя по адресу: azure.microsoft.com/en-us/services/cognitive-services/.