Обзор: создаем погодного бота на основе Microsoft Bot Framework и искусственного интеллекта LUIS

МЕНЮ


Новости ИИ
Поиск

ТЕМЫ


Внедрение ИИНовости ИИРобототехника, БПЛАТрансгуманизмЛингвистика, рбработка текстаБиология, теория эволюцииВиртулаьная и дополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информации

АРХИВ


Июнь 2017
Май 2017
Апрель 2017
Март 2017
Февраль 2017
Январь 2017
Декабрь 2016
Ноябрь 2016
Октябрь 2016
Сентябрь 2016
Август 2016
Июль 2016
Июнь 2016
Май 2016
Апрель 2016
Март 2016
Февраль 2016
Январь 2016
0000

RSS


RSS новости
птичий грипп

Новостная лента форума ailab.ru

Очевидно, разработка технологий искусственного интеллекта становится одним из приоритетных направлений в деятельности Microsoft. В ходе пленарного выступления на конференции Build 2016 был анонсирован новый набор инструментов для разработки ботов - Microsoft Bot Framework.

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

033016_0449_FromAnalyti2

В этой статье мы создадим тестового бота с использованием Microsoft Bot Framework, обучим и протестируем его с помощью встроенного эмулятора. Идея бота проста - он должен понимать человеческий язык и отвечать, когда его спросят о погоде в каком-то городе.

Архитектура проекта

Итак, вот как будет выглядеть схема работы нашего бота:

chat-bot-flow_2

Как можно понять, после получения сообщения оно сначала отправляется в «умное» API Microsoft Cognitive Services - Language Understanding Intelligent Service, сокращенно «LUIS». Именно с использованием LUIS мы сможем обучить бота понимать естественный язык и отвечать прогнозом погоды. В ответ на каждое такое сообщение LUIS возвращает всю содержащуюся в нем информацию в JSON.

Для краткости мы не будем рассказывать о процессе регистрации в Bot Framework и LUIS, так как никаких трудностей с этим возникнуть не должно. Также просим обратить внимание, что на данный момент Microsoft Bot Framework не поддерживает русский язык.

Используем LUIS

Видео, кратко объясняющее принцип работы LUIS:

Итак, после регистрации приложения в LUIS перед нами открывается довольно простой интерфейс, в котором мы можем натренировать наш ИИ на определенных фразах. В данном случае обучим его понимать вопросы о погоде:
luis-samples
LUIS разбивает приложения на действия, на этом скриншоте их три: погода (weather), состояние (condition) и место (location). Подробнее о действиях (intents) рассказано в официальном видео выше.

LUIS в действии

Выполнив базовое обучение, попробуем сделать HTTP запрос к LUIS и получить ответ в JSON. Давайте спросим его: «Is it cloudy in Seattle?» («В Сиэтле сейчас облачно?») - и вот что он нам вернет:

luis-json

Теперь попытаемся использовать это в реальном боте.

Создание бота

В качестве платформы будем использовать ASP.NET. Для начала необходимо добавить шаблон Bot Framework в Visual Studio. Подробную инструкцию по этому найдете в официальной документации.

Теперь создадим новый проект с его использованием:

bot-vs

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

bot-controller

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

Подробная инструкция по установке и настройке эмулятора.

Запустив эмулятор, попробуем пообщаться с новосозданным ботом:

bot-f-message

Как и ожидалось, на все сообщения он отвечает одной фразой.

Интеграция с LUIS

Так как эта статья является вводом в Microsoft Bot Framework, то мы не будем публиковать тут все исходные коды, приведем лишь самые важные. Остальные мы разместили в GitHub-репозитории.

1. Передаем сообщение в LUIS, получаем ответ и на основе наиболее релевантного «действия» (intent) выдаем ответ.

bot-code

Прогнозы погоды получаем через API OpenWeatherMap.com.

2. Заготовленные шаблоны ответов.

bot-humanlanguage

Финальный результат:

bot-weather

Материалы для дальнейшего обучения

  1. Документация по Bot Framework
  2. Channel9: создаем чат-бота
  3. Документация по LUIS
  4. Microsoft Cognitive Services 

Источник: tproger.ru