如何为Siri意图参数关键字定义同义词?

4
我正在为INTransferMoneyIntent开发Siri扩展处理程序。在这个意图中,有一个参数toAccount,Siri可以从您的请求中解析出并传递给您的处理程序。即使这些值没有通过全局AppIntentVocabulary.plist或INVocabulary在应用程序中注册,它也可以成功地解析出toAccount参数的任何值。但是,只有在请求中包含实际账户名称之前或之后的单词“account”时,它才能识别请求中的账户名称。例如:“将3美元转入Beer账户”。或者“将10美元转入账户Beer”,其中“Beer”是账户名称。这完全符合意图的使用目的。但我的客户希望,在代替“account”这个词的情况下,应用程序可以通过关键字“category”识别账户名称。比如在短语“在Beer类别上花费30美元”中。甚至只是简单地说“在Beer上花费30美元”。
我知道我可以通过AppIntentVocabulary.plist或通过INVocabulary类添加自定义词汇表。但它似乎只允许设置意图属性的可能值(在我的情况下,是INTransferMoneyIntent.toAccount.organizationName属性和INTransferMoneyIntent.toAccount.nickname属性),而不是为用于识别请求短语中的参数的关键字本身提供同义词。
我99%确定这是不可能实现的,但谁知道呢。也许有一些我尚未发现的隐藏选项。
有什么建议吗?
1个回答

3

我确认这是可能的。

很遗憾,你不能使用AppIntentVocabulary.plist来定义代表意图的关键词的同义词。

至少在iOS 11.2中是如此。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接