Взяв пример приборной панели автомобиля, я изменил начальный узел @genre на @genre:classical. Я также добавил список в контекст
"choices":["Beethoven","Mahler 9","Brahms 3rd"]
и ответ Ватсона "I have 3 selections"
. Условие на следующем узле $choices.contains(input.text)
. Ответ «Найдено совпадение» предназначен только для тестирования. Это выглядит так:
Когда я проверяю это в инструменте API и набираю «Бетховен», появляются как «Найдено совпадение», так и «Отличный выбор!...». То же самое для двух других вариантов, но только если я ввожу точный вариант, например, «Малер 9». Ввод «Малер» или «Малер» не дает совпадения. Я прочитал документацию SpEL, но не нашел способа в однострочном условии проанализировать список в поисках частичных совпадений.
Итак, мой вопрос: существует ли выражение условия, которое соответствовало бы частичному вводу пользователя, например, «Малер»? Я буду использовать Java SDK для кодирования сервера приложений, поэтому в качестве альтернативы мне было интересно, могу ли я добавить временную @entity только для этой последовательности вместо использования списка контекста, а затем удалить его, когда разговор будет завершен? Или есть способ создать более сложное условие в MessageRequest и распознает ли его Watson? Или это просто не правильный способ сделать это? Любые указатели, примеры или документы высоко ценятся.