语种识别
又称:LID
更新于
定义
语种识别是语音软件在转写之前或转写过程中,判断说的是哪种语言的步骤。有了它,多语言工具无需用户更改设置就能切换语言。
假定了错误语言的识别器,会信心十足地输出胡话:法语交给英语模型处理,出来的是看起来像英语的乱码。传统听写用一个必须手动更改的设置来解决这个问题,这对只用一种语言工作的人没问题,对许多在对话中途切换语言的人来说却很痛苦。
现代工具会在音频的头一两秒运行一个小型检测器,选出最可能的语言,再把音频交给合适的模型。好的工具能在每次新的听写时重新检测,所以一条用德语写的Slack回复和下一条用英语写的回复,都不需要任何干预。
检测是如何进行的
有些ASR模型会在转写时顺带自行检测语言;Whisper在第一遍处理中就会这样做。另一些则依靠一个独立的微型分类器,它聆听一段话的开头,返回一种语言和一个置信度分数。无论哪种方式,都必须尽早做出决定,因为错误的模型必须在产生太多内容之前就被放弃;而且必须依据很少的音频做出决定。所以,听写开头的一两个词,是多语言工具最脆弱的时刻。
检测不等于翻译
识别出语言并用这种语言转写,是默认的、也是安全的行为。翻译,也就是你说一种语言、文字以另一种语言出现,是一个独立的可选步骤,除非你开启,否则它应该是关闭的。一个出乎意料地进行翻译的工具,替你的话做了一个本不该由它做的决定。
如何在Mac上用多种语言听写
Apple的“听写”支持你添加的语言,听写时由你自己在这些语言之间切换。设置只需一分钟。
- 选取苹果菜单 → “系统设置”,然后点按边栏中的“键盘”。
- 前往“听写”,然后点按“语言”旁边的“编辑”按钮。
- 选择你想用来听写的每种语言和地区。
- 在任意文本框中开始听写。
- 若要更改语言,请点按光标旁边显示的语言。它会显示为代表该语言的缩写或字符。
- 或者按下🌐键,然后选取你要使用的语言。
Whisper和Parakeet如何检测语言?
Whisper在训练时就把识别所说的语言作为任务之一,与转写和翻译并列。如果你不指定语言,它的转写工具会用音频最多前30秒来检测一种语言,然后把整个文件都当作这种语言来转写。纯英语模型会跳过检测,直接假定为英语。
Parakeet TDT 0.6B v3的做法更窄。NVIDIA称,它能在其支持的25种欧洲语言中自动检测音频的语言并进行转写,无需额外提示。这些语言之外的语言不受支持。
为什么会检测出错误的语言,以及如何解决
检测是根据少量音频做出的猜测,有几种情况总会让它出错。大多数情况都有一个简单的解决办法:自己告诉模型是什么语言。
- 录音中途换了语言。Whisper的工具只检测一次,依据的是文件开头,然后把这种语言用于其余部分。
- 这种语言的训练数据很少。Whisper模型卡报告称,这类语言的准确度较低。
- 这种语言根本不在模型支持的范围内,所以它只能用一种它支持的语言来作答。
- Whisper的解决办法:在命令中加上--language和语言名称,例如--language German。
- Apple听写的解决办法:点按光标旁边的语言,自己选择语言。
大家常问的问题。
听写软件能检测出我说的是哪种语言吗?
现代工具可以,只需音频的头一两秒,然后把语音交给合适的模型。较旧的工具需要你在说话前先在设置中选好语言。
如果它猜错了语言会怎样?
你会得到用错误的文字或拼写写出的、信心十足的胡话,因为模型会把声音转写成它认识的词。每次听写都重新检测的工具,会在下一句恢复正常;设置固定的工具,则需要你去更改设置。
如何在Mac上更改听写语言?
在“系统设置 → 键盘 → 听写”中,点按“语言”旁边的“编辑”来添加语言。听写时,点按光标旁边显示的语言,或者按下🌐键并选取语言。
如何防止Whisper选错语言?
在命令中指定语言,例如whisper audio.mp3 --language German。这样Whisper会跳过自动检测,否则它会用音频最多前30秒来检测。
语音模型能自动检测语言吗?
能。你不指定语言时,Whisper会检测语言;NVIDIA的Parakeet TDT 0.6B v3能在其支持的25种欧洲语言中自动检测。