2017-06-13 2 views
1

Dans la boîte de dialogue de conversation Watson, j'ai créé une condition; quelque chose commeComparaison de la variable de contexte avec l'entité dans IBM Watson Conversation

if $stored_state == @states:(Florida) AND $preferred_joint == @joint:(KFC) 
then some response 

$stored_state est une variable de contexte, qui a été stocké à un noeud précédent à partir de l'entrée utilisateur. Idem pour $preferred_joint. @states et @joint ne sont que deux entités avec une correspondance floue. Mais la condition comme celle-ci ne fonctionne jamais. J'ai également essayé d'utiliser l'entité @states:(Florida) après l'avoir convertie en une variable de contexte. Mais ne fonctionne toujours pas.

Maintenant, qu'est-ce que je fais mal ici? Existe-t-il un moyen de comparer la variable de contexte avec l'entité?

+0

Est-ce que @states: (Florida) n'est pas un prédicat en soi? –

+0

oui, je le crois. Mais je dois vérifier 'stored_state' dans n'importe quel noeud ultérieur,' states @: (Florida) 'juste un seul cas. – x4h1d

+1

Vous voulez quelque chose comme 'if @states: (Florida) ET $ stored_state == Florida ....' –

Répondre

1

Juste pour confirmer, vous voulez vérifier si l'entité que l'utilisateur vient de dire à la dernière entrée correspond à ce que vous avez stocké dans votre contexte?

Vous pouvez utiliser une condition ET pour ce droit? @states: 'Florida' & & $ stored_state == 'Florida'

Ceci est déclare que l'utilisateur a juste dit l'état de la Floride, et la variable de contexte stocké est également en Floride.