#python-3.x #speech-to-text #azure-cognitive-services
Вопрос:
Я тестирую следующий код для транскрипции длинного аудио, оказывается, мне нужно было бы получить уровень достоверности результата транскрипции для каждого слова, где в другое время можно было бы проверить качество транскрипции.
import azure.cognitiveservices.speech as speechsdk
import time
def speech_recognize_continuous_from_file():
"""performs continuous speech recognition with input from an audio file"""
# <SpeechContinuousRecognitionWithFile>
speech_config = speechsdk.SpeechConfig(subscription=SUBSCRIPTION_KEY, region=REGION)
speech_config.speech_recognition_language="pt-BR"
audio_config = speechsdk.audio.AudioConfig(filename="file.wav")
speech_config.enable_dictation()
speech_config.output_format = speechsdk.OutputFormat(1)
speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config, audio_config=audio_config)
done = False
def stop_cb(evt):
"""callback that signals to stop continuous recognition upon receiving an event `evt`"""
print('CLOSING on {}'.format(evt))
nonlocal done
done = True
# Connect callbacks to the events fired by the speech recognizer
speech_recognizer.recognizing.connect(lambda evt: print('RECOGNIZING: {}'.format(evt)))
speech_recognizer.recognized.connect(lambda evt: print('RECOGNIZED: {}'.format(evt)))
speech_recognizer.session_started.connect(lambda evt: print('SESSION STARTED: {}'.format(evt)))
speech_recognizer.session_stopped.connect(lambda evt: print('SESSION STOPPED {}'.format(evt)))
speech_recognizer.canceled.connect(lambda evt: print('CANCELED {}'.format(evt)))
# stop continuous recognition on either session stopped or canceled events
speech_recognizer.session_stopped.connect(stop_cb)
speech_recognizer.canceled.connect(stop_cb)
# Start continuous speech recognition
speech_recognizer.start_continuous_recognition()
time.sleep(15)
speech_recognizer.stop_continuous_recognition()
speech_recognize_continuous_from_file()
Я знаю, что есть возможность получить эти значения с помощью REST API, но до сих пор я не мог найти способов получить этот уровень уверенности с помощью Python SDK.
Также я изменил формат вывода speech_recognizer на «подробный», чтобы я мог получить описание NBest, но оказывается, что когда я использую метод start_continuous_recognition, все детали NBest подавляются
Ответ №1:
В настоящее время в подробных выходных данных отображается показатель уверенности. Он доступен на csharp, но не на других языках.