為什麼手機聽得懂人話?

全世界第一支聲控手機是Philips還是ERICSSON,老實說筆者也搞不清楚,但如果我們用廣告的角度,把ERICSSON T18聲控手機當做技術的起點,經過10年以上的技術更新,直到2010年的今天,滿街可以聲控加報路的衛星導航或智慧型手機,多年來聲控的進步大家是有目共睹。但能夠讓聲控變的那麼方便,也是經過研發人員不斷的改良,才有這般甜美果實。

特定人聲辨識
早期的聲控手機對聲音精準度的要求非常嚴格,因此都是採辨識特定人聲的方式來執行,使用前需要先錄下自己的聲音,等到要執行指令時,得說出當初錄製相同的聲音,要是由別人來說這個關鍵字時,效果就會大打折扣,經常會出現無法作用的情形。而當時的技術也只能夠接收「單字」,比如要接電話只能講「接」,不能說「OK!我現在馬上就過來接電話」,以連續語音的輸入方式,手機跟本就聽不懂。

非特定人聲辨識
經過了不斷的改良後,聲控技術終於進步到可以辨識「非特定人聲」。這個技術是先採樣多種聲音後,再取得發出指令聲音的平均值。用個簡單又有趣的例子來說明,阿里巴巴與四十大盜以特定指令「芝麻開門」來開門,就是一種針對非特定人聲的辨識技術。以人數來說,這扇門至少可以辨識阿里巴巴加上四十大盜,一共41種聲調,而且不用事先錄下41個人的聲音,而是這扇門內建了聲音頻率的平均值,因此能夠辨識不同人發出的同樣話語。

非特定人聲連續性辨識
為了克服聲控運用受限於簡短指令的問題,後來的技術則是往「非特定人聲連續性辨識」發展,所以現在的機器終於也聽得懂一整句話。除了使用前不需校正跟錄音的優點外,對聲音辨識的寬容度也提高許多,顯著的例子就是衛星導航的語音輸入地址功能,比如你可以直接對GPS說「台北市文山區景興路二段」或「中正紀念堂」,機器會自動拆解句子分析語意,搭配不同的地圖或景點資料庫,去查詢吻合相同組合的答案,然後秀在選單中供使用者選擇最後的答案。

但語音辨識的結果,可能會遇到錦興路、景新路或中山堂,近似音卻不同字的答案,所以資料庫內的文字組合,在遇到同音字時是否能照著正確的邏輯選字,就成了各家聲控導航的好壞之分了。
而「非特定人聲連續性辨識」的技術發展到極致就可以做到語音轉文字的應用,也就是大家認知的語音輸入。像在資訊展上常常可以看到的「ViaVoice」、「蒙恬聽寫王」等產品,就是此類技術的展現。

另外如同前面提到的,由於中文裡有許多同音或相似音的情形,不同的情境下同音的詞彙指的可能是不同的兩件事,例如像「美金多少錢」和「每斤多少錢」的差異,再加上每個人的用詞習慣差異頗大,因此這類產品在一開始使用上的的精準度可能不是很好,會發生聽寫不一情形,但是經過幾次的校正、累積經驗之後,軟體就會記住使用者的用字習慣,辨識率也就會越用越好了,就類似我們在Windows上使用微軟新注音輸入法的概念。

語音合成
所謂的語音合成,簡單講就是文字轉語音的技術,主要是透過事先收集各種字或詞的發音做為取樣,再利用邏輯演算與分析產生正確的唸法。所以我們可以把語音辨識與語音合成當做輸入與輸出來看待,透過透過兩個技術相輔相成的結合,則可以達到完整的人機互動。

目前語音合成多應用在電子書朗讀、導航語音路名播報或是英文單字發音。以常見的電子辭典為例,為了發音的標準與真實性,有些廠商採用真人發音預錄做為單字或句子發音展示用。這種方式雖然是人聲發音,但缺點是檔案龐大,不適合一些小型的裝置使用,所以目前多數的手持裝置或是辭典軟體大多選擇採用語音合成的方式。
即使是手機上的導航軟體,也能使用語音輸入地址或目的地。
為了增加語音輸入的可辨識度,軟體在安裝時都會要求說幾段短文。
知名的電子玩具愛寶跟菲比,也是透過聲音來跟人互動。


本期其他文章