康熙与倉頡
倉頡之友

主頁 自學 倉頡字典 康熙字典體

倉頡平台2022 網上輸入法 九萬漢字

論壇 聯絡 康熙字典網上版 捐助本站

中文輸入法學術論壇

初窺徐碼的感想
  • 1# Ichirou
  • 155582527-4-2020 06:37:11
本帖最後由 Ichirou 於 21-1-2021 01:59 AM 編輯

因爲〈嘸蝦米是一種有國際觀的輸入法嗎?——論輸入法的簡繁通打性能〉這篇好文,看到徐碼在避重碼上還略勝倉頡一籌,於是査看過徐碼一點資料。徐碼敎程公開和完備,值得稱許,可見:https://www.xumax.top/

可惜的是,徐碼採用類似鄭碼的雙字根(主副根)設計,要記住逾350個字根已經要成本,還要再記得它們的兩個鍵,難度就更高了。就算學會拆字根,但怎樣去正確輸入那個字根比較複雜,第一根爲主根或副根都有不同法則,甚至輸入主根第一碼後,要先輸入副根兩碼,才再輸入主根第二碼。雖說是爲了避重碼,但如此輸入太不直線。而且副根多用音託,始終變成了非懂官話北語不可,對各種漢語不公。

綜合來看,徐碼確實在設計時已好好考慮到重碼問題,有認眞謹愼的全盤規劃,可以單以一般法則(不採用簡碼或特途原則)就避重碼,而且有同時考慮大陸宋體與台灣明體字形,這些地方(至少是其考慮點、顧及點)都是可取的,如果字形支援以傳承字形爲主(畢竟它才是各漢字地區通行的最大公因素字形),再兼容大陸台灣等地的手寫或敎育寫法,則還會更好。不過字根數量、大小、拆字方式仍跟鄭碼、五筆王碼相似(尤其鄭碼),雙字根設計還可以說是直接來自鄭碼,既繼承了鄭碼的優點,也繼承了鄭碼的缺點。以學習成本來看,遠遠高於倉頡。而倉頡的避重碼表現雖不及徐碼,但已相當理想,平衡了學習成本。

順帶一話,徐碼宣傳的那八字,用倉頡也能輕易拆字和輸入,見ArthurMcArthur的輸入示範
倒序瀏覽 看全部 全部回復25
朱邦復先生曾言,要減低重碼率,設更多規則是難免的,但規則變多、變複雜的話,又會令思考時間變長,取碼緩慢。對輸入法而言,完全傾側於一邊都不行,需要取得平衡。

倉頡對漢字字形規定比其他輸入法嚴謹,會分字首字身,但這其實是漢字本身的特點,按着同一思路即可,個人絕不過得過於複雜。

相比之下,五筆按字的上下形、左右形等補識別碼,也利用到漢字特點,但卻變成依形拆根以外的操作,變成要兼具兩種思路,比倉頡複雜。鄭徐二碼的雙根,有時取一鍵,有時取二鍵,有時甚至取三鍵,又是依形拆根以外的操作,也變成要兼具兩種思路,不是簡單地記住這字根是哪兩或三個鍵名就行。

而徐碼還有「音託」問題(雖然官方力陳它不是形音碼,說一大堆辯解①,但其音託之音基於官話北語是事實,這已對其他各種漢語族語言不公),以及同一字根的首碼與次碼分開打,取「ABba」(第一根的首碼、第二根的首碼、第二根的次碼、第一根的次碼)和「ABZa」(第一根的首碼、第二根的首碼、末根的首碼、第一根的次碼)之類,比鄭碼複雜得多。

