網路直播行業經歷了過去兩年的井噴式爆發後,到現在依舊保持著持續火熱的態勢。但這一市場火爆的背後也一直暴露了一些問題,低俗內容屢見不鮮。顯然,要解決這一問題就必須要有比人工鑒黃效率更高的手段,用人工智慧技術來鑒黃就是現在直播平臺通用的手段。
雖然不少企業都把目光聚焦在視頻鑒黃上,但音訊審核也是人工智慧鑒黃技術的一部分,二者缺一不可。那在大家熟悉的視頻鑒黃之外,音訊檢測究竟能解決哪些問題?這一技術是如何進行鑒黃的呢?
本期雷鋒網硬創公開課,我們邀請了極限元智慧科技聯合創始人馬驥為大家解讀關於音訊審核背後的技術。
嘉賓介紹
馬驥:極限元智慧科技聯合創始人,曾先後就職於中科院軟體研究所、華為技術有限公司,獲得多項關於語音及音訊領域的專利,資深軟體發展工程師和網路安全解決方案專家,擅長從用戶角度分析需求,提供有效的技術解決方案,具有豐富的商業交流和專案管理經驗。
以下內容整理自本期公開課,雷鋒網做了不改變原意的編輯:
一、音視頻審核的需求現狀
音視頻審核主要針對互聯網傳播的資訊進行審核,審核的內容有有害資訊(涉黃、涉暴)、敏感資訊。
以直播平臺為例,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:如果是同一段視頻既要圖像檢測又要音訊檢測,在時間點的同步上是一個很大的難點,因為語音辨識、圖像識別是兩套系統。