王雅戈,葉繼元,黃建年,唐 強,桑 夢,楊 斐
索引編制主要包括索引標引和索引排序兩個方面。索引標引主要通過人的智力勞動完成,需要人工辨別并選取索引標目。索引排序主要是機械重復工作,最好借助自動化工具完成,這樣既能提高速度,還能保證準確性。索引排序主要有標目排序與合并兩個步驟。標目排序,就是把不同的索引款目按照一定的順序依次排列。20世紀20年代到60年代四角號碼排序法比較流行,后來多用筆劃排序,現(xiàn)在則以拼音排序為主。標目合并,就是把相同標目去重,并把其后的頁碼按照從小到大的順序依次連接起來,頁碼之間用標點符號或空格分隔,形成一條條索引款目。索引排序方式取決于讀者的閱讀和檢索習慣,按照圖式理論,讀者閱讀和自身已有體系相一致的知識時,即使不專門學習新的知識和技能,閱讀效率也會比較高[1]。目前漢語拼音普及化程度高,因此,索引排序以拼音音序法最容易為當代讀者所接受。
(1)辦公軟件。常用辦公軟件MICROSOFT OFFICE和WPS OFFICE都有漢字排序功能。OFFICE的WORD和EXCEL都能對漢字按行排序,既可以按漢語拼音音序排序,也可以按漢字筆畫排序,排序操作簡便,能直接在編輯窗口利用排序按鈕進行操作,一次性完成排序。辦公軟件排序最大的局限是不能自動合并相同標目。
(2)索引軟件。CINDEXER、Macrex、SKYTM等國外索引軟件無法用于中文索引排序[2]。通用性最強的中文索引軟件“索引之星”[2]標引效果良好,且具有一定的索引排序功能,但只能對索引標目按拼音或筆畫排序,沒有對相同標目進行合并及頁碼接續(xù)的功能。
(3)排序軟件。許多學者進行過中文索引排序軟件的研究開發(fā)[3-11]。這一類開發(fā)數(shù)量不少,但大多是臨時程序,通用性不強,有的甚至只能在本機上使用,沒有開源并發(fā)布,隨著索引編制工作結(jié)束,排序程序就被丟棄,無法推廣應用,至今沒有成功開發(fā)出一個可供獨立運行的索引排序軟件。
(1)思路。索引排序軟件開發(fā)主要考慮:標目合并、頁碼序接兩個功能;軟件的完整性、獨立性和通用性;用戶界面友好,操作簡便。
(2)架構(gòu)。索引排序軟件平臺使用B/S架構(gòu),前臺采用面向?qū)ο箝_發(fā)工具Java或.net,服務器端采用關(guān)系型數(shù)據(jù)庫管理系統(tǒng)MySQL、應用服務器Tomcat。用戶只需通過瀏覽器訪問服務器網(wǎng)站,即可進行編制索引操作。在B/S架構(gòu)下,平臺的維護成本集中在服務器上,客戶端只是瀏覽器,不需要做任何的維護。Tomcat和MySQL都是免費的,且對于中小型用戶來說足夠穩(wěn)定可靠。
(3)字庫。包括字庫容量和字符順序,不用考慮字體、字號。字庫容量和字符編碼標準密切相關(guān),不同的編碼標準容納的字符數(shù)不同。通行的漢字編碼標準主要有:GB2312-1980收錄漢字0.6萬多個;Big-5收錄漢字1.3萬多個;GBK收錄漢字2.1萬多個;GB18030-2000收錄漢字2.7萬多個;GB18030-2005收錄漢字7萬多個;ISO/IEC10646/Unicode字符集收錄漢字大約8萬個;《通用規(guī)范漢字屬性字典》課題組已收錄漢字10萬個左右[12],基本包括在現(xiàn)有文獻中所能見到的所有漢字字符。在如此多的字符集標準中,選擇匹配的標準很關(guān)鍵。索引排序分為簡體字排序和繁體字排序,兩種情況需要分開進行排序。按照“索引排序?qū)ο笮枨笤瓌t”,先確定所需排序的索引要用到多少漢字,再選用相應字庫容量的字符標準。字符集越大,數(shù)據(jù)庫相應增大,排序耗時越長,服務器需更快的處理速度,網(wǎng)絡傳輸需更大的帶寬,維護成本隨之相應增大。如果簡體字用大字庫,成本增高;如果繁體字用小字庫,則無法排序。例如,地方志書單字多,人名、地名、職官名、物產(chǎn)名等專有名稱,經(jīng)常有異體字、避諱字等生僻字。以《上海府縣舊志》為例,原文為繁體字,索引也是繁體字,索引排序需要調(diào)用繁體字排序軟件。樣例如下[13]:
鷄縮腿 54
糯稻 54
羊鬚糯 54
紅蓮稻 54
深水紅 54
香沙糯 54
師姑粳 54
籠下歡 54
下馬看 54
十月青 54
(4)索引排序預處理。索引排序軟件處理的文檔一般為TXT格式。當預先編制的索引標引稿,無論是WPS WORD、MICROSOFT WORD格式,還是EXCEL、TXT格式,甚至數(shù)據(jù)庫格式,都要進行轉(zhuǎn)換。如果是簡體字排序,需要轉(zhuǎn)換為ANSI編碼的TXT文檔;繁體字排序則需要轉(zhuǎn)換為UTF-8編碼的TXT文檔。需要注意的是,文本格式轉(zhuǎn)換時要保持索引標引稿的版面不變。例如,標目和頁碼之間的區(qū)分符號(如采用半角分號“;”)等應前后統(tǒng)一。仍以《上海府縣舊志》索引為例,樣例如下[13]:
早糯;54
大麥;54
小麥;54
耦麥;54
蕎麥;54
黃豆;54
頁碼和標點符號的優(yōu)先順序(漢字數(shù)字、阿拉伯數(shù)字、羅馬數(shù)字,以及逗號、引號、句號)需要固定。二級標目、三級標目和一級標目的自動區(qū)分規(guī)則都應當前后一致(如以行開頭每2字符空格為下一級,依此類推)。
(5)索引排序糾錯。在索引標引實踐中,無論是手工標引,還是利用軟件自動標引,經(jīng)常會發(fā)生標引錯誤,如有些標目和頁碼之間的間隔符號缺失或標錯、頁碼缺失或誤標。當標引稿中有這些類似的格式錯誤時,排序軟件會報錯,不能識別標引稿,無法完成排序。這時就需要人工校正標引稿中的格式錯誤,當索引標引稿篇幅比較長時,靠人工發(fā)現(xiàn)錯誤的難度大、費時長,校對效率低,往往還會遺留錯誤。開發(fā)糾錯軟件可以為人工校對提供輔助,先把標引稿搜索一遍,發(fā)現(xiàn)格式錯誤,顯示錯誤所在行的行號及整行內(nèi)容。排序人員可以根據(jù)提示快速準確找到錯誤所在位置予以修改,再進行排序,就能得到正確的排序結(jié)果。
(6)運行。索引排序軟件已經(jīng)發(fā)布,使用非常快捷方便。以往的方式索引排序所需時間與標引時間基本相當,通常需要一到兩天。在索引家平臺上利用排序軟件,只需幾秒鐘即可完成一部索引的排序任務。
索引排序軟件可以是一個集成型軟件,也可以是多個單一型軟件,兩種開發(fā)方案各有利弊。集成型索引排序軟件可以把所有功能集成于一體,用戶操作時按照需要,點擊開關(guān)鍵選擇功能進行操作就能實現(xiàn)。但這會增加索引排序軟件的維護負擔,有時一個不常用的功能鍵發(fā)生問題就可能導致整個軟件無法使用。如果把它們制作成功能單一型的多個軟件,則可以分別維護、分別使用,互不影響。“索引家”研發(fā)團隊選擇后一種開發(fā)方案,開發(fā)了一系列的多種索引排序軟件,包括拼音排序軟件、筆畫排序軟件、四角號碼排序軟件、排序糾錯軟件等,排序功能基本完善[14],使用效果良好。這些排序軟件作為索引家平臺的重要組成部分,與索引標引軟件共同承擔著中文索引建設的責任。