你一定不會懷疑自己電腦的麥克風正背著你偷偷摸摸做些什么,因為你已經很久沒有用過它了。
但事實真的是這樣嗎?
難道谷歌真的在“監聽”用戶嗎?
挨君想告訴你,這基本沒 可 能。
谷歌瀏覽器的用戶已經超過20億了,要是監聽每個用戶每天說的話,這個數據量太過驚人。投入高昂的成本就為了實現廣告精準投放,還冒著巨大的法律風險,這種事正常人是不會去做的。
對于視頻中展現的“事實”,可能的操作是谷歌使用了一個語音關鍵詞識別系統。
有商業價值的關鍵詞總共就幾百萬個,為了簡單,可以只做頭部那些最賺錢的幾十萬個。這幾十萬個關鍵詞也不需要先跑語音識別再跑文本匹配,拿原始的語音文件來搞一個中等深度的神經網絡甚至線性特征模型就可以,速度也非常快。
所以大家不用擔心語音識別正在侵犯你的隱私。相反,作為人類與機器最自然的交互形式(絕對不是打字),在未來,當你不想用手或者像殘障人士難以用手的時候,語音識別將會是操作一切最方便的鑰匙。
語音識別發展史
說到語音識別,大家熟悉的可能是最近十年里才出現的微信語音轉文字,或者語音實時記錄和翻譯。但其實語音識別的歷史比互聯網還早,現代計算機誕生的那一刻,就已經埋下了語音識別的種子。
1946年,現代計算機誕生。它的誕生讓人們意識到,原來計算機能完成這么多工作,而且做得比人還好;
(馮諾依曼和第一臺現代計算機)
1950年,圖靈在《思想》雜志發表了一篇題為《計算機器和智能》的論文,來探討計算機是否可以具備智能;
在圖靈思想的啟發下,人們想著既然計算機這么能干,干嘛不把它設計得和人類一樣能看能說能聽呢,這不就能幫人類做更多事了嘛!(果然,懶才是科學發展的源動力啊)
于是,第一代語音識別系統誕生,被稱為機器的聽覺系統。
1952年,貝爾研究所研制了世界上第一個能識別10個英文數字發音的實驗系統。也就是你說“yi”,計算機就知道這是“1”,能力跟嬰兒差不多。
1960年,英國的Denes等人研制了第一個計算機語音識別系統。
但是因為識別量小,這些系統根本達不到實際應用的要求,包括后續的20年間,都是在走彎路,沒有什么研究成果。
直到1970年,統計語言學的出現才使得語音識別重獲新生。
統計語言學帶來的重生
推動這個技術路線轉變的關鍵人物是德里克·賈里尼克(Frederick Jelinek)和他領導的IBM華生實驗室(T.J.Watson)。
統計語言學帶來的結果是,讓IBM當時的語音識別率從70%提升到90%,同時語音識別的規模從幾百單詞上升到幾萬單詞,這樣語音識別就有了從實驗室走向實際應用的可能。
人類的語言是非常復雜的。不同于音頻識別,語音識別的難點在于把一段音頻不僅轉換成對應的字,還要是一段邏輯清晰、語音明確的語句。
舉個例子,我們對計算機念一句話,“周五一起吃飯吧”。計算機根據音頻做出的識別可能結果是這樣的:州午衣起癡范爸。
如果僅看讀音和文字的一一對應,這個準確度可以說是很高了,因為如果念的口齒稍有不清更糟糕的結果可能是“鄒五意起次換吧”。
但是無論哪種結果,在實際應用上都是不可行的,完全沒法交流嘛。
那么統計語言學帶來的變革是什么呢?
我們知道,雖然人類的語言很復雜,但仍有一定規律可循,無論是“州午衣起癡范爸”,還是“鄒五意起次換吧”都不是一個正常人會說的話。統計語言學的作用就是找出人類說話的規律,這樣就可以大大減少了語言識別產生的誤差。這其中一個非常關鍵的概念就是語素。
語素是語言中最小的音義結合體,一個語言單位必須同時滿足三個條件——“最小、有音、有義”才能被稱作語素。語素又可以分成三類:
單音節語素:構詞由一個字才有意思的詞組成
雙音節語素:構詞由兩個字才有意思的詞組成
多音節語素:構詞由兩個字以上才有意思的詞組成
啥意思呢?舉個例子。
你、我、他,這三個字都是單音節語素,因為每個字都能自成一個含義。
你可能要說了,那不是廢話嗎,還有什么字是沒有含義的嗎?
當然有!比如挨君最喜歡吃的“餛飩”。
餛飩就是一個雙音節語素。單獨的餛或者飩都不具備任何含義,只有組合在一起的時候才有真正的意義。類似的還有“琵琶”、“霹靂”等等。另外比如“沙發”這類詞,一旦拆分開其含義就完全脫離原來語素的,也被稱為雙音節語素。
最后一種情況就是多音節語素,主要是專有名詞還有擬聲詞,比如喜馬拉雅,動次打次。
我們再看回剛才的例子,當機器知道語素之后,即便同音它也不會把“周五”識別成“州午”,因為后者沒有任何意義,也不會把“吃飯”識別成“癡范”。
又有人要說了,現在很多網絡用語把吃飯說成次飯,我也能看懂啊。
如果說“次飯”你能理解那當然普大喜奔啦,要是“鄒五意起次換吧”你都能理解的話,那對于語音識別團隊來說可真是天大的喜訊了。然而真實情況是,視人視場景不同,識別準確率永遠是語音識別第一位的追求。
以上,根據語素等人類語言規律挑選同音字的工作,在語音識別中我們稱為語言模型。
語言模型的好基友
語音識別中還有一個模型,就是聲學模型。
聲學模型和語言模型是語音識別里的一對好基友。聲學模型負責挑選出與音頻匹配的所有字,語言模型負責從所有同音字里挑出符合原句意思的字。
聲學模型的原理說起來跟做牛肉火鍋有點像。
我們拿到一段語音,首先要把它切成若干小段,這個過程叫做分幀。
跟片好的牛肉會被分成匙仁、吊龍、匙柄一樣,片好的幀會根據聲學特征被計算機算法識別為一個個【狀態】,多個狀態又可以組合成音素。
音素是語音中的最小的單位,比如哦(o),只有一個音素;我(wo)則有兩個音素,w、o;吼(hou),則有三個音素,h、o、u。
有了音素就可以對應找到匹配的字。
所以你可以這么理解,【狀態】就像生牛肉,還不是人類可以“食用”的模樣,需要用計算機算法來“涮一涮”成為音素才能成為一個【字】。
PS:如果你對【狀態】這個概念還不太理解,那也沒關系,因為近幾年出現了一個叫CTC的新技術,建模單元放大到了音節或音素的單位,直接跳過了【狀態】這個概念,所以這個知識點以后都不會考了。
剛才提到語言模型為語音識別帶來的重生,并不是說在此之前聲學模型就已經非常成熟了,相反,語音識別重生不久(到20世紀90年代)再次轉涼就是因為聲學模型太弱,缺少足夠的數據和算法。這一狀況直到互聯網的出現并且帶來了極其豐富的大數據后,才稍微得以改善。
可以這么說,語音識別的童年,是灰暗坎坷的。
語音識別是如何工作的
說完語音識別的兩個模型,現在我們可以大致梳理下語音識別的基本步驟,如下圖:
你通過微信發送了一段語音,對方因為在開會無法聽,于是使用了語音轉文字的功能。語音識別系統先把這段語音分幀,然后提取每一幀的特征形成【狀態】,幾個狀態(通常為3個)又會組合成一個音素,音素又構成了諸多同音字,接著語言模型從諸多同音字中挑選出可以使語義完整的字,最后一個個呈現在你面前。
雖然過程看著挺簡單的,但事實上,受各種語音語調、方言、說話環境、說話方式等等的影響,語音識別要提高準確率非常非常非常…非 常 難。得虧現在有了大數據和深度學習,這兩個模型才得到了好好的訓練,包括現在很多語音識別廠商都表示已經可以實現97%的識別準確率。
這里插播一段廣告,
網易人工智能對語音識別技術的研究開始于2014年,目前通過網易AI平臺已服務于網易游戲、有道詞典等產品。網易AI平臺語音識別技術的優勢有:領先的中英文語音識別轉寫技術,中文轉寫準確率可達97%以上;提供基于垂直行業語音模型進行深度優化訓練,在游戲行業的語音識別準確性保持業界頂尖水平;提供標準規范的SDK和API接口,接入迅速,使用便捷。
說了這么多,語音識別算是人工智能領域比較成熟的技術,但對于人類的遠大愿景而言,這才只是起步,就像小嬰兒現在只能聽,接下來還要會說、會做、會想。不過有了深度學習之后,這一切現在看來似乎有了觸達的可能。
-
神經網絡
+關注
關注
42文章
4773瀏覽量
100874 -
語音識別
+關注
關注
38文章
1742瀏覽量
112702 -
人工智能
+關注
關注
1792文章
47373瀏覽量
238877
原文標題:科普 | 一文讀懂AI大勢技術-語音識別
文章出處:【微信號:gh_70d0cce81c74,微信公眾號:網易人工智能】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論