IBM Cloud Docs
示例语法

示例语法

以下示例描述了将语法用于语音识别的更复杂用法。 所提供的大部分示例都有 ABNF (application/srgs) 和 XML (application/srgs+xml) 这两种格式。 使用这些示例有助于了解如何开始使用语法。

在语法的生产规则中,包含 \(反斜杠)在 ABNF 中是语法错误,在 XML 中被解释为字面值。

有关支持语法的语言和模型及其支持级别(一般可用或测试版)的更多信息,请参阅 自定义语言支持

确认语法

对于期望问题答案是一个词的应用程序,确认语法非常有用。 以下语法定义了可能的 yes 和 no 响应的列表。

列出语法

对于期望用户从预定义字符串集中选择某个选项的应用程序,列出语法非常有用。 这种字符串集有时称为平面列表。 它通常由一组终端元素组成,而不包含复杂的规则结构。

  • 以下语法定义了一个数字短语列表:

  • 以下语法定义了一个用户可从中选择的有效姓名列表,可能是从电话簿中选择某个人:

车辆识别号码语法

车辆识别号码 (VIN) 使用固定的字母数字格式,这与信用卡号、电话号码和美国社会保障号一样。 相对于传统的 n 元语法,这种语法的一大优点是对于指定此类格式非常有效。

VIN 格式的标准化程度很高,具有固定的字符数。 对于这些类型的任务,传统 n 元语法的表现不佳。 与这种语法不同的是,n 元语法无法确保提供所需的字符数。

以下语法可识别本田 VIN 代码。 此示例比先前的示例更复杂,但很好地演示了这种语法的优点。

有关 VIN 格式的更多信息,请参阅 车辆识别码

具有可选元素的语法

您可以将响应的某些元素设为可选项,让语法更灵活地预测可能的用户响应。 以下语法使用了方括号将 $optionalphrase 元素括起,使其成为可选项。 用户在说出社会保障号之前,可能会说一些额外的短语。 例如,用户可能会说“my social is xxx xx xxxx”或仅仅说“xxx xx xxxx”。

有关语法中可选扩展的更多信息,请参阅《语音识别语法规范》 第2.5节 "重复"。

消歧语法

其他可能的示例语法包括以下情况:所识别的响应的置信度并不是非常高,但应用程序需要确定用户的响应。 在这种情况下,应用程序可以动态创建语法来包含最有可能的响应,然后要求用户重复其答案。 例如,应用程序可以创建一个语法来包含两个最有可能的选项,然后要求用户从中选择一个:Did you mean 'option 1' or 'option 9'?

消歧语法是通过编程方式生成的。 没有示例可供参考。