Раработка інтелектуальних роботів з допомогою Microsoft Bot Framework, Microsoft Cognitive Services і NER систем. Частина 1

На сьогоднішній момент лише месенджери (і, частково, ігри) показують стабільне зростання аудиторії на тлі падіння всіх статистичних показників класичних мобільних додатків. WhatsApp заявляє про 1 мільярд активних користувачів, Facebook Messenger – 900 мільйонів, WeChat – 700 мільйонів, а месенджери вже обігнали соціальні мережі за активної аудиторії.

Для мільйонів людей Facebook Messenger може стати першим місцем, де вони зіткнуться з чатботами. І якщо люди почнуть ними користуватися, то це може стати новим Клондайком для розробників програмного забезпечення — вперше після того, як компанія Apple відкрила App Store.

The Verge



Логічним є бажання месенджерів скористатися ситуацією і спробувати ще більше потестить традиційні ЗМІ, і навіть гегемонію Google в плані пошуку. І це бажання вилилося у відкриття майже усіма популярними мессенджерами публічних Bot API. Незважаючи на те, що формально месенджери надають доступ розробникам до своєї численної публіки, за фактом, ці ж самі розробники будуть приводити своїх користувачів назад в месенджери. Але не будемо акцентувати увагу на теорії змов чи філософствувати на тему куди це може привести нас, а сконцентруємося на технічних питаннях створення інтелектуальних роботів.

Приклади інтелектуальних ботів
Msg.ai дозволяє брендам спілкуватися з користувачами за допомогою месенджерів.

Sony Pictures замінила 70 операторів одним чатботом.

19-річний розробник створив безкоштовного бота, який повернув водіям $3 мільйони за штрафи за паркування.



Ще приклади. У іранського бота Тіни (ще її називають іранської Siri) 2,6 млн передплатників у Telegram.

Microsoft Xiaoice (Китай) — 17-річна дівчина, яка живе в WeChat і Weibo. Цього бота називають найбільшим тестом Тюрінга в історії. Робот вміє відповідати на питання, розпізнавати емоції і навіть співпереживати. Багато користувачів навіть не розуміють, що спілкуються з ботом.

X2AI — стартап з Кремнієвої долини створив бота, який допомагає сирійським біженцям в Лівані вирішувати їх психологічні проблеми, пов'язані з війною.

В Україні найпопулярнішим є ботом Opendatabot, який, використовуючи відкриті набори даних (судовий реєстр і базу підприємців і бізнесів) дозволяє перевіряти контрагентів і захиститися від рейдерських атак шляхом несанкціонованих повідомлень про зміни записів у єдиному реєстрі.



ДонорUA.Бот (доступний для Skype, Telegram, Facebook Messenger) дозволяє перевірити, чи є у вас протипоказання до донорства (абсолютні або тимчасові) російською або українською мовою:



Буду вдячний, якщо в коментарях ви набросаете посилання на інші цікаві приклади ботів (зокрема, які працюють у нашому регіоні).

Іноді інтелектуальні боти «ідуть» не туди, і ми можемо спостерігати цікаві результати. Наприклад, Twitter-бот TayTweets від Microsoft, який навчався на твітах, які йому слали користувачі. Звичайно ж, люди поганого роботів не навчать (сарказм), тому вже через 24 години бот почав видавати ксенофобські і расиские твіти:





Microsoft змушена була видалити бота з публічного доступу. Це говорить про те, що боти — все-таки інструмент, а яким він буде — залежить від даних і методів навчання.

Навіщо боти?
Це питання задають кожен раз, коли хтось починає розповідати про ботах. Давайте розглянемо переваги перед іншими способами комунікації з користувачами:

  1. Легкий старт. Розробити бот можна досить швидко і легко. Набагато легше, ніж розробити мобільний додаток або бот.
  2. Після розробки бота він автоматично доступний в месенджерах і соціальних мережах, а значить, потрібно витратити менше часу і ресурсів для маркетингу.
  3. Це дешевше, ніж розробляти мобільні програми або веб-сайти. Так як боти працюють на існуючих інфраструктурах, то все що вам потрібно — база даних і сервіс, який буде відповідати на питання і надавати дані по запиту.
  4. Діалоговий інтерфейс зрозумілий кожному, дизайн діалогів — все ж більш легке завдання, ніж розробка UX/UI для мобільних додатків або графічного дизайну для сайту.
Тим не менш, це не означає, що ботів потрібно використовувати скрізь, де тільки можна. Користувачі, в ідеалі, повинні зробити 1-2 кліка для отримання необхідної інформації, якщо ж кліків треба більше — можливо, бот — не найкраще рішення для вашого сервісу.

І, все таки, є безліч сценаріїв, де боти — більш вигідне рішення. Наприклад, для роботи з потенційними клієнтами (user engagement), кол-центри, замовлення чогось (піци, таксі), для створення баз знань в конкретних доменах (як у випадку з ДонорUA.Бот).

Які нові ринки і роботу для розробників створюють боти?

  • розробка інструментів і платформ для AI/ML/NLP;
  • розробка Bot frameworks;
  • магазини ботів;
  • розробка ботів;
  • автоматизація процесів;
  • боти в маркетингу.
Хто вже включився в гру під назвою «чатботы»? Це Telegram, Microsoft Skype, WeChat, Slack, Facebook Messenger. Кожна з платформ пропонує свої унікальні фішки, наприклад, в Telegram є інлайн боти, які можна підключати в розмові з іншими людьми, але в цілому можливості у всіх платформ більш менш однакові.

Створюємо простого чатбота
Процес створення чат-бота складається з декількох частин:

  1. Реєстрація бота в месенджері. У Telegram за це відповідає @BotFather, Messenger потрібно створити сторінку, яка і буде ботом і пов'язати її в налаштуваннях з додатком на порталі розробника. Для бажаючих написати бота для Skype є окремий портал, на якому потрібно додати свого бота.
  2. Створення веб-сервісу (webhooks endpoint), який буде приймати запити і формувати відповіді. Посилання на веб-сервіс потрібно прописати в налаштуваннях вашого бота.
  3. Написання логіки обробки команд (у простих випадках) або не структурованих текстів з допомогою NLP/ML/NER інструментів. (про них будемо говорити пізніше).
  4. Створення бази даних, якщо ви хочете відслідковувати діалоги і створювати більш тісна і персоніфіковане спілкування з вашими користувачами.
  5. Власне, все. Тестуємо, запускаємо, користуємося.
Telegram дозволяє створити набір команд. Як і будь-яку іншу задачу настроювання бота, це можна зробити за допомогою команди BotFather:

/setcommands - change bot commands list

OK. Send me a list of commands for your bot. Please use this format:
command1 - Description
command2 - Another description

У Facebook таку роль виконує Persistent Menu (до 5 елементів):



Звичайно ж, це не єдині UX/UI можливості ботів, і список цікавих фіч постійно збільшується.

— У наступній частині поговоримо про Microsoft Bot Framework для швидкої розробки ботів для ~10 платформ.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.