輸入法暢想

2021-09-22 12:15:06 字數 1401 閱讀 8938

前段時間結識了兩位創業做輸入法的朋友,花了乙個下午和他們暢聊了下輸入法,也開拓了下自己的思路,於是寫此博文以記之。

在國內輸入法之外,國外輸入法是乙個更大的市場,在pc時代,國外拉丁文使用者可以不需要輸入法,直接在鍵盤上打字即可,但是在智慧型機時代,沒有了鍵盤,即使輸入英文也得用一款輸入法軟體才行。所以國外手機輸入法市場是乙個比國內輸入法市場要大好幾倍的市場。

在輸入方式上,中文的輸入最常見的就是拼音了,其次時五筆,然後就是些亂七八糟的各種國人發明的輸入方式。在台灣流行的是注音輸入法和倉頡輸入法,其實就是對應大陸的拼音和五筆。英文或者說拉丁語系的輸入方式就簡單多了,常見的就是鍵盤上直接輸入,還有就是現在比較流行的滑動輸入swype。之前看了吳軍老師的《數學之美》,裡面也提到了輸入法,對於中文而言,拼音輸入才是更接近人本性的一種輸入方式,雖然現在的拼音輸入法重位元速率高,導致輸入效率還不夠高,但從長遠來看,拼音輸入法必將打敗五筆輸入法。其實現在搜狗拼音已經做得很不錯了,整句整句的輸入,使得重碼的機率低了很多。

說到搜狗拼音輸入法,這個目前大陸輸入法市場的老大,那麼就必須要說到搜狗輸入法當年做得很成功的詞庫。輸入法的詞庫分為三部分:

核心詞庫是乙個語言的核心,定義了最常用的詞彙,核心詞庫的好壞直接決定了輸入法的好壞。前面提到輸入法框架,只需要配上核心詞庫和輸入設定,就可以變成乙個全新的輸入法。核心詞庫是對乙個語言通用的,還記得當年谷歌輸入法出來的時候,就被搜狗告了,就是因為谷歌輸入法盜用了搜狗輸入法的核心詞庫。

使用者詞庫是針對使用者個人而建立的詞彙列表,該詞庫只對使用者個人有用,對其他人來說,可能沒有任何意義。比如筆者在寫email時經常會輸入朋友的姓名,綽號等,這些都是筆者的好朋友的姓名,綽號,不會存在於核心詞庫和細胞詞庫中,建立這樣的使用者詞庫對筆者下次輸入時非常有幫助,但是對於其他人來說,根本永遠不會輸入這些詞彙,或者對別人來說,這根本就不是詞彙。搜狗很好的將使用者輸入過的這些使用者詞庫記錄下來,然後同步到使用者賬號的伺服器資料中,這樣既方便了使用者使用多台電腦時詞庫同步的問題,也避免了重灌系統導致的資料丟失的問題。

憑藉著對這三種詞庫的特點和其他優化,使得搜狗迅速占領了市場,接下來搜狗輸入法就發展其他各種花哨功能去了。畢竟當年大家的輸入法還是只能做到60分的時候,搜狗輸入法能夠做到90分,那就是極大的成功,現在大家都能做到90分了,接下來搜狗再大量投入也只能把90分做到95分,對普通使用者來說,改善不明顯,所以只能靠不斷的擴充套件新的功能來進一步擴大使用者群。

雖然深藍詞庫轉換解決了輸入法切換的問題,但是還有乙個擺在所有輸入法面前的問題,使用者詞庫從**來?必須讓使用者在第一次輸入時乙個字乙個字的選嗎?如果我之前用的輸入法沒有設定賬號同步到伺服器,或者使用者詞庫丟失了,難道真的必須讓使用者再痛苦一會,乙個字乙個字的重新選。

收集這些使用者詞庫的素材就是乙個比較麻煩的事情,畢竟使用者輸入的地方太多了,然後就是進行解析,這需要對漢語進行分詞,這是個麻煩的事情,最後就是將解析後的語料進行處理,生成使用者詞庫。我想下乙個專案能夠做做這一塊,畢竟這東西對很多人來說,是個好東西!

輸入法暢想

前段時間結識了兩位創業做輸入法的朋友,花了乙個下午和他們暢聊了下輸入法,也開拓了下自己的思路,於是寫此博文以記之。在國內輸入法之外,國外輸入法是乙個更大的市場,在pc時代,國外拉丁文使用者可以不需要輸入法,直接在鍵盤上打字即可,但是在智慧型機時代,沒有了鍵盤,即使輸入英文也得用一款輸入法軟體才行。所...

輸入法控制

unit u ime inte ce implementation uses windows,forms,imm,sysutils,messages varstmpclassname,stmpime string 失去焦點時的控制項名稱和輸入法名稱 msghandle hhook 0 判斷當前類名是...

輸入法鉤子

分為1個dll工程和1個win32空工程。新建乙個dll空工程,字符集使用多位元組字符集。以下是源 shurufa.h ifndef shurufa h define shurufa h include include include include pragma comment lib,imm32...