《中药大辞典》数据库系统的设计

时间:2022-10-09 01:37:11

《中药大辞典》数据库系统的设计

[摘要] 《中药大辞典》数据库的建设是中医药信息化的一个组成部分。实现这一过程,主要需要解决对《中药大辞典》一书内容的分类与组织并设计完善的数据库,建立良好的查询系统。本文阐述了《中药大辞典》数据库系统的各个功能模块图以及实现过程中的的关键问题与解决方案。

[关键词] 数据库;检索;中药大辞典

[中图分类号]TP392 [文献标识码]C [文章编号]1673-7210(2007)11(c)-105-02

《中药大辞典》是一本较为权威的常用中药工具书,对广大的临床、科研、教学工作者及其他人士学习、认识、了解、掌握中药知识具有很大的实用价值,应用相当广泛[1]。但工具书的使用有许多不便,费时,且更新周期较长。目前国内外存在一些中医药数据库检索系统,但这些系统中的全文检索、关键字检索结果仅限于单个关键字、词的对应性检索,以致相同概念、相近表达的内容出现漏检,或需多次检索才能满足要求。此外用户检索时,根据不同的目的有不同的检索要求,往往不需要其全部内容,否则显示结果繁琐而冗长,影响检索效率。因此设计一个具有模糊检索、智能检索以及能对检索结果进行取舍的中药数据库检索系统非常有必要。

1 《中药大辞典》系统的功能模块

系统对《中药大辞典》所包含的中药药材知识进行搜集、整理与组织,并建立相应的数据库和数据采集模块、信息查询模块,实现对中药正名、别名、基源、性味、功用主治及中药的现代研究应用等的模糊查询及智能化查询,并能根据用户所需达到知识的全面链接及检索结果的智能化取舍的功能。其功能模块图见图1。

1.1 中医信息的数据采集模块

数据采集功能设计模块包括中药各种基本信息的采集,允许增加、修改等操作;中药数据库的动态维护、特别是对于有关中药的现代研究成果可通过此模块及时补充更新。

1.2 查询模块

查询模块是整个系统的一个核心模块,包括以下功能:

1.2.1 正、异名查询模块支持正名和异名的查询,允许用户对查询的结果进一步选择链接。检索方式包括中药名称、拼音或拼音缩写三种方式。为了使该查询系统能够适合更多的人使用,因为使用者不一定知道正名,只知道其经常使用的别名,或是由于地域不同,同一种中药材的别名也不同(例如,正名:地龙;异名:蚯蚓;水杨梅,在长沙叫沙金子,在湘西却叫穿鱼串等等),系统重点处理了此模块,实现正、异名分开查询(图1)。

同时考虑有些中药名汉字很难写或在输入法中找不到,系统提供拼音和拼音缩写方式查询。此外,系统还提供了常用的别字查询,包括同音别字和近形别字两种情况。当用户在输入要查询的中药名称的过程中出现了同音异形的别字,或字形很相近的别字时,系统通过提示用户输入有误,并询问是否查询与所输入内容相近的中药名(例如,用户将“黄连”输入为“黄莲”或将“沉香”输入为“沉杳”,系统可提示是否输入黄连及沉香),用户通过再次输入自己想要查询的正确的中药名称后查询出此种中药的详细信息。

1.2.2 性味查询模块支持在四气五味上实现正名、异名查询模块,除能根据单纯的四气或五味来显示查询结果外,还可以在四气五味间自由组合,如性味的组合、两种药味的组合的查询,并显示查询结果。

1.2.3 功用、主治查询模块实现根据功用、主治及它们的组合来显示查询结果,支持模糊查询,即查询结果中除显示与输入的功用、主治完全一致的药物名称外,还显示与该名称相近、相似的功用、主治及其相对应的药名及相关信息。

1.3 系统维护模块

系统维护模块主要是对系统的管理的实现及对查询结构的打印功能的实现。

2 关键技术

