语音转文本常见问题解答

本文解答有关语音转文本服务的常见问题。 如果在此处中找不到你的问题的解答,请检查其他支持选项

常规

基础模型和自定义语音转文本模型之间有什么区别?

基线语音转文本模型已使用 Azure 拥有的数据定型,并且已部署在云中。 你可以创建和使用自定义模型来更好地适应具有特定环境噪音或语言的环境。 工厂、汽车或嘈杂的街道需要适应的声学模型。 生物学、物理学、放射学、产品名称和自定义首字母缩略词等主题需要适应的语言模型。 如果要训练自定义模型,则应首先添加相关文本来改进对特殊术语和短语的识别。

如果想要使用基础模型,从何处开始?

首先,在 Azure 门户中获取语音资源密钥和区域。 如果要对预先部署的基础模型进行 REST 调用,请参阅 REST API 文档。 如果要使用 WebSocket,请下载语音 SDK

是否始终需要生成自定义语音模型?

不能。 如果应用程序使用通用的日常语言,则无需自定义模型。 如果应用程序用于背景噪音很小或无背景噪音的环境,则无需自定义模型。

你可以在门户中部署基线模型和自定义模型,并针对这些模型运行准确度测试。 可以使用此功能衡量基础模型与自定义模型的准确度。

如何知道何时完成数据集或模型的处理?

目前,唯一可以了解的途径是查看表中模型或数据集的状态。 处理完成后,状态是“成功” 。

能否创建多个模型?

集合中可以拥有的模型数量没有限制。

我意识到自己犯了一个错误。 如何取消正在进行的数据导入或模型创建?

当前无法回滚声学或语言适应过程。 可以在导入的数据和模型处于终点状态时删除它们。

我针对每个短语获得了采用详细输出格式的多个结果。 应使用哪种方法?

始终采用第一个结果,即使另一个结果(“N-最佳”)可能具有更高的置信度值。 语音服务认为第一个结果是最佳的。 如果未识别出语音,则结果也可以是空字符串。

其他结果可能更糟,可能没有应用完整的大写和标点。 这些结果在特殊情况下非常有用,例如,为用户提供选项来从列表中选取更正项或处理错误识别的命令。

为什么有多个基础模型?

你可以从语音服务的多个基础模型中进行选择。 每个模型名称都包含添加它的日期。 开始训练自定义模型时,请使用最新模型以获取最佳准确度。 有新模型可用之后,较旧的基础模型在一段时间内仍可供使用。 可以继续使用所使用的模型,直到它被停用(请参阅模型和终结点生命周期)。 仍建议切换到最新的基础模型,以提高准确度。

能否更新现有模型(模型堆叠)?

无法更新现有模型。 一种解决方案是将旧数据集与新数据集合并,然后重新适应。

旧数据集和新数据集必须合并为单个 .zip 文件(用于声学数据)或 .txt 文件(用于语言数据)。 适应完成后,重新部署新的更新后模型以获取新的终结点。

当有新版本的基础模型可用时,我的部署是否会自动更新?

部署不会自动更新。

如果你已调整并部署了某个模型,现有部署会保持原样。 你可以解除已部署的模型,使用较新版本的基础模型重新调整,并重新部署以提高准确度。

基础模型和自定义模型在一段时间后都会被停用(请参阅模型和终结点生命周期)。

是否可以将数据集、模型和部署复制或移动到另一个区域或订阅?

可以使用 Models_Copy REST API 将自定义模型复制到另一个区域或订阅。 无法复制数据集和部署。 可以在另一个订阅中再次导入数据集,并使用模型副本在其中创建终结点。

是否记录了我的请求?

默认情况下不记录请求(既不进行音频记录,也不进行听录)。 如果需要,可以在创建自定义终结点时选择“从此终结点记录内容”选项。 你还可以在语音 SDK 中逐个请求启用音频日志记录,而无需创建自定义终结点。 在两种情况下,请求的音频和识别结果都将存储在安全的存储中。 使用 Microsoft 拥有的存储的订阅将可供使用 30 天。

