7
本文作者: 柏蓉 | 2015-10-09 17:17 |
像上圖那樣的輸入法笑話,相信不少人在日常生活中都會遇到。其結果是帶來不同程度的傷害值,輕則弄巧成拙貽笑大方,重則……沒有上限。其實,隨著人們花費在手機上的時間越來越多,輸入法的準確也變得越來越重要。
今天,第三方輸入法“大牌”SwiftKey在其官網博客上很興奮地向大家介紹其最新并具有突破性的產品——采用人工神經網絡的輸入法SwiftKey Neural。不過,目前只是Alpha測試版,安卓4.4以上的用戶可以到這里下載SwiftKey Neural Alpha進行體驗。
SwiftKey表示,SwiftKey Neural只是探索神經網絡模型(neural model)的第一步,他們的愿景通過輸入法全面了解用戶,并根據用戶的語氣語調等預測整段回復而不是下一個字。說的恐怖一點就是模仿你來回應對方。
在博客中,SwiftKey表示SwiftKey Neural是全球首個采用人工神經網絡技術的手機輸入法,而且相比于目前主流的N-gram語言模型輸入法技術,新的輸入法預測更為準確,并更懂用戶。因為SwiftKey Neural的神經網絡模型會像人腦一樣理解輸入的詞句,并通過上下文的語境預測出用戶從未輸入的詞句。這與SwiftKey過去所采用的N-gram為詞語的出現(xiàn)概率賦予權重有很大不同。
具體來說,N-gram模型基于一種假設,即第n個詞的出現(xiàn)只與前面N-1個詞相關,與其它不相關。而整句的概率就是各個詞出現(xiàn)概率的乘積。這些概率可以從語料庫中統(tǒng)計,也會根據個人打字的數(shù)據來實現(xiàn)記錄。比如說,“我待會去_____(公司0.1,飯?zhí)?.07,廁所0.05……)”。這時候,輸入法會優(yōu)先彈出概率比較大的“公司”。這種方式有一種很嚴重的缺陷,不能理解每個詞語的意思,只能“重復”過往已經出現(xiàn)過的語序。比如,在“我今晚開會,晚飯不__”這句話中,N-gram模型會根據個人詞句使用概率彈出“行,要,吃……”。但是,以人的思考模式,這兩小口對話的應該是“晚飯不做了”。 而SwiftKey Neural輸入法正式想要達到后者這般效果——理解對話語境。
SwiftKey Neural實現(xiàn)對詞語的理解是通過賦予編碼。如上圖,通過大量數(shù)據訓練的神經網絡模型給“Meet you at the”四個字進行編碼,從而“理解”這些單詞間的關系,最后再預測下一個字的編碼。當然,這種做法需要巨量的運算資源。為此,SwiftKey也做了相應的準備。SwiftKey表示,目前已經在大型服務器上部署好這應用。
有業(yè)內人士向雷鋒網表示,SwiftKey Neural所采用的神經網絡技術在25年前就流行了,有很多預測法都在運用這種技術尤其是工業(yè)應用,因為它比較簡單,預測速度快。不過,這種技術有一種很大的缺陷,其優(yōu)化速度和優(yōu)化能力差,造成技術不穩(wěn)定。
在雷鋒網編輯看來,無論是N-gram模型還是神經網絡模型,SwiftKey所尋找的不過是一個最佳的預測參數(shù)。還有一點很重要,如果各位讀者對這個問題感興趣,歡迎給雷鋒網留言,我們一起探討?。?/strong>
最后附上N-gram模型和神經網絡模型的圖解:
via:swiftkey
雷峰網原創(chuàng)文章,未經授權禁止轉載。詳情見轉載須知。