谷歌輸入法背後的機器智能
很多人每天花費大量時間使用移動設備鍵盤:撰寫電子郵件,發簡訊,參與社交媒體等。 然而,移動鍵盤仍然在處理速度方面處於劣勢。 用戶平均在移動設備上的打字速度比在物理鍵盤上慢35%。 為了改變這一點,最近谷歌團隊為Gboard for Android提供了許多改進,致力於創建一個智能機制的 鍵盤,能夠為用戶以任何選擇的語言提供建議和糾正錯誤,從而實現更快更高質量的輸入。
事實上,移動鍵盤將觸摸輸入轉換為文本的方式類似於語音識別系統將語音輸入轉換為文本的方式,雷鋒網了解到,該團隊將利用語音識別的經驗來實現觸摸輸入。
團隊首先創建了一個強大的空間模型,將原始觸摸點的模糊序列映射到鍵盤上的按鍵,就像用聲學模型將聲音定位到語音單元的順序一樣。
第二,構建一個基於有限狀態感測器(FST)的核心解碼引擎,以確定給定輸入觸摸序列的最有可能的字元序列。 隨著數學形式主義和語音應用的廣泛成功, FST解碼器將提供支持各種複雜鍵盤輸入行為以及語言特性所需的靈活性。 在這篇文章中,將為您詳細介紹這兩個系統的發展。
神經空間模型
移動鍵盤輸入的錯誤通常歸結於「胖手指打字」(fat finger typing,或在滑動打字中定位到空間位置相似的詞,如下圖所示)以及認知和操作錯誤(表現為拼寫錯誤,字元插入,刪除或互換等)。 智能鍵盤需要能夠解決這些錯誤,並且可以快速準確地預測正確的單詞。 據雷鋒網了解,該團隊為Gboard構建了一個空間模型,用於在字元級別處理這些錯誤,將屏幕上的觸摸點映射到實際按鍵。
兩個位置相似的詞:「吸血鬼vampire」和「價值value」的平均滑動路徑
一直到最近,Gboard還在使用高斯模型量化敲擊相鄰按鍵的概率和基於規則的模型,來表示認知和動作錯誤。 這些模型簡單直觀,但並不能直接優化與更高的打字質量相關的指標。 根據語音搜索聲學模型方面的經驗,用連接時間分類(CTC)標準訓練的單個高效長期短期記憶(LSTM)模型替代了高斯模型和基於規則的模型。
然而,訓練這個模型比預期的要複雜得多。 雖然聲學模型是從人類轉錄的音頻數據進行訓練的,但是並不能輕鬆地轉錄數百萬的觸摸點序列和滑動軌跡。 所以該團隊利用用戶交互信號,例如自動修正和建議選擇作為負面和正面的半監督學習信號,因此形成了豐富的培訓和測試集。
對應單詞「可以could」(左)的原始數據點,以及每個採樣方差(右)的歸一化採樣軌跡
使用來自語音識別文獻的大量技術來迭代NSM模型,使其足夠小且足夠快以便在任何設備上運行。 TensorFlow基礎設施用於訓練數百種模型,優化鍵盤上顯示的各種信號:完成,建議,滑動等。
經過一年多的 努力,完成的模型比初始版本快6倍,大小僅是最初的十分之一。同時,它還顯示出在離線數據集上的錯誤自動更正減少約15%的錯誤,而錯誤解碼手勢則減少了10%。
有限狀態轉換器雖然NSM使用空間信息來幫助確定敲擊或滑動的字元是什麼,但還是有一些額外的限制——辭彙和語法 ——這些是可以承受的。詞典告訴我們語言中出現了什麼辭彙,而概率語法告訴我們什麼話可能接在其他的話後面。為了對這些信息進行編碼,使用有限狀態換能器。 FST(Finite-State Transducers)一直是Google語音識別和綜合系統的關鍵組成部分。它提供了一種原則性的方式來表示自然語言處理中使用的各種概率模型(詞典,語法,規範化等)以及操縱,優化,組合和搜索模型所需的數學框架。
在Gboard中,一個鍵感測器緊湊地表示鍵盤這個詞,如下圖所示。 它編碼從按鍵序列到字的映射,允許替代鍵序列和可選空格。
該轉換器沿著從起始狀態(粗體1)到最終狀態(兩圈狀態0和1)的路徑編碼「I」,「I』ve」,「If」。 每個弧用一個輸入按鍵(「:」之前)和一個對應的輸出字元(「:」之後)標記,其中ε編碼空符號。 「I』ve」中的撇號可以省略。 用戶有時會跳過空格鍵。 為了說明這一點,轉換器中的單詞之間的過渡空格鍵是可選的。 ε和空格後弧允許存在多個單詞。
概率n元感測器用於表示鍵盤的語言模型。 模型中的狀態代表一個(直到)n-1個字的上下文,並且離開該狀態的弧,將被標記為一個後續字元以及跟隨該上下文的概率(由文本數據估計)。 這些與給出關鍵觸摸序列的可能性(滑動中的離散觸摸或連續手勢)的空間模型被組合并且用波束搜索進行探索。
通用FST原則,如流式傳輸,動態模型支持等,為構建新的鍵盤解碼器帶來了很大的幫助,但還需要添加一些新的功能。 當人們說話的時候,並不需要解碼器來完善你所說的話,或者猜測你會在後面說些什麼來省下幾個音節; 但是當你輸入時,你會感受到詞語完成和預測的幫助。 此外,該團隊希望鍵盤可以提供無縫多語言支持,如下所示。
在Gboard上輸入三種語言
讓新的解碼器投入實際應用是一項複雜的工作,但FST原則有很多好處。 例如,支持印地語等語言的音譯只是解碼器的簡單擴展。
音譯模型在許多具有複雜腳本的語言中,已經開發了羅馬化系統,以將字元映射成拉丁字母,通常根據其發音。 例如,拼音「xièxiè」對應漢字「謝謝」。 拼音鍵盤允許用戶在QWERTY布局上方便地輸入單詞,並將它們自動「翻譯」到目標腳本中。 同樣,一個音譯印地語鍵盤允許用戶輸入「daanth」(牙齒)「????」。 而拼音確定是一個羅馬化系統,印地語音譯則更模糊; 例如「daant」將是「????」的有效替代方案。
印地語的滑動字元轉換
正如從字母序列到單詞(詞典)的感測器映射以及為單詞序列提供概率的加權語言模型自動化,該團隊為拉丁語按鍵序列和目標腳本符號序列構建了22種印度語的加權轉換器映射。 一些語言屬於多個書寫系統(例如Bodo可以寫在孟加拉文或梵文的腳本中),因此在音譯和本機布局之間,在短短几個月內就建立了57種新的輸入法。
FST解碼器的本質性質將支持完成所有的工作,預測,滑動打字和許多UI功能,無需額外的工作,從而使 Gboard能夠從一開始就向印度用戶提供豐富的體驗,一個更智能的鍵盤。
總而言之,最近的工作將解碼延遲降低了50%,將用戶手動更正的字數減少了10%以上,能夠為印度的22種官方語言提供音譯支持,並啟用了許多新功能。
雖然谷歌團隊希望這些最近的變化能夠改善用戶的打字體驗,但他們也同時認識到,在移動設備上打字的問題絕對不能算是解決了。 Gboard仍然會提出似乎不直觀或低效用的建議,並且手勢的解碼建議仍然可能為人類永遠不會選擇的詞語。 然而,該團隊的工作為強大的機器智能演算法的轉變開闢了新的空間,谷歌正在積極探索為全球用戶提供更有用的工具和產品。
via research.googleblog,雷鋒網編譯


