У меня есть чат-бот на базе Microsoft Bot Framework, который использует сервис LUIS для распознавания естественного языка.Одним из поддерживаемых вариантов использования является предоставление пользователям возможности перечислять свои билеты.Поскольку может быть несколько разных типов билетов, один из запросов функции должен поддерживать фильтрацию этих билетов по их типу, например - заказов , инцидентов и т. Д.
В LUIS я создал список сущность с именем ticketType с подсписками, представляющими отдельные типы заявок и их синонимы: ![Entity type list for ticket type](https://i.stack.imgur.com/zxpJ5.png)
Далее я создал намерение с именем listTickets , где я предоставил следующие примеры высказываний: ![Intent for listing tickets](https://i.stack.imgur.com/AubCx.png)
Наконец,Я также создал шаблоны для listTickets с намерением усилить признание: ![Patterns for listing tickets](https://i.stack.imgur.com/NpXzY.png)
Теперь, после обучения и тестированияиз моей модели все работает просто отлично.Ну, почти ... Сущность ticketType распознается правильно, но я не могу отличить отдельные типы заявок на основе моих подсписков, как показано в результатах теста здесь: ![Test results](https://i.stack.imgur.com/0bPUw.png)
Вопрос
Как правильно обучить мою модель LUIS и правильно создать объект ticketType , чтобы LUIS правильно распознавал также подсписок?Что-то вроде ticketType::order
и ticketType::incident
?
Я также читал о ролях сущностей , однако это не подходит для моего сценария, потому что:
Согласно примеру это более подходит в ситуациях, когда одна и та же сущность используется в высказывании несколько раз, а роли используются для разграничения между отдельными сущностями на основе их позиций.
Теоретически я мог бы использовать роли, но тогда мне пришлось бы тренировать свое намерение listTickets с каждой возможной комбинацией подсписка, чтобы все правильно маркировалось.Будут ли шаблоны по-прежнему иметь смысл в этом сценарии?