自动语音自适应

执行检测意图请求时,您可以选择提供语音上下文,以向语音识别器提供提示。这些提示有助于在特定对话状态下进行识别。

自动语音自适应功能自动将代理实体、训练短语和对话状态用作所有检测意图请求的语音上下文提示,从而提高代理的语音识别准确性。默认情况下,此功能处于启用状态。

启用或停用自动语音自适应

如需启用或停用自动语音自适应,请执行以下操作:

  1. 转到 Dialogflow 控制台
  2. 在左侧边栏菜单顶部附近选择您的代理
  3. 点击代理名称旁边的设置 按钮
  4. 选择语音 (Speech) 标签页
  5. 滚动到提高语音识别质量 (Improve Speech Recognition Quality) 部分
  6. 开启或关闭启用自动语音自适应 (Enable Auto Speech Adaptation)

语音识别改进示例

启用自动语音自适应后,您能够以可充分利用代理的方式构建自己的代理。以下示例显示了如何通过对代理进行某些更改来改进语音识别功能:

  1. 如果定义了使用 @sys.number 系统实体的训练短语,那么当最终用户说出“two”时,可能会被识别为“to”、“too”、“2”或“two”。启用自动语音自适应后,Dialogflow 在语音识别过程中会使用 @sys.number 实体作为提示,并将该参数识别为“two”或“2”。

  2. 如果使用诸如“stuffy nose”之类的短语来定义训练短语,则类似的用户话语会被准确地识别为“stuffy nose”,而不是“stuff he knows”。

  3. 如果您为贵公司提供的产品或服务名称定义了实体,那么当最终用户在话语中提及这些字词时,更有可能被识别出来。

  4. 具有连续但不同数量实体的用户话语可能不明确。例如,“I want two sixteen packs”可能意思是 2 个16 包或 216 包。如果您使用逐字母拼读出的值设置实体,语音自适应可以帮助消除这些情况的不明确之处:

    • 使用以下条目定义 quantity 实体:
      zero
      one
      ...
      twenty
    • 使用以下条目定义 productsize 实体:
      sixteen pack
      two ounce
      ...
      five liter
    • 在语音自适应中仅使用实体同义词,因此您可以通过引用值 1 和单个同义词 one 来定义实体,从而简化 fulfillment 逻辑。
  5. 您可以将自动语音自适应与正则表达式实体结合使用。您可以将这些特征同时用于捕获字母数字序列或数字序列。

    • 不支持特殊字符和标点符号(例如 ` ~ ! @ # $ % ^ & * ( ) - _ = + , . < > / ? ; ' : " [ ] { } \ |)。
    • 允许使用 \s*\s?,但不允许使用 \s
    • 您可以添加不符合这些规范的其他正则表达式实体条目。只要至少有一个条目符合规范,您就可以从自动语音自适应中受益。

    例如,您可以使用如下正则表达式来捕获字母数字序列:

    ^[A-Za-z0-9]{1,10}$
    ^WAC\d+$
    215[2-8]{3}[A-Z]+$
    [a-zA-Z]\s?[a-zA-Z]\s?[0-9]\s?[0-9]\s?[0-9]\s?[a-zA-Z]\s?[a-zA-Z]
    

    以下正则表达式适用于数字序列:

    \d{2,8}
    ^[0-9]+$
    2[0-9]{7}
    [2-9]\d{2}[0-8]{3}\d{4}
    

    另外,请考虑将 @sys.number-sequence 用于接受任何数字序列,并将 @sys.phone-number 用于本地化电话号码识别器。

限制

存在以下限制:

  1. 自动语音自适应不适用于 Actions on Google(Google 助理),因为 Actions on Google 会在数据发送到 Dialogflow 之前执行语音识别。

  2. 自动语音自适应对系统和正则表达式实体的内置支持因语言而异。如需了解支持的语言,请参阅 Speech 类别令牌 $OOV_CLASS_ALPHANUMERIC_SEQUENCE$OOV_CLASS_DIGIT_SEQUENCE。如果其中未列出您的语言,您可以解决此限制。例如,如果您希望能准确识别由三个字母后跟三个数字组成的员工ID,则可以使用以下实体和参数构建代理:

    • 定义一个 digit 实体,其中包含 10 个实体条目(含同义词):
      0, 0
      1, 1
      ...
      9, 9
    • 定义一个 letter 实体,其中包含 26 个实体条目(含同义词):
      A, A
      B, B
      ...
      Z, Z
    • 定义一个 employee-id 实体,其中包含单个实体条目(不含同义词):
      @letter @letter @letter @digit @digit @digit
    • 在训练短语中使用 @employee-id 作为参数。