999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

工具書款目索引自動排序程序設計
——以GB18030-2005語境下人名索引為例

2021-03-19 11:00:04朱玉強范翠麗
圖書館論壇 2021年3期
關鍵詞:排序

朱玉強,范翠麗,何 珂

工具書是指根據一定查閱需要,系統匯集相關知識,按易于檢索的方法編排的信息密集型圖書。為便于用戶使用,工具書以款目索引為主的辭條目錄必不可少??钅恳话阌蓸四宽椇椭敢?地址)項組成[1]。辭條少則幾百,多則上萬、幾十萬甚至更多,如2009年出版的32卷《中國大百科全書》辭條有6萬條[2],2014年出版的《不列顛百科全書》(DVD版)辭條有6,672萬之多[3]。辭條越多,則為之組織并排序款目索引、編制目錄工作量越大。本文以人名為標目的款目索引自動排序為例編制程序,可大大減輕工具書編撰人員、出版社編輯人員的工作負荷。

1 相關研究與實踐

《GB18030-2005信息技術 中文編碼字符集》是GB/T 2311體系編碼字符標準,2006年5月1日起實施,規定了信息技術用中文圖形字符及其二進制編碼的十六進制表示,用于圖形字符信息處理、交換、存儲、顯現等,共收入漢字70,244個。該標準向下與《GB2312-1980信息交換用漢字編碼字符集 基本集》所對應內碼兼容,在字匯上支持《GB18030-2000 信息技術 信息交換用漢字編碼字符集基本集的擴充》的全部中、日、韓(CJK)統一漢字(包括CJK統一漢字擴充A、CJK統一漢字擴充B)字符和我國部分少數民族文字的字符,是我國制訂的以漢字為主的超大型中文編碼字符集強制性標準[4]。工具書中人物傳記資料、地方志等不乏繁體字或異體字,2006年5月后出版的此類工具書基本遵循此標準。印刷型工具書常用排檢方法如表1所示。

表1 印刷型工具書常用排檢方法[5]

1960年代后,法國、英國、德國等開展詞典編纂自動化研究[6]。1980年代后,漢字存儲、輸入技術取得重大突破,漢語詞典編纂工作局部引入計算機技術,1990年代開始普遍應用,重點研究語料庫資源技術與利用。北京大學計算語言學研究所開發“計算機輔助詞典開發和管理系統”,用于詞典檢索、編輯,可以多種方式對詞典進行排序[7]。中國社會科學院語言研究所詞典室開發“漢語詞典編輯系統”,包括編輯、排序、檢索等模塊[8]。北京語言大學語言信息處理研究所開發了“漢語語料檢索軟件”,具有自動分詞、自動建立索引等特點[9]。在南京理工大學辭書數據庫排版系統可以對漢字詞組按不同原則實現不同排序[10],但未能查到細節。中國農業科學院科技文獻信息中心《中國農林文獻數據庫》課題組研制一款SKD數控主題索引款目軟件,可自動生成主題索引款目、隨機附加非機檢用款目說明語[11]。王懷惠基于Micro CDS/ISIS 軟件和“科印”排版軟件開發程序自動形成主題索引款目,實現刊物索引編輯出版計算機化[12]。黃維佳等概括了醫藥類工具書索引現狀及產生原因,對此類工具書按用途不同設想了不同索引路徑[13]。劉翔以筆畫、拼音兩種索引方式探討了工具書單字索引表自動生成方法[14],未涉及更復雜的詞組排序。黃水清使用C語言編制程序,對雙行格式的漢字索引款目按拼音自動排序,適用于圖書情報部門主題款目自動排序[15]。黃麗霞等探討了使用Word編制工具書索引方法,提到Word在音序索引方面表現出色,但按筆畫索引多處需要手工干預,效果不甚理想[16]。工具書排檢方法多樣性導致對款目索引排序中不論手工排序還是計算機自動排序都存在不同程度困難,杜翔選取了同按音序編排的《新華字典》和《現代漢語詞典》進行考察論述了辭條索引排序難點[17]。筆者調研了包括國家圖書館出版社、山東科學技術出版社等在內的13位現從事工具書或電子音像出版具體實務的編輯,結果表明國內采用方正飛騰、InDesign、CorelDRAW、Publisher、FrameMaker等大型商業軟件排版居多,但這些軟件在辭條款目索引排序方面仍不能很好地滿足不同出版需求,特別是對繁體或異體中文字支持不夠友好,排序時往往借助Word、Excel現有功能,通過分步轉換或編制宏代碼實現,過程復雜,出錯率高,亂碼時有發生。本文以人名索引自動排序為例,探討具有共性的字庫創建、組合參數進行款目索引排序的方法,功能確切,擴展性較好,期望得以拋磚引玉。

2 程序設計思路及實施方案

2.1 術語定義及系統功能架構

為便于表述,將文中使用的術語定義制作成表2。系統總體目標為,將介于十萬至百萬數量級人名索引類辭書款目按人名碼、路徑排序,自動生成印刷版所需的統一質量的目錄。對于不同編撰人員產生的相同款目,合并去重;對同一人名不同路徑合并且以路徑升序排序。

