阿里云首页 智能语音交互

语音识别FAQ

本文汇总了您在使用语音识别服务时的常见问题。

语音识别类常见问题主要分为以下几类:

功能类

实时转写说话有停顿,但是语音识别不断句怎么办?

  1. 如果是vad断句情况下,实时转写的vad断句依赖对音频中静音数据的判断,如果上游不发送静音音频,服务端则无法识别用户说话是否有停顿。如果确认是上游没有发送静音音频,则系统通过对实时转写服务的时间戳和实际音频的时间戳对比。如果发现服务端的判断音频时常比实际音频时长短,说明静音时服务端没有收到用户发的静音数据。

  2. 在开启语义断句情况下,有可能是后处理模型的效果问题。

解决方案:在用户停顿时持续的向服务端发送静音数据。

语音识别能自动断开多句话吗?

实时语音识别服务可以断开多句话。一句话识别服务的每个请求只对应一句话,无法断开。

语音识别服务支持离线功能吗?

目前不支持本地离线的语音识别,必须把音频数据发送到服务端做识别。

语音识别支持哪些模型?

可以在智能语音交互控制台中项目功能配置里查看具体的模型种类,目前有8k和16k两种采样率的模型,每个采样率下面又有多个领域模型,可以按需选择。

语音识别是否可以混合识别极少量英文单词和字母?

可以的,中文普通话模型支持对中英文混杂的音频进行识别。

开启ITN(逆文本规整)后,中文数字混合时为什么并不是全部转为阿拉伯数字?

是否要转成阿拉伯数字,我们是用模型来判断的,并不是所有数字都需要转成阿拉伯数字,模型的判断主要准则是一般书面文本中常用的形态。

录音文件识别的enable_sample_rate_adaptive和极速版本里的sample_rate,这两个接口是一样的吗?

不是。极速版的sample_rate就是采样率,enable_sample_rate_adaptive是个开关,极速版默认采样率16k,不需要这个开关。

录音转文本能区分坐席和客户吗?

语音识别引擎只能区分出说话的不同角色,角色对应的身份引擎是无法识别的,需要用户从业务的角度自行判断。建议您在存储录音事按照角色分类存储。

智能语音交互的一句话识别,标点符号是根据什么来判断逗号和句号的?

结合音频的声学特征和对识别结果文本做语音分析后做标点处理。

离线文件转写如何区分左右声道?

语音识别引擎无法区分左右声道,当多声道音频送入语音识别服务进行识别时,返回结果会用channel_id字段来标记多个音轨。如果采集顺序固定,可以根据channel_id区分对应声道。具体可参见接口说明

语音识别可以支持多个词表吗?

一次可使用一个词表,每次只能传一个vocabulary_id,如果觉得不够可以使用定制模型。具体可参见使用POP API创建业务专属热词

设置录音文件识别服务的版本,"4.0"和"2.0"两个版本有什么区别?

由于历史原因,早期发布的录音文件识别服务(默认为2.0版本)的回调方式和轮询方式的识别结果在JSON字符串的风格和字段上均有不同。录音文件识别服务在4.0版本对回调方式做了优化,使得回调方式的识别结果与轮询方式的识别结果保持一致,均为驼峰风格的JSON格式字符串。具体可参见接口说明

在电话端支持哪些国家的语音识别?

电话8k语音目前支持的外语语种为英语,非电话16k语音支持更多外语语种。语种模型支持列表详见功能特性

在语音识别的服务中,有没有请求参数是音频文件地址,返回参数是转写文本?

可使用录音文件识别功能,具体请参见接口说明

实时语音转写能和录音文件识别一样加入音轨ID吗?

不能,音轨ID是录音文件专用的。实时转写只有单通道语音,不需要channel区分。

录音文件识别可以生成SRT字幕文件吗?

目前没有。需要根据返回结果中的时间信息 自己进行拼接。

语音识别服务支持哪些编码格式的音频?

每种服务支持的格式不尽相同,请参见各服务中的说明。您可以使用常见音频编辑软件如Audacity,查看音频文件的编码格式。

语音识别服务支持哪些采样率?

一般支持8000Hz、16000Hz的采样率。 电话客服场景往往是8000采样率,如果是手机APP、PC端工具、网页H5类场景,往往是16000Hz采样率(可能会有32、44.1k采样率,但开发时需要调用方将采样率调整为16k)。其他采样率的录音数据需要预先自行转码。

录音文件转写可以支持其他采样率,例如32k、44k等等。

怎么查看音频文件的采样率?

可以使用常见音频编辑软件如Audacity查看音频文件的采样率,也可以使用开源命令行工具FFmpeg查看。

语音识别服务支持的方言模型和语种都有哪些?

语音识别目前支持的方言模型和语种如下:

16k: 中文、英文、四川方言、湖北方言、日语、西班牙语、粤语等。

8k:中文普通话、中文粤语、中文地方口音、英语、四川方言等。

最新的模型支持情况可以登录智能语音交互控制台,在项目配置中查看。图片 1图片2图片 3

