2016-12-06 8 views
5

У меня есть бот, который использует .NET, MS Bot Framework и LUIS.ai для своих умений.Создание API для LUIS.AI или использование файлов .JSON для обучения бота для нетехнических пользователей

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

Другими словами, предположим, что прямо сейчас бот может отвечать на сообщения типа «эй бот, где я могу получить кофе» и «где я могу купить одежду» с простыми фразами, содержащими указания. Нетехнические пользователи должны уметь обучать его, чтобы ответить «Где я могу получить немного еды».

Вот что я рассмотрел:

  • Продолжая использовать LUIS.ai. Не работает, потому что у LUIS.ai нет API. Самое лучшее, что у него есть, - это графический интерфейс для улучшения существующих намерений и функции добавления приложений/фраз. Процесс может быть полуавтоматизирован, если файл JSON с приложением может быть сгенерирован некоторым приложением, которое я пишу; тем не менее, все еще должен быть встроенный код, который обрабатывает новые намерения, и это должно быть реализовано C# -кодером.

    Может ли он работать, если я переключаюсь с C# на Node.js? Тогда теоретически я мог бы автоматически генерировать файлы кода/умышленные обработчики.

  • Azure Bot Service. Кажется, что у него нет нетехнического интерфейса и это просто встроенная среда на основе браузера.

  • Ditching Bot Framework полностью и с использованием сторонних инструментов, таких как motion.ai. Не работает, потому что нет «интеллекта», как тот, который предоставлен LUIS.ai.

  • Использование потока форм, который является частью платформы Bot. Если мое приложение для создания ботов GUI может генерировать JSON-файлы, эти файлы могут использоваться Bot Framework для автоматического создания бота. Не работает, потому что нет интеллекта, как в LUIS.ai.

  • Продолжайте использовать платформу Bot, но вырезайте LUIS и создайте отдельную веб-службу на основе библиотеки обработки языка node.js для определения намерений. Может или может не работать, может быть менее умным, чем LUIS, и может быть излишним.

  • Переопределите метод в LuisDialog, который выбирает намерение с LuisResponse, чтобы использовать мой собственный способ решить намерение (но как?).

На данный момент у меня нет идей, и любые указатели будут очень благодарны.

ответ

6

Прежде всего, LUIS.ai предоставляет API, который вы можете использовать для автоматизации обучения. Более того, here - это Luis Trainer, написанный полностью на Python против API, который просто делает это.

Самый простой, возможно, тот, который вы описываете в # 1: вы можете автоматизировать обучение (как объясняется выше), но вам все равно придется развернуть новую версию бота, если будут предоставлены новые намерения.Единственное, что позволяет пользователям обучать существующую модель новым нотациям, а другая - совсем другое - позволить им создать модель :)

Возможно, будет сложно пропустить код для бэкэнд (я бы не автоматизировал что вообще)

Вот потенциальная идея (не уверен, что она будет работать). Вам понадобится 2 модели Луиса.

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

Если вы разделите это таким образом, вы сможете изучить архитектуру «плагина» для второй модели LUIS. Итак, ваше приложение каким-то образом загружает динамически сборку, где живет вторая модель.

Как только у вас есть это на месте, вы можете сосредоточиться на написании кода для второй модели Luis без необходимости беспокоиться о бот/первой модели. Вы должны иметь возможность заменить сборку второй моделью Luis и иметь возможность в боте обнаруживать, есть ли новая версия этой сборки и заменить ее в домене приложения.

Как я уже сказал, это всего лишь идея, поскольку я занимаюсь мозговым штурмом с вами. Звучит немного сложно, и это не касается всех ваших проблем; так как вам все равно придется писать код (который в любом случае вам в конечном итоге придется делать)

0

Я работаю над проектом-заданием (обучение), чтобы автоматизировать создание чатов, специально предназначенных для модели Luis.ai используя простой старый javascript и веб-сервисы для Луиса.

Я посмотрел на Bot Framework, и это слишком громоздко для автоматизации (я хочу, чтобы X число клиентов создало чат-бот без кодирования). Я также хочу добавить свой собственный тип «Карт» (html widgets), которые делают больше и могут быть легко настроены кем-то с нулевыми навыками кодирования.

Звонки в API Luis.ai/Cognitive Services выполняются в моем коде, и ответ json возвращается в мой собственный механизм правил. На следующем URL-адресе щелкните ссылку LUIS API на странице, чтобы открыть консоль Luis API, где вы можете протестировать и обучить свою модель. Все конечные точки, которые нужно будет здесь ...

https://dev.projectoxford.ai/docs/services/

на основе различных конечных точек на этой странице, вы можете использовать WebClient в asp.net, чтобы оттянуть ответ. Поэтому в моем тестировании у меня есть кнопки на странице, чтобы вытолкнуть высказывания до модели, отбросить объекты, создать иерархические объекты и так далее. Посмотрите на http://onlinebotbuilder.com, чтобы посмотреть, как целипродукт динамически вставил корзину.

Когда ваш инструмент будет построен и начнутся выступления, Luis.ai сохранит их, а на вкладке «Рекомендация» (в Luis.ai) он попросит вас о руководстве ... К сожалению, я не думаю, что вы могли бы дать которые контролируют ваших клиентов, если они не являются экспертами в вашем домене (они понимают, какое высказывание относится к каким намерениям). Вам не нужно принимать ваше приложение, просто тренируйте его, чтобы улучшить модель на основе ввода ваших клиентов ... достаточно скоро у вас будет хорошая модель, основанная на ваших намерениях.

Надеюсь, что это поможет.

 Смежные вопросы

  • Нет связанных вопросов^_^