轉(zhuǎn)載請注明:原作者窩子
比爾·蓋茨在他的《未來之路》中說過一句經(jīng)典的話:如果你手中只有錘子舀奶,你會希望你的所有問題都是釘子轧拄。自明媚四月我開始編制五筆詞庫以來,極爽4.0也行將于耕耘半年之后的金秋十月推出飞蹂,至此我在五筆詞庫上的工作也該告一段落了柄延。半年的詞庫工作和思考也使自己積累了一些關(guān)于中文鍵盤輸入及詞庫方面的想法,這些想法逐漸形成明晰的理念挎峦,并且一步步地落實(shí)到自己編制的極爽詞庫中香追。在這里,讓我回顧總結(jié)一下這些理性認(rèn)識坦胶,讓大家看看我是如何用詞庫這把“錘子”敲打一些輸入方面的“釘子”的透典。
在開始正文前,首先說明兩點(diǎn):
1迁央、引用我在極爽3.0發(fā)布帖中的一句話:由于五筆編碼本身的技術(shù)局限性掷匠,意味著編制一個(gè)精品詞庫的過程是項(xiàng)綜合各項(xiàng)要素考慮的妥協(xié)工作,是種“戴著鐐銬跳舞”的自由岖圈。代價(jià)的犧牲總會發(fā)生讹语,而“完美”也是個(gè)永遠(yuǎn)追求但永遠(yuǎn)無法企及的目標(biāo)。
2蜂科、本篇文章中談?wù)撛~庫效率的一般性問題顽决,在此排除掉不同五筆用戶不同需求的特殊情況,以及排除不同輸入法的功能差異导匣,以減少所討論主題的復(fù)雜性才菠,讓焦點(diǎn)聚集在詞庫問題上。假如有朋友對本文中的觀點(diǎn)持不同看法需要探討贡定,請?jiān)谶@個(gè)前提下進(jìn)行赋访。
“窩子第一定律”:
來到這個(gè)論壇的人,應(yīng)該都是對中文的鍵盤輸入比較有興趣的朋友缓待,都想追求較快的輸入速度蚓耽,提升自己的輸入效率。那么如何提升輸入速度呢旋炒?
對輸入法有興趣的朋友應(yīng)該都知道“盲打”這個(gè)概念步悠,但即使是這樣一個(gè)常見的說法,居然也是眾說紛紜瘫镇。有人說“盲打”是不看鍵盤鼎兽,有人說“盲打”是不看輸入候選框。我想铣除,其實(shí)不看鍵盤的所謂“盲打”只是輸入的基本功谚咬,算不上真正的中文“盲打”。想提升輸入速度的人首先要解決的是對鍵盤的熟悉通孽,最起碼能在不看鍵盤的情況下序宦,至少能比較熟練快速地打出26個(gè)英文字母及一些常用標(biāo)點(diǎn)符號。我所說的這點(diǎn)就是“純擊鍵熟練度”?,是輸入的基本功互捌,和是否中文輸入無關(guān)潘明。假如你還沒具備這個(gè)基本功,我個(gè)人的建議是秕噪,到這里你是來錯(cuò)地方了钳降,你首先要做的去練練敲鍵盤的基本功。
當(dāng)然腌巾,英文字母盲敲得快不等于中文也打得快遂填,否則前些時(shí)間獲得世界英文打字冠軍的捷克女人就是中文輸入冠軍了。不少打拼音的朋友打英文可能奇快無比澈蝙,但要和身邊打五筆的朋友比中文速度吓坚,可能就要自愧不如了,這里就涉及到一個(gè)非常重要的東西:?“編碼效率”?灯荧。王碼五筆之能出現(xiàn)礁击,是因?yàn)槠匆舸驖h字的編碼效率太低;而現(xiàn)在之有“萬碼奔騰”之說逗载,也是因?yàn)椴簧偃俗非蟾叩木幋a效率之因哆窿。在同等“純擊鍵熟練度”的情形下,中文輸入速度比拼中厉斟,編碼效率高者勝挚躯。
在具體的輸入實(shí)踐中,單就作為一種編碼的五筆來說擦秽,也有不同的效率表現(xiàn)码荔,這就是我們這里要討論的焦點(diǎn)主題——?“詞庫效率”?。現(xiàn)在詞庫不少感挥,但除了因各個(gè)詞庫不同特色而適合不同用戶群之外目胡,就通用性而論,也有詞庫效率的高低之分链快,即用戶感性的“詞庫好壞”之別了。
在這里就得出了“窩子三大定律”中的第一定律:
第一定律:中文鍵盤輸入的速度眉尸,等于用戶的純擊鍵熟練度和其所使用編碼的詞庫效率的乘積域蜗。
“窩子第二定律”:
“第一定律”說的都是大道理,比較容易理解噪猾,下面就來具體深入一下霉祸,探究到底什么因素影響詞庫效率,或者說客觀評價(jià)一個(gè)詞庫優(yōu)劣的標(biāo)準(zhǔn)是什么袱蜡?
作為一般的五筆用戶來說丝蹭,并不會去深思這個(gè)問題,他們只是感性地以自己的切身體驗(yàn)來評價(jià)一個(gè)詞庫:有的人說王碼五筆自帶的小詞庫好坪蚁,因?yàn)橹卮a低奔穿,而且通用镜沽;有人還說零重碼的詞庫更好,又能打詞又不用選重碼贱田;有人說中型詞庫好缅茉,夠用就行;有人說大詞庫好男摧,想打什么詞就打什么詞蔬墩,就算重碼多點(diǎn)也沒關(guān)系。
從作詞庫這么長時(shí)間來的思考耗拓,覺得上面說的各種說法不無道理拇颅,但又是“只見樹木,不見森林”乔询,不乏偏頗和誤導(dǎo)的地方樟插,每一種說法都能輕而易舉地舉出反例。作為一個(gè)詞庫的作者哥谷,需要尋找出對詞庫來說最本質(zhì)的效率元素岸夯,而不能被表面的概念所迷惑。
大多用過五筆的人都會說们妥,五筆比拼音打得快猜扮,五筆比拼音可以盲打;五筆比拼音的擊鍵數(shù)少监婶。仔細(xì)追究來說旅赢,這里的快有兩個(gè)因素:擊鍵數(shù)少;可以盲打惑惶。具體來分析:
在同等擊鍵速度下煮盼,擊鍵數(shù)少自然能打得更快。從編碼和詞庫的角度來說带污,擊鍵數(shù)少是因?yàn)樵~庫中的平均碼長較短僵控,在同樣一篇文章中能用更少的碼鍵“表達(dá)”出來。這點(diǎn)容易理解鱼冀,而且確實(shí)是衡量詞庫效率的一個(gè)非常重要的因素报破。拼音之所以比較“低效率”,一個(gè)重要原因就是因其平均碼長要比五筆長千绪。五筆用戶為什么要打詞組而不僅僅打單字充易,原因也是這樣可以降低均碼長。有些朋友在五筆長碼方面的嘗試荸型,之所以在目前支持者甚寡盹靴,一個(gè)致命缺陷就在于其比目前的標(biāo)準(zhǔn)四碼編碼增加而不是降低了均碼長。
但事情還有另一面腻豌,就是怎樣方便盲打——不少人把這一點(diǎn)歸結(jié)為詞庫的重碼率汽绢。這是一個(gè)重要因素苔巨,但勉抓,不完全装蓬。完整正確地說蹈丸,影響能否盲打的真正因素壁涎,是對一個(gè)詞庫的熟悉程度坏瘩,或者記憶程度绍妨。一個(gè)重碼再少的詞庫润脸,假如第一次用,還是可能不便盲打他去,而對于一個(gè)你非常熟悉的詞庫毙驯,即使它的重碼很多,假如你能熟悉它的每一個(gè)位置的話灾测,也是可以盲打的爆价,當(dāng)然這需要你更多的功夫去熟悉它。
那么在同等初次接觸條件下媳搪,你就可以說铭段,一個(gè)需要更少記憶量,更容易熟悉和上手的詞庫就是個(gè)相對較好的詞庫秦爆。需要明確和對不少用戶澄清的一點(diǎn)(不假思索可能很容易認(rèn)同)是序愚,一個(gè)詞庫所需的記憶量并不簡單取決于其收詞的多少和重碼率的高低,一個(gè)大詞庫不一定就比一個(gè)小詞庫需要更多的記憶量等限,一個(gè)零重碼率詞庫也不一定就比一個(gè)有重碼的詞庫更好熟悉和上手爸吮。具體道理可在“第三定律”一節(jié)中闡釋,在這里望门,我把這個(gè)決定著詞庫記憶信息量的因素稱為“確定性”——這是一個(gè)影響輸入速度的一個(gè)非常非常關(guān)鍵的因素形娇,高確定性可讓你順暢地輸入,而低確定性(高不確定性)則讓你舉棋不定筹误,嚴(yán)重影響輸入的正確性和效率桐早。
所以這里就有了“窩子三大定律”中的重要的“第二定律”:
窩子第二定律:詞庫效率與詞庫的確定性成正比,與詞庫的均碼長成反比厨剪。
用公式來表示就是:
詞庫效率=確定性/均碼長
這就是著名的窩子公式了勘畔。這個(gè)公式可作為用來評價(jià)一個(gè)詞庫的優(yōu)劣標(biāo)準(zhǔn)。(什么丽惶,沒聽說過?太孤陋寡聞了吧爬立。這也難怪钾唬,是我今天早上才想出的名稱^_^)
“窩子第三定律”:
均碼長的概念和原理容易理解,也能量化出來比較,而確定性這個(gè)概念抡秆,相信大多數(shù)人還缺乏理性的完整認(rèn)識奕巍,有必要在這進(jìn)一步深究其構(gòu)成要素。
我們從多年的學(xué)生生涯中明白一個(gè)道理:學(xué)習(xí)一樣?xùn)|西儒士,深入理解其道理比死記硬背重要的多的止,也省力得多。一個(gè)有規(guī)律(規(guī)則)的東西比無規(guī)律(規(guī)則)的東西容易掌握着撩,而一個(gè)規(guī)律(規(guī)則)簡單的東西又比一個(gè)規(guī)律(規(guī)則)復(fù)雜的東西容易掌握诅福。
也就是說,一個(gè)有規(guī)律(規(guī)則)的東西比無規(guī)律(規(guī)則)的東西所需的“記憶信息量”少拖叙,而一個(gè)規(guī)律(規(guī)則)簡單的東西又比一個(gè)規(guī)律(規(guī)則)復(fù)雜的東西所需的“記憶信息量”更少氓润。
可以看出,記憶信息量的多寡已超出簡單的對象的數(shù)量多寡了薯鳍。這與其規(guī)則的明晰度有關(guān)咖气。實(shí)際上,一個(gè)詞庫的記憶信息量是指這個(gè)詞庫中所需專門記憶的那部分的總和挖滤,而不是詞庫的詞組數(shù)量本身崩溪。?(對于大詞庫還是小詞庫,同樣需要記憶其重碼的詞組斩松,另外伶唯,小詞庫需要記憶其所有的詞組量,而大詞庫需要記憶其所無的詞組量砸民。我們大致可以把少量特別高頻的常用詞組排除出這個(gè)記憶信息量范圍抵怎。)
對于兩個(gè)同樣初次接觸的詞庫,這個(gè)決定著其熟悉上手程度的難易的元素就是其“確定性”岭参,具體分析反惕,這個(gè)詞庫確定性高低由以下三要素構(gòu)成:詞組重碼率、詞組打空率演侯、詞組單純度姿染。
詞組重碼率是三要素中最直觀最容易看到和理解的概念,就是詞庫中在輸入時(shí)需要按選擇鍵才能使其上屏的詞組占全部詞組數(shù)量的比例秒际。顯然悬赏,重碼部分的詞組是需要專門記憶其位置的,這增加了一個(gè)詞庫的記憶信息量娄徊。在其它同樣條件下闽颇,重碼率越高,該詞庫所需記憶信息量就大寄锐,詞庫的確定性就越低兵多。反之亦然尖啡。
詞組打空率指在你不了解這個(gè)詞庫是否有某個(gè)詞組的情形下,想當(dāng)然地以詞組編碼的方式輸入這個(gè)詞組剩膘,沒有打出來的數(shù)量占你全部的想以詞組編碼方式輸入的詞組總量的比例衅斩。可以打出來的詞組不需要你記憶怠褐,而打不出來的詞組則需要記憶畏梆,以免下回重新打空。顯然奈懒,打空率越高奠涌,該詞庫所需的記憶量越大。詞庫的確定性就越低筐赔。反之亦然铣猩。
顯而易見的是,打空率和詞庫中的收詞量有直接的聯(lián)系茴丰。但注意达皿,兩者并無絕對的必然關(guān)系。這點(diǎn)可能會出人意外贿肩,理由是這里有一個(gè)常人容易忽略和被誤導(dǎo)峦椰,而對詞庫來說,又是決定其記憶信息量和科學(xué)合理性的重要要素:詞組單純度汰规。
詞庫收錄的全部詞組有單純詞和復(fù)合詞之分汤功,這就象是原子和分子之分的概念一樣,分子是由原子組成的溜哮。一個(gè)詞庫的詞組單純度就是指單純詞占全部收詞中的比例滔金。單純詞是個(gè)不可再分出詞組而只能分出單字的詞組,包括二字詞茂嗓、一些三字詞餐茵、成語、音譯詞述吸、專用名詞等詞組忿族。復(fù)合詞則是可拆分出多個(gè)單純詞組的多字詞組,最常見的形式是“二字詞+二字詞”的四字構(gòu)詞形式蝌矛,如“國際貿(mào)易”“對外開放”道批。
中文的語言要素可以這樣等級來劃分:單字、單純詞入撒、復(fù)合詞隆豹。嚴(yán)格來說,復(fù)合詞并不算語言要素茅逮。在這些當(dāng)中噪伊,單字最少簿煌,常用單字更少,三四千個(gè)左右鉴吹;單純詞較多,常用單純詞雖多些惩琉,但數(shù)量也是有限的豆励,個(gè)人主觀估計(jì)是在五萬左右,不超過十萬個(gè)瞒渠。而復(fù)合詞則可以說是無限多了良蒸。
單字的編碼容易記憶和熟悉,常用單純詞的編碼也容易上手打出伍玖,復(fù)合詞的情況就大相徑庭了嫩痰。復(fù)合詞組數(shù)量無限,組詞數(shù)量和長度無限窍箍,具有非常大的不確定性串纺。?在詞庫中,單純詞數(shù)量和復(fù)合詞數(shù)量的對比我稱之為詞庫收詞結(jié)構(gòu)椰棘。在兩個(gè)詞庫詞組總量相當(dāng)?shù)那闆r下纺棺,顯然,一個(gè)單純詞更多邪狞、復(fù)合詞更少的詞庫顯然要比另一個(gè)詞庫具有更高的確定性祷蝌,更少的記憶信息量,從而也更科學(xué)合理些帆卓。
因?yàn)榫揠斎霃?fù)合詞組,雖然有均碼長短的優(yōu)點(diǎn)剑令,但由于其不確定性高糊啡,表現(xiàn)為你不能確定這個(gè)復(fù)合詞組在詞庫中是否收錄了,你打它的編碼是否會打空尚洽,有這個(gè)是否就有另外一個(gè)類似的悔橄,加上復(fù)合詞組用途更加專門,常用度更低腺毫,輸入時(shí)編碼規(guī)則和一般的單字和二字單純詞不一樣等一大堆的原因癣疟,這些不確定性完全可能抵消了其均碼長短的優(yōu)點(diǎn)而過之,結(jié)果當(dāng)你想以復(fù)合詞組形式打出時(shí)潮酒,所耗時(shí)間完全夠分開單純詞來打出而有余了睛挚。可以說急黎,五筆(形碼)打復(fù)合詞組并不是個(gè)高效的輸入方式——除了一種極其特殊的情形扎狱,你的輸入法支持海量的巨型詞庫侧到,使其擁有巨量的復(fù)合詞組,(詞庫之所以海量主要原因就在于復(fù)合詞組的無限多)而且你喜歡和習(xí)慣了打復(fù)合詞組淤击,且不討厭重碼選擇(當(dāng)然可以用長碼規(guī)則解決匠抗,但那樣連均碼長短的優(yōu)點(diǎn)也喪失了)。對五筆或其它一些形碼來說污抬,這種特殊情形幾乎是不存在的汞贸,或者沒有存在的必要理由——和形碼快速盲打的理念背道而馳,與其這樣印机,還不如用日益智能化的拼音輸入方式矢腻。
所以就有了“窩子三大定律”中的第三定律:
第三定律:詞庫的確定性由其收詞的打空率、重碼率和單純度構(gòu)成射赛。
“窩子三大定律”在極爽詞庫中的逐步落實(shí)
歸納以上的“窩子三大定律”是:
第一定律:中文鍵盤輸入的速度多柑,等于用戶的純擊鍵熟練度和其所使用編碼的詞庫效率的乘積。
第二定律:詞庫效率與詞庫的確定性成正比楣责,與詞庫的均碼長成反比竣灌。
第三定律:詞庫的確定性由其收詞的打空率、重碼率和單純度構(gòu)成腐魂。
窩子公式:詞庫效率=確定性/均碼長
這些詞庫理念是我在半年的詞庫編制實(shí)踐中逐漸思考成型的帐偎,并逐漸地一步步應(yīng)用落實(shí)到極爽詞庫的編制實(shí)踐中。
極爽詞庫追求的是高效的五筆輸入效率蛔屹,極爽的輸入體驗(yàn)削樊。這體現(xiàn)在詞庫上,就是要作到兩點(diǎn):低均碼長兔毒,高確定性漫贞。
低均碼長在極爽詞庫中通過兩點(diǎn)達(dá)成:
1、在遵循王碼五筆86的標(biāo)準(zhǔn)編碼方案和編碼規(guī)則的基礎(chǔ)上育叁,同時(shí)在兼容王碼輸入習(xí)慣的前提下迅脐,在五筆詞庫中首創(chuàng)添加編制了“一二級三重簡碼字”,在輸入五筆單字方面縮短了均碼長豪嗽;
2谴蔑、在詞組輸入方面,加大單純詞組的收錄數(shù)量龟梦。在目前的多個(gè)常用五筆詞庫中隐锭,極爽詞庫的單純詞組數(shù)量是明顯地領(lǐng)先于其它多個(gè)詞庫的。
高確定性通過貫徹詞組收錄的低重碼率计贰、低打空率钦睡、高單純度來實(shí)現(xiàn):
1、低重碼率:極爽擁有相對大多數(shù)詞庫要低得多的詞組重碼率躁倒,該重碼率比較接近最早的王碼標(biāo)準(zhǔn)小詞庫——我所僅知的在極爽詞庫之前常用詞庫中唯一的個(gè)位數(shù)重碼率荞怒。
2洒琢、低打空率:如前面提到的,極爽詞庫擁有領(lǐng)先于當(dāng)前多個(gè)常用詞庫的最多的單純詞數(shù)量褐桌,只要遵循用極爽詞庫打單純詞不打復(fù)合詞的簡單規(guī)則衰抑,你將很少遇到詞組打空的情形。
3荧嵌、高單純度:極爽詞庫4.0版本的修訂升級停士,一大特點(diǎn)是全面貫徹落實(shí)我的單純詞原則,將詞庫中原來剩余不多的復(fù)合詞組比較全面徹底地刪除了完丽。
我知道第三點(diǎn)做法會有不少人反對,但我去除的理由前面已經(jīng)闡釋得很充足和清楚了——為了提高確定性拇舀,或者說消除不確定性逻族,把這些詞組(極爽3.0中約有一兩千個(gè)這樣的多字復(fù)合詞)去掉是值得的。道理很簡單骄崩,舉個(gè)例子聘鳞,你在極爽詞庫3.0中可以直接以復(fù)合詞編碼打出“有期徒刑”,于是你想當(dāng)然地想用詞庫以復(fù)合詞編碼方式打出“無期徒刑”要拂】倭В可是你打空了——因?yàn)椤盁o期徒刑”和“載重”重碼而沒在詞庫中收錄。你得重新一個(gè)詞一個(gè)詞地輸入了脱惰。你打了一個(gè)復(fù)合詞組會自然地想當(dāng)然地打另外一個(gè)搏嗡,但那個(gè)詞有可能沒有——可能是因?yàn)橹卮a,也可能僅僅是因?yàn)樵~庫作者的疏忽——這些都是一般詞庫中收錄復(fù)合詞組經(jīng)常會遇到的情形拉一。這增加了很多不確定性和打空的機(jī)率采盒。
所以我的作法是徹底的,消除這種不確定性蔚润。我告訴用戶一個(gè)非常簡單的規(guī)則:你用極爽詞庫磅氨,就不要打復(fù)合詞組,需要輸入時(shí)主打單純詞嫡纠,其次打單字就行了烦租。這樣你就可以很順暢地輸入而極少會碰到因打空而卡住的情形了。(實(shí)際上除盏,據(jù)論壇上眾多用戶的反映來看叉橱,很少有用戶喜歡打復(fù)合詞組的)
有了這些,或許你就能較快地熟悉掌握極爽詞庫痴颊,較快地實(shí)現(xiàn)高效率的五筆盲打了赏迟。當(dāng)然詞庫不會完美,總會有不足蠢棱,完全掌握也需要過程锌杀,關(guān)于這點(diǎn)甩栈,請?jiān)倏纯次以谖恼麻_頭時(shí)首先說明的第一點(diǎn)。
窩子草于2004年10月5日上午
修訂文字于該日晚上10時(shí)