语音识别能否自动断开多句话?

实时语音识别服务可以断开多句话;一句话识别服务的每个请求只对应一句话,无法断开。

实时识别和录音文件转写分别支持哪些语音格式?

p283628

性能类

语音识别的识别准确率怎么计算?

行业通常使用错误率来统计识别效果,中文常用CER(字错误率),英文常用WER(词错误率)。计算方式:(插入错误字数ins+删除错误字数del+替换错误字数sub)/总字数。以下图为例:错误率这批数据的准确率=(14365-74-385-1706)/14365=84.93%。快速计算方式为:100-15.07=84.93。

语音识别模型的字准率能达到多少?

关于达摩院智能语音交互语音识别准确度的数字,我们通过了CNAS(国家软件测试中心)的评测,国家软件中心对语音识别算法准确度测试中,在60分呗以下的降噪环境中,用普通话在距离耳麦1厘米的位置,以240字/小时的匀速朗读样本量1207字的测试下,我们经过5轮测试的结果,识别准确率均大于98%。该准确度经过国家软件测试中心的标准认证。

而在现实的使用过程当中,可能会受到耳麦质量,背景杂音,口音差异等原因导致准确度有一定的偏差,对于数据格式为8k、16bit、双通道分轨(用户/客服双轨)的pcm或者wav格式,信噪比在20dB以上的语音,绝大部分商用场景下我们能保障85%的准确度,确保您有效使用。

录音文件识别极速版延迟是多少?

录音文件识别极速版服务承诺10秒内完成30分钟的音频识别,指的是从收到全部音频到完成识别的时间,音频上传的速度和客户端带宽等因素相关,时长可能会有不同。在服务端返回的识别结果中包含latency字段,记录了服务端处理时长。

8k模型可以识别16k的音频吗?

不可以。8K模型和16K模型只支持识别对应采样率的音频。

录音文件识别极速版调用频率有限制吗?

没有。但对并发有限制,并发数在控制台上查看。

粤语的识别准确率是多少?

一句话识别参考准确率为85%左右,实际结果受语料数据和粤语标准度影响。

15秒左右的录音文件识别大概需要多久能转换成文本呢?

录音文件识别是离线API。对于免费用户的识别任务在24小时内完成并返回识别文本;付费用户的识别任务在6小时内完成并返回识别文本。60秒以内的短音频建议客户使用一句话识别,时效更好。

语音转文本有没有优先级?比如现在正在转写任务,突然有紧急的转写任务,能调整处理优先级吗?

暂不支持这个操作,文件转写目前的时效性还是比较快的。

针对两个用户打电话场景,哪个模型效果比较好?

目前建议都使用新一代端到端“识音石”识别模型,综合效果性能比较好。

服务请求时长限制?

  • 一句话识别支持60秒以内的实时语音。

  • 实时语音识别不限制时长。

“流式”模式和“非流式”模式识别的区别?

“非流式”模式也称为普通模式,普通模式下,服务判断用户整句话说完后才返回一次识别结果;而“流式”模式下用户一边说话一边返回识别结果,在句子结束的识别结果前会有很多中间结果。

什么是ASR尾点延迟?

尾点延迟的定义是调用端发送音频结束到完成识别的时间。

目前语音实时识别,如一句话识别、实时转写接口的延迟在100~200ms左右,视模型、音频差异而略有不同。

一句话识别RESTful接口因为批量接收音频,识别时长和音频时长相关。不考虑网络开销,一句话识别RESTful接口处理时长和音频时长近似线性关系,简单计算可以认为:接口处理时长=音频时长*0.2。例如,1分钟音频处理时长约为12秒。实际线上性能会随模型的不同和服务器负载略有差异。

效果类

对于识别不准的词该如何进行优化?

  1. 首先考虑无标注优化:

    1. 使用业务相关语料进行定制语言模型优化。业务语料包括业务关键词、业务相关的句子和篇章等。训练语料中要尽可能的对词进行泛化。(比如把“银税e贷是什么”、“如何办理银税e贷”等等相关话术加入到训练语料中)

    2. 针对依然识别不好的业务关键词,再以复制多行或者提高模型权重的方式进行定制语言模型加强。

    3. 个别解决不好的业务关键词,使用泛热词进行优化。

  2. 其次考虑有标注优化:

    1. 如果主要是因为口音等问题导致的整体识别效果不好,并且无标注优化方式无法解决到满意程度,可以开始声学模型优化。

    2. 声学模型优化需要标注数据,标注本身也可以加入业务相关语料中进行语言模型优化。

单字识别不出来是什么原因?

因为单字发音单元短,且没有上下文语义,所以单字的识别是难点,添加热词效果不一定好,建议采用定制化模型优化。您可以提交工单,将识别差的样例及语音(badcase)提供给技术人员,我们分析后会给您提供针对性建议。

热词效果如果不佳是否可以自主调节权重?

人名和地名类热词不支持设置权重,业务专属热词支持权重。目前在控制台上创建业务专属热词时不支持设置权重,如果需要调整权重您可以通过API进行维护。

