WedX - журнал о программировании и компьютерных науках

Функция шаблона LUIS не обнаруживает мою сущность

Я хочу обнаружить объект из намерения, которое может быть записано несколькими способами:

AB 123456
AB 123 456
AB123456

AB — это вариант из закрытого списка, а остальные должны быть определены как числа. Пока между AB и числом есть пробел, элемент списка и числа обнаруживаются/разрешаются.

Я обнаружил функцию шаблона и надеялся, что это поможет синтаксическому анализатору.

К сожалению, сущность до сих пор не может быть опознана. Я пытался написать шаблон разными способами, но безуспешно.

^([A-Za-z]{1,2})([0-9 ]+)$

([a-z]{2})([\d ]+)

[a-z]{2}[\d ]+

Есть идеи?


  • Для справки: вы разрабатываете своего бота с помощью .NET или Node.js SDK? 31.07.2017
  • С .net, но проблема может быть воспроизведена и на портале luis (с использованием train & test) 02.08.2017

Ответы:


1

AB — это вариант из закрытого списка, а остальные должны определяться как числа. Пока между AB и числом есть пробел, элемент списка и числа обнаруживаются/разрешаются.

Если "AB" принадлежит объекту закрытого списка, вам следует создать простой объект для чисел и составной объект, чтобы связать их вместе. Простую сущность нужно будет обучить несколькими высказываниями, например. "123456", "123 789", "456789", "201731", а затем модель (с помощью шаблона RegExp для вашей функции шаблона, [\d]{6}) должна справиться с остальными.

Вы должны использовать свой объект списка и вновь созданный простой объект в качестве дочерних элементов составного объекта. Это может быть что-то вроде «Продукт» или что-то лучше этого.

Я думаю, вы можете подумать, что закрытый список — это машинное обучение, но это не так. Он напрямую сопоставляется с высказываниями, поэтому, если ваш объект списка имеет следующее:

canonicalForm: "ProductId"
synonyms: "AB", "BA", "AB 123456"

И если высказывание "BA 123456" было обработано моделью, модель LUIS распознала бы "BA" как "ProductId" и вообще не распознала бы "123456". Соответственно, все высказывание не будет распознаваться как одно "ProductId".

01.08.2017
  • Я уже пробовал это с составным объектом, но со встроенным числом, а не с простым типом. Проблема осталась прежней, дети распознавались только в том случае, если между AB и числом был пробел. Я знаю, что элементы закрытого списка не изучаются машиной (к сожалению). Я также попробовал ваше предложение с простым типом, но результат хуже, потому что теперь он определяет AB123456 как простой тип. В настоящее время я предварительно обрабатываю пользовательский ввод в .net с помощью регулярного выражения и добавляю пробел между группами, а затем отправляю его в luis :( 02.08.2017
  • Фу :( Вы можете попробовать использовать Authoring API или выполнить пакетное обучение, чтобы заставить его распознавать пробелы при выборе индексов ваших помеченных объектов (не уверен, что это работает, не пробовал), но это может быть напрасно в зависимости от токенизация. Вам также нужно будет добавить пробел в шаблон регулярного выражения (о чем я должен был подумать в своем первоначальном ответе). Этот пробел будет идти перед числами... 03.08.2017
  • Проблема существует только тогда, когда отсутствует пробел. Если я тренируюсь с AB123456, я не могу маркировать только AB. Я могу выделить только все слово. 03.08.2017

  • 2

    Проблема возникает только при отсутствии пробелов. Если я тренируюсь с «AB123456», я не могу маркировать просто «AB». Я могу выделить только слово целиком.

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

    25.09.2018
    Новые материалы

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

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

    ИИ в аэрокосмической отрасли
    Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


    Для любых предложений по сайту: [email protected]