Восемь вещей, отличающих Rasa от других платформ чат-ботов
И почему эти восемь элементов могут быть тем, что нужно вашему интерфейсу для общения.
Вступление
Создавая прототипы с различными платформами и средами для чат-ботов, я заметил, что начинают проявляться четкие закономерности. Можно было видеть, что у большинства платформ подход очень похож на разговорный ИИ.
Несмотря на то, что в определенных элементах один мог опережать другого, каждый пытался решить общие проблемы очень похожим образом.
В этом стремлении к решению проблем разговорного ИИ Rasa стоит особняком во многих областях благодаря своему уникальному подходу.
Вот восемь вещей, которые они делают по-другому, и делают это исключительно хорошо.
1: Легкость доступа
Программное обеспечение
Rasa настолько открыт и великодушен в плане доступа к программному обеспечению и информации ... возникает вопрос, как они зарабатывают деньги? На этот вопрос дан ответ подробно.
Может ли компания Rasa быть агрессивной в коммерческом отношении? Для уверенности. Заработали бы они больше денег? Скорее всего.
Но тогда элементы, которые привлекают так много нынешних пользователей, будут потеряны.
Наша миссия - дать возможность всем разработчикам создавать помощников на основе ИИ, которые будут работать для всех.
Чтобы это произошло, наши инструменты должны быть доступны для всех пользователей, и все пользователи должны иметь полный контроль над своими данными. ~ Раса
С Rasa вам не потребуется специализированное оборудование, графические процессоры и т. Д.
Здесь нет обязательного облака. Вы можете запустить его локально на своем компьютере. Вам не нужны горы обучающих данных (минимум два примера на каждое намерение) или часы для создания и обучения модели.
Обычно вы можете начать с 15-20 примеров пользовательских высказываний на намерение.
Вам не нужно покупать какое-либо программное обеспечение. Нет необходимости в эксперте NLU / NLP.
Самый эффективный способ начать работу на Windows-машине с Rasa?
- Установить Anaconda
- Создайте среду Anaconda
- Установите Python, ujson, tensorflow, Rasa, Visual C ++,
- Запустить:
rasa init rasa train rasa shell
Затем поговорите со своим ботом через командную строку!
Скрытие сложности
Добавление функциональности в ваше программное обеспечение - настоящее искусство при одновременном упрощении пользовательского интерфейса.
Большинство организаций терпят неудачу в этом.
Большинство сред чат-ботов значительно усложняются по мере развития и добавления функциональности. В качестве примера можно привести консоль Amazon Alexa и особенно Alexa Conversations. Также IBM Watson Assistant.
Прелесть чего-то вроде GPT-3 в простоте и удобстве использования нового API.
Rasa-X и CDD попадают в ту же категорию. По мере роста функциональности Rasa пользовательская среда становится все более упрощенной и интуитивно понятной. Добиться этого - нелегкий подвиг.
Документация
Раса подошел к разговорному ИИ на низовом уровне и начал революцию. Не в коридорах власти и залах заседаний, а с разработчиками, энтузиастами и теми, кто хочет рискнуть.
Раса стала платформой для многих проектов хакатонов.
Это привело к семенным проектам в более крупных организациях, и Rasa набирает обороты почти за счет осмоса.
Документация, учебные пособия, мастер-классы, блоги и форумы… помощи в изобилии и она растет.
Защита разработчиков началась рано и создала среду для экспериментов и обучения.
Люди
Понятно, что команда Rasa состоит из одних из самых ярких людей. Это заметно по майским фронтам. И снова открытость и обмен информацией, передовым опытом и планами на будущее поражают.
2. Разработка, основанная на разговоре
Rasa применяет очень инновационный и уникальный подход к постоянному совершенствованию чат-ботов. Такой подход они назвали развитием, основанным на разговоре (CDD). Активатор или инструмент для CDD называется Rasa-X.
Сосредоточение на перекрытии
Перекрытие между тем, что говорит пользователь, и тем, что вы разработали, должно развиваться. Два круга должны переместиться в фокус, пока не останется только один круг.
Перекрытие - это то место, где происходят успешные разговоры и где выстраивается конкурентное преимущество вашей организации. Это где ценность вашего набора данных.
Rasa-X - идеальный инструмент для увеличения перекрытия с самого начала.
Мобильные приложения по сравнению с чат-ботами
Мобильные приложения и чат-боты - противоположности в зависимости от времени и усилий. Есть соблазн простоты развертывания чат-бота. Однако когда начинается разговор с клиентом, начинается слово. Обычно это грубое пробуждение, когда после запуска появляется крутой наклон усилий.
Затем этот крутой склон лучше всего преодолевать, сосредоточившись на разговорах и улучшая чат-бота с точки зрения разговоров.
В большинстве сред NLU есть инструменты для улучшения разговорной речи. Эти инструменты часто характеризуются следующими чертами:
- Высокий уровень
- Статистический подход
- Масса
- Ориентация на показатели
- Трудно управлять
После того, как вы нажали все рычаги и настроили настройку, вы развертываете свою модель и ждете, затаив дыхание, чтобы увидеть результаты.
Это противоположность CDD, которая позволяет улучшить вашу модель, работая с реальными беседами.
3: Развивающиеся сущности
Контекстуальный и составной
Одной из сильных сторон Расы всегда были составные и контекстные сущности.
Намерения можно рассматривать как глаголы, а сущности как существительные. Фраза "заполнение слота" также относится к захвату объектов.
Контекстуально означает, что сущности не распознаются чат-ботом при непосредственном запросе ввода у пользователя или обнаруживаются с помощью конечного списка поиска. Но скорее сущности обнаруживаются на основе их контекста в высказывании или предложении.
Это ближе к тому, как мы, люди, обнаруживаем сущности в разговоре.
Составные сущности означают, что я могу захватывать несколько сущностей за одно намерение или высказывание пользователя. В сценарии, когда пользователь дает вам всю информацию в одном высказывании, у вас есть возможность зафиксировать все эти значения за один раз.
Это означает меньшее количество диалогов и более эффективный чат-бот.
Роли сущностей Расы
Отправной точкой для сущностей является то, что вы можете добавлять метки к словам. Следовательно, вы можете определять концепции в своих данных.
В приведенном ниже примере у вас есть разные типы городов, определенные с другими объектами.
## intent:travel_details - I want to travel by [train](travel_mode) from [Berlin](from_city) to [Stuttgart](to_city) on [Friday](date_time)
Это не изящно, поскольку для одного объекта реального слова, а именно города, необходимо создать несколько сущностей.
В этом примере у города есть две роли: город отправления и город прибытия. С помощью Rasa вы можете определить эти объекты с конкретными ролями в файле nlu.md вашего проекта.
## intent:travel_details - I want to travel by [train](travel_mode) from [Berlin]{"entity": "city", "role": "depart"} to [Stuttgart]{"entity": "city", "role": "arrive"} on [Friday](date_time)
Результат выглядит так:
I want to travel by train from Berlin to Stuttgart on next week Wednesday. { "intent": { "name": "travel_details", "confidence": 0.9981381893157959 }, "entities": [ { "entity": "travel_mode", "start": 20, "end": 25, "value": "train", "extractor": "DIETClassifier" }, { "entity": "city", "start": 31, "end": 37, "role": "depart", "value": "Berlin", "extractor": "DIETClassifier" }, { "entity": "city", "start": 41, "end": 49, "role": "arrive", "value": "Stuttgart", "extractor": "DIETClassifier" } ], "intent_ranking": [ { "name": "travel_details", "confidence": 0.9981381893157959 },
Группы сущностей Расы
Эта функция позволяет группировать объекты вместе с определенной меткой группы. Лучше всего это объяснить на примере ...
Опять же, определено в вашем файле /data/nlu.md:
## intent:teams - The first team will be [John]{"entity": "teamMember", "group": "1"}, [Mary]{"entity": "teamMember", "group": "1"} and [Geoff]{"entity": "teamMember", "group": "1"} and the second group to travel will be [Martha]{"entity": "teamMember", "group": "2"}, [Adam]{"entity": "teamMember", "group": "2"} and [Frank]{"entity": "teamMember", "group": "2"}.
И вывод Rasa NLU:
The first team will be John, Mary and Geoff and the second group to travel will be Martha, Adam and Frank. { "intent": { "name": "teams", "confidence": 0.9999754428863525 }, "entities": [ { "entity": "teamMember", "start": 23, "end": 33, "group": "1", "value": "John, Mary", "extractor": "DIETClassifier" }, { "entity": "teamMember", "start": 38, "end": 43, "group": "1", "value": "Geoff", "extractor": "DIETClassifier" }, { "entity": "teamMember", "start": 83, "end": 95, "group": "2", "value": "Martha, Adam", "extractor": "DIETClassifier" }, { "entity": "teamMember", "start": 100, "end": 105, "group": "2", "value": "Frank", "extractor": "DIETClassifier" }
Следует отметить… Как правило, структуры данных вводятся в Entities. Сущности могут иметь под-под-сущности и могут быть разложены. Эта тенденция видна в Rasa, инструменте Alexa Conversations и Microsoft LUIS. Раса называет это Entities Roles & Groups. AWS называет это слотами со свойствами. И Microsoft LUIS, объекты, которые можно разложить.
4: Прекращение поддержки государственной машины
Есть две области, в которых чат-ботам придется значительно продвинуться, чтобы стать по-настоящему разговорным и обрабатывать неструктурированные многооборотные разговоры. Одна область - это сложные и составные объекты.
Второй, но наиболее важный - это конечный автомат, поток диалога или также называемая системой управления диалогом. Это дерево узлов с блоками решений на каждом узле, которые определяют, куда должен идти диалог, на основе набора условий.
Это ахиллесова пята платформ чат-ботов. Это единственный элемент, который ограничивает гибкость и отказоустойчивость чат-бота. В то время как другие поставщики платформ пытаются оптимизировать управление состоянием диалогов, Rasa делает обратное. Они осуждают это.
Вы не можете написать правила для каждого возможного пути диалога. Сопоставление очевидно; мы хотим представить разговорный ИИ, но с огромным набором правил для управления нашим разговорным деревом.
Rasa использует машинное обучение для изучения разговорных шаблонов и прогнозирования реакции; на основе контекста и т. д. Данные обучения представлены в виде примеров разговоров, определенных в простом формате.
5: языковой агностик
Крупные поставщики облачных чат-ботов предусматривают набор языков. Эти языки выбираются исходя из коммерческого смысла. Второстепенный региональный язык не может быть реализован. И для значительной части рынка это требование.
Пример конвейера Rasa для любого неанглийского языка:
language: "xx" # your two-letter language code pipeline: - name: WhitespaceTokenizer - name: RegexFeaturizer - name: LexicalSyntacticFeaturizer - name: CountVectorsFeaturizer - name: CountVectorsFeaturizer analyzer: "char_wb" min_ngram: 1 max_ngram: 4 - name: DIETClassifier epochs: 100 - name: EntitySynonymMapper - name: ResponseSelector epochs: 100
Другие направления машинного обучения требуют специальных знаний, оборудования, их сложно упаковать или реализовать.
С Rasa вы можете обучить своего чат-бота владению любым языком по вашему выбору. Или вы можете использовать вложения BytePair с доступом к 275 языкам.
6. Простота конфигураций и изменений в конвейере
Итерации экспериментов и быстрых тестов упрощаются по следующим причинам:
- Установка через виртуальные среды (например, Anaconda)
- Запуск нескольких виртуальных сред
- Быстрая установка
- Минимальные данные для обучения и короткое время обучения
- Список моделей и опций
- Примеры конвейера и конфигурации
Вы можете полностью настроить конвейер NLU, объединив компоненты в файле config.yml. Вы можете изменить это на лету, чтобы проверить производительность. Таким образом, вы можете выбрать начальную точку и оттуда настроить и отрегулировать свою конфигурацию.
Это большое преимущество использования Rasa, возможность настраивать конфигурации и параметры и впоследствии тестировать производительность.
7: Специализированные или преданные своему делу люди не требуются
Rasa демократизирует доступ к программному обеспечению, ресурсам и обучению NLU. Как упоминалось ранее, хотя Rasa становится более сложным и загруженным функциями, их пользовательский интерфейс упрощается.
Элементы, составляющие структуру чат-бота, четко сегментированы и просты для понимания. При минимальном обучении персонал может быстро освоить среду разработки и другие среды.
8: Полный контроль над вашими данными
Когда дело доходит до ваших данных, необходимо учитывать два аспекта. Во-первых, где размещены ваши данные. В некоторых странах действует законодательство, запрещающее хранение личных данных за пределами страны. Облачные провайдеры предлагают широкий выбор географических и периферийных местоположений.
Второй аспект заключается в том, что организации NLU / P хотят, чтобы вы «передавали» свои данные. Модели, которые они строят с вашими данными, не на 100% находятся под вашим контролем.
Требуется технико-экономическое обоснование, месяцы сбора данных и т. Д. И т. Д.
Rasa позволяет устанавливать где угодно; вы можете начать на своем ноутбуке, если хотите. Для запуска процесса требуются минимальные данные, и непрофессионалы могут быть обучены и обучены «работать с ним»…
Заключение
Некоторые компании заявляют, что у них есть секретный соус искусственного интеллекта, который безвозвратно изменит мир.
Вот почему я считаю подход Расы реалистичным, честным, открытым и долгосрочным.