表2 本文術語定義

2.2 系統模塊

系統由建庫機器人、字庫、排序機器人3層結構組成,如圖1所示。建庫機器人負責字庫創建、新增、查詢及修改、刪除等。字庫每條記錄存儲人名單字元數據,如“張”字記錄有“筆畫碼”“筆順碼”“特征碼”“拼音”“聲調”等字段,分別對應“11”“51512111534”“001”“zhang”“1”等數據。排序機器人負責由作業抽取款目,分解其中漢字(人名)與非漢字部分(路徑),檢索字庫,將漢字映射為人名碼并分組、排序。

圖1 系統模塊

2.3 技術方案

主要流程如圖2所示。采用“按需建庫”原則,建庫機器人從作業抽提人名單字,先檢索本地字庫是否有此記錄,如沒有則提交給字典類網站檢索該字,使用網絡爬蟲技術收割筆畫碼、筆順碼等元數據,追加至字庫。為保證排序工作連貫性,便利作業,待建庫完成再移交任務給排序機器人。排序機器人格式化作業,抽提并數碼化人名漢字執行排序,同時關聯路徑并升序排列。

圖2 技術方案

3 關鍵方法與技術

3.1 建立字庫

建立數據表各字段后,可按《GB18030-2005信息技術 中文編碼字符集》和《現代漢語通用字筆順規范》[18]手工輸入漢字及其元數據,但其工程量較大,質量亦無法統一。有第三方接口開放API可獲取指定漢字Json格式元數據[19],但此類接口一般不免費提供,且數據質量參差不齊。為節約成本,統一數據標準,在作業漢字人名量不大前提下,本文采用“按需建庫”原則,取作業人名部分,各單字分別送至http://tool.httpcn.com執行檢索,使用網絡爬蟲技術收割結果中筆畫碼、筆順碼等數據,寫入數據庫。

從數字、符號和漢字混排的文本中抽提漢字時,以判斷是否GBK漢字為例,算法描述如下:

3.2 分組及組內排序

分類筆畫組和起筆組時,取人名首字,由排序機器人從字庫中取對應筆畫碼及首筆數碼,歸類即可。組內排序時,常規思路先做出兩段人名排序算法,進而擴展至全體。以排序“張五豐06·25;13·154”和“張九03·45”為例,暫去路徑,從字庫分別取“張五豐”“張九”筆畫碼、筆順碼,變為排序“1151512111534041251041112”和“11515121115340235”。很明顯前者大于后者,“張九”排在“張五豐”后。

此算法擴展至全體作業時落入“冒泡法排序”窠臼,時間復雜度為O(n2),效率低,且人名碼長度不同易導致錯誤產生。實踐中采用“補碼”法,修正每個人名碼長度相等。按作業實際需求,每個漢字,將筆畫碼、筆順碼和特征碼(參見3.3)加和,尾部補“0”,統一為相同長度(見表3),排序時既可對齊漢字位,又兼顧特征碼不與漢字混排??墒褂盟俣雀?、時間復雜度為O(log2n)的“二分排序法”或時間復雜度為O(nlog2n)的“快速排序法”排序??焖倥判蛩惴枋鋈缦拢?/p>

3.3 不同單字具相同數碼的處理

“士土工”“八入人”“兀尢”“込令”等,字形相似或相差甚遠,但筆順碼完全相同。如排序“張土込”“張士令”“張土入”“張士?!?,因前2字筆畫碼、筆順碼完全相同,再按第3字排序。按上述排序原則,“張土入”“張士?!狈謩e排在第1、2位,“張土込”“張士令”排在第3、4位但無法確定前后順序。不論3、4 位怎樣排,“土士”都發生了混排,達不到目的。

要解決此問題,首先考慮附加單字拼音以區分不同字,實踐中發現有些需要保留不同版本的異體字筆畫碼、筆順碼、拼音仍完全相同無法區分,最終采用附加碼方法解決此問題。建庫時每當取回單字筆順碼,首先檢索字庫中是否已有相同筆順碼但漢字卻不同的情況,如有,則在具有相同筆順碼漢字的筆順碼尾部追加特征碼,如可參考《通用規范漢字表》[20]順序分別標記“士土工”的筆順碼為“121001”“121002”“121003”。“橫豎撇點折”分別對應數字“12345”,故特征碼中“0”不會被程序誤讀為筆畫。相同筆順產生于折筆時,按《GB13000.1字符集漢字折筆規范》[21]順序給定特征碼序號,如“乚”先于“ㄋ”。對同筆順繁體或異體字加特征碼時,可隨機分配唯一確定特征碼,或由工作組集體表決定序,詳見表3。

表3 使用特征碼修正人名碼后排序示例

4 應用效果評價

程序主體使用易語言編寫,過程調用了Python、AutoHotKey腳本,可穩定運行于32位和64位Windows7和Windows10操作系統,連續處理20萬行款目,工作狀態正常。程序運行于64位Windows7操作系統界面如圖3所示。

