我正在为
我知道我可以通过AppIntentVocabulary.plist或通过INVocabulary类添加自定义词汇表。但它似乎只允许设置意图属性的可能值(在我的情况下,是INTransferMoneyIntent.toAccount.organizationName属性和INTransferMoneyIntent.toAccount.nickname属性),而不是为用于识别请求短语中的参数的关键字本身提供同义词。
我99%确定这是不可能实现的,但谁知道呢。也许有一些我尚未发现的隐藏选项。
有什么建议吗?
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%确定这是不可能实现的,但谁知道呢。也许有一些我尚未发现的隐藏选项。
有什么建议吗?