今年10月,Apple發(fā)布了iphone 4S with IOS 5,其中最大的亮點就是一個語音搜索軟件-Siri。一時間,各種geek,偽geek,碼農(nóng),非碼農(nóng)都流行起調戲siri,各種調戲視頻,音頻大量出現(xiàn)。不過,常言道“外行看熱鬧,內行看門道”,作為一個“偽內行”,或者“欲做內行而不得”的人,根據(jù)自己的知識,以及一些搜索工具,嘗試了解了一下Siri的“門道”,在這里做個總結,列出siri所可能用到的技術。
今年10月,Apple發(fā)布了iphone 4S with IOS 5,其中最大的亮點就是一個語音搜索軟件-Siri。一時間,各種geek,偽geek,碼農(nóng),非碼農(nóng)都流行起調戲siri,各種調戲視頻,音頻大量出現(xiàn)。不過,常言道“外行看熱鬧,內行看門道”,作為一個“偽內行”,或者“欲做內行而不得”的人,根據(jù)自己的知識,以及一些搜索工具,嘗試了解了一下Siri的“門道”,在這里做個總結,列出siri所可能用到的技術。
Siri是IOS上的個人助理應用:此軟件使用到自然語言處理技術,使用者可以使用自然的對話與手機進行互動,完成搜尋資料、查詢天氣、設定手機日歷、設定鬧鈴等服務。(來自維基百科)
Siri所用到的技術,很多人會回答,人工智能以及云計算,的確,總體來說,是這兩樣技術,不過,這種概述感覺幾乎沒有任何意義,和不直接說“計算技術”(注意,不是計算機技術)呢。因此,在本文,我將介紹下我了解Siri可能采用的技術。
首先,在前端方面,即面向用戶,和用戶交互(User Interface,UI)的技術,主要是語音識別以及語音合成技術。語音識別技術是把用戶的口語轉化成文字,其中需要強大的語音知識庫,因此需要用到所謂的“云計算”技術。而語音合成則是把返回的文字結果轉化成語音輸出,這個技術理論上本地就能完成(以前用過科大訊飛的在windows mobile上的本地語音閱讀軟件,軟件很小,但能讀的很好,還支持方言),但不知道Siri是否如此,當然,在云端完成也并無不可,在當前無線帶寬下,那點語音流量根本不算什么。
其次,后臺技術,這些其實才是真正的大角色(當然,普通用戶是不會在意的,他們只會覺得前端很炫,哎,這就是做后端的悲哀,小小感嘆一下)。這些技術的目的就是處理用戶的請求,并返回最匹配的結果,這些請求類型很多,千奇百怪,要處理好并不簡單?;镜慕Y構猜測可能是分析用戶的輸入(已經(jīng)通過語音轉化),根據(jù)輸入類型,分別采用合適的技術(合適的技術后面)進行處理。這些合適的后臺技術包括,①以Google為代表的網(wǎng)頁搜索技術;②以Wolfram Alpha為代表的知識搜索技術(或者知識計算技術);③以Wikipedia為代表的知識庫(和Wolfram Alpha不同的是,這些知識來自人類的手工編輯)技術(包括其他百科,如電影百科等);④以Yelp為代表的問答以及推薦技術。
下面,對上面提到的各種技術進行簡要介紹(如有空,后面的博文可能會對某些技術詳細的介紹,大家耳熟能詳?shù)木兔饬耍?,強調下,介紹的有些參考來源是維基百科相關詞條,下面不一一列出:
語音識別以及語音合成技術語音識別技術,也被稱為自動語音識別(英語:Automatic Speech Recognition, ASR),其目標是將人類的語音中的詞匯內容轉換為計算機可讀的輸入,例如按鍵、二進制編碼或者字符序列。與說話人識別及說話人確認不同,后者嘗試識別或確認發(fā)出語音的說話人而非其中所包含的詞匯內容。語音識別技術所涉及的領域包括:信號處理、模式識別、概率論和信息論、發(fā)聲機理和聽覺機理、人工智能等等。
語音合成是將人類語音用人工的方式所產(chǎn)生。若是將電腦系統(tǒng)用在語音合成上,則稱為語音合成器,而語音合成器可以用軟/硬件所實現(xiàn)。文字轉語音(text-to-speech, TTS)系統(tǒng)則是將一般語言的文字轉換為語音,其他的系統(tǒng)可以描繪語言符號的表示方式,就像音標轉換至語音一樣。
相比于語音識別,語音合成感覺難度要低,并且基本能夠在本地完成(很多OS都有內置的語音合成引擎)。而語音識別,由于涉及到語義理解,難度大大加大,需要大量的知識庫,一般需要在云端完成。