你如何捕获多个实体,并添加到上下文数组形式?
问题描述:
例如,这里的一句话:你如何捕获多个实体,并添加到上下文数组形式?
我想订购1个大鸡腿堡10个鸡翅和14个百事
我想将它们放到上下文如下:
{
"burgers" : [
{
"amount" : 1,
"size" : "large",
"item" : "chicken"
}
],
"drinks" : [
{
"item" : "pepsi",
"amount" : 14
}
],
"sides" : [
{
"item" : "chicken wings",
"amount" : 10
}
]
}
这很容易从代码的角度做的位置是在实体被提及,但怎么可以这样对谈话直接完成。可能吗?
答
这是你获得从沃森的响应后,安排自己的东西。
除了您的实体burgers, drinks and sides
,您还需要设置一个quantity
实体,但唯一的方法是实际识别哪个与哪个一致,即汉堡,饮料和边的数量是由他们的假设位置。
你可以假设每个数量是实际的食品/饮料之前。
+1
烨..这就是我的想法。而不是简单地为商品分配一对一的数量,我真的不得不使用位置属性,因为有时候,他们可能不会将商品数量放在商品之前,例如:我想订购一份双层奶酪汉堡和薯条请。 – psyntium
这就是你只需要在上下文或有更多?我的猜测是你要么在应用程序中处理它,要么使用两步法。我已经使用嵌套处理来首先提取重要项目,然后对其进行后处理。请参阅https://github.com/IBM-Bluemix/watson-conversation-variables#nested-evaluation-of-variables –
我在想,用户可以添加如下命令: '我想添加3个争夺鸡蛋' 这将在两侧 '添加另一个项目{“项目”:“炒鸡蛋”,“量”:3}' 如果能在直接对话来完成,这将是巨大的。否则,我只会从应用程序本身处理实体。 – psyntium