倉頡之友
康熙与倉頡
主頁 自學 倉頡字典 康熙字典體

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

論壇 聯絡 康熙字典網上版 捐助本站
嘸蝦米是一種有國際觀的輸入法嗎? ——論輸入法的簡繁... - 倉頡論壇 - 康熙字典与倉頡之友 - Powered by Discuz!



 找回密碼
 注册
查看: 19192|回復: 8

嘸蝦米是一種有國際觀的輸入法嗎? ——論輸入法的簡繁...

  [複製鏈接]
發表於 19-2-2020 16:45:30 | 顯示全部樓層 |閱讀模式
本帖最後由 馬拉一個錘子 於 19-2-2020 04:56 PM 編輯

嘸蝦米是一種有國際觀的輸入法嗎?
——論輸入法的簡繁通打性能

一、 引言
在嘸蝦米的文宣中,其常常以「貫通簡繁」、「有國際觀的輸入法」而自居。而比嘸蝦米年長的倉頡輸入法,在許多人的印象裏,是一種「繁體中文輸入法」,許多人學習倉頡輸入法,也是出於輸入繁體中文的需要。那麼,倉頡輸入法在「貫通簡繁」上究竟做得如何?什麼樣的輸入法才是「有國際觀」的輸入法?本文將從重碼方面,對倉頡、大易、鄭碼、五筆、徐碼、嘸蝦米六種輸入法進行測評,並得出最終的結論。本文存在的不足是,未對重碼結果中的漢字使用字頻進一步加權計算,僅有靜態的重碼比對結果。

二、 事實與相關指標
許多形碼輸入法能夠讓使用者實現高速的盲打,是由於其將重碼控制到了合理的範圍內。若重碼過多,使用者需要記憶的字序很多,輸入時的不確定性將會增大。因此,有國際觀的輸入法在同時輸入簡繁體時,重碼應該控制在合理的範圍中。因此,本文將通過計算各個輸入法方案在僅有簡體常用字、僅有繁體常用字和同時容納簡繁體常用字時的重碼情況,以及簡繁重碼情況來考察各個輸入法是否是有國際觀的。
本文定義「重碼情況」為存在重碼的編碼數量。「簡體常用字」為「语料库在线」這一網站提供的「现代汉语语料库字频表」中所出現的漢字。「繁體常用字」為台灣教育部的「字頻總表」中出現的漢字。此兩張表中出現的PUA字符、特殊符號等等將被濾去。

三、 實證部分
(一)各輸入法在簡體中文下的重碼情況
本文使用duplicatestatistic.py對輸入法的重碼情況進行統計。在此,本文將僅保留各輸入法方案碼表中存在於「现代汉语语料库字频表」中的漢字,然後計算存在重碼的編碼數量。
本文使用的碼表,五筆86提取自王碼大一統2018軟件,嘸蝦米輸入法提取自嘸蝦米官方相關文件,大易輸入法為大易四碼,提取自Windows系統,鄭碼碼表來自鄭碼QQ群,徐碼碼表取自徐碼QQ群,倉頡三代碼表為倉頡三代補完計劃之碼表,倉頡碼表中以X排重的編碼將被濾去。其中五筆碼表與嘸蝦米均為@mrhso提取,在此感謝他的努力。
簡體中文的常用前5666個字中,各輸入法的重碼結果如下:
輸入法名稱
有重碼的編碼數量
倉頡三代
182
大易四碼
288
鄭碼6.6
252
五筆86
178
五筆98
173
徐碼
100
嘸蝦米
1165

可以看到,在僅計入簡體字的情況下,上方的數種輸入法中,徐碼的有重碼編碼數量為最少。倉頡三代的有重碼編碼數量與五筆86相近,若要進一步評判這兩種輸入法在簡體下的重碼表現情況,則應將字頻的因素納入考量範圍中,進行加權計算。但由於作者的怠惰,本文並不打算進行進一步的加權計算。而嘸蝦米的重碼數量則為徐碼輸入法的11倍,倉頡三代的近7倍,奪得了重碼之冠。嘸蝦米的重碼較多,除了嘸蝦米本身字根、規則設計的不合理之外,還有一個原因是嘸蝦米被設計成在簡體模式打繁體編碼可以出簡體字。這進一步增加了重碼。

