你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

创建自定义语音识别项目

自定义语音识别项目包含模型、训练和测试数据集,以及部署终结点。 每个项目特定于某个区域设置。 例如,你可能会在美国创建一个语言为英语的项目。

创建项目

若要创建自定义语音识别项目,请执行以下步骤:

  1. 登录 Speech Studio

  2. 选择要使用的订阅和语音资源。

    重要

    如果要使用音频数据训练自定义模型,请选择具备语音数据训练专用硬件的语音资源区域。 有关详细信息,请参阅区域表中的脚注。

  3. 选择“自定义语音识别”>“创建新项目”。

  4. 遵照向导中的说明创建项目。

按名称选择新项目,或选择“转到项目”。 左侧面板中会显示以下菜单项:“语音数据集”、“训练自定义模型”、“测试模型”和“部署模型”

若要创建项目,请使用 spx csr project create 命令。 根据以下说明构造请求参数:

  • 设置所需的 language 参数。 项目的区域设置和包含的数据集应该相同。 以后无法更改区域设置。 语音 CLI language 参数对应于 JSON 请求和响应中的 locale 属性。
  • 设置所需的 name 参数。 这是 Speech Studio 中显示的名称。 语音 CLI name 参数对应于 JSON 请求和响应中的 displayName 属性。

下面是创建项目的语音 CLI 命令示例:

spx csr project create --api-version v3.2 --name "My Project" --description "My Project Description" --language "en-US"

应收到以下格式的响应正文:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52",
  "links": {
    "evaluations": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52/evaluations",
    "datasets": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52/datasets",
    "models": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52/models",
    "endpoints": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52/endpoints",
    "transcriptions": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52/transcriptions"
  },
  "properties": {
    "datasetCount": 0,
    "evaluationCount": 0,
    "modelCount": 0,
    "transcriptionCount": 0,
    "endpointCount": 0
  },
  "createdDateTime": "2024-07-14T17:15:55Z",
  "locale": "en-US",
  "displayName": "My Project",
  "description": "My Project Description"
}

响应正文中的顶级 self 属性是项目的 URI。 使用此 URI 获取有关项目评估、数据集、模型、终结点和听录的详细信息。 还可以使用此 URI 更新或删除项目。

对项目使用语音 CLI 时如需帮助,请运行以下命令:

spx help csr project

若要创建项目,请使用语音转文本 REST APIProjects_Create 操作。 根据以下说明构造请求正文:

  • 设置所需的 locale 属性。 这应该是包含的数据集的区域设置。 以后无法更改区域设置。
  • 设置所需的 displayName 属性。 这是在 Speech Studio 中显示的项目名称。

使用 URI 发出 HTTP POST 请求,如以下 Projects_Create 示例所示。 将 YourSubscriptionKey 替换为语音资源密钥,将 YourServiceRegion 替换为语音资源区域,并按前面所述设置请求正文属性。

curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
  "displayName": "My Project",
  "description": "My Project Description",
  "locale": "en-US"
} '  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/projects"

应收到以下格式的响应正文:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52",
  "links": {
    "evaluations": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52/evaluations",
    "datasets": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52/datasets",
    "models": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52/models",
    "endpoints": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52/endpoints",
    "transcriptions": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52/transcriptions"
  },
  "properties": {
    "datasetCount": 0,
    "evaluationCount": 0,
    "modelCount": 0,
    "transcriptionCount": 0,
    "endpointCount": 0
  },
  "createdDateTime": "2024-07-14T17:15:55Z",
  "locale": "en-US",
  "displayName": "My Project",
  "description": "My Project Description"
}

响应正文中的顶级 self 属性是项目的 URI。 使用此 URI 获取有关项目评估、数据集、模型、终结点和听录的详细信息。 还可以使用此 URI 更新删除项目。

选择模型

可通过多种方法使用自定义语音识别模型:

  • 基础模型现成地为一系列方案提供准确的语音识别。 基础模型会定期更新以提高准确度和质量。 如果你使用基础模型,我们建议使用最新的默认基础模型。 如果所需的自定义功能仅适用于较旧的模型,则你可以选择较旧的基础模型。
  • 自定义模型增强了基础模型,它包含在自定义域的所有区域之间共享的特定于域的词汇。
  • 当自定义域具有多个区域,而每个区域使用特定的词汇时,可以使用多个自定义模型。

查看基础模型是否足够的一种推荐方法是分析从基础模型生成的听录,并将其与人工针对相同音频生成的脚本进行比较。 可以比较脚本并获取字词错误率 (WER) 评分。 如果 WER 评分较高,建议训练一个自定义模型来识别认错的字词。

如果词汇在不同的域区域之间存在差异,则建议使用多个模型。 例如,奥运会评论员报道各项赛事,每项赛事与其自身的专业用语关联。 由于每项奥运赛事词汇与其他词汇明显不同,生成特定于某项赛事的自定义模型可以通过限制与该特定赛事相关的语句数据来提高准确度。 因此,该模型无需筛选不相关的数据即可进行匹配。 但无论如何,训练仍然需要得当且多样化的训练数据。 包含口音、性别、年龄等特征不同的多位评论员的音频。

模型稳定性和生命周期

使用自定义语音识别部署到终结点的基础模型或自定义模型在你决定进行更新之前是固定的。 即使发布了新的基础模型,语音识别的准确度和质量也将保持一致。 这样,便可以在使用更新的模型之前锁定特定模型的行为。

无论你是训练自己的模型还是使用基础模型的快照,都可以将该模型使用有限的一段时间。 有关详细信息,请参阅模型和终结点生命周期

后续步骤