我有一個音頻檔案和一個與該音頻檔案中的語音相對應的文本。
我正在收集的音頻檔案來自志愿者閱讀提供給他們的文本。我想制定一個演算法來匹配他們錄制的音頻與文本,以確保他們真正閱讀了文本。
我還沒有決定語言,但我很好奇它是否可以在網路上實作?
uj5u.com熱心網友回復:
使用預訓練的自動語音識別 (ASR) 模型,例如使用 Python 和 huggingface,如 Facebook 的 Wav2vec 2.0 模型 ( https://huggingface.co/facebook/wav2vec2-base-960h ) 或任何其他 ASR 模型 ( https:// /huggingface.co/models?pipeline_tag=automatic-speech-recognition)以獲取語音的文本記錄。這些通常取決于語言,因此您必須找到適合您目標的模型。
將您已有的文本處理成與音頻轉錄更相似的形式(設定為小寫,洗掉標點符號等)。
然后由您決定如何比較這兩個文本。這也取決于文本可以有多長。如果只是單個句子,那么您可以比較它們是否完全相同。如果它有點長,您可以從逐字匹配開始,看看它得到正確/錯誤的單詞百分比(單詞錯誤率)。由于許多訓練有素的 ASR 模型使用背景關系來確定成績單,因此一些更高級(但仍然基于字符或單詞)的文本相似性度量(例如BLEU或Levenshtein 距離)可能更合適,尤其是因為它可以處理額外或遺漏單詞的問題您在自己創建的指標中可能很難處理。
通常,您可以使用用于評估自動語音識別模型的相同方法,因為您執行相同的操作(將轉錄本與預期文本進行比較)。有用于此的存盤庫和軟體包,例如this one和this one。
在任何情況下,您都需要注意模型語音識別永遠不會是完美的,因此分數不完美并不意味著您的志愿者沒有遵循腳本。但是,如果您比較志愿者之間的分數,您可以了解他們與腳本的緊密程度以及他們說話的清晰度。
您還應該記住,志愿者記錄的方式與模型訓練資料的記錄方式之間的口音、背景噪音、音頻質量和一般相似性等因素都會影響分數。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/447388.html
