Watson Assistant - Как получить размер определенных сущностей

Например, у меня есть 3 разных объекта

@action = eat,run,walk
@person = Michael, John, Fred 
@emotion = angry,sad,happy

Я хочу подсчитать действия, введенные пользователем, и лица

If bot recognizes
entities['action'].size() + entities['person'].size() > 2

Любой другой способ добиться этого?


person user3815221    schedule 03.04.2019    source источник
comment
Каков сценарий или вопрос? Не могли бы вы предоставить больше контекста? Вы, кажется, знаете, как добраться до размера.   -  person data_henrik    schedule 03.04.2019
comment
как я могу добавить размер двух объектов, используя условие, приведенное выше пример не работает, поэтому я пытался найти другой способ, я могу добиться этого, только создав контекстную переменную, которая содержит количество и с помощью множественного ответа   -  person user3815221    schedule 04.04.2019
comment
У меня проблемы с чтением вашего комментария. Не могли бы вы разделить предложения запятой или точкой/точкой? Вы хотите добавить два значения перед сравнением? Где вы размещаете это условие?   -  person data_henrik    schedule 04.04.2019
comment
Извините за это .. Да, я пытался добавить 2 значения размера объекта, я хочу поместить его в условие (если бот распознает)   -  person user3815221    schedule 05.04.2019
comment
в основном он не продолжает добавлять размер 2 объектов, если один из них равен нулю. Есть ли способ добавить его, даже если один объект равен нулю?   -  person user3815221    schedule 05.04.2019


Ответы (1)


Чтобы учесть, что один из объектов не распознается, вы можете использовать тернарный оператор <Expression> ? <what_to_do_when_true> : <what_to_do_when_false>.

Итак, в вашем примере условие будет выглядеть так: ((entities['action'] != null ? entities['action'].size() : 0) + (entities['action'] != null ? entities['person'].size() : 0)) > 2

Если один из объектов не распознан (null), подсчитанное значение будет равно 0.

person Michal Bida    schedule 08.04.2019