※法拉第未來計劃融資10億美元自保;高通要求蘋果代工廠繼續付專利費
※專訪| 普華永道合伙人季瑞華:技術不是區塊鏈落地困難的關鍵,難在行業共識
※傳餓了么將獲10億美元投資,阿里、螞蟻金服繼續領投
※一鍵調用Siri、Alex、Cortana和Google Assistant,一款藍牙耳機居然做到了
TAG:雷鋒網 |
※檢測心臟功能的可植入機器
※下肢智能機器人
※出入境管理窗口迎來智能機器人
※掃地機器人能否成為未來智能家居入口
※更側重於結果的機器智能
※機器視覺在智能製造中的應用
※機器人為智能教育賦能
※掃地機器人好用嗎?功能全面才是真智能
※智能手機外形突破新桎梏,機器人手機是否將引領未來?
※機器人智能停車系統
※智能帶娃神器-功能強大的智能陪伴機器人
※公子小白智能機器人怎麼樣?揭秘背後技術
※智能語音機器人亮相遵義新舟機場
※智能製造業機會,用外骨骼機器人來拓展力量極限
※人機交互,機器的終極智慧
※機器學習或讓智能手機更智能:自動屏蔽用戶不感興趣的彈窗提示
※智能裝備製造之——機器人
※節卡機器人吳寅:協作機器人在手機生產線應用中的機會和挑戰
※快用科技即將推出智能語音客服機器人
※對比全球智能機器人,中國智能機器人行業發展日臻完善!