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