①徐碼官方這樣說:「……而每个副根小码绝大多数是字根的声母,非常好记,个别用韵母,比如 匕 Vi,小码是 i,如果小码是韵母,字根图上则用红色标注,以便区别记忆。注意这里的小码仅仅是音托,并不是意味说徐码就是所谓的形音码,一些人不明就里,见之弃若敝履,其实真正的形音码比如现代五笔与希码等,它的最后一码都是整个字的音,假如是一个生僻字,用户不认识不知读音 就没办法,但徐码则不同,它本身设计之初就充分考虑了七八万的大字集,而每个字根的小码都是事先规定好的,小码仅是音托,它的实质内涵其实和郑码的位码(即小码)相同,本质上都是每个字根的名字而已,只不过郑码副根小码是依字根的某部分或笔画特征取名,而徐码副根小码是依字根读音取名,山人副根小码则形音皆用来取名。形式异,实则内涵同。」可見徐碼官方覺得,要取整個字的音才有問題(生僻字不懂唸),只取字根的音就沒有問題。但其實,只要涉及到取字音,就立即把輸入法局限了,變成只爲操那種漢語族語言的人而設。漢語族語言有這麼多,學習形碼的一大要因,就是希望跨越各種語言的語音差異,只公平地按形取碼。一涉及字音,就馬上把這語音差異問題拉進來,這問題就不可能以這種辯解擺脫。
完全不覺得這番評論有什麼道理和參考價值。只用褒義話說倉頡,即使是倉頡不好的地方也說得“情有可原”。相反,只拿貶義話說別的輸入法,而很少全盤考慮別人設計的初衷。字裏行間充滿了立足於倉頡輸入法的排他性,實在爲樓主不取。要說什麼嚴謹、科學性,每種形碼輸入法都能拿出一點來說,又都有很多不合理的地方,這沒得比,也不用以此來標榜,倉頡尤其如此。要說輸入的方便性和效率,倉頡輸入法更沒什麼可得意的。
平心而論,只有抱着開放的心態,努力學習和實踐過一種輸入法,纔有資格去評判和比較。看樓主的言論,只是讀來一些隻言片語或使用一些道聽途說,對徐碼、鄭碼、五筆的認識都只是停留在表面上,實在不覺得有什麼對的地方。每個形碼輸入法都有被初學者、旁觀者看不慣或不適應的地方,但我們要看到的是,這些輸入法的特點、特色和最大的優勢,而爲了取得這些優勢,他們難免會在一些小的地方遺留一些“短板”。你是只看準這些小的“短板”而放棄那些大的優勢呢,還是爲了取得那些大的優勢而接受這些“短板”呢?如果你願意接受,那麼“短板”其實就不是“短板”了。如果認真學習和使用過一種形碼,不可能不知道這一點。對於倉頡輸入法,我也有好幾年的學習和使用了。我不覺得倉頡比鄭碼、五筆、徐碼在科學性、效率上有什麼優勢,甚至還有很大劣勢。倉頡的規則多、效率低,這是衆所周知的。“剪字法”也不能說合乎漢字本身規律吧。“字首、字身”也不是漢字本來就有的東西。相比之下,熟悉了鄭碼、五筆、徐碼之後,打字效率會很快,這是很多人願意學習他們的原因,尤其是五筆。我本人是幾年的倉頡用戶了,對它沒什麼仇恨。說這些也只是公平地比較一下。覺得倉頡用戶沒必要爲了宣傳自己而抹黑別人,就像倉頡用戶一直討厭別人抹黑自己一樣。孔夫子說,己所不欲,勿施於人。
如在下過去所言,比較輸入法,一來並不是要其他人放棄、轉投甚麼的,二來並不是爲攻擊。就算我指出了有某些優點缺點,仍然希望不同用戶各適其適,中間不涉及任何仇恨。

不過,有一些東西,的確可以從一些客觀的原則說上比較好或比較有問題,這對深入硏究輸入法,日後改善設計或促進新設計,都有幫助。

我提出來,自問只是對事,沒有超出這些範圍,沒有作明顯主觀的、不以具體事情出發的攻擊,沒有任何抹黑別人,也不是爲宣傳。實在不明白樓上的孫網友爲何多番以針對在人而非對事、以誅心口吻來回應,而不是聚焦一些在下以具體例子或情況所提出的問題。

在本帖,在下談的主題是徐碼,以具體例子或情況,提出了三點問題:
1. 字根設計比較複雜,有逾350字根並且使用雙碼,學習成本高,不夠直線。
2. 字根的音託問題,並非如官方所言的事小,對官話北語以外的漢語不公平。
3. 字根首碼與次碼分開打,比同爲雙碼的鄭碼複雜。

在下具體地指出這三點,孫網友卻完全無視。接下來說一大堆別的,包括對我個人的猜度、攻擊,包括我發言中根本沒涉及的甚麼科學性效率性。客觀而言都是離題。

孫網友又稱「如果你願意接受,那麼“短板”其實就不是“短板”了。如果認真學習和使用過一種形碼,不可能不知道這一點。」若是如此,世間上任何東西也都沒長短之分,人類文明和生存也不如混沌。然而我們立足中文事實,的確有一些量度點可以用,比如形碼是否能盡力做到不涉音,或者以對各種漢語都公平的方式去牽涉。

