深度解析音頻檢測背後的技術 | 硬創公開課

網路直播行業經歷了過去兩年的井噴式爆發後,到現在依舊保持著持續火熱的態勢。但這一市場火爆的背後也一直暴露了一些問題,低俗內容屢見不鮮。顯然,要解決這一問題就必須要有比人工鑒黃效率更高的手段,用人工智慧技術來鑒黃就是現在直播平台通用的手段。

雖然不少企業都把目光聚焦在視頻鑒黃上,但音頻審核也是人工智慧鑒黃技術的一部分,二者缺一不可。那在大家熟悉的視頻鑒黃之外,音頻檢測究竟能解決哪些問題?這一技術是如何進行鑒黃的呢?

本期雷鋒網(公眾號:雷鋒網)硬創公開課,我們邀請了極限元智能科技聯合創始人馬驥為大家解讀關於音頻審核背後的技術。

嘉賓介紹

馬驥:極限元智能科技聯合創始人,曾先後就職於中科院軟體研究所、華為技術有限公司,獲得多項關於語音及音頻領域的專利,資深軟體開發工程師和網路安全解決方案專家,擅長從用戶角度分析需求,提供有效的技術解決方案,具有豐富的商業交流和項目管理經驗。

以下內容整理自本期公開課,雷鋒網做了不改變原意的編輯:

一、音視頻審核的需求現狀

音視頻審核主要針對互聯網傳播的信息進行審核,審核的內容有有害信息(涉黃、涉暴)、敏感信息。

以直播平台為例,2016年,是互聯網直播平台爆發的一年,除了各式各樣的直播形式。與此同時,也出現了大量的在線實時信息,這其中是有害信息,涉黃是最為嚴重的一個現象。今年,相關部門已經針對這些亂象加大了打擊力度,因此基於互聯網直播平台的有害信息檢測成為重中之重。

以圖像識別技術為基礎如何進行鑒黃?在直播的時候,每個直播間會間隔一秒或幾秒採集一個關鍵幀,關鍵幀會發送到圖像識別引擎,引擎根據圖像的顏色、紋理等等特徵來對敏感圖像進行過濾,這一過程會檢測肢體輪廓等關鍵特徵信息,然後對檢測圖像特徵與特徵庫模型裡面的特徵相似度進行匹配,給予待測圖像色情、正常、性感等不同維度的權重值,以權重值最高的作為判定結果輸出。

基於圖像識別得視頻涉黃檢測準確率可以達到99%以上,可以為視頻直播平台節省70%以上的工作量。

還有一些是語音為主的直播節目,比如談話聊天、脫口秀、在線廣播等。視頻檢測所使用到的圖像技術就很難在這些應用場景發揮作用,所以音頻檢測需要有針對性的技術手段。

除了剛剛提到的幾個音頻檢測應用場景之外,例如網路音視頻資源審核,例如微信發布語音視頻信息,平台後台會對這些數據進行審核;另外公安技偵通過技術手段來偵查網路、電話犯罪行為;第三個是呼叫中心,傳統呼叫中心會產生大量的電話錄音,很多行業會對這些錄音進行錄音質檢,從這些錄音中提取業務開展的情況;最後一個是電信安全,主要是以關鍵詞檢索的手段來防止電信詐騙。

二、音頻檢測採用的技術手段

音頻可以分為有內容和無內容兩種:說話內容相關的包括說了什麼?(涉政、涉黃、涉賭還是廣告信息),另外還可以從說話內容來判斷語種以及說話人的辨識;此外還有與說話內容無關的信息,例如特定錄音片段、歌曲旋律、環境音等等。

針對不同的數據類型有不同的檢測技術。針對說話內容有語音識別、關鍵詞檢索等;針對語種的判別有語種識別的技術;針對說話人的識別有聲紋識別技術;針對說話內容無關的通常採用音頻比對的技術來進行檢測。

語音識別的關鍵技術——聲學模型

語音識別的聲學模型主要有以下兩種:混合聲學模型和端到端的聲學模型。

混合聲學模型通常是隱馬爾科夫模型結合混合高斯、深度神經網路、深度循環神經網路以及深度卷積神經網路的一個模型。

端到端聲學模型目前有兩大類,一是連接時序分類—長短時記憶模型,二是注意力模型。

聲學模型——混合高斯—隱馬爾科夫模型

混合高斯—隱馬爾科夫模型是根據語音的短時平穩性採用採用隱馬爾科夫模型對三因子進行建模。圖中顯示的是,輸入語音參數通過混合高斯模型計算每一個隱馬爾科夫模型狀態的後驗概率,然後隱馬爾可夫模型轉移概率來描述狀態之間的轉移。