(二)各輸入法在繁體中文下的重碼情況
本文同樣使用duplicatestatistic.py對輸入法的重碼情況進行統計。在此,本文將僅保留各輸入法方案碼表中存在於「字頻總表」中的漢字,然後計算存在重碼的編碼數量。
輸入法名稱
有重碼的編碼數量
倉頡三代
132
大易四碼
216
鄭碼6.6
252
五筆86
238
五筆98
241
徐碼
81
嘸蝦米
938

在僅計入繁體字的情況下,存在重碼的編碼數量仍是徐碼為最少。而倉頡三代則略略多於徐碼輸入法。湊巧的是,鄭碼輸入法的有重編碼數量亦是252個,與僅計入簡體情況下的有重編碼數量相同。嘸蝦米則再次奪得了重碼數量之冠,約為最少的徐碼的11倍,倉頡三代的7倍。
 樓主| 發表於 19-2-2020 16:46:21 | 顯示全部樓層
(三)同時計入簡體中文與繁體中文的重碼情況
要考察何為「有國際觀」的輸入法,單單計入簡體,或者單單計入繁體都是不夠的。首先,現在的Unicode字符集已簡繁兼收,輸入法碼表一般都至少會收入Unicode基本區內的漢字。而且,一般用戶在一定的時間內只會使用一張碼表,若為了輸入簡體或繁體需要不斷地切換碼表或切換模式,必然帶來額外的麻煩。

輸入法名稱
有重碼的編碼數量
倉頡三代
297
大易四碼
969
鄭碼6.6
867
五筆86
1249
五筆98
1258
徐碼
196
嘸蝦米
/

從上方的統計結果看,徐碼輸入法和倉頡三代即使在同時收入簡繁體常用字時,其有重編碼仍然保持着較低的水平,甚至比嘸蝦米輸入法僅收入繁體常用字時的有重編碼數量還低許多倍。而大易四碼、鄭碼輸入法與五筆輸入法的有重編碼數量均出現了較大的上升,這是因為這些輸入法在設計時未刻意離散所致。這些輸入法中,簡繁部首往往被設為一個字根並有相同的編碼,因此在繁簡皆收時,將出現「說说」、「鏡镜」、「騙骗」等大量結構性重碼。以王永民教授在《形碼設計三原理》一文中的理論,即是簡繁字根相容性很差。倉頡輸入法由於其特殊的字首字身設計,重碼數量僅高於徐碼。
嘸蝦米輸入法之所以沒有統計結果,是由於官方將其分為「簡體模式」、「繁體模式」、「日文模式」等多種模式所致。分為多種模式,的確可以暫时迴避結構性重碼的問題,但是由此將會導致更多問題:首先,使用者在交替輸入簡繁漢字時要不斷地切換模式,十分麻煩。其次,有許多漢字,如「俤」、「鱇」等字,使用者單看字形不知道究竟要切換到哪個模式去輸入,因此使用者必須反覆切換模式嘗試輸入,更加增添了麻煩,也減低了輸入的流暢度。再次,一些漢字本來難以界定究竟是日本漢字,簡體漢字又或是繁體字,嘸蝦米只得給它們強行分類,造成使用者的困擾。例如「鉷」字,《廣韻·洪》中有:「鉷,弩牙」。《太平廣記·楊慎矜》中有:「吏出,掄試開其案牘,乃楊慎矜於帝所訟李林甫、王鉷也,已斷王鉷族滅矣,於是不敢開,置於舊處而謁王。」。在Unicode文檔中,該字更是同時有來自大陸、台灣、韓國、日本、越南等地的提交源,而嘸蝦米輸入法卻只能切換到日文模式打出該字。再例如粵語字「瞓」字,嘸蝦米只能以「簡體模式」輸入,無視了香港的大量粵語使用者。而且在即將發佈的擴展G區中,已有「瞓」的簡化字「⿰目训」。「劏房」的「劏」字同樣也只能由「簡體模式」輸入,而簡體的「㓥」字又該如何分類?嘸蝦米的這種「分模式」的辦法顯然不是長久之計。最後,嘸蝦米的有些做法並不符合大陸規範,例如「瞭望」的「瞭」字在簡體模式下無法輸入,若輸入「瞭」的編碼,則會出現「了」。
另外,嘸蝦米如果在繁體模式下輸入簡體字的編碼,則會出現繁體字,如果在簡體模式下輸入繁體字的編碼,則會出現簡體字,這種做法帶着Big-5時代的影子。其時,由於Big-5僅有一萬三千多字,沒有收錄許多異體字及簡體字,許多台灣的繁體中文形碼採取了如下的做法,即將Big-5字未收的異體字字形取碼對應到被視為正體的字當中。例如,大易輸入法對「脚」的取碼為「月土虫耳」,但由於Big-5未收該字,因此大易就將「月土虫耳」對應到「腳」這個漢字。嘸蝦米輸入法對「脚」的取碼為「UYUP」,同樣地,嘸蝦米將「UYUP」對應到「腳」字。與大易輸入法不同的是,嘸蝦米甚至允許使用者輸入簡體碼而出繁體漢字,並聲稱其能減短碼長。這種拆B字而出A字的做法,在Big-5時代也許能給使用者帶來方便,但在Unicode時代已不再適用,反而是一種歷史包袱,因為Unicode早已收錄了這些異體字。因此,若大易使用者需要輸入「脚」字時,出現在屏幕上的候選為「1.2.脚」。本來想輸入「脚」的使用者在此就面臨了選字的麻煩。嘸蝦米輸入法的使用者也面臨着同樣的問題,而且嘸蝦米使用者必須切換模式,才能輸入簡體字。倉頡輸入法由於朱邦復團隊設計了倉頡系統,堅持一字一碼的關係,反而沒有上述的歷史包袱。
 樓主| 發表於 19-2-2020 16:47:19 | 顯示全部樓層