以含127,935條人名索引的某地方志款目索引為作業,獨立重復操作3次。在Intel Pentium CPU 2.90GHz、RAM 4.00GB 電腦環境和字庫按需建設完畢前提下,預格式化文本平均耗時15分32秒,標準差48秒;正式排序平均耗時42分17秒,標準差75秒。程序可將無法排序的款目自動剪切為日志文件,供后續再使用程序處理或人工處理,挑出率100%。預處理文本時,對形式上基本滿足程序入口要求但細節尚需調整的款目(如統一人名與路徑間空格數、半角字符化、固定路徑間隔字串等),處理失敗時寫出錯誤日志,挑出率100%。預留“參數及優先級”接口可使用筆畫碼、筆順碼、拼音等參數中的1個或多個自由組配排序規則,導出不同排序樣式、不同編碼(如GB2312、UTF-8、Big5等)的以排序后的款目索引為主要內容的目錄項。對單次排序結果,采用不放回簡單隨機抽樣方法每次取200條、連取5次人工復核,3次獨立重復實驗共抽樣3,000條,正確率100%。

圖3 程序主界面

5 結語

工具書款目索引排序工作,因工作量巨大,手工操作不便,又因排檢方式多樣,自動化處理

時需兼顧多種邏輯算法。本文基于《GB18030-2005信息技術 中文編碼字符集》語境和規范編制程序,近乎全自動對已確定款目索引進行排序,大大減輕工具書編撰人員、出版社編輯人員工作負荷。實踐表明,程序所建字庫具通用性,可用以開發其他基于GB18030-2005的應用軟件;程序預留接口可滿足不同排序規則和目錄導出格式需求,具推廣性。但是,因程序只在小范圍內測試使用,界面較簡陋,部分功能尚未窗口化;使用爬蟲建設字庫時未采用多線程工作導致速度很慢;排序采用更穩定的多進程工作替代容易阻塞的多線程工作時作業分配不盡合理,這些都尚待完善。

猜你喜歡
排序
排排序
排序不等式
作者簡介
名家名作(2021年9期)2021-10-08 01:31:36
作者簡介
名家名作(2021年4期)2021-05-12 09:40:02
作者簡介(按文章先后排序)
名家名作(2021年3期)2021-04-07 06:42:16
恐怖排序
律句填空排序題的備考策略
節日排序
刻舟求劍
兒童繪本(2018年5期)2018-04-12 16:45:32
作者簡介(按文章先后排序)
名家名作(2017年2期)2017-08-30 01:34:24
主站蜘蛛池模板: 日本www色视频| 国产福利一区视频| 91精品人妻互换| 国产丝袜无码一区二区视频| 欧美亚洲一二三区| 国产午夜精品一区二区三区软件| 麻豆精品在线播放| 国产成人a毛片在线| 亚洲午夜18| 国产JIZzJIzz视频全部免费| 91午夜福利在线观看| 午夜啪啪网| 亚洲欧美另类中文字幕| 日韩成人高清无码| 欧美中文字幕在线视频| 中文一级毛片| 国产亚洲精久久久久久无码AV| 四虎亚洲精品| 国产精品男人的天堂| 激情在线网| 又大又硬又爽免费视频| 97精品久久久大香线焦| 久久鸭综合久久国产| 欧美视频在线第一页| 精品人妻无码中字系列| 26uuu国产精品视频| 亚洲日韩在线满18点击进入| 亚洲,国产,日韩,综合一区| 91欧美亚洲国产五月天| 亚洲成人一区在线| 国内精自视频品线一二区| 国产成人啪视频一区二区三区| 色九九视频| 蜜桃视频一区二区| 日韩在线影院| 国产产在线精品亚洲aavv| 免费看美女自慰的网站| 亚洲美女久久| 国产精品无码影视久久久久久久 | 亚洲无码在线午夜电影| 国产欧美日韩在线一区| www.亚洲天堂| 久久永久免费人妻精品| 久久国产精品夜色| 国产一在线| 日韩AV无码一区| 亚洲欧美日韩视频一区| 日韩国产亚洲一区二区在线观看| 色偷偷综合网| 中文字幕久久波多野结衣| 国产精品精品视频| 54pao国产成人免费视频| 99在线小视频| 久久久亚洲色| 国产二级毛片| 尤物午夜福利视频| 毛片一级在线| 五月婷婷激情四射| 久久久久久久久亚洲精品| 激情亚洲天堂| 白丝美女办公室高潮喷水视频| 手机在线看片不卡中文字幕| 一区二区欧美日韩高清免费| www精品久久| 青青极品在线| 在线欧美a| 伊人久久福利中文字幕| 亚洲乱码视频| 国产精品黄色片| 天天色综网| 亚洲日韩久久综合中文字幕| 亚洲av成人无码网站在线观看| 免费毛片网站在线观看| 日韩欧美中文字幕在线韩免费 | 欧美日本视频在线观看| 日韩人妻少妇一区二区| 欧美中文字幕无线码视频| 国产国拍精品视频免费看| 97视频免费看| 免费观看亚洲人成网站| 欧美亚洲国产日韩电影在线| 欧美午夜精品|