录音文件识别时间戳不准,如何解决?

可通过设置时间戳校准功能参数enable_timestamp_alignmenttrue来调准。详情请参见接口说明

语音识别太灵敏、无效声音(噪音等)被识别出了文字怎么办?

可以通过设定参数speech_noise_threshold的值来修改VAD噪声阈值。

speech_noise_threshold参数区间是[-1,1],取值越小越灵敏,可能会有更多噪音被当成语音被误识别;取值越大,可能更多语音段会被当成噪音而没有被识别。例如设为0.6,如果仍觉得太灵敏,可以继续尝试设置为0.7。如果发现有丢字、漏识别,需要将该值调小,例如0.5、0.2甚至是-0.2等。

代码示例:

  • Java

    transcriber.addCustomedParam("speech_noise_threshold", -0.1);
  • C++

    request->setPayloadParam("speech_noise_threshold",-0.1);

远场识别为什么会经常丢字?如何提高远场识别效果?

这是因为远、近场的VAD阈值不一样,建议调节参数speech_noise_thresholdspeech_noise_threshold参数区间是[-1,1],取值越小越灵敏,可能会有更多噪音被当成语音被误识别;取值越大,可能更多语音段会被当成噪音而没有被识别。例如设为-0.2,如果丢字现象仍然比较严重,可以继续调小至如-0.3、-0.4;如果发现较多噪声被误识别了,也可以适当调大,例如-0.1、0等。

ASR识别很离谱,不准确怎么办?

一般来说,ASR模型识别率均有一定的保证。如果在所有情况下语音识别都不准确,或者识别率很低,往往需要整体考虑是否有什么地方配置错误,例如实际语音的采样率(在线识别场景ASR只支持8k 16bit或者16k 16bit)、调用时设置的采样率参数(8000或者16000)、ASR服务端模型(8k或者16k),这三者需要保持一致。

注意

如果是公共云ASR调用,需要确认阿里云控制台上该appkey所选择的模型采样率;如果是专有云ASR环境,则需要确认service/resource/asr/default/models/readme.txt 文件中所定义的采样率。

有些词汇总是识别不准怎么办?

在某些情况下,确实存在某些词汇识别不准的情况,如特定名词。针对此现象(下面以词汇“银税e贷”为例),我们建议有:

  • 通过自学习平台的定制语言模型训练优化,例如把“银税e贷是什么”、“如何办理银税e贷”等等相关话术加入到文本语料中进行训练。

  • 通过自学习平台的热词优化,例如把“银税e贷”作为热词进行训练,设置相应权重。

  • 专有云可通过ASR的白名单优化,例如“银税e贷”更容易为误识别为“银税一袋”,则可以在service/resource/asr/default/models/nn_itn/correct.list中按预定格式进行设置,第一列是误识别的文本,第二列是正确文本,注意该操作要求重启ASR生效。

如何提高标点断句的效果?

默认VAD断句,可以添加参数enable_semantic_sentence_detection使用语义断句。如果是实时识别,请确认中间结果(参数enable_intermediate_result)也是开启的。

实时场景中,已经开启了标点断句,为什么效果还是不理想?

可以确认下是否开启中间结果,实时场景的语义断句需要配合中间结果使用。

录音文件识别存在一次请求后返回两次相同的结果的情况吗?

此类现象大部分是由于用户提交的语音文件是双声道,且两个声道语音内容相同造成的。如果是这种情况,属正常现象,设置参数first_channel_only为true,只识别首个声道即可解决。

实时语音识别遇到识别慢、超时问题,如何排查?

排查方式:

  1. 运行阿里云提供的示例,和您的服务对比运行状态,记录并提供日志信息。

  2. 记录请求对应的taskid,方便排查问题。

  3. 客户端使用TCPDump(Linux)/Wireshark(Windows)等抓包工具,确定网络状况。

为什么语音识别准确率很低,有时只识别出几个字?

请检查音频数据的采样率与管控台应用的模型是否一致,以及音频是否是单通道录音。

说明

只有录音文件识别支持双通道的录音。

确认调用方式和采样率都没问题,识别还是不准确怎么办?

您可以通过如下两种方式提高识别准确率:

  • 使用自定义热词功能,快速、实时提高准确率,详情请参见热词概述

  • 开通自学习模型训练,通过模型定制的方式提高大量文本的识别率,详情请参见语言模型定制概述

SDK使用类

一句话识别录入的demo是使用Websocket进行识别展示的吗?

是Websocket。SDK就是采用的Websocket协议,RESTful API接口是HTTP协议。SDK接口详情请参见接口说明

实时语音识别服务有Python SDK吗?

暂不支持。

语音识别的返回结果JSON中endtime=-1是什么意思?

表示当前句子未结束。当语音识别模式为“流式”时,才会存在中间结果。

计费类

录音文件识别极速版不支持试用吗?

对,录音文件极速版暂不支持试用,需要付费才可以。