2017-10-17 164 views
1

我正在使用Alexa技能工具包,并希望某人能够指定要采取的位置。这可能是一个地址(马萨诸塞州斯普林菲尔德的123 Main St)或机场(亚特兰大机场)。Alexa技能:允许地址(街道+城市)或机场输入?

我看到Alexa的有默认插槽类型的AMAZON.AirportsAMAZON.PostalAddressAMAZON.US_CITY,但我无法弄清楚如何能够接受的机场或地址+城市插入插槽。

的什么,我试图执行例:

Alexa的,请贾维斯安排在周五

Alexa的搭车去解放路123号,斯普林菲尔德,问贾维斯在星期六安排乘车前往肯尼迪

我试图让这个尽可能自然,所以要求我改变每个目标类型的语言(例如:“安排乘车”意味着机场 - 与 - “预订乘车”意味着地址)会适得其反。我已经尝试过了,但正如我所说的那样,它会适得其反,而且如果我将Intent的名称过于相似(“预订我搭车”-vs-“预订我搭机到机场”),Alexa将很容易困惑。

我在我的服务器上运行PHP,但如果我可以在技能JSON本身处理这将是理想的。

+2

我们总是乐于提供帮助和支持,但是您需要先帮助自己。 : - )***在[**做更多研究**之后](https://meta.stackoverflow.com/q/261592/1011527)如果你有问题**发布你已经尝试** **清楚说明什么不工作**并提供[最小,完整和可验证示例](http://stackoverflow.com/help/mcve)。阅读[如何问](http://stackoverflow.com/help/how-to-ask)一个很好的问题。请务必[参观](http://stackoverflow.com/tour)并阅读[this](https://meta.stackoverflow.com/q/347937/1011527)。 –

+0

我一直在使用Stack一段时间,并看到此复制/粘贴之前,但我不明白它是如何使用技能套件(这是一种所见即所得的编辑器)和固定值(认为专有枚举)。这就是问题的全部。我并没有试图解决一个bug,而是不知道如何开始去混合/匹配插槽类型,除了谷歌搜索之外,我当然在去Stack之前尝试过。 – Bing

+0

这些位置是否可解析,以便它们可用作条件以确定要搜索哪种插槽类型?基本上,您可以在搜索机场时使用“机场”这个词吗?我不想要求诸如“Alexa,请问Jarvis安排在周六乘坐JFK _Airport_”这样的短语会产生“反作用”。另外,也许你可以定义一个优先顺序,如果第一个没有找到结果,它就进入下一个。 –

回答

0

您可以使用一个意图与2个不同的话语:

FirstIntent安排乘车前往{AIRPORT_SLOT}机场 FirstIntent安排乘车前往{ADDRESS_SLOT}

或者你可以使用2个独立的意图与不同的话语:

AirportIntent安排乘坐{AIRPORT_SLOT}机场 AddressIntent安排乘坐{ADDRESS_SLOT}

如果您采用第一种方法,使用单一意图,则您的意图将需要检查以查看返回哪个插槽(如果有)。

我会选择使用单独的意图,并重新将通用代码重构为由两个意图处理程序调用的函数。

相关问题