高级参数转录
音记AI基于OpenAI Whisper实现,因此它支持Whisper原来的多种参数,允许用户根据具体需求调整转录效果。本文档基于对官方文档、GitHub 仓库和相关社区讨论的分析,详细列出各参数它们的含义、调整对转录效果的影响,以及在哪些场景下调整这些参数会有效果。
抑制非语音标记
抑制非语音标记的输出,比如静音、噪音、音乐旋律等
当需要转录歌曲、旋律等音频时,开启此选项可以减少模型在无语音部分生成不必要的非语音内容。
提示
用于提供上下文或指导模型的生成过程,比如人名、地名等等
提供给解码器的初始提示标记,引导模型学习你的提示风格然后生成类似的输出。
提示的一个有用用途是提高对未知单词(例如人名和技术术语)的识别率,你可以将音频中含有的人名、地名、术语等特殊名词作为提示给模型,模型在转录的适合会自动学习并使用这些名词。
需要注意的是这里的提示与ChatGPT的提示是不一样的,这里的提示是提供给模型的初始输入,而ChatGPT的提示是提供给模型的上下文。例如,如果你的prompt是请输出markdown格式
,Whisper模型不会遵守,因为它遵循的是你提示的样式,而不是其中包含的任何指令。
更多关于提示的详细使用可以查看Whisper Prompting Guide。
解码策略
在语音识别系统中,解码策略是指从模型的输出概率分布中生成最终文本序列的方法。Whisper 是基于 Transformer 架构的语音识别模型。
音记AI支持两种解码策略:
- 贪心解码(Greedy Decoding):在每一步解码时,选择当前时刻概率最高的标记(token)作为输出,然后基于此继续预测下一个标记。
- Beam Search(束搜索):在每一步解码时,保留多个候选路径(由束宽 beam width 决定),并在解码结束后选择累积概率最高的路径作为最终输出。
这两种解码策略各有优缺点,贪心解码简单快速,但可能会生成错误的文本序列,而束搜索则可以生成更准确的文本序列,但计算成本较高。
如何选择:
- 速度优先:如果需要快速生成文本序列,可以选择贪心解码。
- 准确优先:如果需要生成更准确的文本序列,可以选择束搜索。
最大上下文
控制音频输入的上下文长度。
调整影响:
- 较小的值会减少文本重复次数,加快转录速度,但可能会影响复杂音频的表现。
- 较大的值可以提高连贯性和准确性,但会增加内存和计算需求。
有时候调整这个值会有不同的效果,比如:
- 对于长音频,减少最大上下文可以减少重复文本,但可能会导致前后的文本不连贯。
- 对于短音频,增加最大上下文可以提高准确性,但可能会增加内存和计算需求。
减小最大上下文(例如64左右)可能可以减少幻觉和重复性文本。
无语音阈值
低于该阈值的语音概率被视为无语音,跳过转录,默认值为0.6
调整影响:
- 提高阈值:更多的语音识别为噪音而跳过,适合处理包含大量噪音的音频。
- 降低阈值:更多的语音被转录,即使是背景噪音也可能会被转录,适合处理包含较少噪音的音频。
具体阈值需要根据音频质量和应用场景进行实验调整,以找到最佳效果。
限制长度
限制每个段落的输出长度,适合控制文本长度,避免生成过长的段落。
这里段落会在超过长度后直接截断,请按需开启。
熵阈值
熵是信息论中的一个概念,表示随机变量的不确定程度
这个值是用来衡量语音识别模型输出结果的不确定性大小的。在语音转录中,模型会根据输入音频生成可能的文字结果,而熵阈值帮助判断这些结果是否足够“可信”。简单来说,它决定模型在面对不确定性时是否仍然输出转录结果。
调整这个值的影响如下:
- 高熵阈值:当熵阈值较高时,模型允许在不确定性较大的情况下依然生成转录结果。这意味着即使音频质量差或内容有歧义,模型也会尝试给出文字,但这些文字可能不够准确。
- 低熵阈值:当熵阈值较低时,模型只有在非常确信结果时才会输出转录。这能提高转录的准确性,但如果音频质量不好,模型可能会跳过某些部分,导致转录不完整。
如果你的音频语音很清晰,可以用较低的值,确保输出的文字更准确,但如果音频不清晰质量低,那可以调高这个值,让模型尽量多转录内容,哪怕牺牲一些准确性。
对数概率阈值
对数概率阈值设置标记的最小概率,低于该值的标记被忽略。
模型在转录时会为每个可能的文字计算一个概率,对数概率阈值决定哪些文字会被保留,哪些会被忽略。低于这个阈值的文字不会出现在最终结果中,因此它直接影响输出文字的质量。
调整这个值的影响如下:
- 高对数概率阈值:要求每个文字的对数概率很高,这样可以减少错误的文字出现,让转录更准确,但可能导致输出的文字变少,甚至不完整。
- 低对数概率阈值:允许对数概率较低的文字被输出,这样转录会更完整,但可能会引入一些错误的文字。
因此在一些严肃场景中,比如转录法律、医学等音视频中,这个值可以适当的调高一些,但是也不能太高,否则转录过程中某些词的概率达不到被指定对数概率就会被干掉。
温度
温度参数影响解码的随机性,温度越高,输出越随机;温度越低,输出越保守和确定。
调整这个值的影响如下:
- 低温(如 0.0)使输出更确定性,适合标准转录
- 高温(如 1.0)引入更多随机性,适合需要多样性的任务。
还有一个温度增量设置,控制的温度在解码过程中的动态调整。
如果模型在无语音部分生成随机或不连贯的文本,降低温度可以提高输出的可靠性。