2.1 数据的整理与组织

数据库中数据的结构与内容的完整性决定了最后查询的速度与效率,因此在建立数据库之前,需要对《中药大辞典》所包含的中药药材知识进行搜集、整理与组织[2]。组织的基础是根据人们对中草药知识检索与知识发现的需要,内容是形成基本符合计算机检索要求的全面、系统、详尽资料。中草药历史悠久,其有些属性(如性味)的表达一般有多种,但术语的应用却是相对稳定的,因此在数据组织的基础上,建立“原子”知识库,使围绕某个核心的知识不会被漏检。

2.2 模糊检索的研究与实现

对某些含义相同或相近但表达不同的检索要求,系统引入不完全知识及非精确推理,以扩大知识的表示与处理范围,实现全面检索的目的。

由于数据库索引不是为全文索引设计的,因此,使用like “%keyword%”时,数据库索引是不起作用的,所以对于需要提供大量模糊查询的检索系统来说,使用LIKE语句对性能的危害是极大的。如果需要对多个关键词进行模糊匹配:like“%keyword1%” and like “%keyword2%”其效率就更低了,因此采用Oracle的Oracle Text组件。它提供了索引编制、文字和主题搜索以及文本查看功能[3]。通过设置Oracle Text词法分析器(lexer),建立好CONTEXT索引后,就可以使用CONTAINS操作符检索数据了。在SELECT语句中,可以在WHERE子句指定CONTAINS操作符,还可以指定返回记录的得分(得分SCORE是指查询结果的贴切程度),还可以有很多查询选项,进行逻辑、模糊、通配符、主题等查询。

下面是我们在本系统中使用的一个例子:

SELECT score (1) title;

FROM oraigin_text;

WHERE contains (text, ‘辛’, 1) > 0;

这样就可以迅速查询出原文中包含“辛”这个词的相关条目,而且得分越高表示查询信息满意度越高,下次查询可以根据SCORE进行排序以获取接近的条目。

2.3 智能化检索的研究与实现

智能化的设计最后在查询中体现在两个方面,一是未整理到知识库的检索点,系统从数据库的大量数据中提取、挖掘和发现知识,实现人机交互式的学习记忆,达到智能查询的目的。二是实现知识的全面链接及检索结果的智能化取舍。检索结果以总纲的方式表现,允许用户根据需求对检索结果的智能化取舍,并建立广泛、深层的链接。

3 结束语

中医药在我国已有两千多年的历史,《中药大辞典》中收载的中药达五千多味,对每一味中药历朝历代又分别有不同的记载和认识,如此庞大的数据量,采用信息技术处理是最佳方法。与其他学科和领域相比,信息技术在医学领域,特别是中医药学的应用还比较落后,中药图书领域则更为突出。面对国际社会的关注,中医药事业正面临着前所未有的机遇和挑战,而信息技术的应用无疑会对更好地继承、发扬与推广我国中医药学提供很多便利条件和途径。本课题的建立,使古老的中医药与现代先进的科技相结合,使中医药在基础理论上实现对中药药材信息完整而全面的记录,使之成为一套全新概念的电子化信息系统,让用户比较直接并明确药材的具体功用,在查询的同时能够进行有效的学习和了解,并可通过网络在不同用户之间相互交流,不断对知识库进行扩充,修改和删除,使中医药与信息技术完美结合,推动医药事业的发展。

[参考文献]

[1]江苏新医学院.中药大辞典[M].上海:上海科学技术出版社,2006.

[2]李翔,王广平,邵蓉.试论我国中药产业信息化服务的发展战略[J].中药研究与信息,2005,7(6):41-45.

[3]姜春茂,段莹. Oracle全文检索技术的应用研究及其优化[J].电脑学习,2006,(1):35-36.

(收稿日期:2007-09-13)

上一篇:神经元移行畸形的CT诊断分析 下一篇:网络信息技术在科技成果鉴定中的应用探讨