服务功能
IBM Watson® Speech to Text服务提供了许多高级功能,可帮助您从音频转录中获得最大收益。 该服务提供多个语音识别接口,这些接口支持许多功能,您可以使用这些功能来管理如何将音频传递到服务以及服务返回的结果。 您还可以定制服务以增强其词汇表并适应音频的声学特征。 此外,与所有 Watson 服务一样,还有多个 SDK 可用于简化使用许多编程语言开发应用程序的工作。
使用语言和模型
该服务支持 语言支持 中列出的多种语言的语音识别。 该服务为其支持的语言提供不同的模型。 大多数语言模型通常可用于生产用途 (GA); 少数是 Beta 版,可随时更改。
- 对于某些语言,服务提供大型语音模型。 有关更多信息,请参阅 支持的大型语音语言和模型。
- 该服务还提供下一代 多媒体 和 电话 模型,这些模型可改进前一代模型的语音识别功能。 所有下一代型号都是 GA。 与上一代模型相比,下一代模型返回的结果具有更高的吞吐量和更高的准确性。 有关更多信息,请参阅 下一代语言和模型。
对于大多数语言,您可以按以下两种采样率之一转录音频:
- 音频采样率最低为 16kHz请使用宽带或多媒体型号。
- 如果音频采样率最低为 8kHz则使用窄带或电话型号。
- 大型语音模型支持以 8 kHz 或 16 kHz采样率采样的音频。
从 2023 年 8 月 1 开始,所有先前生成的模型现在都 已停用 该服务。 现在,新客户只能使用大型语音模型或下一代模型。 所有现有客户现在都必须迁移到等效的大型语音模型或下一代模型。 有关更多信息,请参阅 迁移到大型语音模型。
使用音频格式
该服务支持 音频支持 中列出的多种音频格式的语音识别。 不同格式支持不同的采样率和其他特征。 通过使用支持压缩的格式,可以最大限度提高可在一个请求中发送的音频数据量。
使用服务识别语音
Speech to Text 服务提供 WebSocket 接口以及同步和异步 HTTP 具象状态传输 (REST) 接口。
- WebSocket 接口通过全双工连接提供了低延迟、高吞吐量的高效实现。
- 同步 HTTP 接口提供了用于对阻塞请求中的音频进行转录的基本接口。
- 异步 HTTP 接口提供了一个非阻塞接口,允许您注册回调 URL,用于接收有关作业状态和结果的通知或轮询服务来获取作业状态和结果。
所有接口提供的基本语音识别功能都相同,但您可以根据使用的接口,将同一参数指定为请求头、查询参数或 JSON 对象的参数。 该服务还可以返回不同的结果,具体取决于您用于请求的接口和参数。
数据限制
接口接受的单个请求的最大音频数据量如下:
- WebSocket 接口最多接受 100 MB 音频。
- 同步 HTTP 接口最多接受 100 MB 音频。
- 异步 HTTP 接口最多接受 1 GB 音频。
有关使用压缩将可发送到服务的数据量最大化的更多信息,请参阅 数据限制和压缩。
WebSocket 接口的优点
与 HTTP 接口相比,WebSocket 接口有多项优点。 WebSocket 接口
- 提供单套接字、全双工通信通道。 该接口可让客户端向服务发送多个请求,并以异步方式通过单个连接接收结果。
- 提供更简单且更强大的编程体验。 服务将事件驱动的响应发送到客户机的消息,从而无需客户机轮询服务器。
- 允许建立并无限期地使用单个已认证的连接。 HTTP 接口需要认证对服务的每个调用。
- 缩短等待时间。 识别结果可更快地到达,因为服务会将结果直接发送到客户机。 HTTP 接口需要四个不同的请求和连接才能实现相同的结果。
- 降低网络利用率。 WebSocket 协议是轻量级的。 它只需要单个连接就能执行实时语音识别。
- 支持音频从浏览器(HTML5 WebSocket 客户机)直接流式传输到服务。
- 使用大型语音模型,下一代模型或请求临时结果时,只要结果可用,就会立即返回结果。
使用语音识别参数
这些服务的语音识别界面在将语音转录为文本方面基本共享通用参数。 这些参数使您可以定制请求的各个方面,例如,是流式传输数据还是一次性全部发送,以及服务包含在其响应中的信息。
以下各部分介绍了语音识别参数及其功能。 某些参数仅适用于某些语音识别界面或某些语言和模型。 有关所有参数及其接口和语言支持的信息,请参阅参数摘要。
语音或文字检测
使用新参数 speech_begin_event 来接收在音频流中检测到时刻语音的通知事件。 此功能允许实时应用程序在您开始发言时进行学习。 此功能部件的常见用例是在自动化代理程序系统中实现打款。 打断包括在呼叫者开始说话时中断音频回放。 将该值设置为 true 可使 Speech to Text 服务发送回一个 speech_begin_event 响应,该响应包含首次在音频流中检测到语音活动的时间。 可以在标准和低等待时间方式下使用此参数。
- 参数名称 :speech_begin_event
- 请求参数 :speech_begin_event = true/false (布尔值)
- 响应对象: "speech_begin_event.begin",例如: {"speech_begin_event": { "begin": }}
音频传输和超时
临时结果和低延迟
- 中间结果 是服务在转录过程中返回的中间假设。 它们只能在WebSocket接口上使用。 该服务会在成绩单完成后返回最终结果。 使用 HTTP 接口时,服务始终会转录整个音频流后,才会发送任何结果。
临时结果不可用于大型语音模型。
- 低延迟,与某些下一代模型一起使用时,指示服务生成最终结果的速度比模型通常更快。 WebSocket 和 HTTP 接口提供了低等待时间。 虽然低延迟进一步增强了模型的已改进响应时间,但可能会降低转录准确性。 将下一代模型与 WebSocket 接口配合使用时,需要低延迟才能获取临时结果。
对于大型语音模型,低延迟不可用。
语音活动检测
语音音频解析
- 短语结束静默时间指定服务为响应静默,而用于将文字记录拆分为多个最终结果的停顿时间间隔的持续时间。 如果服务在到达音频流末尾之前检测到停顿或长时间静默,那么其响应可能包含多个最终结果。 您可以增大或减小暂停时间间隔以影响接收到的结果。
- 在短语结束位置拆分文字记录指示服务根据语义特征(例如,句子),将文字记录拆分为多个最终结果。 服务对语义特征的理解基于您用于请求的基本语言模型。 定制语言模型和语法还可能会影响服务拆分文字记录的方式和位置。
短语结尾的拆分文字记录不可用于大型语音模型。
- 字符插入偏差 指定大型语音模型或下一代模型在语音识别期间生成假设时是偏向较短还是较长的字符串。 在开发转录假设时,服务会优化其解析音频的方式,以在不同长度的竞争字符串之间进行平衡。 您可以指示服务将其分析偏向较短或较长的字符串。
字符插入偏差不可用于大型语音模型。
说话者标签
- 说话者标签 从多参与者交换的音频中识别不同的说话者。 转录标记每个演讲者对多参与者对话的贡献的单词和时间。 发言人标签是 Beta 功能。
关键字识别和词替代项
- 关键字识别,用于识别与具有用户定义置信度级别的指定关键字字符串相匹配的所讲短语。 当音频中的各个短语比完整转录更重要时,关键字识别功能特别有用。 例如,客户支持系统可识别关键字以确定如何路由用户请求。
- 词替代项,用于请求其发音与文字记录中的词相似的替代词。 它标识的词必须满足用户指定的最小置信度阈值。 该服务可识别发音相似的词,并提供其开始和结束时间,以及可能替代项的置信度。
这些功能仅受先前生成的模型支持。 大型语音模型和下一代模型不支持这些模型。
响应格式化和过滤
- 智能格式化版本 2 是新的改进功能,用于将日期,时间,数字,字母数字序列,货币值,度量,电子邮件,URL,IP 地址,信用卡号和指定标点符号转换为最终文字记录中更易读的常规格式。 这仅支持美国英语,巴西葡萄牙语,法语,德语,卡斯蒂利亚西班牙语,西班牙拉丁美洲和加拿大法语的大型语音模型和下一代模型。 当识别美国英语音频时,它也可用于 en-WW_Medical_Telephony 模型。
- 智能格式设置,用于在最终文字记录中将日期、时间、数字、货币值、电话号码和因特网地址转换为可读性更高的传统格式。 对于美国英语,还可以提供关键字短语,以在最终文字记录中包含特定标点符号。 智能格式设置是 Beta 功能。
- 数字编辑,用于编辑或掩蔽最终文字记录中的数字数据。 编辑的目的是从最终成绩单中删除敏感的个人信息,如信用卡号码。 数字编辑是 Beta 功能。
- 不雅言辞过滤 从文字记录和元数据中检剔不雅言辞。
响应元数据
这些功能仅支持先前和下一代模型。 大型语音模型不支持这些功能。
处理和音频度量值
定制服务
通过自定义界面,您可以创建自定义模型,提高服务的语音识别能力:
- 定制语言模型支持为基本模型定义特定于领域的词。 定制语言模型可以使用特定于领域(例如,医学和法律)的术语来扩展服务的基本词汇表。 语言模型定制可用于大型语音模型,前代模型和下一代模型,尽管这三种类型的模型的工作方式不同。
- 定制声学模型支持调整基本模型,以适应环境和说话者的声学特征。 定制声学模型提高了服务识别具有独特声学特征的语音的能力。 声学模型定制仅可用于先前生成的模型。
- 语法支持将服务可识别的短语限制为语法规则中所定义的短语。 通过将搜索空间限制为搜索有效字符串,服务可以更快、更准确地交付结果。 为定制语言模型创建语法并对其使用语法。 该服务一般支持语言和模型的语法,并支持语言模型定制。 语法仅可用于前代和下一代模型。
您可以使用自定义语言模型(有语法或无语法)、自定义声学模型,或同时使用这两种模型和服务的任何界面进行语音识别。
IBM Cloud 您必须具有 Plus,Standard 或 Premium 定价套餐才能使用语言模型或声学模型定制。 轻量套餐的用户无法使用定制接口,但他们可以升级到 Plus 套餐以获取对定制的访问权。 有关更多信息,请参阅 定价常见问题解答。
使用软件开发包
有多个 SDK 可用于 Speech to Text 服务,以简化语音应用程序的开发工作。 SDK 支持许多常用的编程语言和平台。
- 有关 SDK 以及 GitHub 上 SDK 的链接的完整列表,请参阅 WatsonSDK。
- 有关Speech to Text服务 SDK 所有方法的更多信息,请参阅 API & SDK 参考。
了解有关应用程序开发的更多信息
有关使用Watson服务和IBM Cloud 的更多信息:
- 有关简介,请参阅 Watson 和 IBM Cloud 入门。
- 有关使用 IBM Cloud Identity and Access Management 的信息,请参阅向 Watson 服务进行认证。
后续步骤
浏览本主题中引入的功能,以更深入了解服务的功能。 每个功能部件都包含指向主题的链接,这些主题更详细地描述了该功能部件。
- 使用语言和模型 和 使用音频格式 描述服务功能的基本基础。 您必须选择适合音频的语言和模型,并且必须了解音频的特征以进行该选择并将音频传递到服务。
- 使用服务识别语音 提供了指向语音识别请求和响应的简单示例的链接。 还有指向每个服务接口的详细演示的链接。 了解有关接口的更多信息并进行试验,以确定最适合您的应用程序需求的接口。
- 使用语音识别参数 引入了许多可用于根据需要定制语音识别请求和转录响应的参数。 该服务的 WebSocket 和 HTTP 接口支持一系列令人印象深刻的功能,其中大部分功能是所有受支持接口的公共功能。 使用链接来查找适合您的参数。
- 定制服务 描述了语言模型和声学模型定制的更高级主题,这些主题可帮助您最大限度地利用服务的功能。 该部分还提供了语法,您可以将其与语言模型配合使用,以将可能的响应限制为精确字符串和短语。
- 使用软件开发包 提供指向 SDK 的链接,这些 SDK 可用于简化多种编程语言的应用程序开发。
- 了解有关应用程序开发的更多信息 提供了帮助您开始使用 Watson 服务并了解认证的链接。