“《十三经词语索引》系统”的设计和建立,本文主要内容关键词为:词语论文,索引论文,系统论文,十三经论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
随着计算机技术的发展和普及,利用计算机进行中文信息处理已成为进行研究工作的一种不可替代的高效率手段。在辞书研究、编纂中,特别是在古籍专书辞典的编纂中,利用计算机来进行中文信息的处理,以更全面、更高效地完成研究、编纂任务,是一项十分重要、迫切的工作。
《十三经词语索引》是同《十三经辞典》配套的国家重点项目,主要供检索《十三经》各部经书中所有的词语,各词语后例句涵盖本书中所有含有该词语的句子。这样一项工作,如果用人工进行检索、归纳、排序,无疑工作量将十分巨大,而以计算机辅助,则效率可大大提高。“《十三经词语索引》系统”就是为此而设计的。
一、系统的设计思想和结构
(一)设计思想
本着易用、高效的指导思想,在设计中,尽量做到系统结构模块化、菜单分类化、操作简单化、功能完善化以及系统通用化。在此基础上,着重解决汉字信息库的建立、词语索引的形成、用户界面的设计、冷僻字形的输入和打印等关键性问题。
在实现技术上, 主要以Windows95 为操作系统, 采用MicrosoftVisual FoxPro作为开发平台,以保证整个系统的高效性、 安全性及灵活性。
(二)系统结构
1.系统的总体结构
整个系统的整体结构如下图所示:
各模块之间通过应用程序有机联系在一起,保证了最后词语索引的正确无误。
2.系统各模块的结构和功能
①原文库的建立。这包括《十三经》各部经书原文的录入,进行词语的标识等,其结果是形成原文信息库。
②汉字信息库的建立。汉字信息库是各经书中出现的所有汉字的全信息集合。它分为两个子库:部首号码信息库和汉字结构信息库,是进行各种排序的基本依据。
③信息的提取。从《十三经》各书原文信息库中提取所用汉字的信息,包括各单字头的总数,该单字头出现的频数。最后形成单字信息库。
④索引的形成。对各部经书中所有单字头下的单音词、复音词以及短语进行频数统计,形成统计信息库;提取索引、例句并排序,完成的索引信息存入各词语索引信息库中。
⑤信息的输出。各种中间信息如单字头、原文库等信息的打印,最终词语索引的打印以及索引文件格式的转换功能。
系统功能的结构化和模块化,使得系统的效率提高,更利于使用、维护和升级。
二、系统的实现
本系统在图形操作界面、数据库的建立、库与库之间的联接关系、数据库的检索及维护等主要方面,均采用FoxPro编写应用程序。在文件操作、转换、打印控制、编辑修改等方面,采用Visual C++编写应用程序,以提高系统的整体运行速度。最后,统一在FoxPro下编译成独立的、可执行的系统程序。
(一)原文信息库的设计和实现
根据《十三经》各经书的特点,以及编写词语索引的具体要求,在建立系统数据库时遵循以下原则:原文信息一定要全面,库结构要尽量简单明了,信息分类要准确。
各经书原文信息库均应包含原文、原文在经书中的页码和栏目三类信息。据此,设立二个字符型字段“原文页码”和“原文”;前者长度为5位,其中前4位为页码,末位为栏目;后者长度为70位,存储原文内容。这样的库结构可以使每部经书的信息库不致记录数过大,以提高检索速度。具体结构如下:
原文页码 原文
2457S/学而第一$/
2457Z曾-子曰:"吾曰[三省]吾身,
2458S子曰:"君-子不重,则不威;
2458Z夫-子之求之也。
对于计算机来说,单纯的文字数据还不足以完成我们所希望达到的检索功能,还必须对原文进行初步的加工,即作词语的标示。因此,必须预先设定一些标示符,在录入数据时一并输入。在原文页码字段,规定用S、Z、X分别表示上、中、下栏位;而在原文字段中, 用成对的“/”表示其间内容为标题,用“$”表示一段的结束,复音词以“-”相连,短语则用“[]”括起。在上面的例子中,“/学而第一$/”是经书第2457页上栏出现的一个标题,下一句另起一段;“夫-子”、“曾-子”等为复音词,[三省]则为短语。
(二)汉字信息库的建立
汉字信息库包括两部分:汉字结构信息库和部首信息库。结构信息库如下:
单字部号 笔画起笔拼音四角号码
三 12 11 san1 10101
子 50
0
0
zi3 17407
曾 67
8 432 zengl
80606
其中各字段的数据为:“单字”为字符型,2位; “部号”是其部首(共200部)对应序号,数字型,3位;“笔画”是除部首外的笔画数,数字型,2位;“起笔”为除去部首的笔形,数字型,3位;“拼音”为其读音及声调,字符型,7位;“四角号码”为数字型,5位。部首信息库如下:
部号 部首名
1 一
50子
67日
其中:“部号”是部首对应序号,数字型,3位; “部首名”为字符型,2位。两个信息库通过“部号”这一字段联系起来, 在形成词语索引时自动提取部首名。
(三)单字库的建立和实现
单字库用于存贮各经书所用单字的信息,结构如下:
单字 频率BZ
三 72 F
子976 F
曾 23 F
其中:“频率”是该字在经书中出现的总次数,数值型,4位; BZ字段为逻辑型,1位,用于标识该字是否在汉字信息库中已存在。 利用用字统计程序,通过比较统计,检索出所有单字头及其出现次数,分别写入“单字”和“频率”字段中,再将其与汉字信息库关联,判断该单字是否已在汉字信息库中出现,结果写入BZ中并排序。索引和例句的提取、排序都以此为基础。
(四)索引信息库的设计和实现
索引信息库集成了经书中所有词语的主要信息,是完成词语索引最关键的一步。其结构如下:单字、词语、频率、SC、SL、例句、页码,其中SC、SL为逻辑型,SC判断是否为词,SL判断是否为另见。实现此信息库从以下方面进行:
1.首先要提取词语索引, 由提索引程序完成。 设定一关键字函数key,利用for循环语句使key顺次等于单字信息库中的每一个单字。 打开原文信息库,在原文字段上利用LIKEC()和OCCURSC()函数,逐条记录地进行检索。检索到符合条件的记录时,先将该记录中原书页码字段的数据写入索引信息库中的页码字段;再判断其为词还是短语,是否为另见,结果分别写入索引信息库中的SC和SL 字段中; 再调用子程序LJ取得该词语的例句,写入索引信息库的例句字段中。重复此操作,直至所有记录检索完,再循环至下一关键字key,重新开始检索。这样,保证了每个单字头下的每个词语都能被检索到,确保了词语索引的准确性。例如,令KEY=三,利用LINKC()函数自动在原文库中定位于第二条记录,利用OCCURSC()函数自动确定该记录中共出现一次“ 三”,根据“[]”标示符得到“三省”这一短语,再调用LJ取得例句,同时将上述信息写入索引信息库,如:
单字
词语频率 SCSL 例句 页码
三 三省 FF吾日~吾身 2457Z
要注意的是另见的判别。如“曾-子”,既是“曾”字头下的词,又是“子”字头下的另见。其信息如下所示:
单字 词语频率SC
SL例句页码
子子T F
曾~曰 2457Z
曾子T T ~曰 2457Z
曾 曾子T F ~曰 2457Z
2.对索引进行合并统计,由统计程序完成。将提出的索引信息按同一词或短语合并,统计出各自的频率,结果存入信息统计库,如:
单字
词语词频
词长 单字词语
词频词长
三 三 12 1子 君子20 2
三省 1 2夫子 7 2
子 子 131 1曾曾 2 1
曾子 4 2曾子 4 2
3.最后形成完整的词语索引信息库。在数据库中建立视图关系,将汉字信息库、单字信息库、信息统计库、词语索引信息库按一定条件联系起来,利用SQL语句在排好序的单字库中提取单字及频率信息, 在信息统计库中检索出以该单字打头的所有词语信息,将这些信息综合排序并重新写入词语索引信息库中,一个单字的索引信息就完整地形成了。依此方法,循环所有的单字库信息,就可将该部经书的所有词语索引信息检索出来。
(五)信息格式转换与输出
形成的词语索引信息库是一种数据结构,可按其原样打印出来,也可通过一些辅助程序转换为其他格式的文件打印出来。辅助应用程序主要包括:
1.文件转换程序。主要是利用原文信息库中原文字段的信息,转换为不带任何标识符的后附原文。具体说就是对每一条记录进行扫描,对其中包含的“/”、“$”、“-”等标示符作删除或替换,如对“$”可替换为换行控制符。最后形成标准的文本型原文。
2.形成方正小样程序。按照具体版式要求,针对单字、词语、频率、例句等字段的不同样式,设置不同的代码,对索引信息库的各字段进行统一处理,转换过程由计算机自动完成。 如对单字头可用“〖HT4SS〗+单字”替换。
3.形成检字表程序。利用单字信息和汉字信息形成按序排列的部首及音序检字表。
4.内码转换程序。这是利用汉字系统编码的规律性和标准, 将GBK内码转换为方正内码。顺序读取源文件的每一个字符,获得其内码,对于GB的一、二级汉字无须转换,对于其他字符则根据规律及对应关系进行转换并写入目标文件中。
(六)特殊问题的处理
1.繁体字的处理
由于《十三经词语索引》全部采用繁体字,且字形须和原书保持一致,因此一般的汉字系统远不能满足要求。汉字扩展内码规范GBK 涵盖了GB、BIG-5等编码,共有20902个汉字,可缓解这一矛盾, 但仍有缺字。对于GBK中也没有的字,我们采用如下方法解决:在Windows95下给该字一个空余的编码,用此内码输入该字,并在汉字信息库中写入该字正确的结构信息。这样该字及包含该字的词语均可被正确的检索、统计、排序。最后利用Windows 95的造字程序,在此内码上造出该字,即可正常地显示和打印。
2.汉字信息库收字问题
本库只收《十三经》中用到的字。采用如下步骤:先将第一部经书的所有单字全部入库。在处理第二部经书时,只将单字信息库中BZ字段为否的单字入库。为确保无重复的单字信息,将汉字信息库中的单字字段定为主索引,保证其唯一性。后续经书均照此操作,既不影响后继工作,又省却了人工查找核对的麻烦。
三、系统的特点
该系统大大提高了工作效率和准确性。它具有以下几个特点:
1.对具有标识的原文可提取全部的词语信息,包括词语的频率、例句、页码等。
2.可提供《十三经》所用全部汉字的信息,如单字的个数、频率。
3.可提供词语索引的文本文件形式的正文。
4.可提供按序排列的部首、拼音及四角号码检字表。
5.可提供带有方正排版命令的小样文件供正式出版使用。