不久前,Google 宣布進行架構重組,原安卓業務主管、Google 高級副總裁桑達爾·皮查伊成為了 Google 新任的CEO。這個變動似乎引起了一些 Google Now 開發團隊的不滿,引發全員離職(亦說骨干成員離職),Google Now并入大 Search 組。Google Now 是安卓平臺用以對抗蘋果Siri、微軟Cortana的語音助手。那么,Google Now是什么?它包含了哪些 Google 的黑科技?
Google Now 是什么
雖然本文談的廣義 Google Now 是集成了語音搜索的一整套 App,但更精確地定義狹義的 Google Now,就是手機上 Google Now 應用打開之后,出現在首屏的那些智能推薦卡片,在合適的時間推送給你合適的信息,比如天氣、新聞。相對于人們在Google搜索輸入框主動輸入自己想找的東西,Google Now會“智能”地把你所需要的信息推送到你面前。
所以,大家經常把 Google Now 稱之為 Google 的智能推送技術。
比如筆者在國外的時候,能享受到 Google Now 的便利。比如通過Booking.com(類似攜程)定了酒店,或者 kayak.com(類似去哪兒)定了機票,確認郵件都會發到筆者的Gmail郵箱。Google會很“智能”地分析(偷窺)這些行程郵件,并在航班即將起飛前幾小時提醒你航班的具體信息及航站樓甚至登機口信息。在你到達新的城市的時候,自動彈出你即將下榻酒店的導航路線以及聯系電話等信息。出國旅行的時候,Google Now會自動彈出當地的貨幣匯率,以及祖國的時間。它也會細心地記住你家和公司的位置,在下班時間準時提醒你回家的交通狀況,雖然還并不能那么智能地了解到你今晚又要加班!
這里再說說Google Now 的誕生
Google Now,也是傳說中的 Google 20% Project 的產物。Google工程師 Baris Gultekin 在2010年的時候,因為個人興趣想利用手機上豐富的傳感器來做一些有趣的事情,這個想法跟時任Google Map負責人的 Andrew Kirmse 不謀而合。兩人在業余時間里面搭建了一個原型,并展示給當時還在 Google 的梅姐 Marissa mayer。
在梅姐的支持下,隊伍漸漸壯大,并且也加入了用戶通勤的時間預測和對 Google Calendar 事件的整合。碰巧的是,在2012年初,Larry Page正好要求 Android 和 Search 團隊搭建一個類似的東西。于是在Android 老大 Andy Rubin 的支持下,兩人加入了 Android 團隊,得到了大量的設計方面的資源,并且在2012年 Google IO上第一次發布Google Now。
發展了這么多年,現在 Google Now 已經被整合進 Google 搜索的 App 中。
最近某國外科技網站也傳出了Google Now團隊解散的謠言,說是成員全數離職,還聯系到最近Google架構變動,頗有陰謀論的意思。部分骨干成員離職確有其事,但這早在幾個月前就發生了,非常正常的人事變動。
Google Now本身作為一個出色的產品,從Android組移入Search組,從技術角度來講,能得到大Search組更多的技術資源,對早日完成智能Google這一偉大目標是大有好處的,這明顯是個好消息!
別看這個App界面簡單,就一個搜索框和一排卡片,里面的技術可不簡單。
介紹完狹義的Google Now推薦卡片,我們一起來看看Google Now這個小app里面,蘊含了很多Google的黑科技:智能推薦(Google Now card),熱詞喚醒(OK Google),語音識別和語義分析。
首先說下智能推薦
推薦的原則是“Just right information at right time”,即合適的時間推薦合適的信息。那么如何知道哪些信息是用戶真正想要的,而不是機器自作主張,這個度需要拿捏。雖然現在統計機器學習方面這幾年已經大規模地應用在工業界,但是巧婦難為無米之炊,在無法得知用戶生活方方面面信息的前提之下,算機器學習算法再高級,也無法做出太智能的推薦,所以一般公司都會采用規則+機器學習相結合的策略。
從現有產品看來,Google Now推薦的東西也相當保守。
Google 能夠通過你在某個地點待的頻率,猜測你家和工作單位的位置,并且在每天指定時間自動提醒你回家的交通情況。
前面也提到過,行程郵件卡片、酒店預訂卡片、出國旅游的匯率和祖國時間卡片等等。難點不在有多高深的推薦算法,而在于Google能盡量收集用戶的生活信息的點點滴滴,并且通過深思熟慮的規則,盡量不打擾地推薦給你。在國外,由于郵件普及率高,Google 坐擁 Gmail(順便說一下,Gmail 當年出生跟 Google Now很像,也是誕生于傳說中的20% project),做出 Google now,Google占了天時地利人和。
熱詞喚醒
在 Google Now 軟件主界面,對著手機喊一聲“OK Google”,則自動觸發語音識別接受用戶語音查詢。
熱詞喚醒作為啟動語音識別的鑰匙,目的是以盡可能低的功耗來接受用戶的喚醒。
因為需要持續開著麥克風,對輸入的音頻進行運算,使得CPU一直無法得到休眠,會嚴重影響已經很緊張的手機電池續航。
所以手機上熱詞喚醒要維持高水準,需要考慮的重點,除了準確率(用戶叫你的時候能馬上響應,用戶不在叫你的時候不要聽錯),還有能耗。熱詞喚醒不需要像通用語音識別一樣識別千變萬化的自然語言,它只要識別“OK Google”這個固定的詞,所以在算法方面也不必要采用復雜的傳統語音識別,拋棄高大上的各種 HMM、語言模型,用簡單直接的分類的方法在用戶輸入語音流中尋找“OK Google”這幾個字,簡單但好用。
當然,這也有個例外,幾年前 Moto X剛出來,就是主打24小時全程語音喚醒待命,人家可是有2顆低功耗芯片,專門等待著用戶隨時輸入語音命令。
語音識別就不用說了,Google的強項
幾年前微軟研究院的一篇基于深度學習應用于語音識別的論文,定義的算法準確率超越了傳統的基于 HMM-GMM 的語音識別。但 Google 領先將其工業化,并應用到當年的語音搜索產品中。DNN 直接在最原始的音頻數據上進行語音識別,并且需要大量的訓練數據,來訓練大量的神經網絡參數,因此對硬件要求也很高,這正好是 Google 的強項。
經過幾年的積累,Google 的語音識別已經初具規模。值得注意的是,作為 Google Now 的競爭對手的Siri,Siri 的語音識別一直用的是 nuance 家的技術(nuance是世界最大的語音識別提供商,可以理解為訊飛在中國的地位),雖然前段時間也傳出過蘋果在組建自己的語音識別團隊的消息。
語義識別
通過 Google Now 上面的應用搜索框,你可以問一些看起來非常炫酷的問題。
一些日常生活類信息查詢,比如紐約到舊金山的航班,比如未來3天北京的天氣,現在東京時間幾點。這種問答系統涉及到自然語言處理的方方面面,難度極大。
雖然在學術上,NLP(自然語言處理)在各種領域,比如語法分析、實體識別,經過幾十年的努力,都取得了90%以上的準確率。但在實際產品情境下,用戶口語化表述更加多樣,會產生歧義,和學術界經常用于評測系統的語言測試集差別很大。
并且,問答系統是多個子NLP系統串聯成流水線的產物,比如詞性分析的輸出可能作為語法分析的輸入,語法分析的輸出可能作為實體識別的輸入。在這么一個流水線系統中,早期的錯誤會被傳播到流水線之后的步驟,并被放大。
因此單個子系統上很小的錯誤,在最終都會被放大,嚴重影響最終對用戶查詢的理解。
一般的問答系統,都會針對當前領域進行專門優化,研究用戶問得最多的是哪些問題,并盡量倚重規則(甚至正則表達式),并加強用戶引導,減少用戶自然語言的歧義。
Google Now 語音搜索還支持一些百科類問題,比如現在的美國總統是誰,喜馬拉雅山的高度是多少,或者中國的人口是多少。
Google 畢竟是搜索出身,坐擁整個互聯網的信息,千千萬萬的網頁中已經包含了“奧巴馬是美國總統”,“中國的人口是13億”這樣的陳述,對于 Google 來說,問題會簡化成如何匹配用戶的問題到千千萬萬網頁中的某一句話,而不僅僅是給出 Top 幾十的匹配網頁,這在屏幕小的手機上、甚至手表上對用戶體驗的影響至關重要。
學術界的一般做法,是首先識別用戶是問哪個類型的問題(What? When? Which? Where? etc。),然后利用信息檢索的策略先在千萬網頁中篩選出一些和用戶問題最相關的候選網頁,之后根據問題類型,去這些候選網頁中摘出最能直接回答用戶提問的語句。贏了Jeopardy!(可以理解為老美的開心辭典這樣的知識問答類節目)人類冠軍的 IBM Watson 系統,也采用了類似的設計思路。這樣的方法可以確保以自動化而非人力的方法提高問題的覆蓋率,而不用像某果需要招聘很多問題編輯來應對越來越多熱心群眾對Siri的無情調戲。
Google 近幾年來,在語義分析、知識圖譜方面都投入了大力氣,大家也漸漸能在Google Now以及普通搜索中看到對這類技術的整合。
所以,Google Now 并入大 Search 組,得到更多的技術支持,絕對是一件大大的好事呢!