You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用faster_whisper从转录结果中获取置信度分数?

如何通过faster_whisper获取转录片段的置信度分数

faster_whisper的Segment对象确实没有直接提供confidence属性,但可以通过词级概率的聚合计算得到片段级置信度,无需修改库源码,具体实现方式如下:

实现步骤

  1. 开启词级元数据输出
    调用transcribe方法时添加word_timestamps=True参数,模型会返回每个片段下的词级信息,包括每个词的probability(该词预测正确的概率,取值范围0-1)。

  2. 聚合词级概率得到片段置信度
    对当前Segment下所有词的probability取平均值(或根据需求做加权平均),即可得到该片段的整体置信度。

修改后的完整代码

import os
import numpy as np
import speech_recognition as sr
import faster_whisper

def main():
    os.environ['KMP_DUPLICATE_LIB_OK'] = 'True' 

    audio_file_path = "audios/no_accent.wav"  
    model = "medium"  
    audio_model = faster_whisper.WhisperModel(model)

    recognizer = sr.Recognizer()
    with sr.AudioFile(audio_file_path) as source:
        audio = recognizer.record(source)  

    raw_data = audio.get_raw_data()
    if not raw_data:
        print("No data found in audio file.")
        return

    try:
        audio_np = np.frombuffer(raw_data, dtype=np.int16).astype(np.float32) / 32768.0
    except ValueError as e:
        print("Error converting audio data to numpy array:", e)
        return

    # 开启词级时间戳与概率输出
    segments, _ = audio_model.transcribe(audio_np, language="de", word_timestamps=True)

    print("\nTranscription:")
    for segment in segments:
        print(f"Text: {segment.text}")
        # 计算当前片段的置信度
        if segment.words:
            word_probabilities = [word.probability for word in segment.words]
            segment_confidence = sum(word_probabilities) / len(word_probabilities)
            print(f"Confidence: {segment_confidence:.4f}\n")

if __name__ == "__main__":
    main()

补充说明

  • 词级概率是faster_whisper基于底层Whisper模型的token输出计算得出的,属于官方支持的功能,无需修改库代码。
  • 若需要更精细的置信度计算(比如按词的时长加权),可以调整聚合逻辑,例如用每个词的持续时间作为权重计算加权平均。
  • 若需直接获取模型的原始logits输出,可查看faster_whisper的底层API实现,但该方式复杂度较高,词级概率的聚合已能满足大多数场景需求。

内容的提问来源于stack exchange,提问作者Hankie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 07:53:28