電影《 Her 》里,語音交互成為普遍的交互方式:孤獨的作家西奧多,有語音操控的隨身計算設備,用語音撰寫感人的書信安撫受傷人,還找到了“機器人女友”莎曼薩。
作為一個懶人,每次看這部電影,都對語音交互充滿期待。這一天真的就那么遠么?造出機器人女友真要到電影里的 2025 年么?我也找出門問問的 CTO 雷欣分(ke)享(pu)了。
造出莎曼薩需要分幾步
打造莎曼薩這樣的機器人,本質(zhì)上是建立一套基于自然語音的操作系統(tǒng)。這背后最重要的工作應該是自然語音交互,主要包括:語音識別、語義理解、信息搜索、語音合成。
模擬出像莎曼薩那樣迷人的聲音,就是語音合成。這個過程其實可以理解成語音識別的反過程。現(xiàn)在有不少開源的項目,簡單合成并不困難,但是如果要合成高質(zhì)量的具體某個人的聲音,就需要很多工程優(yōu)化和個性化定制了。
僅有語音識別、語義分析、語音合成這些初級技能,薩曼莎肯定就像一般韓劇里的女主,顏值超高,智商超低。要真正討人喜歡,還需要自然語言搜索、智能推薦這些高階技能。
這個看起來挺抽象,舉幾個例子就很容易懂了。
語音識別:語音輸入法、微信的聲音轉文字就是最典型的案例。
語義理解:Siri、微軟小冰、小娜就是比較典型的案例了。
自然語音搜索:比如搭載了出門問問Ticwear系統(tǒng)的Moto360視頻里展示的語音提問、搜索。
智能推薦:還沒有看到明顯的案例,像《 Her 》里莎曼薩那樣主動提供建議,這個還是有點難度的。Google 現(xiàn)在也在做這個,譬如當你達到某個地點時,會主動推薦一些你可能需要的信息。
造出莎曼薩還有哪些困難要解決
要造出莎曼薩,當然不是一件容易事,還有很多問題要解決。
一、語音識別
1、算法
最近幾年,語音算法方面基本比較成熟,深度學習(DNN、RNN)已經(jīng)成為核心算法,極大的提高了識別準確率,但是仍有好多問題需要解決。
(1) 噪音:人在噪音環(huán)境下,也很難聽清楚別人在說什么。而算法只能解決部分問題。之前小魚在家的 CEO 宋程楓就表示他們花費了大量的人力物力財力解決噪音問題。
(2) 方言:這個就果斷不解釋了。你確定你能聽懂全國各地方言么?更何況是機器呢。
(3) 遠場:聲音的傳播會隨著距離指數(shù)衰減。當人距離聲源遠時,可能就很難聽清,機器也一樣。
2、數(shù)據(jù)
機器學習是現(xiàn)階段最有效的方法,但需要大量的數(shù)據(jù)和機器來訓練模型,一般往往需要上萬小時的聲學、文本數(shù)據(jù)來學習。訓練數(shù)據(jù)可以從網(wǎng)上挖掘,但都是通用的數(shù)據(jù)資料。而要做得深入、更好用,還需要特定垂直領域的數(shù)據(jù),這可能就需要企業(yè)自己去搜集大量領域內(nèi)數(shù)據(jù)。
3、工程
語音識別其實是一個比較大的工程,涉及到:大規(guī)模的聲學和語言學模型訓練 (基于 CPU/GPU 集群)、云端實時識別、離線指令識別等。要做到這些都不容易。如果是移動端,還需要考慮在線 / 離線結合的問題,同時適配眾多的手機機型,這一點也不容易。
二、語義分析
1、算法
我們?nèi)粘Uf的話往往是口語,同樣一句話有可能有十種說法。比如,可能會說“我想去從東直門去西直門”,也可能會是“去西直門,從東直門”。人很容易理解這些,但對機器來說,就太難了。
另外,與語音識別類似,NLP 處理也要做很多領域的定制的結構化的學習方法。很多時候,人類都無法正確、準確的描述問題,很難從對話中或者直接搜索得到他想要的確切信息。這就會增加機器理解語義的難度。這種時候就只能一邊猜,一邊問了,用戶體驗就會下降。
2、數(shù)據(jù)
機器學習需要大量的數(shù)據(jù)學習,但目前還缺乏領域內(nèi)的標注數(shù)據(jù)。有些時候,一個詞就可以指代不同的東西;有些時候,一個固定的聲音,還會有不同的文字和解釋。比如,中文的 shangwujiudian,既可以理解成上午 9 點,也可以理解成商務酒店;英文的 buy 和 by 同音,但意義并不同;用戶說周杰倫時,既有可能是想知道周杰倫的歌,也可能是想看周杰倫的百科。同時,自然語言的數(shù)據(jù)質(zhì)量往往比較差,還需要做篩選,才能提高機器學習的有效性。
另外,現(xiàn)有的數(shù)據(jù)還不足以建立起大規(guī)模的知識圖譜,還需要挖掘大量的知識,放在知識庫里,并不斷積累。比如,提到劉德華,一個優(yōu)質(zhì)的知識圖譜,應該涵蓋劉德華的生平經(jīng)歷、家庭狀況、歌曲、電影等各種資料。
3、工程
自然語言處理的過程比較復雜。聲音信號轉化成文字后,還需要不少后期處理,比如分詞、分類、糾錯,首先要確定是哪一類信息,明確用戶要做什么事,再找到關鍵參數(shù)。這些復雜的流程都對應著龐大的工程。
何時能夠造出莎曼薩?
雖然有不少困難,但目前在語音識別、語義分析方面都還是有進展的。
語音識別方面的進展是突破性的。深度學習最成功的應用就是在語音識別上。首先,準確率得到了顯著提高,并簡化了系統(tǒng),而且可以更有效的利用海量數(shù)據(jù)。據(jù)說語音識別的準確率已經(jīng)從 80% 多提升到了 90% 多。
語義識別方面也有進展。2 年前,Google 發(fā)布“知識圖譜”,為用戶提供有完整知識體系的搜索結果,為機器搭建更豐富的知識圖譜。IBM Watson 也做過深度問答系統(tǒng),2011 年參加智力競賽節(jié)目“Jeopardy!”,戰(zhàn)勝了兩位人類冠軍選手。目前,不少大公司也推出了比較成熟的語音語義識別產(chǎn)品,我們最熟悉的就是 Google Now、Siri、Cortana。
近幾年,隨著智能硬件的興起,在智能車載、智能家居領域,傳統(tǒng)輸入方式受限,語音交互開始被接受,交互技術逐漸成熟,近幾年語音交互使用量增長很迅速,今后 2-3 年會更普及。但要做出接近莎曼薩的產(chǎn)品,估計至少還要 20 年。
莎曼薩能說中文(普通話)嗎?
這個肯定是可以的。不過,與英文相比,中文(普通話)識別與分析的難度更大。語音方面,中文有聲調(diào)的差別和大量的同音字。語義方面,現(xiàn)階段英文句法分析 (parsing) 準確率能達到 90% 以上,但中文只有 80% 多,這主要還是因為漢語太博大精深了。
(1)變調(diào):漢語里兩個以上音節(jié)在連續(xù)的時候,由于受前后音節(jié)的影響,有些音節(jié)的聲調(diào)會發(fā)生變化。普通話的連讀變調(diào)在上聲字里表現(xiàn)最為突出,識別難度更大。
?。?)同音:漢語音節(jié)少,造成的一個后果就是同音字太多,聲音轉文本信號的難度增加。
(3)多意:漢語一個字、一個詞往往能表達多種含義,比如“聞”既可以指嗅,也可以指聽。
(4)沒有形態(tài)變化:比如“建議”,既可以是名詞,也可以是動詞,但英文里就直接用 suggest 和 suggestion 兩個詞表示。
?。?)難分詞斷句:像“小王死了爸爸”這種句子,斷句不同意義就不同,漢語里有很多。
(6)語序靈活:比如,“海淀橋怎么去,從東直門”在中文里是能被理解的,但在英文里一般有固定的語序。
?。?)多成語、俗語、俚語:這個就不解釋了吧,想想我們高考的時候就天天被虐,機器的日子估計也不好過呢。
不過,目前國內(nèi)也有幾家做自然語音處理相關的公司,比如出門問問、訊飛、云知聲等,一直在做相關的研究和探索。目前在安靜環(huán)境下特定領域定制過的語音識別系統(tǒng)識別準確率已經(jīng)相當高。對于語音交互而言語音識別已經(jīng)不是瓶頸,對語言的理解更為重要。
(審核編輯: 智匯張瑜)
分享