而且,孫網友自己也對倉頡作了一些「我覺得」式的比較,去宣稱倉頡「有很大劣勢」而鄭碼、五筆、徐碼並非。孫網友即使說他對倉頡沒什麼仇恨,但亦足見不能用他自己提出的尺繩去量自己。況且用「我覺得」這種訴諸主觀的方式,而非事實擧例或論證,不見得就比較高明。而孫網友的一些論點,其實在別的帖裏在下也詳細探討過,比如:

- 把漢字裁剪成若干部件,把同一筆斷開,不能說不合乎漢字規律。文字學家剖析甲骨文、金文、小篆時,也往往要這麼做。
- 漢字九成以上是組合字,由兩個或以上的部件組成,獨體字只佔很少。「字首、字身」的確符合漢字的客觀構字現象。
- 效率並不等同於打字速度,也包括學習速度等指標。
- 若單說速度,有客觀的輸入法競賽,不用訴諸個人。
- 我也沒有說過倉頡規則很簡單,但跟以不用怎麼選字爲招來的各種形碼比,也不算特別複雜。

凡此種種,都另有帖子討論過。孫網友要討論的話,最好當然是回到適合的帖子裏,再不然另發新帖也並非不可。然而,跟主樓完全離題去說這些,說的時候又缺乏詳細的論證論據,這樣對理性討論太不方便了。如果本帖還會接着有討論,希望不要離題下去,能改往適合的帖去討論這些跟頂樓所言無關的點。
1. “字根設計比較複雜,有逾350字根並且使用雙碼,學習成本高,不夠直線。” “要記住逾350個字根已經要成本”。
按:徐碼字根比較多,使用雙編碼,學習成本相對較高,這沒有問題。大字根的設計本就會增加字根的數量,這跟倉頡的小字根設計不同(倉頡的複合字首、複合字、難字等的設置,與大字根也很類似;況且,蒼頡檢字法已經部分引入大字根)。但是大字根帶來的好處也顯而易見,拆字相對直接、清晰、容易,輸入效率、速率相對較高。而且,字根數量多,並不是要求使用者全部死記硬背記下來,它們的排布是有規律的,可以根據其規律去熟悉、記憶,會減輕記憶的負擔。總之,看學習者如何取捨了,是否願意付出一定成本來換取之後的好處。

2. “字根的音託問題,並非如官方所言的事小,對官話北語以外的漢語不公平。”
“雖然官方力陳它不是形音碼,說一大堆辯解,但其音託之音基於官話北語是事實,這已對其他各種漢語族語言不公”“可見徐碼官方覺得,要取整個字的音才有問題(生僻字不懂唸),只取字根的音就沒有問題。”

按:“說一大堆辯解”,這話明顯帶有感情色彩和傾向了。他的辯解自有他的道理,通讀下來並沒有問題。一個是“音託”,一個是“形音碼”,確實可以區分開。他的“音託”無所謂對其他漢語族語的不公,你的評判太過誇大了,因爲這只是設置副根小碼的一種方法而已(也可以有其他方法)。照你這麼說,對於習慣筆順寫漢字的人來說,倉頡砍字的做法也是一種不公了?如果這麼想,豈不是笑話!“可見徐碼官方覺得……”,這就是你的臆測和“覺得”了,完全不是徐碼官方的意思。

3. “字根首碼與次碼分開打,比同爲雙碼的鄭碼複雜。”
按:你這麼說,就暴露了你還沒有通讀徐碼輸入法的使用說明,也沒有理解徐碼的設計初衷。徐碼爲什麼這麼設計?當然不是爲了變得比鄭碼複雜。他的說明上有寫,你可自去閱讀。而且,徐碼的拆字規則也就那麼幾條,比起倉頡來說可謂清晰、明瞭、簡單多了。還有鄭碼,在掌握了規律排布的字根之後,拆起字來也比倉頡簡單、清晰。


4.“鄭徐二碼的雙根,有時取一鍵,有時取二鍵,有時甚至取三鍵,又是依形拆根以外的操作,也變成要兼具兩種思路,不是簡單地記住這字根是哪兩或三個鍵名就行。”“徐碼採用類似鄭碼的雙字根(主副根)設計,要記住逾350個字根已經要成本,還要再記得它們的兩個鍵,難度就更高了。就算學會拆字根,但怎樣去正確輸入那個字根比較複雜,第一根爲主根或副根都有不同法則,甚至輸入主根第一碼後,要先輸入副根兩碼,才再輸入主根第二碼。雖說是爲了避重碼,但如此輸入太不直線。”
按:“雙根”和“雙編碼”,是形碼的一種設計,有人喜歡,有人不喜歡,仁者見仁,智者見智。你不喜歡,這是明擺着的了。你說的這個“複雜”,那個“不直線”,基本涵蓋了鄭碼、徐碼的拆字規則,也就是說,你壓根不喜歡這樣的設計。喜歡的人,覺得很高明;不喜歡的人,每一處都覺得不好。你的話有太濃的先入爲主的意味了。

