ios - 如何定义 Siri 意图参数关键字的同义词?

标签 ios siri sirikit

我正在为 INTransferMoneyIntent 开发一个 Siri 扩展处理程序。在这个意图中有一个参数 toAccount Siri 可以从你的请求中解析出来并传递给你的处理程序。它可以成功解析出 toAccount 参数的任何值,即使它们没有在应用程序中注册(通过全局 AppIntentVocabulary.plist 或通过 INVocabulary)。但如果请求在实际帐户名之前或之后包含单词“帐户”,它只能识别请求中的帐户名。说:“将 3 美元转入 Beer 帐户”。或“将 10 美元转账至 Beer 帐户”,其中“Beer”是帐户名称。这完全没问题,因为这正是这个意图应该用于的目的。但是我的客户希望应用程序能够通过关键字“类别”来识别帐户名称,而不是“帐户”一词。就像在短语“在啤酒类别上花费 30 美元”中一样。或者甚至只是“花了 30 美元买了啤酒”。

我知道我可以通过 AppIntentVocabulary.plist 或 INVocabulary 类添加自定义词汇表。但它似乎只允许设置意图属性的可能值(在我的例子中是 INTransferMoneyIntent.toAccount.organizationName 的属性 INTransferMoneyIntent.toAccount.nickname),但不允许为用于识别参数的关键字本身提供同义词来自请求短语。

我 99% 确定这是不可能实现的,但谁知道呢..也许还有一些我还没有发现的隐藏选项..

有什么建议吗?

最佳答案

我确认这不可能可能。

遗憾的是,您不能使用 AppIntentVocabulary.plist 为定义意图的关键字定义同义词。

至少今天是 iOS 11.2

关于ios - 如何定义 Siri 意图参数关键字的同义词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48768412/

相关文章:

ios - 如何在不打开应用程序的情况下通过 Siri 显示 api 的响应?

ios - RAC命令困惑

ios - 从 SiriKit 中的 INExtension 启动应用程序

ios - Siri Api 自定义命令

iphone - WatchKit:WatchKit 应用程序中的语音到文本转换

ios - Siri 在现有项目中不起作用

iphone - 我怎样才能让 NSTimer 在用户使用应用程序的整个过程中一直运行?

ios - 注册区域 ios 时是否需要 startLocationUpdates?

iphone - iPhone 导航栏按钮项 (UIButtonBarItem) 的错误

ios - Siri 完整句子顺序,例如通过 WhatsApp 发送消息