上個月,我們發佈了牛津計劃機器學習的情感識別API,能夠幫助不同平臺的開發者輕鬆添加智能應用,而無需精通人工智慧領域。牛津計劃僅僅是微軟在人工智慧領域探索中的一個實例,而我們的期望是實現更加註重個人使用體驗和更優性能的產品,逐漸實現它看、聽、說、理解甚至是進行推論的性能。 ...
上個月,我們發佈了牛津計劃機器學習的情感識別API,能夠幫助不同平臺的開發者輕鬆添加智能應用,而無需精通人工智慧領域。牛津計劃僅僅是微軟在人工智慧領域探索中的一個實例,而我們的期望是實現更加註重個人使用體驗和更優性能的產品,逐漸實現它看、聽、說、理解甚至是進行推論的性能。
現在,聲紋識別API和視頻API已經公開預覽,自定義識別智能服務(CRIS)可通過www.ProjectOxford.ai進行訪問。
CRIS能提供開發者構建針對特定詞庫、環境、或用戶群的語音識別系統。視頻API使得分析和自動編輯視頻更加便捷,它能識別出視頻中的單個人臉併進行追蹤,還能根據一組參數檢測出視頻中人物或者物體的動作,並且對視頻進行流暢性和穩定性處理。
接下來,我們一起來瞭解聲紋識別API的更多背景——如何使用以及它究竟使用了何種技術。
使用場景示例:使用聲紋識別API實現更強的身份認證功能
聲紋識別API可以根據聲音識別出用戶和客戶(說話者),然而聲紋識別API將不會取代更強的驗證工具,而是提升驗證工具的安全級別。聲紋識別API還有另一個功能,就是通過自動識別用戶,而無需代理人進行一問一答的過程手動驗證客戶身份信息,從而提升了客戶服務體驗。
聲紋識別的目標是幫助開發者構建智能自動識別機制,在便捷使用者的同時又能避免欺詐情況的發生,但這並不是一件簡單的事。在理想情況下,要進行身份認證需要以下三種信息:
-
你知道的事物(密碼)
-
你擁有的事物(安全鍵盤、移動設備或者信用卡)
-
你的特征(生物特征例如語音,指紋和臉)
聲音有著獨特的特征,能夠用它來鑒別人,在這方面過去幾年內聲紋識別系統有著巨大的提升。(詳見文章末尾參考文獻【1】【3】)
使用聲紋識別API有兩個階段——註冊登記和識別:
註冊階段:記錄下說話者的聲音,從中提取大量特征,形成獨特的聲紋,生成某一個人的唯一標識。這些特征是基於說話者口腔和咽喉的物理狀態,然後表示為數學公式。 識別階段:用提供的語言樣本與預先創建的聲紋進行對比。 |
聲紋識別兩階段(編輯自Douglas Reynolds PPT)
聲紋識別提供了最先進的演算法,從音頻流中識別人的聲音,包括驗證和辨識兩部分:
說話人驗證:根據用戶聲音或演講自動識別和確認身份。它與身份驗證方案密切相連,通常需要使用密碼短語。因此,我們選擇了文本依賴識別方式:即在註冊和驗證階段說話者都需要選擇使用一個特定的密碼短語。 說話人辨識:從給定的一組說話者音頻中自動識別出樣本音頻的說話人。將輸入音頻與所提供的一組音頻進行一一配對,如果找到匹配的,則識別出了說話者的身份,這是文本獨立識別方式:即在註冊和識別階段對於說話者的內容沒有限制。 |
聲紋識別技術綜述
包括成熟API在內的現代系統,大都使用了i-矢量方法。文獻中的大部分工作都集中在場景驗證,不論是與文本無關的NIST評估還是文本依賴型的密碼短語,例如RSR資料庫。二者通過標準測試,以及針對會議場景(有無排斥反應)內的大型識別任務測試,建立了基準。它在驗證任務中獲得的結果很有競爭力,有最高的精準度。在辨識方面,精確度超90%,而拒絕率只有約5%。
以下將簡要總結不同技術組件,給感興趣的讀者提供參考。
我們簡要概括聲紋識別系統的i-矢量基本程式,並重點討論一下身份確認,聲音識別在修改評分階段僅做了簡單的修改。
-
特征提取:特征提取每10ms會生成一個表示語音的向量,梅爾頻率倒譜繫數(MFCC)被廣泛地用於說話者和語音識別中。API中,我們使用一個強健、專有版本的MFCC,相當於60維的MFCC,它廣泛用於聲紋識別,在嘈雜環境中性能提升顯著。
-
無監督訓練:這一步被稱為無監督訓練,是因為它不使用說話者的標簽。相反,它使用大的高斯混合模型來描述聽覺空間和總變化矩陣來描述說話者(和通道)空間。構建通用背景模型(UBM)從早期的聲紋識別,到使用大量數據和標準GMM訓練技術進行構造此模型過程中,都是很有名的。另一方面,關於在聯合因數分析(JFA)的背景下研究的T矩陣,建議讀者參考【1】介紹。同時使用UBM和T,一個聲音可以映射到固定的三維空間中(通常是在幾百的量級),在這個空間構造判別變換,並註冊登記和評分。
-
監督訓練:在訓練中,一旦構造出UBM模型和T矩陣,每一種表述方式和說話者標簽都會映射到一個固定維度的向量中,使用這些(向量,標簽),構造一個概率線性判別分析模型(PLDA)(可以把它看做一個有助於分解說話者和通道變化的概率線性判別分析模型)。如何訓練和使用PLDA,詳見【2】。訓練PLDA模型,和找到在註冊和測試階段使用的相同變數是非常重要的(例如,在文本依賴型的確認階段中通道變化和語音變化),這些在實踐中都有很好的表現。
-
登記註冊/測試:以上這些步驟是在使用一個大規模資料庫的前提下。實際上,上述所有模型都是使用了數以千計小時的音頻訓練而來,這些在我們的API中都有提供。在註冊登記階段,每一個說話者將使用該系統表示的短語或長句的實例(用於文本依賴驗證)。例如,一分鐘的段落或者文本獨立的確認或識別。使用輸入構造出在i-矢量的說話者空間模型。在測試階段,被測試的表達方式映射到i-矢量空間並與說話者模型進行比較後作出判斷。
希望大家很快就能使用這些API,如果你想查看關於在牛津計劃中用到的其它技術的文章,請反饋給我們。
參考文獻:
【1】NajimDehak, Patrick Kenny, Pierre Dumouchel, Reda Dehak, Pierre Ouellet, «Front-endfactor analysis for speaker verification » in IEEE Transactions on Audio,speech and Language Processing 2011.
【2】Simon J.D. Prince, James H. Elder, «Probabilistic lineardiscriminant analysis for inference about identity » in Proceedings ICCV 2007.
【3】Anthony Larcher, Kong Aik Lee, Bin Ma, Haizhou Li, «Text-dependent speaker verification: Classifiers, databases and RSR2015»in Speech Communication, (60), 2014.
最後,小編還有一個呼籲:
立即訪問http://market.azure.cn