5.“就算我指出了有某些優點缺點,仍然希望不同用戶各適其適,中間不涉及任何仇恨。……不過,有一些東西,的確可以從一些客觀的原則說上比較好或比較有問題,這對深入硏究輸入法,日後改善設計或促進新設計,都有幫助。”
按:你指出某些輸入法的某些優缺點,只是停留在表面,而且主要是片面強調某些方面的優缺點,這樣的“指出”適足以增加無謂的口舌之辯。而且,所謂的“我指出了”,仍是一些老調重彈而已。

6. “況且用「我覺得」這種訴諸主觀的方式,而非事實擧例或論證……”
按:我使用“我覺得”,並不代表我更主觀;你不使用“我覺得”,其實仍是“我覺得”,也沒有更客觀。你的事實或舉例論證,含有明顯的片面的言論導向,即使採用了一些看似客觀的敘述方法,也無法掩蓋敘述者的主觀態度。

7.“把漢字裁剪成若干部件,把同一筆斷開,不能說不合乎漢字規律。文字學家剖析甲骨文、金文、小篆時,也往往要這麼做。”
按:即使有少數“截筆”與一些文字學家的做法相符,能代表多數和全部嗎?如果大部分都不相符的話,以偏概全地強調“合乎漢字規律”有什麼意義?

8.“漢字九成以上是組合字,由兩個或以上的部件組成,獨體字只佔很少。「字首、字身」的確符合漢字的客觀構字現象。”
按:說漢字由很多部件組成,沒什麼問題;涉及到“漢字的客觀構字現象”,並不合適,因爲倉頡的字首、字身並不完全依照漢字構字來設計的。

9. “效率並不等同於打字速度,也包括學習速度等指標。”
按:是否願意以“學習時候稍微辛苦點”來換取學成後的便捷和速度呢?這屬於個人選擇。

10. “若單說速度,有客觀的輸入法競賽,不用訴諸個人。”
按:各個形碼輸入速度如何,公衆反映很多,上網一搜便知。

11.“我也沒有說過倉頡規則很簡單,但跟以不用怎麼選字爲招來的各種形碼比,也不算特別複雜。”
按:倉頡以碼長和複雜規則來降低重碼。可能學成後、用習慣了,就不覺得複雜了。我的使用鄭碼、徐碼的朋友也不覺得自己打字有什麼複雜的規則,認爲那是初學者的抱怨。
12.“徐碼採用類似鄭碼的雙字根(主副根)設計,要記住逾350個字根已經要成本,還要再記得它們的兩個鍵,難度就更高了。”
按:補充一點,雖然鄭碼、徐碼字根很多,又分主根、副根,增加了記憶量,但是鄭碼、徐碼在輸入主副根中的漢字或漢字部件時,確實十分爽利。如果用倉頡去拆,去輸入,很多時候,不是很熟悉的話,確實要花點功夫,或者要特別記憶。這樣看來,這份記憶量,也並不是只有鄭碼徐碼纔有,其他輸入法只是轉化成不同形式的記憶而已。
  • 9# cj6
  • 14-5-2020 05:25:30
本帖最後由 cj6 於 14-5-2020 05:30 AM 編輯

先聲明,這兒是倉頡論壇,我對其他輸入法了解不足,有錯歡迎指正,但不要扭曲我的話。

身為樓主的Ichirou開帖已說他初接觸徐碼,而且Ichirou雖然主動學過多種輸入法,但也已經選定使用倉頡一段時間,要抽離地說,即使Ichirou也主動提及其他輸入法,對徐碼也有肯定的地方,Ichirou這帖比較時有點「倉頡中心」也對的。

不過孫明復在此壇中只有5帖,而全都在這串中。一開始就是看到Ichirou對徐碼有不完全認同之處就冒出來說他沒道理、沒參考價值,接着連番發表超出樓主開帖範圍,以徐碼角度來非議倉頡的長篇言論(即使孫明復聲稱對倉頡「沒什麼仇恨」),甚至第二波發帖,以孫明復的表現,不但是「徐碼中心」,而且那種「中心」態度比樓主有過之而無不及。