本帖最後由 馬拉一個錘子 於 19-2-2020 04:51 PM 編輯

(四)各輸入法方案的簡繁同碼情況
為了進一步研究各輸入法是否具有「國際觀」,本小節中將單獨研究各輸入法方案的簡繁同碼情況,即某個繁體字的編碼與某個簡體字的編碼相同產生衝突的情況。例如倉頡輸入法中「飲」的編碼為「人戈弓人」,「贪」的編碼亦為「人戈弓人」,兩者產生了衝突。本文將使用tsduplicatestatistic.py來統計簡繁同碼情況。注意,簡體中文中未被簡化的傳承字不計入繁體字之中。另外,由於選用的簡繁字頻表存在的一些差異,有少量的傳承字同碼也被計入了統計結果中,但對結論不會有明顯影響。
輸入法名稱
簡繁重碼的編碼數量
倉頡三代
66
大易四碼
601
鄭碼6.6
490
五筆86
934
五筆98
939
徐碼
45
嘸蝦米
/

在有統計結果的輸入法中,簡繁重碼以五筆較為嚴重,五筆98的簡繁同碼編碼數量達到了939個。簡繁重碼數量最少的為倉頡三代與徐碼,這意味着,使用這兩種輸入法的用戶在輸入簡繁時基本可以做到互不干擾,無需不停地切換模式或碼表。
嘸蝦米由於官方原本就將簡繁互相分離開來的緣故,無法統計其簡繁重碼情況。但是從對其繁體、簡體下的重碼情況統計結果來看,即使真的將簡繁體字用嘸蝦米的規則編入一張碼表內,其簡繁同碼的情況必然是相當嚴重的。

倉頡三代的簡繁同碼狀況.png
 樓主| 發表於 19-2-2020 16:52:50 | 顯示全部樓層
此為徐碼輸入法的簡繁同碼狀況部分截圖
徐碼輸入法的簡繁同碼狀況部分截圖.png
 樓主| 發表於 19-2-2020 16:55:45 | 顯示全部樓層
