蘋果的一篇文章詳細介紹了硬體、軟體和網路服務如何結合在一起,在最新的iPhone 和iPad Pro 上實現「嘿Siri」的功能。
Siri 這個功能對於很多人來說並不陌生,一句簡單的「嘿Siri」就可以將其啟動,讓它為你查天氣,查日程,甚至可以「調戲」它。但你不知道的是,簡單的「嘿Siri」背後其實一點也不簡單,Siri 背後隱藏了非常多的努力與心思。
蘋果今天在公司機器學習的部落格上發布了一篇新文章,詳細介紹了硬體、軟體和網路服務如何結合在一起,在最新的iPhone和iPad Pro上實現「嘿Siri」的功能。文章內容較為專業,極客公園進行了編譯和刪減,為大家介紹「嘿Siri」的基本原理。
「分數」及格才能使用Siri
蘋果在運動協處理器中集成了非常小的語音辨識裝置,這個裝置一直保持運行,並等待用戶說出「嘿Siri」。當該裝置辨識到這兩個單詞後,iPhone 或Apple Watch 上的麥克風會以每秒1.6 萬次的速度將你的聲音轉化為一連串的瞬時波形樣本。每次將大約0.2 秒的音頻輸入到聲學模型,神經網絡會將這些聲學模型轉換為概率分佈,並使用時間集成來計算「嘿Siri」的可信度分數。
蘋果已經設定了可信度分數的幾個敏感閾值,如果分數足夠高,Siri 就被啟動,並開始處理用戶的命令或查詢。如果分數超過了最低閾值,但沒有達到啟動的閾值,比如「嘿Siri」的發音並不是很清楚,這時設備會在幾秒鐘進入「敏感模式」,這樣當用戶再次重複「嘿Siri」時,可以更好的啟動,敏感模式的加入大大改善了Siri 的可用性。當然如果信度分數連最低閾值都沒有超過,Siri 根本就不會「搭理」你。
準確辨識你的「嘿Siri」
為了減少或者說意外啟動Siri,蘋果在邀請用戶進行初始化「嘿Siri」的時候,會要求我們連續說五次「嘿Siri」,在初始化完成後,我們的聲音會轉化成波形並送達到Siri 的服務器裡。與此同時,蘋果還制定了一些與語音相關的規範,發音接近Siri 的「Syria」(敘利亞) 和「serious」(嚴肅的) 等詞語將被放在上下文中進行辨識。
這一方式不僅提高了啟動Siri 的成功率,同時還有效的避免其他人誤開Siri。而在之後的使用過程中,蘋果會記錄不同環境中遠近啟動「嘿Siri」的情況,比如在廚房裡、車裡、臥室裡等等。
並不是一直等你「嘿Siri」
iPhone 或Apple Watch 啟動Siri 不僅要求快速準確,還要求不會對電池的壽命產生重大的影響以及盡可能少的佔用內存和處理器。為了避免主處理器一直處於檢測觸發詞的狀態,iPhone 中的AOP(一種小且低能耗的處理器)會使用其一小部分處理能力來運行一個探測器和一個小版本的聲學模型。當信度分數超過最低閾值時,AOP 會「提醒」主處理器進行下一步操作。
而Apple Watch 在整合Siri 時遇到的困難更大一些,因為它的電池容量和處理能力都相對更小。為了避開這些問題,Apple Watch 的「嘿Siri」檢測器只有在手錶啟動時才會運行,它可以檢測到手腕抬起的手勢。只有用戶做出這樣的手勢,手錶才會打開屏幕,之後啟動Siri。
其實Siri 誕生以來,每一次隨著蘋果系統的更新,Siri 同樣也會獲得更多的進步。就像這一次隨著iOS 11 系統的到來,我們也看到Siri 獲得了不少的改進。比如說獲得了短語翻譯的功能、可以化身成為個人DJ 、用戶界面的改進等等,而在這些改進的背後隱藏著很多的努力與心思。
圖片來源:Apple 官網;編輯:雙筒獵槍
(原文刊登於極客公園,蘋果仁授權轉載)