1

Supposons que j'ai une variable de contexte avec un tableau, par exemple les entités reconnues. Dans le Watson Conversation Service (WCS), il est possible de return responses in sequence or in random. Ce que je cherche est d'avoir une seule réponse dans le noeud de dialogue, mais de choisir au hasard une entrée de tableau et la renvoyer. I know that I can use Spring Expression Language (SpEL) for advanced evaluations. Cela ne fonctionne pas et donne une erreur:Conversation Watson: retour d'une entrée aléatoire d'un tableau de contexte

Here is a random entity: 
<? entities[(int) (entities.size() * T(java.lang.Math).random() ].value ?> 

Que peut-on faire pour produire une valeur entière valide pour l'accès au tableau?

Répondre

0

J'ai trouvé un moyen de contourner l'erreur. La valeur aléatoire doit être transformée en/casted en entier. La réponse suivante dans un nœud de dialogue Watson Conversation renvoie une entrée aléatoire des entités reconnues.

Here is a random entity: 
<? entities[(entities.size() * T(java.lang.Math).random()).intValue()].value ?> 

Lors du passage dans certaines options de l'application à WCS, la boîte de dialogue peut maintenant choisir au hasard un et le retourner comme réponse.