四、 結論
通過對倉頡三代、大易四碼、鄭碼6.6、五筆86、五筆98、徐碼和嘸蝦米在簡體情況下、繁體情況下、簡繁兼收情況下進行的研究表明,倉頡輸入法和徐碼輸入法在這幾種情況下表現均較為良好,尤其是簡繁兼收時,倉頡輸入法和徐碼輸入法輸入簡繁幾近互不干擾的程度。即使用戶只知簡體形而不知繁體形,或只知繁體形而不知簡體形,也可以使用OpenCC簡繁轉換達到比較良好的效果,這為用戶提供了充足的選擇。而嘸蝦米輸入法在前兩種情況下的表現較差,而且其官方碼表更是將簡體繁體分開,存在着上述的許多問題。因此,本文認為,倉頡輸入法和徐碼輸入法是有「國際觀」的輸入法,而嘸蝦米輸入法在輸入簡繁體時沒有特別的優勢,並非一種有「國際觀」的輸入法。

參考文獻
[1]王永民. 计算机汉字键盘设计“三原理”[D]. , 2005.
 樓主| 發表於 20-2-2020 21:06:04 | 顯示全部樓層


感谢阅读
發表於 27-4-2020 06:47:11 | 顯示全部樓層
嘸蝦米的問題很多也很嚴重。比如有嘸蝦米用戶提出「嘸蝦米的選字信賴度有多高?」之問:https://www.ptt.cc/bbs/Liu/M.1274765899.A.4C5.html
簡言之,發文者碰到的情況是:不標準的拆法放在前,標準拆法反而排在後方。

其實,嘸蝦米甚麼加V免選字之類已是開外掛。
傳統倉頡一個外掛都不開,重碼率最低。這才是眞正的可信賴。

相反,看嘸蝦米的討論,使用者經常都問爲甚麼某個字竟然可以拆成某組碼。他們流行査碼工具,但査碼工具不會仔細解說每組碼的原由,許多使用者看着某組碼,就百思不得其解。這些問題的答案,很可能是雜亂無章的簡速碼、異體碼等等。比如頂樓連結中提問者問的「坨」字,它是「土(Y)宀(N)匕(F)」,但爲甚麼「鴉」和「壹」也是「YNF」呢?明明「鴉」是「牙(X)(N)灬(F)」、「壹」是「士(Y)冖(N)豆(D)」才對啊。看了回覆,「壹」原來是取了中文裏罕用的日本異體「壱」之形,拆作「士(Y)冖(N)匕(F)」——提問者對此的反應是「 ̄▽ ̄」(一郎按:「壱」字拆作「士冖匕」當然沒問題,但「壹」不是「壱」,異體字不等於是同一個字元!)。「鴉」爲甚麼「X」變「Y」至今還未有解釋。

倉頡輸入法並不會如此。若有使用者不懂一個字的取碼,基本上是他對字根或規則不夠熟悉,其他人回答時,只要解釋一下如何依規則取到這串碼即可,差不多每字都可以以統一的規則去解說,以理服人。甚至可以爭辯到極少數字的取碼是否有涉嫌不夠依規則之處。但嘸蝦米的討論,從沒有人這麼質疑,遇到解釋不了的字,其他使用者就會鼓吹死背。有不少嘸蝦米使用者甚至會鼓吹大家不使用依規則所得的正常取碼,改爲去背誦那些不合理的簡碼。完全是兩個世界。
發表於 27-4-2020 06:48:29 | 顯示全部樓層
您需要登錄後才可以回帖 登錄 | 注册

本版積分規則

Archiver|手機版|小黑屋|康熙字典与倉頡之友

GMT+8, 22-11-2024 01:56 AM , Processed in 0.018791 second(s), 10 queries , File On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回復 返回頂部 返回列表






倉頡之友 .自學倉頡輸入法    1997 - 2024   
馬來西亞    https://www.chinesecj.com
姐妹站:康熙字典網上版