Мы используем actions.intent.OPTION
для обработки выбора типа ответа List в Google Actions. actions.intent.OPTION
не только обрабатывает ввод пользовательского выбора (сенсорный), но также обрабатывает пользовательский (голосовой / текстовый) ответ после списка и красиво отображает ответ пользователя на элемент в списке. Он также в некоторой степени обрабатывает опечатки.
Однако сложно обработать ответ пользователя, который не хочет выбирать ответ из списка. Основано на официальном руководстве Google
(https://developers.google.com/actions/assistant/responses#list), мы используем подсказку для поворота или расширения разговора.
У меня есть вариант использования, в котором пользователь может использовать несколько возможных текстов, чтобы указать, что он / она не выполняет выбор. Например:
bot: which food do you want?
(showing list)
- rice
- salad
- pizza
(suggestion chip)
not in this list
Это пользовательский ответ, который мы можем обработать:
- сенсорный выбор в списке (рис, салат, пицца)
- пользовательский текст или голос, указывающий на элемент в списке (или аналогичный элементам в списке). Действия Google могут рассматривать "жареный рис" как выбор риса.
- чип подсказок касания («отсутствует в этом списке») означает, что пользователь не хочет, чтобы все элементы в списке. Мы можем справиться с этим потоком разговоров.
Однако, если пользователь скажет другие тексты, такие как «я передумал», «давайте сделаем что-то еще», «давайте сделаем это снова» или «перезапустите этот шаг», мы не сможем справиться с этим, потому что действия Google и Диалоговое окно автоматически сопоставляет эти тексты с наиболее похожим элементом в списке (сходство строк).
Какая хорошая практика для обработки ответа пользователя, который не выбирает ни одного элемента в списке рядом с чипом предложения? Мне кажется, одного чипа предложения недостаточно для того, чтобы справиться со многими вариантами ответа пользователя.