當前位置: 華文問答 > 數碼

是不是年輕人都喜歡用26鍵而非9鍵?

2023-11-15數碼

是的,就我觀察身邊的樣本來看,00後就基本沒有用九鍵輸入法的了,具體原因許多答主都講的很清楚了:因為沒見過按鍵機,而九鍵輸入法是為了相容按鍵機做出的妥協。

但是現在的手機幾乎還是保留了九鍵輸入法,為什麽除了因為歷史遺留原因而選擇九鍵的使用者以外,九鍵再沒有新使用者入坑了呢?

答:因為26鍵比九鍵快。

那有的九鍵使用者要質疑了,你撒謊,明明我九鍵比26鍵用的溜得多,憑什麽說26鍵快?為了避免主觀臆斷,所以首先應該定一個明確的指標:

怎麽輸入算快?

那麽我們首先聘請一位公平的打字員,這個打字員經受過嚴格的訓練,能夠以嚴格的每分鐘120次敲擊頻率打字,接著我們讓這位打字員分別用九鍵和26鍵打一段話「喜歡就點贊」。

因為聯想輸入只作用於拼音生成漢字的過程("xihuanjiudianzan"轉換成「喜歡就點贊」),和拼音補全("xhjdz"轉換成「喜歡就點贊")兩個過程對九鍵和26鍵是公平的,那麽我們就忽略上述兩個過程,只比較輸入一段話的全拼誰的速度比較快。

首先,26鍵輸入"xihuanjiudianzan",顯然需要按16下;而九鍵因為每個按鍵包含多個字母,因此,按鍵後後需要再進行一次選擇才可以輸入一個字母,需要按32下。那麽當26鍵輸入字母個數為 S_{26} = N 的時候,九鍵應該按 S_9= 2N 嗎?理論如此,但並不符合事實,那麽說明這個模型並不準確。

事實上,學過編碼的同學應該知道,大多數編碼將符號集 S_1 對映到 S_2 時,只要兩個符號集中數目不相等,那麽必然有一些編碼組合是不可用的。用人話來說,就是拼音轉譯成中文的時候,許多拼音組合是無效的,那麽當輸入"xihuan"的時候就不用哦按12次,而是按"92(x)4(i)42(h)82(u)2(a)62(n)",因為"x"後面只能是"i"而不可以是"g"或"h",因此九鍵輸入的時候並不是總得按第二次,事實上,當輸入韻母("aeio")的時候只按一次就可以。每個漢字都有韻母,那麽粗略平均一下,一串全拼應該有三分之一是"aeio",那麽九鍵輸入次數可以被縮短到 S_9=\frac{2}{3}N *2 + \frac{1}{3}N = \frac{5}{3}N 。

Iphone的九鍵鍵盤

那麽這就可以下結論說明26鍵更快了嗎?我們似乎忘記了,九鍵誕生正是因為鍵盤太小,26鍵很不方便所以發明了九鍵輸入。那麽26鍵為什麽不方便呢?因為如果同樣的面積有26個鍵,那每個鍵的大小就只有9鍵的三分之一,大家容易按錯。

容易按錯!

好了,找到問題了,那麽為了定量的研究一下到底多容易按錯,我們假定上文提到的那位打字員正確按鍵的概率為 P_{正確} ,為了方便,我們讓這一隨機變量服從均勻分布,用人話講就是正確輸入的概率和按鍵的面積成正比,因此 \frac{P_{26正確}}{P_{9正確}}=\frac{A_{26}}{A_9} = 0.346 。當然,這分布並不準確,因為打字員是有註意力的,並不是在所有鍵上隨機地打字,也就是說他關註哪個鍵,那麽他會主動在這個鍵周圍按下,因為更合適使用高斯分布估計 P_{正確} 。具體怎麽算就不勞煩大家了,我做個體力活幫大家算好了, \frac{P_{26正確}}{P_{9正確}}=\frac{A_{26}}{A_9} = 0.812 。

那麽經過修正,26鍵的輸入速度 v_{26} = 0.812 * \frac{5}{3}v_9 = 1.35v_9 ,也就是九鍵的1.35倍。這是由26鍵和九鍵的編碼效率,以及按鍵大小帶來的輸入錯誤率,導致的結果,和打字員輸入速度熟練程度,輸入法智能程度無關,這就是 客觀意義上的怎麽算快的評價標準

那麽以前用九鍵和現在用26鍵的差別體現在上述模型的哪裏呢?答,就體現在出錯的概率分布這裏,因為我是按照6.1寸鍵盤大小計算的概率,如果按照按鍵只有三寸甚至更小的按鍵來計算, \frac{P_{26正確}}{P_{9正確}} 可能相差的更為懸殊,那麽9鍵就可能反超26鍵。

更重要的是,即使9鍵和26鍵輸入速度相同,人們主觀上還是會選擇用起來更輕松的工具。比如我讓你扛一袋100kg的水泥上10樓,然後空手跑九個來回,還是扛10kg的水泥跑10個來回,可能大部份人都會選擇後者,因為後者更輕松。同理,九鍵較大的按鍵按起來確實會比26鍵的小按鍵按起來輕松一點。只不過隨著手機尺寸日益增加,發送訊息的愈發頻繁,這輕松的一點感覺終究比不上打字速度的提升,因此九鍵只能慢慢結束歷史的舞台。但是,不可否認的是,在那個小手機小按鍵的時代,九鍵輸入法為按鍵手機的推廣做出了不可否認的貢獻,讓手機廠商成功的活到了輕觸式熒幕的發明,這才有了如今觸手可及的互聯網時代。

非常感謝評論區朋友們的補充,因此,為了考慮重復碼隨著拼音輸入長度增加而減小的這一特性,我們在引入一個函數 E(N)\in[1,2],lim_{N\rightarrow \infty}E(N)=1 , E(N)=1 表示完全不受重復碼影響, E(N)=2 表示按兩下才能確定一個字母輸入。考慮到上文根據韻母縮減是大家都比較認可的,因此修正為 E(N)\in[1,\frac{5}{3}],lim_{N\rightarrow \infty}E(N)=1 。那麽26鍵和九鍵的速度比修正為: \frac{v_{26}}{v_9} = \frac{P_{26正確}}{P_{9正確}}*E(N) 。

但我覺得這個模型並不準確,因為「重復碼隨著拼音輸入長度增加而減小」這句話不夠準確,事實上我認為重復碼率的減小是以一個中文詞組或一個句子為周期起作用的,因此 E(N) 修正為周期函數 E(N) = E(N+N_{詞組拼音的長度}),N_{詞組拼音的長度}\in[10,30] 。當然,上述過程中進行了非常多的近似,例如 E(N) 的取值是很難逼近1的,取決於拼音有效碼和無效碼具體的分布,中文中各個音節使用頻率也不是均勻分布,這些都需要采取大量數據統計或是實驗才能得到比較可信的值。

這篇留在這裏希望還沒有進入大學或非理工專業的知友能夠了解一下理工解決問題的思路,就是先做減法,提出一個最簡單最直觀的模型,然後做加法,一條一條的加上約束條件,如此叠代周而復始,最終逼近真實的模型。同樣也希望同樣在理工領域的知友能夠指摘探討,這是我生活中很有趣的一部份。

感謝 @delicate 在評論區對計算模型提出的完善,甚至幫忙補了一個定量實驗。他提到九鍵輸入法打錯一個詞就要重新打一句話,那麽在出錯部份再引入錯誤開銷。26健的錯誤開銷應該是輸錯的那個字元以及多按一下退格鍵;九鍵的錯誤開銷應該是包含輸錯鍵的那一整句話以及按下退格(抱歉我沒怎麽用過九鍵,可能不是一整句話都要重新打,請大家理解這個思想為主),一整句話的長度就以上文詞組拼音長度估計打平均 \bar N_{詞組拼音的長度}=20 為準,那麽我們得到錯誤開銷系數 E_{26exp} = -1-1=-2, E_{9exp} = -20-1=-21 ,因為錯誤開銷是在輸錯時才會起效的,因此錯誤開銷對輸入速度的影響是

v_{26} = v_{打字}*P_{26正確}+v_{打字}*(1-P_{26正確})*E_{26exp},\\ v_{9} = v_{打字}*P_{9正確}+v_{打字}(1-P_{9正確})*E_{9exp} 則26鍵和九鍵的速度比修正為

\frac{v_{26}}{v_9} = \frac{v_{打字}*P_{26正確}+v_{打字}*(1-P_{26正確})*E_{26exp}}{v_{打字}*P_{9正確}+v_{打字}*(1-P_{9正確})*E_{9exp}}*E(N) \\ = \frac{P_{26正確}+(1-P_{26正確})*E_{26exp}}{P_{9正確}+(1-P_{9正確})*E_{9exp}}*E(N)

好!現在看起來這個數學模型是不是有一點像樣了?我們考慮了按鍵大小引入的誤碼,考慮了誤碼在不同輸入法下引入的開銷,考慮了碼長增加對九鍵重復率的降低,考慮了非法碼字組合對九鍵重復率的降低,終於得到了一個看得過去的模型,盡管中間進行了各種各樣的估算、近似,但是不可否認這個模型已經有一定的套用價值了。

我想一百年前麥克斯韋、狄拉克、薛定諤等偉大的物理學家也不是拍拍腦袋就一次性想出來那些著名的方程式,想必也是夜深人靜時經過自己一次次反思修改,同事學生一次次質疑反駁,實驗數據一次次證明證偽,才得到了最後優美簡潔(好吧有的方程式算不上簡潔)的結果。我們在這裏的研究和他們比起來看上去只是個玩具而已,但是我相信我們造玩具的方法和這些偉人們的方法是類似的,我認為這就是科學。