iPhone 4S 中的 Siri 語音識別是什麼原理?整個語音識別環節是離線的還是在線的?
個人理解應該是兩步 1.識別音頻成文本
2.識別文本語義
第一部分主要是語音識別技術 隱馬模型為基礎 第二部分是自然語言處理的範疇了 有統計的方法 也有規則的方法 實用的話還是規則為主 統計為輔SIRI的語音識別是老牌廠商Nuance提供的。SIRI的核心價值是環境相關的智能助手。
語音識別(Speech Recognition)是某一類具體的模式識別(Pattern Recognition)。在模式識別領域,基於 Markov Model [1] 的演算法,仍舊是一個最重要的基礎。iPhone 搭載的技術,從原理上講,應該也不例外。
大面積投產到民用的技術,一般都不會選用「最尖端」、或科研領域「最前沿」者,而是退而採納相對更可靠、更廉價的成熟技術。
關於語音識別的基本原理,可以參考 Wikipedia 詞條里的簡略說明:http://en.wikipedia.org/wiki/Speech_recognition#Algorithms
如想進一步了解,也可以去搜索 IEEE 或 ACM 上相關演算法的科研論文。--
[1] http://en.wikipedia.org/wiki/Hidden_Markov_modelSiri 並非這些已知技術的簡單組合。Siri也並非一個獨立的產品,一方面,它後台有強大的Wolfram|Alpha和Wikipedia 知識庫做支撐,另一方面,它還有一系列的自有的或第三方的應用:天氣,日曆,地址簿,郵件/簡訊,影訊,搜索引擎,問答。Apple他們可能花了大量的時間協調應用程序介面。Siri實際上扮演了中間人(Broker)的角色。這是一個難以扮演的角色,如何把天氣的問題交給天氣的應用而不是影訊的應用,如何把一個簡訊給簡訊而不是搜索引擎,並非一件易事而需要分辨使用者的真正意圖。這也是一個狠角色,一旦整個生態系統建成,應用和語音識別引擎都可以更換。所以儘管在這之後其他只能平台上也雨後春筍般的湧現出了一大堆所謂的xx版Siri,但無論從智能程度和易用性等各個方面和Siri的差距都可以用天上地下來形容。
沒用過,曾經看到一個測評,SIRI在未聯網時無法使用,因此應該是後台伺服器端(非手機端)處理的。這樣的一個好處是,語音識別的模型數據無需下載到手機,也無需load到手機的內存,同時,運算在伺服器端做也減少了手機CPU的佔用,避免更加耗電。
從技術角度,採用伺服器端進行處理的方案,具體還可以分為兩種:一種方式是將語音直接傳輸到伺服器上處理,一種是將語音經過處理,提取數據量更小的特徵上傳到伺服器處理,第一種方式,數據量較大,但是後台升級演算法十分方便;第二種方式,數據量小,減少對帶寬的耗費,同時,手機端做了一些運算,會降低伺服器端的運算負擔。
至於離線和在線的區別,應該主要指的的響應時間是否及時響應吧?
此外,著名的根據音樂韻律給出音樂名字的軟體sharam也是在雲端處理的,也就是說數據會傳輸到伺服器進行處理。在線的,沒有網路沒法用
推薦閱讀:
※物聯網的大發展帶動了智能家居和可穿戴產品的快速興起,預想今年9月份蘋果發布會上會有哪些這方面的新發展?
※如何評價蘋果在 WWDC 2017 發布的 iMac Pro?
※蘋果發布iMac with Retina 5K display的意義在哪裡?真的有必要5K么?
※怎樣評價 iPad Air?
※新MacBookpro發布後,購買15年舊款是否合適?