2017-10-19 117 views
0

例如,这里的一句话:你如何捕获多个实体,并添加到上下文数组形式?

我想订购1个大鸡腿堡10个鸡翅和14个百事

我想将它们放到上下文如下:

{ 
"burgers" : [ 
    { 
     "amount" : 1, 
     "size" : "large", 
     "item" : "chicken" 
    } 
], 
"drinks" : [ 
    { 
     "item" : "pepsi", 
     "amount" : 14 
    } 
], 
"sides" : [ 
    { 
     "item" : "chicken wings", 
     "amount" : 10 
    } 
] 
} 

这很容易从代码的角度做的位置是在实体被提及,但怎么可以这样对谈话直接完成。可能吗?

+0

这就是你只需要在上下文或有更多?我的猜测是你要么在应用程序中处理它,要么使用两步法。我已经使用嵌套处理来首先提取重要项目,然后对其进行后处理。请参阅https://github.com/IBM-Bluemix/watson-conversation-variables#nested-evaluation-of-variables –

+0

我在想,用户可以添加如下命令: '我想添加3个争夺鸡蛋' 这将在两侧 '添加另一个项目{“项目”:“炒鸡蛋”,“量”:3}' 如果能在直接对话来完成,这将是巨大的。否则,我只会从应用程序本身处理实体。 – psyntium

回答

0

这是你获得从沃森的响应后,安排自己的东西。

除了您的实体burgers, drinks and sides,您还需要设置一个quantity实体,但唯一的方法是实际识别哪个与哪个一致,即汉堡,饮料和边的数量是由他们的假设位置。

你可以假设每个数量是实际的食品/饮料之前。

+1

烨..这就是我的想法。而不是简单地为商品分配一对一的数量,我真的不得不使用位置属性,因为有时候,他们可能不会将商品数量放在商品之前,例如:我想订购一份双层奶酪汉堡和薯条请。 – psyntium

相关问题