Демократизация ИИ или машинное обучение не для всех
Март-апрель были (и еще будет) богаты на всякого рода встречи российского Azure-сообщества. Это хакатон Breakpoint, по Azure-митапы в Москве и Санкт-Петербурге, конференция Global Azure Bootcamp и DevCon School.
На паре мероприятий мне выпала честь поучаствовать в качестве спикера. Спешу поделиться материалами рассказанного словами и продемонстрированного (как в качестве презентации, так и в качестве демо).
UPD1 [2017-04-20]: добавлены описание и ссылки. UPD2 [2017-04-22]: добавил результаты демо.
Основная идея
Красной нитью в моих докладах идет идея демократизации машинного интеллекта (Democratizing AI) и то,
что несмотря на огромное желание и реальную работу, проделанную в направлении демократизации,
Data Science все также остается инженерной областью для эльфов 80-го уровня с очень высоким уровнем входа.
Демо
Не обошлось и без демо. На это раз мы «слушали» твиттер по хэштегам соответствующей встречи (например, #GlobalAzure), определяя с помощью машинного обучения тональность сообщения в твите.
Для чего это надо?
- анализ отношения к бренду;
- раннее детектирование таких угроз, как рассылка по SMS мошеннических сообщений, направленных на дискредитацию отдельной компании;
- оптимизация рекламных и маркетинговых акций;
- выявление региональных представительств/офисов/филиалов, чья работа вызывает у клиентов наибольшие нарекания;
- event-мониторинг (например, отзывы по проходящей конференции).
Задачу усложнили тем, что мы рассчитываем:
- получать потенциально большой поток сообщений (например, для задачи предсказания информационных атак через соц. сети на банки);
- узнавать тональность сообщений в near-real time режиме (онлайн-мониторинг);
- использовать собственные лингвистические модели / языковые корпуса для обучения моделей машинного обучения (когнитивные предоставляют лингвистические модели без возможности обучить их под специфическую предметную область, язык и стиль написания текста, что не всегда подходит для анализа сообщения в соц. сетях).
В результате в Azure получилась следующая λ-архитектура:
Реализация и результат
Разберем как, построим приложение и запустим в облаке twitter-бота уже через 2 дня Global Azure Bootcamp (Москва).
Во время доклада в Azure был запущен бот, который слушал поток твитов с хэштегом #GlobalAzure. Далее с помощью лингвистической модели, рассчитанной в Azure ML, мы определяли тональность этих сообщений.
Я, как автор бота, также поучаствовал в его тестировании:
-
1. Написал с своем твиттер-эккаунте @code.zombi твит со следующим содержанием:
Hello, Developers! #GlobalAzure love #AI
— Dmitry Petukhov (@codezombi) 22 апреля 2017 г. -
2. Через 2.1 сек получил score-бал тональности сообщения от сервиса Azure Machine Learning, который (score-бал) с ближайшей batch-операцией (еще через 50 сек) был сохранены в NoSQL-хранилище Azure Table. Результат ниже:
Twitter sentiment analysis (in real-time) demo: my previous post detected! #GlobalAzure #GlobalAzureBootcamp #ML pic.twitter.com/agSjDZHNUQ
— Dmitry Petukhov (@codezombi) 22 апреля 2017 г.
Исходники демо и другие вспомогательные материалы ниже.
References
- [1] Исходный код на GitHub.
- [2] «Twitter Sentiment Detection»-эксперимент в Cortana Intelligence Gallery.
- [3] Презентация на docs.com.
- [4] Как получить бесплатный доступ в Microsoft Azure и AWS?
Комментариев нет:
Отправить комментарий