我正在使用新的 Actions on Google 功能为 Google Home 制作应用程序。我的应用程序的一部分要求用户输入字母数字对,例如“P7”。但是,在使用语音输入进行测试时,Google 会在将文本发送到我的应用程序之前将其自动更正为“Pizza Oven”之类的内容。
有没有办法在我的 Actions On Google 对话中提示或覆盖自动更正?
我正在使用新的 Actions on Google 功能为 Google Home 制作应用程序。我的应用程序的一部分要求用户输入字母数字对,例如“P7”。但是,在使用语音输入进行测试时,Google 会在将文本发送到我的应用程序之前将其自动更正为“Pizza Oven”之类的内容。
有没有办法在我的 Actions On Google 对话中提示或覆盖自动更正?
如果您使用的是 api.ai,您可以指定您希望将其中两个参数限制为字母和数字。@sys.number
和实体被定义为将@sys.ordinal
其限制为数字,但您需要创建自己的@letter
实体,由字母组成,您猜对了。
在这个屏幕截图中,我已经创建了@letter
实体,然后定义了几个示例短语。在这种情况下,使用前缀“experiment”,它将返回说出的字母和数字对:
如果你用“实验随机”之类的东西来测试它,你可能会看到它仍然匹配,但参数是空的。有几种方法可以解决这个问题。您可以要求这些参数 - 但这意味着如果您没有输入该对,系统会提示您。或者,您可以设置一个优先级较低的意图,该意图可能更普遍地匹配。它可能看起来像这样。(可以通过单击意图名称旁边的彩色点来设置优先级。)
该@sys.any
实体是一个通配符,应该匹配任何内容。但由于这是一个较低的优先级,它会首先尝试匹配一个字母数字对,然后尝试这个,看看它是否匹配作为后备。