0
雷鋒網(wǎng) AI 科技評(píng)論按:從 WaveNet 到 Tacotron,再到 RNN-T,谷歌一直站在語音人工智能技術(shù)的最前沿。近日,他們又將多人語音識(shí)別和說話人分類問題融合在了同一個(gè)網(wǎng)絡(luò)模型中,在模型性能上取得了重大的突破。
對(duì)于自動(dòng)理解人類音頻的任務(wù)來說,識(shí)別「誰說了什么」(或稱「說話人分類」)是一個(gè)關(guān)鍵的步驟。例如,在一段醫(yī)生和患者的對(duì)話中,醫(yī)生問:「你按時(shí)服用心臟病藥物了嗎?」患回答道:「Yes」。這與醫(yī)生反問患者「Yes?」的意義是有本質(zhì)區(qū)別的。
傳統(tǒng)的說話人分類(speaker diarization,SD)系統(tǒng)有兩個(gè)步驟。在第一步中,系統(tǒng)將檢測(cè)聲譜中的變化,從而確定在一段對(duì)話中,說話人什么時(shí)候改變了;在第二步中,系統(tǒng)將識(shí)別出整段對(duì)話中的各個(gè)說話人。這種基礎(chǔ)的多步方法(相關(guān)閱讀:https://ieeexplore.ieee.org/document/1202280/)幾乎已經(jīng)被使用了 20 多年,而在么長(zhǎng)的時(shí)間內(nèi),研究者們僅僅在「說話人變化檢測(cè)」部分提升了模型性能。
近年來,隨著一種名為遞歸神經(jīng)網(wǎng)絡(luò)變換器(RNN-T,https://arxiv.org/abs/1211.3711)的新型神經(jīng)網(wǎng)絡(luò)模型的發(fā)展,我們現(xiàn)在擁有了一種合適的架構(gòu),它可以克服之前我們介紹過的說話人分類系統(tǒng)(https://ai.googleblog.com/2018/11/accurate-online-speaker-diarization.html)的局限性,提升系統(tǒng)的性能。在谷歌最近發(fā)布的論文「Joint Speech Recognition and Speaker Diarization via Sequence Transduction」(論文地址:https://arxiv.org/abs/1907.05337)中,它們提出了一種基于 RNN-T 的說話人分類系統(tǒng),證明了該系統(tǒng)在單詞分類誤差率從 20 % 降低到了 2%(性能提升了 10 倍),該工作將在 Interspeech 2019 上展示。
傳統(tǒng)的說話人分類系統(tǒng)依賴于人聲的聲學(xué)差異識(shí)別出對(duì)話中不同的說話人。根據(jù)男人和女人的音高,僅僅使用簡(jiǎn)單的聲學(xué)模型(例如,混合高斯模型),就可以在一步中相對(duì)容易地將他們區(qū)分開來。然而,想要區(qū)分處音高可能相近的說話者,說話者分類系統(tǒng)就需要使用多步方法了。首先,基于檢測(cè)到的人聲特征,使用一個(gè)變化檢測(cè)算法將對(duì)話切分成均勻的片段,我們希望每段僅僅包含一個(gè)說話人。接著,使用一個(gè)深度學(xué)習(xí)模型將上述說話人的聲音片段映射到一個(gè)嵌入向量上。最后,在聚類階段,會(huì)對(duì)上述嵌入聚類在不同的簇中,追蹤對(duì)話中的同一個(gè)說話人。
在真實(shí)場(chǎng)景下,說話人分類系統(tǒng)與聲學(xué)語音識(shí)別(ASR)系統(tǒng)會(huì)并行化運(yùn)行,這兩個(gè)系統(tǒng)的輸出將會(huì)被結(jié)合,從而為識(shí)別出的單詞分配標(biāo)簽。
傳統(tǒng)的說話人分類系統(tǒng)在聲學(xué)域中進(jìn)行推斷,然后將說話人標(biāo)簽覆蓋在由獨(dú)立的 ASR 系統(tǒng)生成的單詞上。
這種方法存在很多不足,阻礙了該領(lǐng)域的發(fā)展:
(1)我們需要將對(duì)話切分成僅僅包含以為說話人的語音的片段。否則,根據(jù)這些片段生成的嵌入就不能準(zhǔn)確地表征說話人的聲學(xué)特征。然而,實(shí)際上,這里用到的變化檢測(cè)算法并不是十全十美的,會(huì)導(dǎo)致分割出的片段可能包含多位說話人的語音。
(2)聚類階段要求說話人的數(shù)量已知,并且這一階段對(duì)于輸入的準(zhǔn)確性十分敏感。
(3)系統(tǒng)需要在用于估計(jì)人聲特征的片段大小和期望的模型準(zhǔn)確率之間做出艱難的權(quán)衡。片段越長(zhǎng),人聲特征的質(zhì)量就越高,因?yàn)榇藭r(shí)模型擁有更多關(guān)于說話人的信息。這然而,這就帶來了將較短的插入語分配給錯(cuò)誤的說話人的風(fēng)險(xiǎn)。這將產(chǎn)生非常嚴(yán)重的后果,例如,在處理臨床醫(yī)學(xué)或金融領(lǐng)域的對(duì)話的環(huán)境下,我們需要準(zhǔn)確地追蹤肯定和否定的陳述。
(4)傳統(tǒng)的說話人分類系統(tǒng)并沒有一套方便的機(jī)制,從而利用在許多自然對(duì)話中非藏明顯的語言學(xué)線索。例如,「你多久服一次藥?」在臨床對(duì)話中最有可能是醫(yī)護(hù)人員說的,而不會(huì)是病人說的。類似地,「我們應(yīng)該什么時(shí)候上交作業(yè)?」則最有可能是學(xué)生說的,而不是老師說的。語言學(xué)的線索也標(biāo)志著說話人有很高的概率發(fā)生了改變(例如,在一個(gè)問句之后)。
然而,傳統(tǒng)的說話人分類系統(tǒng)也有一些性能較好的例子,在谷歌此前發(fā)布的一篇博文中就介紹了其中之一(博文地址:https://ai.googleblog.com/2018/11/accurate-online-speaker-diarization.html)。在此工作中,循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的隱藏狀態(tài)會(huì)追蹤說話人,克服了聚類階段的缺點(diǎn)。而本文提出的模型則采用了不容的方法,引入了語言學(xué)線索。
我們研發(fā)出了一種簡(jiǎn)單的新型模型,該模型不僅完美地融合了聲學(xué)和語音線索,而且將說話人分類和語音識(shí)別任務(wù)融合在了同一個(gè)系統(tǒng)中。相較于相同環(huán)境下僅僅進(jìn)行語音識(shí)別的系統(tǒng)相比,這個(gè)集成模型并沒有顯著降低語音識(shí)別性能。
我們意識(shí)到,很關(guān)鍵的一點(diǎn)是:RNN-T 架構(gòu)非常適用于集成聲學(xué)和語言學(xué)線索。RNN-T 模型由三個(gè)不同的網(wǎng)絡(luò)組成:(1)轉(zhuǎn)錄網(wǎng)絡(luò)(或稱編碼器),將聲幀映射到一個(gè)潛在表征上。(2)預(yù)測(cè)網(wǎng)絡(luò),在給定先前的目標(biāo)標(biāo)簽的情況下,預(yù)測(cè)下一個(gè)目標(biāo)標(biāo)簽。(3)級(jí)聯(lián)網(wǎng)絡(luò),融合上述兩個(gè)網(wǎng)絡(luò)的輸出,并在該時(shí)間步生成這組輸出標(biāo)簽的概率分布。
請(qǐng)注意,在下圖所示的架構(gòu)中存在一個(gè)反饋循環(huán),其中先前識(shí)別出的單詞會(huì)被作為輸入返回給模型,這使得 RNN-T 模型能夠引入語言學(xué)線索(例如,問題的結(jié)尾)。
集成的語音識(shí)別和說話人分類系統(tǒng)示意圖,該系統(tǒng)同時(shí)推斷「誰,在何時(shí),說了什么」
在圖形處理單元(GPU)或張量處理單元(TPU)這樣的加速器上訓(xùn)練 RNN-T 并不是一件容易的事,這是因?yàn)閾p失函數(shù)的計(jì)算需要運(yùn)行「前向推導(dǎo)-反向傳播」算法,該過程涉及到所有可能的輸入和輸出序列的對(duì)齊。最近,該問題在一種對(duì) TPU 友好的「前向-后向」算法中得到了解決,它將該問題重新定義為一個(gè)矩陣乘法的序列。我們還利用了TensorFlow 平臺(tái)中的一個(gè)高效的 RNN-T 損失的實(shí)現(xiàn),這使得模型開發(fā)可以迅速地進(jìn)行迭代,從而訓(xùn)練了一個(gè)非常深的網(wǎng)絡(luò)。
這個(gè)集成模型可以直接像一個(gè)語音識(shí)別模型一樣訓(xùn)練。訓(xùn)練使用的參考譯文包含說話人所說的單詞,以及緊隨其后的指定說話人角色的標(biāo)簽。例如,「作業(yè)的截止日期是什么時(shí)候?」<學(xué)生>,「我希望你們?cè)诿魈焐险n之前上交作業(yè)」<老師>。當(dāng)模型根據(jù)音頻和相應(yīng)的參考譯文樣本訓(xùn)練好之后,用戶可以輸入對(duì)話記錄,然后得到形式相似的輸出結(jié)果。我們的分析說明,RNN-T 系統(tǒng)上的改進(jìn)會(huì)影響到所有類型的誤差率(包括較快的說話者轉(zhuǎn)換,單詞邊界的切分,在存在語音覆蓋的情況下錯(cuò)誤的說話者對(duì)齊,以及較差的音頻質(zhì)量)。此外,相較于傳統(tǒng)的系統(tǒng),RNN-T 系統(tǒng)展現(xiàn)出了一致的性能,以每段對(duì)話的平均誤差作為評(píng)價(jià)指標(biāo)時(shí),方差有明顯的降低。
傳統(tǒng)系統(tǒng)和 RNN-T 系統(tǒng)錯(cuò)誤率的對(duì)比,由人類標(biāo)注者進(jìn)行分類。
此外,該集成模型還可以預(yù)測(cè)其它一些標(biāo)簽,這些標(biāo)簽對(duì)于生成對(duì)讀者更加友好的 ASR 譯文是必需的。例如,我們已經(jīng)可以使用匹配好的訓(xùn)練數(shù)據(jù),通過標(biāo)點(diǎn)符號(hào)和大小寫標(biāo)志,提升譯文質(zhì)量。相較于我們之前的模型(單獨(dú)訓(xùn)練,并作為一個(gè) ASR 的后處理步驟),我們的輸出在標(biāo)點(diǎn)符號(hào)和大小寫上的誤差更小。
現(xiàn)在,該模型已經(jīng)成為了我們理解醫(yī)療對(duì)話的項(xiàng)目(https://ai.googleblog.com/2017/11/understanding-medical-conversations.html)中的一個(gè)標(biāo)準(zhǔn)模塊,并且可以在我們的非醫(yī)療語音服務(wù)中被廣泛采用。
Via https://ai.googleblog.com/2019/08/joint-speech-recognition-and-speaker.html 雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。