到底“雙拼”是個啥?

本文首發於數碼荔枝,原名 《到底「雙拼」是個啥?聽雙拼輸入法開發者給你說》


就在上個週末,我向一個新朋友推薦雙拼輸入法,他是那種對這方面從來沒有關心過的人——就連“全拼”這個概念,也是在我向他介紹了雙拼之後才知道的——“原來我一直以來用的叫做全拼(拼音)輸入法”。

正是這件事情,促使我動手撰寫這篇文章。作為一款雙拼輸入法的開發者,說實在的,當時我也很“捉雞”,我們常說雙拼效率高、雙拼快、雙拼有雙輔,它比五筆簡單,它還是拼音很容易上手……so what 🤷‍♂️對方可能根本不知道你在說什麼。

我曾在《落格輸入法從入門到精通》裡寫了這麼一章 “什麼是雙拼“,不過寥寥數語,並沒有很深入的介紹。

這一次,我就想試試看,用最簡單易懂的方式,跟你說說到底“雙拼”是個啥。

你正在使用的就叫“全拼輸入法”

不論是“全拼”也好,“雙拼”也罷(其實還有“三拼”你怕不怕?),這個“拼”,其實都是“拼音”的意思。所以不要害怕,你會拼音,那麼這些就都不難。

什麼是全拼呢?無非就是拼音需要打全嘛。

全拼的優勢很多。比如全平台都有對應的輸入法;比如幾乎現代受過義務教育的人,都可以 0 學習成本上手,等等。

這裡我想著重說全拼的“低效率”,它到底低在哪裡?

1. 碼很長

全拼是“變長”的。這裡的“變長”是一個專業名詞,意思是“有長有短”。比如“篆”,它的拼音是zhuan,5個字母;但“啊”,它的拼音就短到了a一個字母;更別說最長的,zhuang要6個字母才能代表一個字的發音!

2. 重碼多

為什麼人們說“五筆快”?就是因為它重碼率低啊。拼音就不行,你輸入一個shi jie,要的是“世界”,還是“師姐”?是“十屆”,還是“視界”?同一個拼音組合下大量重複的同音詞彙,給打字降低了效率。

3. 易混淆

全拼是「變長」的,又由於你在打字輸入拼音時幾乎不會手動輸入分隔符號,那麼結果就是輸入法得靠語義自行分割你的拼音串,比如 xian是“仙”,還是“西安”?,ganga是“尷尬”,還是“剛阿”?由此就加重了更多重複候選的問題。

“西安”夾雜在各種“先”裡

一個有意思的發現

實際上,你確實可以用全拼打字“很快”。

有一次我朋友在我旁邊用電腦,他用全拼打字特別快,劈裡啪啦,不光旁邊人看著爽,他自己也真的感覺很爽,但撓了半天鍵盤,只打出了一行字。

這個情況很典型,以前我差不多也是如此,我們來分析一下為什麼:

  • 首先,全拼拼音碼長,決定了他要打一串拼音變成字,就要輸入很多很多的英文字母;
  • 其次,對於拼音來說,要降低重碼率,唯一的辦法就是把拼音盡可能都打全;
  • 如果你輸入的拼音不規範、甚至有錯誤,那麼輸入法就要幫你去“猜”,這就會進一步增加候選數量,從而降低效率。

什麼,以詞定字?抱歉,現代智能拼音輸入法候選詞是動態的,你老這樣做,你的詞庫就炸了,最終的代價就是打字越多,候選越“傻”。

這裡有讀者可能會提出異議:我們全拼不用打全的,智能簡拼了解一下。我反駁的觀點是“全拼有簡,雙拼有輔”,你用簡拼跟雙拼比,那麼雙拼就用輔碼跟全拼比,一樣可以比過全拼。

試試雙拼

那麼,雙拼是如何解決全拼的難題呢?

1. 固定碼長

雙拼的碼長是固定的,用兩個字母代表一個“發音”(拼音),這叫做映射。

你想想看,你按 1 個鍵,就代表了按下 3 個鍵,這樣爽不爽?比如我們規定,你只要按了x,系統就給你替換成uang,那麼我要打“光”,需要按什麼鍵? ——gx,你看,冗長的guang一下就變成了lj,你少按了 3 個按鈕!