論觀點,各人一定有各自看法。一些沒有道理的個人習慣,比如孫明復說:「但是鄭碼、徐碼在輸入主副根中的漢字或漢字部件時,確實十分爽利。」是比較因人而異,也難以有什麼統一量度的,我覺得旁觀的人沒什麼好回應。不過,Ichirou開帖時雖然也涉及個人觀點和習慣,但有看出他也嘗試用一些比較具體的點去比較,反而是孫明復的回應中就有所誤讀或看不到這些,只以為樓主要非議徐碼。也許時因為孫明復回應時太心急,我看到雙方對不上嘴,各說各話的主要有:

1. Ichirou說了兩次「直線」,第一種是說字根的學習成本,第二種是說取碼流程。我認為這是兩個不同的概念,而Ichirou說得不清楚,孫明復就誤解成同一個概念。

我個人的理解,說取碼流程的不「直線」,我會用不「向量(vector)」。向量的取碼,是依漢字拆出字根後,順向輸入這些字根。不向量的取碼,則在輸入過程中要重複、逆向甚至跳躍輸入。鄭碼用了「雙根」,比「單根」的輸入法要兼顧另一種思維,但如果取碼過程是順向,不會重複、逆向、跳躍的話,它還是向量的。徐碼有「ABba」的情況,在輸入第二根後,要再次按到第一根的鍵,就逆向了;而且它不是「先第二根後第一根」,而是「先第一根再第二根又返回第一根」,這是跳躍了。

2. Ichirou指出「音託對官話北語以外的漢語不公平」是很具體的。孫明復說「他的“音託”無所謂對其他漢語族語的不公,你的評判太過誇大了,因爲這只是設置副根小碼的一種方法而已」,完全是狀況外,沒有看明白別人說什麼。

為了方便孫明復明白,我用一些實例。例如在香港,九成人口的母語是粵語,除了近年有些學習推行「普教中」外,很大部份人的平日生活都只使用粵語這種漢語,他們不怎麼會(甚至完全不會)官話,是正常情況。於是:
  • 「夕」粵音zik,徐碼小碼為官話音託的x
  • 「欠」粵音him,徐碼小碼為官話音託的q
  • 「几」粵音gei,徐碼小碼為官話音託的j
於是徐碼的設計,就對很大部份香港人不公了。台灣雖然官話比香港普及,但也有人長年習慣用閩台語、客語,東南亞和海外華僑也有許多非官話群群族和家庭。徐碼的設計也對他們不公。但徐碼的說法和孫明復口中,根據官話音託都被說成是沒有絲毫不妥之處的,Ichirou的批評並不是臆測。孫明復的無論點反駁,更反襯了Ichirou這點批評情理俱備。

順帶一說,我這個不懂徐碼的人,單單看了少許徐碼Q和W兩個鍵的音託,也發現一些新問題:
  • 「广」在正體中文裏是ān,在簡體中文裏才是guǎng。徐碼定作g,就向了簡體中文靠攏。
  • 「疒」讀chuáng或nè。徐碼定作b,可能是誤讀(讀錯字)之過。
還有,教程說「小码为:V 所有无读音字根」,但其實絕大多數小碼為V的都有讀音,似乎應修訂作「小碼為V:常用字字根」。
  • 10# cj6
  • 14-5-2020 05:28:23
最後,孫明復用「習慣了就不是短板」去為「短板」護航,這其實是叫別人收聲不用討論。我不認為這是有益的建言。

輸入法都是有限制下的產物。每種設計都有背後的平衡掙扎,不可能最最直觀方便又完美。不過,有些設計的道理攤出來看,比較具體有依據,比較能說服較多人;有些則攤出來看後,仍然會有比較主觀的因素,只可以讓用戶習慣,難以作為廣泛可取的經驗。要是能分辨出來,還是對每人的思考有益。

但看到孫明復尤其是第5點的說法,本人心涼了半截,如果是這樣,其實孫明復根本不用回應,因為任何人指出任何情況,也一樣可以是「無謂的口舌之辯」,只要有誰覺得不對味、不喜歡這種指出,就會變成「無謂的口舌之辯」,根本沒有討論的意思,那不如誰都不要討論,誰都不要在論壇上發言了。
123下一頁
回復 收藏