Я не уверен, подходит ли этот заголовок для вопроса, поэтому позвольте мне подробно объяснить, чего именно я пытаюсь достичь.Это не мой реальный сценарий проекта, который я использую в качестве примера.
Рассмотрим сценарий, в котором пользователь пытается купить фрукты.
Пользователь может сказать боту:
- Мне нужно 2 яблока и апельсин
- Мне нужно 1 яблоко и 1 апельсин
- Мне нужно яблоко и 2 апельсина
- Мне нужно яблоко и апельсиноранжевый
Предположим, у меня есть сущность fruits
, которая идентифицирует фрукты, и я использую @sys.number
, чтобы определить количество фруктов.
В моей нынешней логике я беруentities
фрукты и @sys.number
как список и отображение каждого на основе индекса, то есть первый фрукт в списке будет сопоставлен с 1-м номером в другом списке, и если список номера не имеет соответствующего индекса для фрукта всписок фруктов, я приму его как 1.
Это всего лишь корректировка и не будет работать для типа сообщений 3. , упомянутых выше.
В идеале я должен определитькакое число было упомянуто против какого плода.Есть ли способ сделать это?
Я смогу сделать это, посмотрев queryText
в запрос на выполнение и проанализировав текст, чтобы увидеть заказ, но есть лиспособ сделать сам диалог, чтобы предоставить нам эту информацию?