В Microsoft Luis, как мне моделировать массив сущностей? - PullRequest
0 голосов
/ 28 сентября 2018

Итак, я пытаюсь понять высказывание пользователя при выборе массива сущностей, вот несколько примеров высказываний:

My choices are 1, 2, 3, and 4
Let's go with Red  Blue  Yellow
How about January and February and March
I want A & B & C

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

[1,2,3,4]
[Red,Blue,Yellow]
[January,February,March]
[A,B,C]

У меня нет вариантов выбора, поэтому я не могу их тренировать.Но я хочу быть в состоянии понять несколько вариантов, которые выбирает пользователь.Возможно ли это в Luis?

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

1 Ответ

0 голосов
/ 30 сентября 2018

Вы можете решить эту проблему, создав Entity типа Simple с именем Choice и добавив подобные высказывания и пометив варианты выбора с помощью указанной сущности, например:

enter image description here

Луис, как ИИ, очень хорошо распознает паттерны, и эти высказывания имеют очень определенный паттерн:

Высказывание: Prefix + Choice1 + delimiter +Choice2 + delimiter + ... + ChoiceN

Быть

  • Prefix: «Мой выбор», «Пойдем с», «Как насчет"и т. д.
  • Choice: любое слово
  • delimiter:", "," и "," "и т. д.

Это примерношаблон, который обнаруживает Луис, в этом случае обнаружит что-либо после prefix, разделенного delimiter как choice.Так что высказывание типа

Я хочу газировку, гамбургер и картофель фри

Результатом будет:

enter image description here

Несмотря на то, что мы не указали Луису, что soda burger и fries являются допустимыми вариантами, он все равно обнаружил их как таковые: https://github.com/navelDirt/luis-apps/blob/master/ChoiceDetect/ChoicesApp.json

Вы можете импортировать его в Luis, перейдя в YourApp -> Управление -> Версии -> Импортировать версию

Редактировать:

Он должен обнаружить N варианты

enter image description here

...