混合高斯—隱馬爾科夫模型是出現最早應用最久遠的模型。

聲學模型——深度神經網路—隱馬爾科夫模型

混合神經網路—隱馬爾科夫模型是將混合高斯模型用深度神經網路進行替代,但是保留了隱馬爾科夫的結構,對於輸入端的擴幀和深度神經網路的非線性變換,識別率可以得到很大的提升。

聲學模型——深度循環神經網路—隱馬爾科夫模型

前面的深度神經網路對歷史信息的建模只是通過在輸入端擴幀實現的,但對歷史信息的建模作用是有限的。

在深度循環神經網路中,對輸入的歷史信息可以進行有效的建模,可以做大限度的保留歷史信息。根據現有的實驗結果來看,在很多任務上,深度循環神經網路性能表現要由於深度神經網路。

當然,深度循環神經網路也存在一些缺點。例如,在訓練的時候,會出現梯度爆炸和梯度消失的問題。

那麼如何有限解決梯度爆炸和梯度消失的問題呢?學者又引入了一種長短時記憶模型。

聲學模型——長短時記憶模型

長短時記憶模型採用控制門(包括輸入門、遺忘門和輸出門)將梯度累積變成梯度累加,在一定程度上可以解決深度循環神經網路訓練時梯度消失的問題。

聲學模型——深度卷積神經網路—隱馬爾科夫模型

上面提到的深度循環神經網路能夠有效地對歷史信息進行建模,但是它存在計算量太大的問題,特別是為了減少這種梯度消失又引入了長短時記憶模型之後,計算的信息量有加劇。應對這一難題,業界又引入了深度卷積神經網路模型。

這種模型在圖像識別領域和語音識別領域都得到了顯著的效果。

在語音識別領域,我們可以從圖中可以看出,一共有四種深度神經網路的模型結構,隨著深度的增加可以有效地提升聲學模型的構建能力。

聲學模型——連接時序分類—長短時記憶模型

前面提到的都是基於混合模型,以隱馬爾科夫模型來構建轉換概率的模型。

在訓練過程中,如果要用到高斯混合模型進行強制對齊結果的訓練。針對這個問題,也有學則提出了不需要強制對齊的訓練方法,例如連接時序分類(CTC),這種方法可以有效加速解碼速度。

聲學模型——注意力模型

另外一種不需要強制對齊的訓練方法是注意力模型的訓練方法(如上圖)。

語言模型

語言模型——N-Gram

基於N-Gram的特點是每個詞出現的概率,之和前面第N-1個詞有關,整句話出現的概率是每個詞出現的概率的乘積。

N-Gram有一個缺點,由於數據稀缺性需要進行一個平滑演算法,然後得到後驗概率。

語言模型——DNN-Gram

DNN-Gram把深度神經網路引入可以有效地克服平滑演算法的誤差。例如圖中顯示的,通過深度神經網路構建語音性不需要平滑演算法的處理。

語言模型——RNN-Gram

和聲學模型一樣,構建語言模型也需要對歷史信息進行訓練建模,在聲學模型中提到的深度循環神經網路在這裡也有應用。

基於深度神經網路的語言模型每個詞出現的概率和N-Gram一樣,只是和向前的第N-1個詞有關,但實際上,每個詞出現的頻率和之前所有詞都有相關性,因此需要引入歷史信息進行訓練建模。

所以在這裡加入了RNN-Gram進行語言模型的構建。

近幾年,語音識別的聲學模型和語言模型都得到了很大的提高。2016年,微軟的語音識別團隊宣稱在swithboard數據集上超過了人類,swithboard數據集是一個以口語為主的訓練測試數據集,包含了大量的副語言,所以用這種數據集進行語音識別測試具有一定的挑戰性。

不過,語音識別在一些特殊領域的識別效果就大打折扣了。在強幹擾環境和特殊領域中,可以通過基於語音識別的關鍵詞檢索方法來進行音頻信息的檢查。

基於語音識別的關鍵詞檢索

基於語音識別的關鍵詞檢索是將語音識別的結構構建成一個索引網路,然後把關鍵詞從索引網路中找出來。從這一流程圖中可以看到,首先把語音進行識別處理,從裡面提取索引構建索引網路,進行關鍵詞檢索的時候,我們會把關鍵詞表在網路中進行頻率,找到概率最高的,輸出其關鍵詞匹配結果。

構建檢索網路

構建檢索網路是語音關鍵詞檢索的重要環節。在這個圖中,在第一個時間段內(w1、w3、w6、w7),這句話被識別成了四個不同的詞,語音識別只能給出一條路徑,但在語音關鍵詞檢索網路中可以從四個結果中進行篩選。

關鍵詞檢索

