В чат-боте IBM Watson я создал 2 сущности, одну из которых назвали @serial_number, а другую - @material_number.
Шаблон для серийного номера (\d{7,9})-(\d{2,4})-(\d{1,3})
и шаблон для номера материала (\d{3}).(\d{3}).(\d{3}).(\d{3})
.
В "приветственном" узле бот запрашивает имя пользователя, а в узле ниже, если бот распознает имя, он также ищет другие типы ввода. Я хочу, чтобы бот мог захватывать как входные данные, так и серийные номера. Поэтому я активировал режим слотов, затем добавил 2 слота с переменными $ serialnumber и $ materialnumber. Для обоих их значений я использовал функцию «literal», чтобы бот мог сохранять ввод пользователя в контекстные переменные.
Когда есть ввод, такой как «Привет, я Хенрик. У меня есть ручка. Ее серийный номер 1234567-123-12 и номер материала 123.123.123.123», ответ бота следующий :
"Хорошо, серийный номер 1234567-123-12"
«Хорошо, номер материала 1234567»
Правильно фиксирует серийный номер в соответствии с предоставленным шаблоном. Тем не менее, однако номер материала неверен. Номер материала, который он должен захватить, равен 123.123.123.123 , но он захватывает 1234567 , даже если среди предоставленных шаблонов для @material_number такого шаблона не существует.
Мне как-то нужно, чтобы бот захватил правильную вещь.
Я был бы очень рад, если бы кто-нибудь мог мне помочь с этим. Заранее спасибо.