最早的語音識別系統(tǒng)很挑剔
我們知道,要想讓機器發(fā)出聲音,是比較簡單的,只要將電信號轉化為聲音信號就可以,收音機、CD機、電視都是這么工作的??墒窍胱寵C器聽懂我們說出的話,就不那么容易了,這要涉及一項很重要的技術——語音識別技術。
簡單地說,語音識別技術就是讓計算機能夠識別接收到的聲音信號,并把信號轉變?yōu)槲淖只蛘呖蓤?zhí)行指令的技術。也許你覺得這好像并不是很難,先把聲音信號轉換為電信號輸入計算機,再讓計算機把電信號轉化為文字或命令,不就可以了嗎?可是不要忘了,每個人說話的聲音都是不一樣的,他們的音調、口音、用詞習慣都不相同,可以說,每個人都有一套自己的聲音信號。要想讓一臺計算機識別所有人的聲音信號,這幾乎是一件不可能完成的工作。
世界上最早的語音識別系統(tǒng),被安裝在了一種名為“Radio Rex”的玩具狗上。這種玩具狗生產于上個世紀20年代。設計師的想法是,當人們呼喚這只狗的名字時,它就可以從底座上一躍而起。這樣的狗狗多討喜??!然而這個語音識別系統(tǒng)的識別率極低,對于大部分人的呼喚,它沒有任何反應,只有極少數(shù)“字正腔圓”的呼喚,才能讓這只挑剔的狗跳起來。
隨后,美國的貝爾實驗室開發(fā)出了一套能夠識別10個音節(jié)的語音系統(tǒng)。它的工作原理十分簡單,當系統(tǒng)接收到一段語音信號時,首先,它會把這段信號轉換成電信號,并將電信號拆分為很多段,每一段對應語音中的一個單詞;接著,系統(tǒng)將這些代表單詞的電信號與系統(tǒng)內置的語音詞典進行比對,根據(jù)比對結果,將電信號轉換為文字;最后,再將這些文字合成為一句話,從而完成對語音的識別。
這下,是不是看起來簡單可行了?如果你認為是,那我先講個笑話給你聽——話說在尋呼機時代,一位男士本想給妻子的尋呼機留言說:“我已到家樂福,在門口等你?!笨珊襞_小姐給打成:“我已到家了,伏在門口等你?!?/p>
人都會犯這樣的斷句錯誤,何況機器!韓愈的《師說》里說:“句讀之不知,惑之不解”。意思是,如果你不知道一句話該怎么斷句,就無法解開心中的疑惑。對于要去識別語言的機器來說,“斷句之不能,錯之必出”!
機器怎樣一步步學會了“聽話”
這個問題對于中文來說,還好一點。因為中文以漢字為基本單元,很好拆分,可是對于英文等外文來說,大部分詞都是多音節(jié)的,如何正確地拆分更加令人頭疼。
一個很有用的數(shù)學工具——隱式馬爾科夫模型(HMM)幫助科學家解決了這一問題。隱式馬爾科夫模型采用概率論的方法,通過大量的計算,可以找到比較合理的拆分單詞的方法。
單詞拆分以后,就需要將其和系統(tǒng)中的語音詞典進行比對。在這個過程中,無疑英文是有優(yōu)勢的,因為它的同音詞比較少。而我們中文里有大量的同音字,同一個發(fā)音,到底要對應哪一個字呢?這顯然不僅僅是聲音信號分析的問題了。
為了解決這一問題,科學家們在聲音信號分析的基礎上,開始引入知識分析的方法,也就是利用語言的構詞方式、句法、語義、對話背景等來幫助進行語音識別,并且對識別出來的語音進行糾錯和校對。
盡管如此,由于音調、口音的差別,語音識別的準確率仍然不夠高。為了提高識別的準確率,很多系統(tǒng)都增加了“學習”的功能。所謂“學習”功能,指的是當系統(tǒng)接收到一段不能識別的語音信號的時候,會將說話者的聲音和說話者手動給出的識別結果存儲在語音詞典中,從而總結出說話者的發(fā)音習慣,提高識別的準確率。
這樣做的好處在于,當系統(tǒng)學習了足夠多的語音的時候,它的識別準確率會大大提高。而它的不足之處也是十分明顯的,就是一個語音系統(tǒng)只能學習一個人的語音。如果讓它學習多個人的語音,就會對它的學習系統(tǒng)造成混亂。
“字正腔圓”仍是基本要求
隨著科學技術的發(fā)展,科學家們在不斷地優(yōu)化語音識別的程序,豐富語音詞典的內容,使得語音識別的準確率越來越高。
進入21世紀以來,語音識別技術已經相當成熟,識別率很高。我們手機上的語音識別軟件,可以讓我們打電話時根本不用撥號,直接對著電話大叫“老媽”、“張哥”、“Hellen”……手機就會“聽懂”你的話,立刻幫你撥通那個人的電話。
隨著語音識別技術的成熟,語音對話機器人、語音助手、語音記錄等軟件和應用也層出不窮。不過即使在現(xiàn)在,你使用語音軟件的時候,“字正腔圓”仍然是基本要求。因為系統(tǒng)的識別能力仍然有限,希望在不久的將來,語音識別技術能夠真正改變我們的生活。(責任編輯:白玉磊)