中医古籍电子化系统的研究与实现

来源:岁月联盟 作者: 时间:2015-06-05

                  作者:符永驰 李斌 郭敏华 刘国正

【关键词】  中医药信息 古籍数字化 中医古籍

  古籍数字化是当前中医古籍文献整理工作的热点。中医古籍传承了数千年中华医药文化,是宝贵的历史遗产。对中医古籍文献进行数字化处理,不仅可以再生性保护这些珍贵的中医古籍,而且为更加便捷地开发和利用古籍资源开辟了新的途径。
   
  通过对目前国内外古籍数字化尤其是国内中医古籍数字化的研究与发展现状的深入研究,结合中国中医科学院中医药信息研究所近几年来在中医药珍籍秘典的整理抢救、保护及相关研究方面所取得的经验,本研究提出了一种新的中医古籍电子化系统的解决方案。旨在介绍一种实现无缺/错字、图文对照、通用性好、检索快捷方便、输入/输出灵活、读者互动交流、辅助研究性强的中医古籍电子化系统。该系统具有电子化编辑、压缩、上传、存储、图书分组管理、读者分组管理、读者-图书授权借阅、网络在线阅读、原文图像浏览、图书需求信息分析、计费电子借阅、古籍学术论坛、短信互动平台、准确快速检索等功能。其科学、便捷、安全、高效的古籍资源管理,将进一步实现古籍阅览由传统方式向电子/网络方式的重大转变。

  1  系统主要功能结构

  1.1  中医古籍编辑平台
   
  中医古籍编辑平台提供对数字中医古籍的编辑处理功能。我们开发了《古籍编辑器》软件,用来对古籍图片元数据进行标注和压缩,输出电子书。
   
  中医古籍电子书籍一般包含的信息有:①置标信息,古籍中的主要知识点,如病、证、方、药等;用于全文检索和浏览古籍图片;②原扫描图像,保待原图原貌,用于与文本信息对照使用;③书目的元数据信息,如分类、书名、成书年(出版年代)、作者、版本、馆藏地、内容提要、书籍特征、保管措施、复制状况等;④书的章节信息,用于划分清晰的书籍层次结构。
  
  其特点主要体现在以下方面: ①古籍的卷、章、节可以灵活分级管理;②支持对图片的标记和编辑,不会改变原始图片,可以搜索图片信息和图片的标记数据;③支持缩略图方式浏览章节中的图片,支持鼠标放大/缩小图片和旋转查看,图片能自动播放和根据显示器分辨率调整大小;④依据中医古籍总目的分类标准归类书籍。

  1.2  电子古籍发布系统
   
  电子古籍发布系统用于将中医古籍编辑平台输出的电子
古籍上传、解压、导入并存贮到阅览系统中。发布系统会根据古籍分类信息自动归入正确的分类位置并建立索引,以树状形式展示,且在树的每个层次上显示该层次结构下的总条目数,与原有书库无缝集成。

  1.3  电子古籍阅览系统

     电子古籍阅览系统实现了用户在线进行图文阅览,并可以记录用户在线阅览古籍的种类和时间信息,从而分析读者对各古籍的借阅和需求信息。同时,电子古籍阅览系统具有网上计费借阅功能,以便于珍贵古籍的保护和有效利用。计费借阅方案灵活,主要有按时计费(按实际借阅时间、包月/年等)、按书籍计费、按会员级别计费、按流量计费和综合计费。

  1.4  古籍信息搜索平台

     搜索平台具有简单查询、组合查询和全文搜索功能。对于中医古籍涉及众多生僻字的问题,平台建立了中医古籍的繁简字体对照表,增加繁简字体关联互检功能,提高搜索准确率,同时提供基于内容的高效检索和对知识的准确挖掘功能。

  1.5  学术论坛即时通讯

     古籍学术论坛和即时通讯平台提供读者与读者之间、读者与中医古籍管理员之间进行互动古籍学术交流和即时通讯功能。

  1.6  辅助软件操作平台

     辅助软件操作平台提供了字数词频统计、历史年表、古今纪年换算、干支/公元纪年换算、六十四卦表等辅助功能,为古籍研究者对古籍数据进行多角度的分析研究提供方便,从而提高系统的实用性和友好性。

  2  系统采用的主要技术

     考虑到基于Java的Web应用技术的实用性、灵活性和稳定性,同时结合基于J2EE的Struts和实现数据持久化的Hibernate框架的MVC设计模式所具有的优良特点,本文采用了该架构来构建高内聚、弱耦合、可维护和可扩展的中医古籍电子化系统。数据库采用Oracle 9i,数据搜索采用Oracle Text技术。下面对其中一些关键技术予以介绍。

  2.1  MVC设计模式

     MVC(Model-View-Controller,模型-视图-控制器)是一种著名的用户界面软件开发设计模式,最早由Xerox在20世纪80年代为Smaltalk-80语言发展提出,后来被广泛应用于其它面向对象的编程语言中。MVC设计模式把应用程序分成了3个核心部分,将应用程序进行了分层,视图和模型通过控制器连接,从而减少了用户界面和业务逻辑之间的耦合,使程序设计更加清晰、灵活,也提高了软件的可扩展性、可维护性,克服传统Web系统的不足之处[2]。

  2.2  Struts框架

     Struts框架是Apache的一个开源项目,体现了MVC设计模式的特性,遵守了J2EE的Servlet、JSP等技术规范,同时根据J2EE的特点做了相应的变化和扩展,是J2EE体系架构的一种轻量级实现。作为一款优秀的Java Web应用程序的开发框架,Struts框架凭借其清晰性和灵活性,成为当前最为广泛应用的轻量级Java Web开发框架[3]。

  2.3  Hibernate框架

     Hibernate框架是开放源代码的对象关系映射工具(Object-Relational Mapping),是一款基于Java环境的优秀的对象持久化开发框架,根据O/R(对象/关系)映射技术思想,对JDBC进行了轻量级封装,使开发人员可以使用一种面向对象的方式来操纵和管理关系数据库,所以从技术本质上来说该框架是一种提供面向对象的数据库服务中间件[4]。

  2.4  Oracle Text搜索技术

     Oracle Text是一种功能强大的搜索技术,内置于Oracle数据库中,其提供的开发API使软件设计人员能轻松实现功能齐备的内容搜索应用程序,可用于搜索结构化和非结构化文档,是对SQL通配符匹配技术的补充。Oracle Text支持使用基本的布尔运算符(AND、OR、NOT、NEAR等)将多个搜索条目组合到一起,同时具有更高级的功能,如soundex和模糊搜索以及结果排序等。该技术支持数百种文件类型,包括Microsoft Office和PDF。

图片内容