為了讓機器能和人更好的聊天,Google都做了什么?
自然語言處理,又稱NLP(Naturallanguageprocessing),是目前以及未來AI領域最重要的基礎技術之一,主要是在機器學習的基礎上結合語言學和統計學在自動化服務中對語言進行建模。說的直白一點,NLP就是關于人和機器如何互相理解、機器如何更懂人類的關鍵。
作為目前AI最主要的兩個分支領域,NLP(自然語言處理)和ComputerVision(計算機視覺)分別代表了人類嘗試讓機器理解世界的兩個緯度,也是目前人工智能領域發展最快的兩個分支。伴隨國內外各家智能音箱和語音助手的出現,NLP一時間成了眾多科技巨頭正面交鋒的AI主戰場。
自然語言處理到底如何一路走來、最終又將會讓機器和人之間的關系走向哪?作為在NLP領域投資最多的公司,Google或許是最有發言權的。
消除語言障礙,GoogleNLP的第一個任務
在Google的概念中,語言不應該是人類溝通的障礙,更不應該是使用網絡的阻礙。
Google研究項目總監LinneHa告訴極客公園,Google的使命在于匯總全世界的信息并使其能夠被普遍獲取和使用,而破除語言障礙就成了其中的關鍵。消除語言造成的隔閡,這些年來始終是GoogleNLP團隊的主要任務之一。這種消除并不止停留在翻譯層面,語言處理(文本分析、生成、對話等)、音頻處理、手寫識別等都是Google正在著眼解決的問題。
目前世界上有6000種語言,這其中超過100萬人使用的語言就有400種,還有很多小眾的方言。但現在的互聯網主導語言依然是英語,全世界大約50%的網絡內容都是英文的。讓全世界的人都能成為互聯網的受益者,不被語言的差異所阻礙,這正是GoogleBringingEveryoneOnline計劃的偉大設想。
「統一碼」和「不要豆腐」字體,它們是Google完成這件事的第一步。
Unicode(統一碼)是計算機的標準字符編碼,它為每種語言中的每個字符設定了統一并且唯一的二進制編碼,以滿足跨語言、跨平臺進行文本轉換、處理的要求,谷歌一種都在鼓勵更多的國家和地區放棄使用非Unicode的字體。
除此之外,很多時候當電腦和手機等設備在對文本進行渲染,如果設備上沒有相應的字體,就會出現空白方塊字符,這些方塊看起來就像豆腐一樣。針對這種情況,Google開發了一款叫做Noto的字體(Noto就是NoTofu的縮寫),它幾乎兼容所有語言,并且提供統一的風格,以此來消除文字在不同設備上渲染出現的空白方塊(Tofu)。
(圖片來源:techtolead)
當呈現方式的障礙消除之后,信息的輸入就成了下一個需要解決的問題。而機器學習的介入,開始讓人與機器之間的信息交互方式發生了變化。
手寫和語音是谷歌在鍵盤之外賦予機器的信息接收方式,這個在普通用戶看起來順其自然的演進,背后其實是一個不小的工程。
不管是手寫還是語音,共同存在的一個問題是個體差異。很多時候,就算是同一種文字、同一種語言,也會因為不同的人而帶上不同的口音和不同的筆跡。面對這個問題,GoogleNLP收集了大量書寫樣本和語音樣本,并利用機器學習從這些樣本中學習去辨認筆跡和口音。
早在十年之前Google就有了語音搜索的設想,并且在2007年Google想出了通過提供GOOG-411(GoogleVoiceLocalSearch)的服務來收集數據。這個全自動的語音識別搜索服務很受歡迎,也很快幫助Google根據這些詢問的語音建立了一個大型數據庫。經過這些高質量的語音搜索數據訓練,一年之后,語音搜索就足以在智能手機上啟動了。
之后Google又通過在世界各地的大量采集,擴展了50種其他語言的語音搜索能力,讓全世界數百萬人可以以更低的門檻使用上互聯網。
神經網絡,NLP的躍遷籌碼
DNN(深度神經網絡)的加入,讓Google的語音交互技術上升到了一個全新的高度。
2012年Google正式開始運用深度神經網絡,這項技術在一開始就讓語音識別能力提高了約25%,且之后Google不斷在優化算法,讓這種識別率的提升效果始終保持著強勁的增長。同時,機器學習的能力提升也讓GoogleNLP的能力有了大幅度的提升,能夠更好的理解人類的句子。
目前,Google通過這些技術提供了30多種語言的語音輸入支持,涵蓋超過十億人。其中個一典型的使用場景就是的Gboard輸入法和Google語音搜索,這些App提供了119種語言的支持,包括11種印度語,www.twshmhelmet.com,3種印度尼西亞語,甚至包含了2種非洲最重要的語言斯瓦希里語和阿姆哈拉語。
Google的團隊從多年的數據收集中得出了一套高效低成本的方案,通過和同一地方的人用多語言進行溝通,用更少的數據建立了更好的語言模型。
在解決了基本的溝通問題之后,GoogleNLP也開始在更多領域釋放自身價值,其中最典型的兩個場景就是翻譯和AI語音助手。
谷歌在2016年9月正式推出了整合神經網絡的翻譯工具GNMT(GoogleNeuralMachineTranslation)谷歌神經機器翻譯系統,這一翻譯技術的運用正是Google在NLP領域技術演進的一次直觀體現。這種將整個句子視作翻譯單元的方式,對句子中的每一部分進行帶有邏輯的關聯翻譯,翻譯每一個字或單詞時都包含著整句話的邏輯。
在專訪中LinneHa也告訴極客公園,www.twshmhelmet.com,NMT對于SMT更多是一種互補的關系,并沒有絕對的優劣之分,他們各自在不同的情況下有著各自的優勢。NMT的出現彌補了之前SMT能力無法覆蓋的長句翻譯和復雜邏輯翻譯等問題。
智能語音助手GoogleAssistant則是GoogleNLP技術目前最核心重要的運用。早在2012年的安卓4.1和Nexus手機上谷歌的智能語音助手就以GoogleNow的形式和用戶見過面了。
當時的GoogleNow正是使用NLP技術完成與用戶交互,而后通過Web服務來進行問答、提供建議、完成服務等動作。而從2016年開始,具有更強大NLP處理能力的GoogleAssistant就開始逐步取代GoogleNow,幫助用戶在手機上完成更復雜的語音交互指令。
GoogleNLP技術水平直接影響著GoogleAssistant的能力范圍,所以當NLP技術通過機器學習在長期的語音輸入、語音搜索訓練和積累后,逐漸能夠掌握對話能力,而不再只是單純的簡單指令處理能力。
這時的GoogleAssistant也開始變得越來越全能,它能夠從對話中學習積累對自然語言的語意、邏輯的理解能力,并不斷優化。
NLP的機遇和挑戰
NLP或許不會有一個確切的盡頭,因為自然語言始終都在演變,而自然語言處理技術需要不斷去適應這種變化。
雖然目前的NLP技術無論是在算法還是數據結構上都還沒有達到極限,但限制它的可能并不是只是算法和數據,而是無法預測的語言習慣的變遷,以及不斷出現的新詞匯,以及舊詞匯的新用法。在專訪中LinneHa也告訴極客公園,目前的NLP最大的挑戰在于如何運用運用算法,更快的從有限數據中學習和適應語言習慣的新變化,并及時做出調整。