用輸入法,不論使用極點(diǎn),、酷極,、萬能、智能等哪一款五筆,,都有一個(gè)打造最適合自己詞庫(kù)的過程,。本文目的,在于教你掌握基本的文本處理方法,。 有朋友問了,,有極點(diǎn)工具箱,還需要自己手工處理么,? 我的回答是: 極點(diǎn)工具箱是不透明處理,你并不清楚它是怎么工作的,,你原來的字,、詞頻是否得到保留。 而我教你的方法,,讓你清清楚楚的明白自己所做的,,字,、詞頻也不會(huì)變化,保證百分百原版移植,。 一,、工欲善其事,必先利其器,。 先下載自己要用到的文本處理工具,。 以下兩種都是很優(yōu)秀的文本處理工具。 Emeditor勝在功能強(qiáng),,對(duì)中文支持好,。 EmEditor Pro 6.00 tracky 漢化版 http://www./index.php?Go=Show::List&ID=9751 UltraEdit 11.20a 莫名漢化版 UltraEdit勝在處理速度快,大文本幾乎就是瞬時(shí)完成,。 http://www./index.php?Go=Show::List&ID=9183 二,、試煉。將系統(tǒng)自帶的輸入法詞庫(kù)轉(zhuǎn)換成極點(diǎn)或酷極格式的詞庫(kù),。 1,、反編譯系統(tǒng)輸入法的碼表文件為文本格式。 點(diǎn)擊 開始——搜索——文件或文件夾,,在C盤查找imegen.exe文件,。 查找到后,雙擊運(yùn)行它,。 選擇它的第二個(gè)標(biāo)簽:逆轉(zhuǎn)換,, 然后點(diǎn)“打開文件”,在彈出的窗口,,選擇你要轉(zhuǎn)換的輸入法碼表文件,,這里我以系統(tǒng)自帶的鄭碼為例說明。界面如下:
假如你看不到*.mb文件,,請(qǐng)?jiān)趶楅_的窗口中選擇c:\windows\system32目錄就能看到了,。這樣轉(zhuǎn)換結(jié)束后,將會(huì)在c:\windows\system32目錄下生成一個(gè)winzm.txt的文本文件,。 2,、打開winzm.txt文件,你看到的,,將是如下圖所示的格式:
可以看到,,它的編碼有詞也有字,格式為: 字(或詞組)+英文字母,。另外,,還有一些單字+英文字母后還有空格+字母, 這是輸入法為造詞而用的造詞碼,,對(duì)我們沒有什么用處,,大家先不要管它,。 后面我們將會(huì)教大家如何快速的去掉它。 請(qǐng)大家將文件開始直至[Text]的部分全部刪除,,這些是輸入法的規(guī)則定義部分,,我們用不上。 3,、開始處理和轉(zhuǎn)換文本的格式,。 前面說了, 我們現(xiàn)在得到的文本是: 字(或)詞+ 英文編碼 這樣的格式,,而我們打開極點(diǎn)的碼表 freewb.mb ,,會(huì)發(fā)現(xiàn)它的格式為: 英文編碼+空格+字(或詞) 如果有重碼的話, 還會(huì)在字(或詞)的后面再加“空格+字(或詞)”,。 ①,、我們先將部分單字后面的造詞碼去掉?!∮肬ltraedit打開winzm.txt文件,,按Ctrl+R,調(diào)出UE的替換窗口,,在“查找什么處”輸入“ [a-z]*$”,,注意,[a-z]前面是一個(gè)空格,,不能少了,,在替換為處留空不填。 選中“正則表達(dá)式”,,點(diǎn)“全部替換”,。 看看,是不是一下子將這些多余的造詞碼去掉了,?
現(xiàn)在,,我們要涉及重點(diǎn)了,就是怎樣把現(xiàn)有的這種字或詞+編碼的格式給換成編碼+字詞的格式,? 在我看來,,無非是將這兩者調(diào)個(gè)個(gè)兒。現(xiàn)在,,需要請(qǐng)到我們的主要工具:Emeditor,。EM對(duì)中文的處理很好,這也是我們用它的主要原因,。 ②,、將漢字和編碼調(diào)個(gè)個(gè)兒。 用Emeditor打開winzm.txt。 按Ctrl+H調(diào)出查找替換窗口,。 在查找處輸入:^([^\x00-\xff]+)([a-z]{1,4}) 然后在替換為處輸入:\2 \1注意,中間有一個(gè)空格,,一定別忘了選中“正則表達(dá)式”選項(xiàng),。選中“正則表達(dá)式”,按全部替換,,就可大功告成了,。Em處理上萬條文本稍有點(diǎn)慢,請(qǐng)大家稍等會(huì)就行了,。
4,、如何分離字和詞的碼表? 我們同樣可以用EM來完成,。 同樣以未替換前的碼表格式來說明,。 ①、 去掉全部的單字編碼行,,只保留詞組及編碼,。 EM打開碼表,按Ctrl+H調(diào)出替換窗口,,在查找處輸入:^[^\x00-\xff][a-z]{1,4}$\n 然后在替換為處留空,。 好了,看看是不是將單字和編碼全部刪了,?記著,,一定別忘了選中“正則表達(dá)式”選項(xiàng)。 ②,、 去掉全部的詞組編碼行,,只保留單字及編碼。 同樣的按Ctrl+H調(diào)出替換窗口,,在查找處輸入:^[^\x00-\xff]{2,20}[a-z]{1,4}$\n 然后在替換為處留空,。 看,詞組和編碼全部已經(jīng)刪除了,。同樣,,別忘了選中“正則表達(dá)式”選項(xiàng)。 其實(shí)真正來說,,處理這些文本,,我們都只是利用了它們的正則表達(dá)式功能,正則表達(dá)式在處理文本時(shí)功能非常強(qiáng)大,,能完成一些我們幾乎只有編程才能完成的任務(wù),。 如果感興趣的話,可以自己找找正則表達(dá)式方面的相關(guān)內(nèi)容研究研究,。 |