輸入法背後隱藏了這麼多機器智能!谷歌首席科學家為你解讀
GIF/1.7M
「機器人圈」導覽:很多人都用過智能輸入法,但很少有人關注過,背後蘊藏的機器智能。本文編譯自Google Research Blog,這篇文章以谷歌的智能輸入法Gboard為例,詳細闡述了其中暗藏的智能技術,作者是語音與鍵盤團隊的首席科學家Fran?oise Beaufays,以及語音和語言演算法團隊首席科學家Michael Riley。
我相信,在智能的時代,大多數人每天都會在移動設備鍵盤上花費大量時間:撰寫電子郵件、發簡訊、參與社交媒體等。可是,大家有沒有注意到,移動鍵盤仍然很繁瑣,甚至有些難以處理。用戶在移動設備上的打字速度平均要比在物理鍵盤慢35%。為了改變這一點,我們最近為Gboard for Android提供了許多令人興奮的改進,致力於創建一個智能機制的願景——能夠以任何你選擇的語言來提供建議和糾正錯誤,從而實現更快的輸入。
在認識到移動鍵盤將觸摸輸入轉換為文本的方式類似於語音識別系統將語音輸入轉換為文本的方式後,我們就利用我們在語音識別上的經驗來探索我們的願景。
首先,我們創建了強大的空間模型,將原始觸摸點的模糊序列映射到鍵盤上的鍵,就像聲學模型將聲音對應到語音單元的順序一樣。
第二,我們構建了一個基於有窮狀態轉換器(FST)的強大核心解碼引擎,以確定給定輸入觸摸序列的最有可能的單詞序列。憑藉其在數學形式和語音應用程序上的廣泛成功,我們知道FST解碼器具有很好的靈活性,而這是支持各種複雜鍵盤輸入行為和語言特性所需要的。而在本篇文章中,我們將詳細介紹這兩個系統的發展。
神經空間模型
我們通常把移動鍵盤輸入的錯誤歸因於「胖手指打字」(或在滑動打字中跟蹤空間相似的單詞,如下所示)以及認知和運動誤差(表現為拼寫錯誤、字元插入、刪除或互換等)。智能鍵盤需要去解決這些問題,並且能夠快速準確地預測期望的單詞。因此,我們為Gboard構建了一個空間模型,用於在字元級別處理這些錯誤,將屏幕上的觸摸點映射到實際鍵中。
GIF/673K
兩個空間相似的詞:「Vampire」和「Value」的平均滑動軌跡
直到最近,Gboard使用高斯模型來量化敲擊相鄰鍵的概率,用基於規則的模型來表示認知和運動錯誤。這些模型簡單且直觀,但並不允許我們直接優化那些與更好的打字質量相關的指標。根據我們在語音搜索聲學模型方面積累的經驗,我們用以連接時態分類(CTC)標準訓練的單個、高效的長短期記憶網路(LSTM)替代了高斯和基於規則的模型。
然而,實際訓練這個模型比我們預期的要複雜得多。雖然聲學模型是從人類轉錄的音頻數據進行訓練的,但是不能輕易地轉錄數百萬的觸摸點序列和滑移痕迹。 所以團隊利用用戶交互信號,例如用自動修正和建議選擇來作為消極和積極的半監督學習信號,從而形成豐富的訓練集和測試集。
對應於單詞「could」的原始數據點(左),以及每個採樣方差的歸一化採樣軌跡(右)。
我們使用從語音識別文獻獲得的大量技術來迭代NSM模型,使其足夠小且足夠快從而可以在任何設備上運行。TensorFlow用於訓練數百種模型,優化鍵盤上顯示的各種信號:完成、建議、滑移等。經過一年多的工作,所產生的模型比初始化模型快6倍,小10倍,而且在離線數據集上中,它們的錯誤自動更正減少了約15%,錯誤解碼的手勢減少了10%。
有窮狀態轉換器(Finite-State Transducers)
雖然NSM使用空間信息來幫助確定什麼被敲擊或滑動,但還有一些額外的限制——辭彙和語法——這還是可以承受的。詞庫告訴我們語言中出現了什麼單詞,而概率語法告訴我們什麼單詞可能跟隨在其他單詞的後面。為了對這些信息進行編碼,我們使用有窮狀態轉換器。FST一直是Google語音識別和合成系統的關鍵組成部分。它們提供了一種原則性的方式來表示自然語言處理中使用的各種概率模型(詞庫,語法,規範化等)以及在操縱,優化,組合和搜索模型中所需的數學框架。
在Gboard中,key-to-word轉換緊湊地代表鍵盤詞庫,正如下圖所示。它編碼從鍵序列到單詞的映射,而且允許替代鍵序列和可選空格。
該轉換沿著從起始狀態(粗體1)到最終狀態(雙圓形狀態0和1)的路徑編碼「I」,「I』ve」,「If」。 每個弧用一個輸入鍵(「:」之前)和一個對應的輸出字(在「:」之後)標記,其中ε編碼空符號。「I』ve」中的撇號可以省略。用戶有時會跳過空格鍵。為了說明這一點,轉換中的單詞之間的空格鍵空間是可選的ε和空格後弧允許接受多個單詞。
概率的n-gram轉換器用於表示鍵盤的語言模型。模型中的狀態代表一個(上限為)n-1個單詞的上下文,並且離開該狀態的一個弧被標記有一個後繼單詞以及其跟隨該上下文的概率(從文本數據估計)。這些,以及那個給出關鍵觸摸序列的可能性(滑移類型中的離散點擊項或連續手勢)的空間模型被組合在一起並用集束搜索來進行探索。
通用FST原則,諸如流式傳輸,動態模型支持等,為構建新的鍵盤解碼器帶來了很大的幫助,但還需要添加一些新的功能。當你說話的時候,你不需要解碼器來完成你的話,或者在保存你的幾個音節之後猜測你會說些什麼;但是當你輸入時,你會感激單詞完成和預測所帶來的幫助。此外,我們希望鍵盤提供無縫多種語言支持,如下所示。
GIF/516K
在Gboard中進行三種語言輸入
讓我們的新解碼器運行是一項複雜的工作,但FST本質上有很多益處。例如,支持印地語等語言的音譯只需通用解碼器的簡單擴展。
音譯模型
在許多具有複雜腳本的語言中,已經開發了羅馬字母系統,以將字元映射成拉丁字母,這通常是根據其語音發音執行的。例如,拼音「xièxiè」對應漢字「謝謝」(「thank you」)。拼音鍵盤允許用戶在QWERTY布局上方便地輸入單詞,並將它們自動「翻譯」到目標腳本中。同樣,一個音譯印地語鍵盤允許用戶輸入「????」(牙齒)「daanth」。而如果說拼音是一個達成共識的羅馬字母系統,那印地語音譯就相對模糊了。例如「daant」將是「????」的有效替代方案。
GIF/868K
用於印地語的音譯輸入
正如我們有從字母序列到單詞(詞庫)的轉換映射以及為單詞序列提供概率的加權語言模型自動機,我們也為拉丁語鍵序列和目標腳本符號序列構建了22種印度語的加權轉換映射。一些語言有多個書寫系統(例如Bodo可以寫在孟加拉文或梵文的腳本中),因此在音譯和本機布局之間,我們在短短几個月內就建立了57種新的輸入法。
FST解碼器的一般性質可以讓我們利用我們所做的所有工作來支持完成,預測、滑動打字以及許多UI功能,而無需附加的工作,從而使我們能夠從一開始就向印度用戶提供豐富的體驗。
更智能的鍵盤
總而言之,我們最近的工作將解碼延遲降低了50%,將必須由用戶手動更正的字數減少了10%以上,從而使我們能夠為印度的22種官方語言提供音譯支持,並啟用了許多新功能,而這些你可能已經注意到了。
雖然我們希望這些最近的變化能夠改善你的打字體驗,但我們認識到,設備上打字絕對不能全部解決。Gboard仍然可以提出似乎不那麼直觀,或低效用的建議,手勢仍然可以為那些人類永遠不會選擇的單詞解碼。但是,我們轉向強大的機器智能演算法這一行為已經為我們開闢了新的空間,而我們也正在積極探索為全球用戶提供更有用的工具和產品。
這項工作由Cyril Allauzen、Ouais Alsharif、Lars Hellsten、Tom Ouyang、Brian Roark和David Rybach在語音數據操作團隊的幫助下完成。特別感謝Johan Schalkwyk和Corinna Cortes的支持。
作者:Fran?oise Beaufays,Michael Riley
來源:Google Research Blog
※百度發布語音生成器Deep Voice 2,可生成數百種聲音
※馭勢科技吳甘沙:六萬億美元的智能駕駛很美好,但問題更值得關注
※黑中盤勝,AlphaGo再贏柯潔一局 附:人機對弈五十年小史
※世界機器人大會又來了!今年的看點有哪些?
TAG:機器人圈 |
※阿里雲機器智能首席科學家批「學術放衛星」:做科學要耐得住寂寞
※谷歌雲首席科學家:機器也有價值觀
※谷歌首席科學家傳奇的一生,她影響著人工智慧界
※來自谷歌首席的靈魂追問:想當研究科學家,一事無成你受得了嗎?
※國家鎖具質檢首席安全官上線解惑 智能門鎖可放心使用
※敘利亞首席科學家遭毒手,全球最恐怖情報組織都用這些手法暗殺
※微軟首席語音科學家:人工智慧若不能解決語言問題,就是瞎忽悠
※敘利亞首席科學家遭毒手, 全球最恐怖情報組織都用這些手法暗殺
※智能機械都無能為力,中電科首席技能專家出手,助中國再獲重器
※原阿里雲首席科學家閔萬里:數字化轉型不能固步自封,更不能東施效顰
※震驚!這款車連國家新能源首席科學家都點贊
※阿里雲機器智能首席科學家閔萬里離職 歷經數月溝通
※谷歌首席決策科學家:AI難免犯錯,唯人類可以懸崖勒馬
※電影里特工的易容術科學嗎?中情局前首席易容官這樣回答
※美國白宮首席經濟顧問花落誰家?或是前里根政府成員
※《聲入人心》收官,多位歌唱家親臨,方書劍直言自己有能力做首席
※坐上美軍戰機啥感覺?「這才是美軍」工作室首席專家體驗後告訴你
※這個漢人從不巴結討好乾隆,為何卻能成為首席軍機大臣?
※北斗未來首席科學家:區塊鏈可以解決反洗錢工作痛點
※我國造艦速度快到連首席專家都不敢想像,美軍轉頭做了這幾件事