這就是雙拼的根本。我們把那些長長短短的拼音,拆成“聲母”和“韻母”本身(這裡嚴格來講,是拆成“聲母”和“剩餘的其他部分”),把“韻母”映射到固定一個字母上,這樣,就可以用兩個字母來表示任意拼音組合了!

那 zh ch sh 怎麼辦呢? ——問的好,這三個特殊的聲母也和韻母一樣要進行映射的;另一個讀者可能好奇的問題是,比如你angan映射在a上的話,你怎麼區分誰是誰?我的答案很簡單:不要這麼做。😂 我們接下來就討論這個問題。

2. 人為編撰

雙拼和全拼另一個不同的地方就是,由於雙拼是後天的按鍵映射,設計雙拼的時候,自然可以跳開 qwerty 鍵位佈局限制。

我們都知道,現在的鍵盤是為了英文輸入而優化設計的,拼音雖然26個字母化了(別提還有那個奇葩的字母 ü我們一般用v代替),但用這樣的鍵盤打字,終究對手是不好的。

雙拼則可以像英文那樣,針對常用的發音,來安排和設計更合理的佈局排列,進而提升打字效率(手感)。

額外插一句,如果你實在不願意接觸雙拼,但又想尋找提升全拼打字效率的方案,那可以了解一下 dvorak 鍵盤佈局。

3. 拆分明確

由於雙拼固定兩個字母代表一個拼音,那麼輸入法不需要在內部對拼音字母串進行額外猜測和拆分,且可以看作輸入的拼音,都是準確合法的完整拼音。由於沒有了混淆,一定程度上降低了拼音的重碼。

雙拼的缺點也有,比如方案眾多百花齊放(這也可以是優點),比如各平台支持度不同,再比如要一點點學習成本——普通人自學上手時間大概一天左右,大家可以參考自己的學習能力來估算,基本上最長不超過一周。

打幾個字試試唄

總之,究竟雙拼好不好?能給我們節省多少時間?還要靠實際說話。我們來看一個典型的「純雙拼」對「純全拼」輸入的對比:

全拼:

雙拼(大牛雙拼方案):

可以明顯看出,雙拼的典型缺點,就是視覺上一眼看不出作者在寫什麼,但雙拼真的好整齊😱……

這裡我們可以數一數,全拼一共用了兩行共計 123 個字符,雙拼則是兩行 87 個字符(統計來自 BBEdit)。

雙拼比全拼少敲擊鍵盤 30% !這是在輸入法完整命中的情況下,即你輸入了字母串,一次按空格就出結果。如果是一個比較生僻的人名或者專業名詞,同樣的重碼率,雙拼依舊可以比全拼少打很多按鍵。

比如行文至此,全文 2281 個字,雙拼只需要 4562 個字母擊打(不算空格) ,全拼則需要粗略 7000 多字母(Google 翻譯轉拼音去掉空格,用 BBEdit 統計字符)。

當然,全拼不得不考慮到簡拼的情況,雙拼也可以有簡拼命中,那麼我們減去 1000 ,雙拼依舊粗略優勢 25%。

假設你平均每 0.5 秒按一下鍵盤按鈕,那麼行文至此,就需要 4562 X 0.5 = 2281 秒,又名 38 分鐘。得了,其實我目前已經用了3小時。

全拼呢? (7000 – 1000) X 0.5 = 3000 秒,又名 50 分鐘。顯然這個時間實際上兩者都還要翻個幾倍,但比例可見一斑。

慢就是快,少就是多

信息爆炸的當下,你可以輕易獲得任何知識,但能消化掉的,才是你自己的,千萬不可以貪多。

雙拼這事也一樣,什麼輔碼、什麼碼表,剛上手時通通不要去理會,就用基礎的雙拼方案。等你熟悉了,再去了解進階內容。

這一點,我太有資格來講了,好多新用戶會卡在這一步,很痛苦,怎麼用都不舒服——最終的結果是不小心掛載了碼表、開啟了輔碼……這些高級的東西是很厲害,但掌握它們需要一點點時間,尤其是對新上手雙拼的你來說。

總之,選擇一個雙拼方案,立即開始打字吧!

由...出版 R0uter

如非聲明,本人所著文章均為原創手打,轉載請註明本頁面鏈接和我的名字。

加入對話

2 註釋

您的電子郵件地址不會被公開. 必填字段標 *