В этом посте собраны два поста с моего личного сайта здесь и здесь.

Я скептически относился к какой-либо шумихе, поэтому чат-боты меня не волновали. Мне нужно было понять ценность этого, прежде чем поддаться очередной ажиотажу Кремниевой долины. Возможность появилась, когда я присоединился к Cisco Hyper Innovation Living Labs (CHILL) в начале 2017 года. Cisco работает в сфере корпоративного программного обеспечения и работает со многими другими корпоративными клиентами. Это означает, что у них есть огромная инфраструктура, набор инструментов и процессов для поддержки клиентов, которые созрели для автоматизации.

Хотя я не могу здесь рассказывать о проектах, над которыми я работаю, у меня возник интерес к чат-ботам, обработке естественного языка (NLP) и общему диалоговому пространству ИИ. Хотя раньше я создавал системы домашней автоматизации на основе правил и программное обеспечение для преобразования языков, на этот раз это мой первый набег на разговорный ИИ масштаба предприятия с использованием реальных методов обработки естественного языка.

Я начал изучать фреймворки чат-ботов. Еще в мае 2017 года Cisco приобрела стартап в области разговорного ИИ под названием MindMeld. Я начал использовать API-интерфейсы MindMeld NLP и его диалоговые платформы искусственного интеллекта, глубже изучив такие концепции, как сущности, намерение и т. д. Я продолжал копать и нашел Rasa.ai - еще одну платформу диалогового ИИ корпоративного масштаба. И на этот раз с открытым исходным кодом! Некоторые из моих друзей также упомянули ChatterBot - диалоговый движок с открытым исходным кодом. По мере того, как я продолжал исследовать, я натолкнулся на множество других продуктов ИИ для общения как в потребительской, так и в корпоративной сфере. Я также наткнулся на пару продуктов для аналитики ботов - благодаря моей работе EIR в Backstage Capital.

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

Внутри диалоговых фреймворков искусственного интеллекта

Чтобы создать чат-бота, я изучил различные среды диалоговых ботов. Botkit и Api.ai (теперь Dialogflow) - два очевидных варианта. Оба они поддерживают платформу Cisco для совместной работы Cisco Spark, а также могут использоваться из веб-приложения с использованием соответствующих API-интерфейсов REST. Но вскоре я осознал их ограниченность.

Botkit - это фреймворк, основанный на правилах. В структуре, основанной на правилах, разработчикам необходимо создать логику взаимодействия - как будут интерпретироваться входящие сообщения чата и каков будет типичный набор ответов. По сути, Botkit сам по себе не предоставляет никаких возможностей машинного обучения. И вам нужно продолжать создавать правила даже для простых приложений. Фреймворки такого типа подходят для быстрого прототипирования, но не для больших масштабируемых систем. По состоянию на май 2017 года Botkit добавил возможность, которая интегрирует Botkit Studio с механизмом обработки естественного языка Microsoft LUIS. Интеграция Botkit и LUIS служит моей цели, т.е. используя настоящий механизм обработки естественного языка, но это приводит к следующей проблеме - работе с облачным сервисом NLP.

Api.ai, Microsoft LUIS, Amazon Lex и т. Д. - это облачные сервисы NLP для разговорного ИИ. Они быстро приступают к работе, не беспокоясь о деталях НЛП или машинного обучения. Но есть несколько причин, по которым я не хотел идти с ними. Во-первых, я не хотел загружать свои данные в эти облачные сервисы. Во-вторых, я хотел иметь контроль над техниками НЛП, которые я использую в своем чат-боте, и, наконец, я хотел иметь больший контроль над функциями моего бота, чем над общими функциями, предлагаемыми облачными службами НЛП.

Итак, что я ищу

Короче я искал ниже характеристики в рамках чат-бота.

  • Не основанное на правилах или облачное НЛП
  • Имеет поддержку web / REST API, поэтому я могу использовать его из веб-приложения, а не только на сторонней платформе, такой как Slack, Facebook и т. Д.
  • Поддерживает Python, но Node.js тоже классный
  • Позволяет мне настраивать
  • Огромный плюс - открытый исходный код

MindMeld служит большинству из вышеперечисленных целей, и я использую его в своей работе в Cisco. Но я также хотел посмотреть, что еще есть на свете. Я наткнулся на Rasa.ai - диалоговый ИИ с открытым исходным кодом для предприятий. Rasa, кажется, очень похож на MindMeld - хотя мне нужно глубже изучить возможности Rasa в области НЛП. Что меня восхищает в Rasa, так это то, что это решение с открытым исходным кодом в масштабе предприятия - рай для разработчиков!

Еще мне попался ChatterBot. Похоже, это основанный на правилах движок, основанный на этой таблице сравнения платформ чат-ботов. Хотя у Chatterbot есть возможность добавить свой собственный корпус для обучения бота. Чтобы определить возможности НЛП, необходимо более пристальное внимание.

А пока следите за обновлениями!

Примечание.

Я инженер-программист из Сан-Франциско, работаю над чат-ботами, обработкой естественного языка и недавно получил стипендию глубокого обучения, чтобы принять участие в уроке Джереми Ховарда fast.ai.

Название этой серии постов навеяно этой книгой. Особая благодарность Анастасии и Мейган за быстрый обзор этого блога. Спасибо Karthik за то, что он поделился своим глубоким пониманием платформы MindMeld.