如果你在启用了“从此终结点记录内容”的情况下使用自定义终结点,则可在 Speech Studio 中的部署页面上导出所记录的文件。 如果音频日志记录是通过 SDK 启用的,请调用 API 来访问文件。 还可以使用 API 随时删除日志

我的请求是否受到限制?

有关信息,请参阅语音服务配额和限制

双声道音频如何收费?

如果你单独提交每个声道(在其自己的文件中),则将按每个文件的音频持续时间向你收费。 如果你提交单个文件,其中的声道一起多路复用,则按单个文件的持续时间对你收费。 有关定价的详细信息,请参阅 Azure AI 服务定价页

重要

如果还有禁止使用自定义语音识别服务的进一步隐私问题,请与某个支持渠道联系。

提高并发性

有关信息,请参阅语音服务配额和限制

导入数据

数据集大小的限制是什么?为何限制?

之所以存在限制,是由于 HTTP 上传文件大小存在限制。 有关实际限制,请参阅语音服务配额和限制。 你可以将数据拆分为多个数据集,并选择所有数据集来训练模型。

是否可以压缩文本文件,以便可上传更大的文本文件?

不能。 目前,仅允许未压缩的文本文件。

数据报告表明,有言语导入失败。 问题出在哪里?

未能上传文件中 100% 的语句并不是什么问题。 如果成功导入了声学或语言数据集中的大多数话语(如 95% 以上的话语),则该数据集可用。 但是,仍建议尝试了解语句失败的原因,然后解决问题。 大多数常见问题(如格式设置错误)很容易修复。

创建声学模型

需要多少声学数据?

建议从 30 分钟到 1 小时的声学数据入手。

应该收集哪些数据?

收集尽可能接近于应用程序方案和用例的数据。 数据收集应在设备、环境和说话人类型方面与目标应用程序和用户匹配。 一般而言,应从尽可能广泛的说话人中收集数据。

如何收集声学数据?

可以创建独立的数据收集应用程序,或使用现成的录音软件。 你还可以创建一个用于记录音频数据并使用该数据的应用程序版本。

是否需要自行转录适应数据?

是的。 可以自行转录或使用专业听录服务进行转录。 有些用户更喜欢使用专业听录器,而其他用户则使用众包或自己听录数据。

使用音频数据训练一个自定义模型需要多长时间?

使用音频数据训练模型可能是一个漫长的过程。 创建自定义模型可能需要几天时间,具体取决于数据量。 如果它无法在一周内完成,则服务可能会中止训练操作并将该模型报告为失败。

精确度测试

什么是字错误率 (WER) 以及如何计算此错误率?

WER 是用于语音识别的评估指标。 WER 由错误总数(插入、删除和替换)除以引用听录中的总字数计算得出。 有关详细信息,请参阅以定量方式测试模型

如何确定准确度测试的结果是否良好?

测试结果对基础模型和自定义模型进行了比较。 若要使自定义模型变得有价值,应以超越基础模型为目标。

如何确定基础模型的 WER 以便查看是否得到改进?

离线测试结果显示了自定义模型的基线准确度以及与基线相比的改进情况。

创建语言模型

需要上传多少文本数据?

这取决于应用程序中使用的词汇和短语与初始语言模型存在多大差异。 对于所有新字词,尽可能多地提供这些字的使用示例很有用。 对于应用程序中使用的常用短语(包括语言数据中的短语),提供许多示例十分有用,因为这会告知系统也要侦听这些术语。 在语言数据集中至少有 100 句语句(通常几百句或更多语句)是很常见的。 另外,如果预期某些类型的查询比其他查询更加常用,则可以在数据集中插入常用查询的多个副本。

我是否可以只上传字词列表?

上传字词列表会将它们添加到词汇中,但不会告知系统这些字词的通常用法。 通过提供完整或部分语句(用户很可能会说事物的句子或短语),语言模型可以学习这些新字词及其用法。 自定义语言模型不仅适用于向系统中添加新字词,还适用于调整应用程序已知字词的概率。 提供完整话语可帮助系统更好地学习。