对话语言理解接受的数据格式

如果你要将数据上传到对话语言理解中,这些数据必须遵循特定的格式。 本文将详细介绍接受的数据格式。

导入项目文件格式

如果你要将项目导入到对话语言理解中,则上传的文件必须采用以下格式:

{
  "projectFileVersion": "2022-10-01-preview",
  "stringIndexType": "Utf16CodeUnit",
  "metadata": {
    "projectKind": "Conversation",
    "projectName": "{PROJECT-NAME}",
    "multilingual": true,
    "description": "DESCRIPTION",
    "language": "{LANGUAGE-CODE}",
    "settings": {
            "confidenceThreshold": 0
        }
  },
  "assets": {
    "projectKind": "Conversation",
    "intents": [
      {
        "category": "intent1"
      }
    ],
    "entities": [
      {
        "category": "entity1",
        "compositionSetting": "{COMPOSITION-SETTING}",
        "list": {
          "sublists": [
            {
              "listKey": "list1",
              "synonyms": [
                {
                  "language": "{LANGUAGE-CODE}",
                  "values": [
                    "{VALUES-FOR-LIST}"
                  ]
                }
              ]
            }            
          ]
        },
        "prebuilts": [
          {
            "category": "{PREBUILT-COMPONENTS}"
          }
        ],
        "regex": {
          "expressions": [
              {
                  "regexKey": "regex1",
                  "language": "{LANGUAGE-CODE}",
                  "regexPattern": "{REGEX-PATTERN}"
              }
          ]
        },
        "requiredComponents": [
            "{REQUIRED-COMPONENTS}"
        ]
      }
    ],
    "utterances": [
      {
        "text": "utterance1",
        "intent": "intent1",
        "language": "{LANGUAGE-CODE}",
        "dataset": "{DATASET}",
        "entities": [
          {
            "category": "ENTITY1",
            "offset": 6,
            "length": 4
          }
        ]
      }
    ]
  }
}

密钥 占位符 示例
{API-VERSION} 要调用的 API 的版本 2023-04-01
confidenceThreshold {CONFIDENCE-THRESHOLD} 这是一个阈值分数,低于此分数的意向将被预测为“无”意向。 值的范围为 01 0.7
projectName {PROJECT-NAME} 项目名称。 此值区分大小写。 EmailApp
multilingual true 一个布尔值,让你可以在数据集内使用多种语言的语句。 在部署模型后,你可以使用任何支持的语言(不一定包含在训练文档中)查询该模型。 有关支持的语言代码的详细信息,请参阅语言支持 true
sublists [] 包含子列表的数组。 每个子列表都包含一个键及其关联的值。 []
compositionSetting {COMPOSITION-SETTING} 定义如何在实体中管理多个组件的规则。 选项是 combineComponentsseparateComponents combineComponents
synonyms [] 包含所有同义词的数组。 同义词 (synonym)
language {LANGUAGE-CODE} 指定项目中所用语句、同义词和正则表达式的语言代码的字符串。 如果你的项目是多语言项目,请选择大多数语句的语言代码 en-us
intents [] 包含项目中所有意向的数组。 这些意向是从语句中分类的。 []
entities [] 包含项目中所有实体的数组。 这些实体是从语句中提取的。 可以在每个实体中定义其他可选组件:列表、预生成组件或正则表达式。 []
dataset {DATASET} 此语句在训练前拆分时将归类到的测试集。 若要详细了解数据拆分,请参阅训练对话语言理解模型。 此字段的可能值为 TrainTest Train
category 与指定文本跨度关联的实体类型。 Entity1
offset 实体开头的非独占字符位置。 5
length 实体的字符长度。 5
listKey 在预测中要映射回的同义词列表的规范化值。 Microsoft
values {VALUES-FOR-LIST} 完全匹配的、要提取并映射到列表键的字符串的逗号分隔列表。 "msft", "microsoft", "MS"
regexKey {REGEX-PATTERN} 在预测中正则表达式要映射回的规范化值。 ProductPattern1
regexPattern {REGEX-PATTERN} 一个正则表达式。 ^pre
prebuilts {PREBUILT-COMPONENTS} 可以提取常见类型的预生成组件。 有关可添加的预生成组件列表,请参阅支持的预生成实体组件 Quantity.Number
requiredComponents {REQUIRED-COMPONENTS} 一项设置,指定必须存在特定的组件才会返回实体。 有关详细信息,请参阅实体组件。 可能的值为 learnedregexlistprebuilts "learned", "prebuilt"

语句文件格式

对话语言理解提供了用于将语句直接上传到项目(而不是逐个键入语句)的选项。 可以在项目的数据标签页中找到此选项。

[
    {
        "text": "{Utterance-Text}",
        "language": "{LANGUAGE-CODE}",
        "dataset": "{DATASET}",
        "intent": "{intent}",
        "entities": [
            {
                "category": "{entity}",
                "offset": 19,
                "length": 10
            }
        ]
    },
    {
        "text": "{Utterance-Text}",
        "language": "{LANGUAGE-CODE}",
        "dataset": "{DATASET}",
        "intent": "{intent}",
        "entities": [
            {
                "category": "{entity}",
                "offset": 20,
                "length": 10
            },
            {
                "category": "{entity}",
                "offset": 31,
                "length": 5
            }
        ]
    }
]

密钥 占位符 示例
text {Utterance-Text} 你的语句文本。 测试
language {LANGUAGE-CODE} 一个字符串,用于指定项目中所用语句的语言代码。 如果你的项目是多语言项目,请选择大多数语句的语言代码。 有关支持的语言代码的详细信息,请参阅语言支持 en-us
dataset {DATASET} 此语句在训练前拆分时将归类到的测试集。 若要详细了解数据拆分,请参阅训练对话语言理解模型。 此字段的可能值为 TrainTest Train
intent {intent} 分配的意向。 intent1
entity {entity} 要提取的实体。 entity1
category 与指定文本跨度关联的实体类型。 Entity1
offset 文本开头的非独占字符位置。 0
length 以 UTF16 字符表示的边界框长度。 训练仅考虑此区域的数据。 500