多语言代理

Dialogflow 支持多种语言。 如需查看完整列表,请参阅语言参考页面。 您在创建代理时选择的语言会设置为默认语言,您也可以添加其他语言。

根语言和区域特定语言

语言分为两类:

  • 根语言:这种语言不指定语言区域,例如“英语 (en)”
  • 区域特定语言:这种语言将语言区域指定为特定国家或地区,例如“英语 - 美国 (en-US)”

某些语言既是根语言又是区域特定语言。这些语言的语言区域明显不同,因此这些语言区域不能共享共同的根语言。示例:

  • 中文 - 粤语(zh-HK)
  • 简体中文 (zh-CN)
  • 繁体中文 (zh-TW)
  • 葡萄牙语 - 巴西 (pt-BR)
  • 葡萄牙语 - 葡萄牙 (pt)

您应该主要针对根语言设计代理,并仅在需要时针对区域特定语言进行自定义。

添加语言

如需使用 Dialogflow 控制台添加语言或语言区域,请按照以下步骤操作:

  1. 在左侧边栏菜单中,点击现有语言旁边的添加语言 add 按钮。
    系统随即会转到代理设置的语言标签页。
  2. 选择其他语言 (Select Additional Language) 下拉菜单中选择一种语言。
  3. 要添加语言区域,请将鼠标悬停在所选的根语言上,然后点击 + 添加语言区域 (+ Add locale)。
  4. 点击保存

多语言意图和实体数据

对于意图和实体数据,某些数据对于多语言代理的所有语言都是通用的,有些数据是针对特定语言的。

语言通用意图和实体数据

语言通用意图和实体数据在代理支持的所有语言中都是通用的。即使在控制台中选择了特定的语言,或者为 API 提供了特定的语言,这些数据对于所有语言都是共享的。例如,以下数据是语言通用的:

特定语言的意图和实体数据

对于代理支持的每种语言,特定语言的意图和实体数据都是唯一的。您须为每种语言单独提供此数据。当您从控制台中选择语言或向 API 提供语言时,您可以访问指定语言的这些数据。以下是特定语言数据的完整列表:

要使用控制台访问特定语言的数据,请点击代理名称下的语言按钮。

例如,下例中的“size”(尺寸)实体用于订购 T 恤。这个代理最初以英语配置,因此该实体具有“S”及同义词“small”这样的条目。 当添加了西班牙语时,Dialogflow 会针对新语言创建实体,但您需要以西班牙语提供实体条目。

要使用 API 访问特定语言数据,请在获取、创建或更新 EntityType意图类型时提供 language_code 参数。您必须对每种语言分别进行 API 调用才能访问所有特定语言的数据。如果您的 API 调用更新了通用语言数据,则该数据将针对所有语言进行更新。

在模拟器中测试

使用模拟器时,可在代理名称下选择要使用的语言。

使用 API 提供语言

通过 API 发送请求时,请设置 languageCode 字段。如需了解详情,请参阅 Sessions 资源的 detectIntent 方法。

请求未提供支持的语言

当 Dialogflow 收到未提供代理支持的语言的请求时,需遵循以下规则:

  • 当请求未提供语言时,Dialogflow 使用默认语言处理该请求。
  • 当请求提供代理不支持的区域特定语言,但代理支持其关联的根语言时,Dialogflow 使用根语言处理该请求。
  • 上述规则不适用于系统实体提取。 系统实体提取使用提供的区域特定语言,即使代理不支持该区域特定语言也是如此。

集成

基于文本和电话网关集成的代理交互仅使用代理的默认语言。