有了檢索網路後,接下來的工作就是關鍵詞檢索工作。關鍵詞檢索是基於音節數據,首先將用戶設定的關鍵詞文本解析成音節數據,再從檢索網路中找出匹配結果,相比語音識別這種文本結果檢索,這種容錯性更強,而且關鍵詞檢索可以只用在基於CTC,計算量更小,執行效率更高,更適用于海量數據的檢索場景。

說話人識別的關鍵技術

說話人識別也稱之為聲紋識別,主要目的是對說話人的身份確認和辨識。

它的流程如下:首先對說話人的訓練建模,把註冊語音進行特徵提取,模型訓練之後得到說話人的模型庫;在測試的時候,我們需要通過一個很短的音頻去提取特徵值,然後基於之前構建的模型進行閾值判斷,判斷出是集合內還是外,最終確認身份。

在這一過程中,註冊語音只要10s左右的語音,測試只要2-5s的語音。

說話人識別的關鍵技術——特徵提取-MFCC

MFCC(梅爾頻率倒譜係數),梅爾頻率是基於人耳聽覺特性提取出來的,和赫茲頻率呈現一個非線性對應關係。梅爾頻率倒譜係數是利用好梅爾頻率和赫茲頻譜關係計算得出的赫茲頻譜特徵,其主要應用於語音數據的特徵提取。

這張圖顯示的就是MFCC的提取過程,輸入語音進行傅里葉變換,從中得到頻譜,然後通過梅爾濾波器進行倒譜分析,再得到MFCC係數。

說話人識別的關鍵技術——特徵提取-DBN

MFCC是淺層的特徵,只要通過語音參數的分析就可以得到,但是說話人之間不同的特徵還體現在其它特點上,僅通過MFCC是無法捕捉到的。

所以又要利用神經網路來解決。神經網路有一個特徵層叫BottleNeck,BottleNeck是深度神經網路參數維度最少的一層,很像一個瓶頸。

BottleNeck特徵提取是通過語音識別深度神經網路訓練得到的。

說話人識別的關鍵技術——模型訓練GMM

完成關鍵特徵提取後就要進行模型訓練。

GMM的訓練流程是:首先把訓練語音進行特徵提取,得到梅爾頻率倒譜係數,然後生成一個通用背景模型,再通過MAP的方法得到說話人的模型。

註冊語音的流程也是類似,通過特徵提取,進行模型訓練得到混合高斯模型。

在測試的時候,把測試語音進行特徵提取,然後從通用背景模型和混合高斯模型進行最大相似度的判斷,再輸出識別結果。

說話人識別的關鍵技術——模型訓練I-Vector

I-Vector在近兩年有比較廣泛的應用,它將說話人特徵和信道特徵統一建模,得到說話人特徵通過信道補償記錄進行識別,有效解決了訓練樣本和實際檢測樣本存在信道不匹配的問題。

信道特徵對說話人識別的準確性干擾很大,如果前期學習建模過程中,能把信道特徵統一建模後期在識別的時候,可以實現信道補償,大大提升說話人識別的魯棒性。

說話人識別的關鍵技術——模型訓練DNN

我們還可以進一步介入深度神經網路的方式來提取統計量。

用深度神經網路替代一些統一背景模型,可以把音素相關信息通過語音識別的深度神經網路結合起來,採集到更多的說話人特徵信息。

音頻對比技術

特徵提取

音頻對比技術也是引用很早很廣泛的音頻檢索技術。

音頻對比主要是從音頻信號中提取特徵,通過特徵進行比對來檢索。圖中提取的過程就是通過頻譜最大值點來建模。

特徵構建

在完成最大值點完成建模後,我們需要進行特徵的構建。

特徵構建是通過最大值點之間的距離來建模,例如兩個最大值點的距離、位置信息作為一個固定的特徵來完成音頻特徵信息的構建。

檢索

有了上述音頻特徵之後,就可以對兩個不同音頻進行檢索,最大相似度的地方就是相似點。這種技術最適用於錄音片段的檢索。

其它技術

1.語音欲處理技術:包括音頻編解碼、雜訊消除(軟體處理,硬體解決方案)、語音信號增強。

2.語義識別:對語音識別後的文本結果進行分析,結合上下文,來判斷真是意圖。

3.語種識別、男女聲識別:識別方言、外語語種、發音人性別進行識別。

4.流媒體技術:在實時音頻數據處理中,需要用到數據切分、數據緩存。

5.雲平台技術:雲服務架構設計、、服務模塊化整合、負載均衡等。

6.大數據技術:海量數據存儲、訓練樣本自動提取、模型訓練等。

三、應用場景案例

音頻審核數據來源可以分為實時數據和存量數據。存量數據主要是現有的語音資源,實時數據則包括正在直播的廣播、電視節目等。

