Я работаю над списком покупок. Я нашел хороший крайний случай, который сводит меня с ума, если вы добавляете один элемент вместе со счетчиком и единицей, все в порядке. Например. "одна бутылка воды", однако это становится очень сложным, когда вы говорите «Я хочу одно яблоко и одну бутылку воды».. В этом случае бутылка только одна единица.
Как узнать, к какому группа принадлежит бутылка?
Просто для тестирования имейте это в виду «Мне нужна соль, один чизкейк и две бутылки вина».
Я не совсем уверен, как мне это показать. По сути, я просто использовал бы эти предложения выше как образцы (я использую другой язык, но это не имеет значения). Затем я бы пометил интересные слова как @sys.number для подсчета и две настраиваемые сущности для единиц и продуктов. Стоит ли упоминать, что каждое поле «является списком»?
ну покажи скриншот намерения.
@Prisoner извините за задержку, вот она: dropbox.com/s/968z8kwlieukkxa/…

Я нашел решение, но предлагаю не использовать его. Теоретически это работает нормально, но на практике понимание естественного языка все портит. Вы получите названия продуктов, разделенные на два поля и тому подобное. Например. Кока-кола и пепси-кола, вероятно, будут разделены на два значения, которые бесполезны. Также маловероятно, что ваши пользователи все равно будут использовать единицы и подсчеты.
Решение простое - проверьте индексы слов. Возьмите необработанный ввод и разделите его по каждому названию продукта, если часть перед названием продукта содержит «следующую» единицу или счет, тогда вы обнаружите, что эти значения принадлежат друг другу. Имейте в виду, что диалоговое окно может дать вам счет в таких словах, как «один», вам тоже нужно проверить это.
Можете ли вы обновить свой вопрос, включив в него примеры того, как вы разрабатываете намерения в Dialogflow, чтобы попытаться захватить несколько групп?