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

В простейшей форме наш простой сценарий выглядит так:

  1. Вы пишете автоматизацию PowerShell.
  2. Nibo проанализирует входные данные и адаптирует диалог с конечным пользователем.

Для достижения этого результата нашей системе автоматизации требуются следующие три компонента:

Давайте рассмотрим каждый из них по очереди.

1. Разговорный интерфейс

Специализированные диалоговые входы

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

Вот несколько примеров, чтобы объяснить, что я имею в виду.

Если у вас есть произвольный текст (строка) или числовой параметр, он будет выглядеть так:

Если у вас есть список предопределенных значений, а всего их меньше семи, они будут выглядеть следующим образом:

Если их семь или более, ввод будет адаптирован к этому пользовательскому интерфейсу списка с автозаполнением/фильтрацией:

Если у вас есть ввод datetime, он будет адаптироваться к этому:

Список множественного выбора (менее семи, семи и более) выглядит следующим образом:

Булевы входные данные (да/нет, истина/ложь) выглядят следующим образом:

Вот "древовидный ввод" — более сложный иерархический тип ввода:

Редактируемые входы

Все вводы, связанные с автоматизацией, доступны для редактирования. Они всегда отмечены значком ручки «редактировать»:

Валидации

Наш набор инструментов обеспечит большую часть проверки (правильный формат даты, отсутствие опечаток в списке, выбранные элементы). Однако для пользовательской проверки в «свободном тексте» вы можете определить свои собственные правила. Они могут быть длиной или выражением регулярного выражения, например, для формата электронной почты [email protected].

2. Определите автоматизацию

Мы пытаемся сопоставить то, что пользователь описывает как свой запрос или проблему, используя естественный язык, с существующей автоматизацией. Мы возвращаем список из трех результатов и позволяем пользователю выбрать любой из них или ни один из них.

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

Сценарий с малым объемом данных ➡ Идентификация на основе поиска

Имея немного больше данных, мы можем перейти к векторизации документа, используя TF-IDF и косинусное сходство в сочетании с K ближайших соседей, чтобы найти меру, чтобы найти то, что нам нужно. Это означает, что вместо поиска мы смотрим, насколько другие запросы похожи на тот, который мы анализируем, и пытаемся сделать вывод о правильной автоматизации.

Когда будет достаточно данных, мы перейдем к более продвинутому подходу к машинному обучению с учителем.

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

Наш коллега Разван расскажет подробнее о том, как все это работает на самом деле.

Если ваша автоматизация достаточно распространена (например, сброс пароля, включение сотрудника, доступ к приложению), мы будем использовать алгоритм наилучшего сопоставления, поскольку Nibo уже изучил эти типы автоматизации.

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

Мы добавим будущие сообщения, которые описывают это более подробно.

3. Выполнение с использованием механизма автоматизации

Наш первый механизм автоматизации — это служба автоматизации Azure. Он позволяет размещать и запускать сценарии PowerShell и запускать их через API.

Как было сказано в моей предыдущей статье, мы хотели предоставить открытую систему без привязки к поставщику. Вот почему мы позаботились о том, чтобы сценарий PowerShell мог выполняться за пределами службы автоматизации Azure и нашей платформы, поэтому в разработке нет ограничений.

Чтобы автоматизация работала с нетехническим конечным пользователем, она всегда должна иметь точный ввод, и это должно быть бесшовно для конечного пользователя. Вот почему в Nibo мы пытаемся автоматически адаптировать разговор к скрипту PowerShell. Вы объявляете входные данные, как обычно, мы анализируем сценарий, понимаем тип входных данных и адаптируем диалог с конечным пользователем, чтобы обеспечить отсутствие ошибок.

В этой статье Александру описал интересное применение нашей платформы в сфере образования

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