存量音頻數據審核

場景:電信運營商詐騙電話檢測

這是針對存量數據的解決方案,它有大量的通話錄音,而且因為設備供應商的不同,會造成音頻格式、音質不統一;另外,電話錄音還存在雜訊干擾、方言口音問題。

針對這類數據的檢測,我們可以提供一套完整的解決方案。

首先把通話錄音通過API介面上傳到關鍵詞檢索伺服器上,關鍵詞檢索伺服器的API網關對它的請求進行分類處理之後,移交給後續的業務網關來分發處理。首先要進行音頻預處理,音頻格式轉碼、語音降噪等,然後把處理後的文件存儲;接下來,把結果反饋給業務網關,由音頻比對對已知錄音片段進行檢測,如果有匹配這些錄音片段就反饋結果——存在詐騙信息。

如果經過音頻比對沒有發現詐騙信息,我們會調用關鍵詞檢索服務。

實時音頻數據審核

場景:在線直播平台敏感信息檢測

它的數據是實時生成的,需要用到流媒體技術,包含圖像、音頻兩大數據源,所用到的檢測技術也不一樣。音頻檢測還分為語種、說話人確認、內容識別。累積了大量的檢測數據之後,對後期的模型優化升級也提出了更高的要求。

首先會對直播中的音視頻資源提取,分別交由圖像處理模塊和語音處理模塊,針對圖像數據我們要提取關鍵幀,針對語音數據,我們會把視頻數據中的音頻資源提取出來。

圖像數據的處理,拿到圖像數據關鍵幀後會定時發送到處理平台上( 雷鋒網註:可以在雲端或者私有雲部署)。

在圖像識別部分要對圖像預處理、圖像分割,拿到有效的區域來檢測,在有害信息識別檢測階段,我么會完成特徵提取、目標分類、判斷匹配,找出裡面涉黃、涉暴的信息。如果用戶有進一步的需求,例如廣告識別的要求,我們可以根據二維碼、數字、字元檢測技術來進行廣告的識別。

音頻的數據提取之後,上傳到到伺服器端。音頻實時處理有個局限是會佔用大量的帶寬,所以通常採用私有雲的部署方式。

拿到音頻數據之後,第一步是音頻預處理(流媒體緩存、斷句切分、統一格式、降噪處理),然後是內容檢測(語音識別、關鍵詞檢索、語音識別)。除了內容審核之外,還有其它的檢測,例如直播平台會對當前主播身份的確認、廣告檢測、語種識別等。

精彩問答

Q:從極限元的方案來看,音頻審核還存在什麼Bug,它適用於哪些領域?

A:Bug肯定是有的,主要是目前技術的局限性,識別的準確率還是問題。在視頻直播、呼叫中心的應用場景涉及到的比較多,只要能產生大量音頻數據的行業都可以使用音頻審核技術。

Q:音頻審核是否是人工+機器結合的審核方式?哪些部分必須要人工來處理?標準是怎樣的?

A:機器目前只是粗檢索,如果要100%的準確率還是需要人工來完成。

Q:語音識別和聲紋識別部分對硬體的要求很高,那一般情況下需要配套的硬體方案嗎?

A:這是有的,我們通常會推薦一些硬體方案,而且不同的應用場景也會有不同的推薦。例如,用戶在私有雲端部署,對計算量要求很高但對帶寬的需求很小,如果在雲端部署,對帶寬有更高的要求。

Q:音頻審核對降噪有做哪些處理?

A:主要是為了減少直播中存在的聲道干擾和背景聲的干擾,例如不同麥克風回聲,還有一些已知的雜訊信號,我們會針對這些做一些預處理。

Q:關鍵詞是怎麼設定的?改變關鍵詞的話,對整個系統方案影響很大啊。

A:關鍵詞的設定目前還是人工設定為主,機器不能自動提取關鍵詞。例如上文提到的電信詐騙,裡面的關鍵詞也是人工篩查得出的。

Q:系統同時結合音頻和視頻方案最難的地方在哪裡?

A:如果是同一段視頻既要圖像檢測又要音頻檢測,在時間點的同步上是一個很大的難點,因為語音識別、圖像識別是兩套系統。

雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。


推薦閱讀:

安全性如同20年前的計算機 物聯網普及如何越過黑客這道坎?
美國聯邦委員會花25000美元懸賞自動修補IoT設備方案
所有人都唱衰可穿戴,然而這家不著邊的大公司計劃開發可穿戴產品 | CES 2017
2017年度安全報告——IoT安全威脅
為了實現超智能社會,這家機器人公司開始布局人聯網

TAG:音频处理 | 物联网 |