图书自动分类的数学建模及实现,本文主要内容关键词为:建模论文,数学论文,图书论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
[分类号]G250.7
1 图书分类法及其自动化实现模式
图书分类就是根据图书的内容或形式的异同,按照一定的体系,有系统地组织图书和区分图书。若要准确地辨类,主要采用以下6种途径和方法:
● 详审书名。绝大部分书名是可以反映出其基本内容的,但并不是说单靠书名就可以确定一本书的类属(如有的书名就不能确切地显示其立场、观点及其学科内容等),还必须考查其题上项、题下项、副书名等所有说明文字。
● 审阅内容题要。根据书的内容简介,可以大致判定出书名是否能概括该书的内容实质。
● 检阅目次。目次是全书内容的纲领,反映图书内容的题材和范围,但因为过于简略而不能作为分类的唯一依据。
● 阅读书的前言、说明、凡例和跋。从序言、凡例和跋中可以看出著者的写作目的、该书的内容范围、编制过程以及对该书的评价等。
● 涉猎正文,首先是绪论。
● 浏览全书。
在从以上不同角度对图书进行较为全面的分析后,基本可以准确地进行辨类,最后归入最能体现其本质属性的类。
采用计算机自动分类的过程与人工分类近似,属于人工智能的范畴。其分类过程如图1所示。
图1 自动分类流程
在图1中,机器“阅读”指的是通过机器“阅读”文献的篇名、目次、摘要或正文。并将其变换成机器可读的代码存入计算机。经“阅读”后的代码再由机器统计、分析其用词频率,然后自动标引出文献的主题。最终,机器根据选出的词或词组,将文献归入一定的类或范畴。
自20世纪50年代以来,自动分类一直未建立起一个真正实用的系统。究其原因,主要是因为自动分类标引成本过高,所以国外常采用人工辅助介入的方法来降低费用。主要做法是:先由计算机进行词频统计、排序、查对等多项工作,然后再由人工方式完成评定、增补、修正等操作,最终将文献归入一定的类。上述方式的优点在于人机相互配合、合理分工、不但降低了成本,同时也加快了处理速度。
在国内,图书分类自动实现的研究与应用尚处于探索阶段,不少专家、学者都发表过相关的专著与学术论文。本文试图利用工人智能技术,通过计算机类图书分类法专家系统模型的建立与实现(以下简称分类系统),最终达到图书自动分类的目的。
2 分类系统总体设计思路
鉴于分类系统主要是面向图书馆工作人员和图书分类专家的,因此该系统的总体设计思想是人机界面友好,系统功能强、知识丰富、分类快速、准确。该系统以菜单驱动,利用词的类分,词语之间的关系、词和范畴之间的关系以及图书分类的规则对图书进行分类,得到正确的类名及类号,同时能对分类过程中所积累的经验进行记载、验证和提炼。
系统在设计时遵循一般专家系统的模块设计,包括用户接口、推理机、动态数据库、知识库、解释子模块和知识获取子模块(如图2所示)。出于篇幅考虑,本文只对其中的主要内容作详细介绍,而对用户接口的设计以及人工智能方面的一些专业知识则予忽略(有兴趣的读者可参阅相关书籍)。
图2 系统模块框
3 分类系统模型的建立与实现
3.1 分类系统的知识表示技术
在分类系统中,总共采用了7个知识库,分别是词典库、忽略词库、近义词库、类名、类号对应库、分类知识库、分类临时经验库和分类经验库。它们可分为3类,分别采用不同的知识表示技术,下面分别对其作一简要介绍。
3.1.1 简单事实库 它是第一类知识库,包括了词典库、忽略词库、近义词库、类名、类号对应库。从内容上来讲,这几个知识库要么是一些简单的事实,要么是一些简单的对应关系,因此,宜采用最简单的表示方法。
3.1.2 分类知识库 分类知识库存放的是根据《中图法》所编的分类规则,它们是国家图书分类的标准。在分类系统中,目前只存放了其中有关计算机类图书分类的一些规则。
以《程序设计方法学》为例,按以下层次进行分类:
● 该书在大类上属于工业技术类,即T类;
● 在T类中,它属于自动化技术,计算技术类即TP类;
● 在TP类中,它又属于计算机类,即TP3类;
● 在TP3类中,它又属于计算机软件类,即TP31类;
● 在TP31类中,它又属于程序设计类,即TP311类;
● 在TP311类中,它又属于理论方法类,即TP311.1类;
● 在TP311.1类中,程序设计方法类应属于TP311.11类。
这样,从上至下总共7个层次,才能将该书分到应属的类,并给出分类号。
为了进一步表述这种层次性的知识,这里采用了一种规则,其基本结构如下:
IF——P——THEN——E[,1],E[,2],E[,3]
其中P是前提,E[,1],E[,2],E[,3]分别是结论。
例如:规则004
IF某书是计算机类THEN,其类号是TP3。
该书的上位类是自动化技术、计算技术类,其下位类有:计算机的一般性问题、计算机软件、一般计算器和计算机、电子数字计算机、电子模拟计算机、混合电子计算机、微型计算机、其它计算机、计算机的应用。
3.1.3 分类临时经验库和分类经验库 分类临时经验库存放的是对分类过程的记载,通过对其进行分析和总结,可以将之提升为分类规则,然后不断地应用于分类过程,进行频度统计和可信度的积累,当频度和可信度都达到一定的程度以后,由经验分析模块对它进行分析与确认,再作相应的处理,使之上升为分类经验。
分类经验库存放的是经过专家确认的、没有冲突的分类经验,实际上是对以前分类经验的积累。当专家系统具有经验以后,可以使专家系统的思维更接近于人的思维,也避免了不必要的重复推理过程,从而提高分类速度。
临时分类经验库和分类经验库都采用规则表示,其结构分别如下:
IF P
THENH
CF(H)
FR
IF P
THENH
CF(H)
其中P为前提,H为结论,CF(H)为结论的可信度,FR为临时经验的使用频度。
3.2 推理机
推理机是专家系统的一个重要组成部分,它根据所提供的信息来寻找与之相匹配的目标。推理机分为两大类:确定性和非确定性的。确定性推理给出的结论是很准确的;而非确定性推理给出的结论带有一定的概率性。
在构造推理机时,通常有3种基本方法:正向推理、反向推理和规则评价。分类系统采用的是非确定性推理,其构造方式为反向推理方式(有关非确定性推理及反向推理方式的相关概念,读者可参阅相关书籍)。下面重点讨论分类系统结构推理机的方法及其所涉及的非确定性推理问题。
3.2.1 分类系统构造推理机的方法 图书分类需要经过两个推理过程:①从书名、内容简介等到图书所研究内容范畴的推理;②从图书所研究的内容范畴,到它所属的类名、类号的推理。对前一种推理,可视之为在一个简单语义上所作的移动,具体过程是这样的:语言的切分→词语的剔除、保留→词语的同义转换→标准词和类之间的对应→确定范畴。其真正的推理部分如图3(推理树)所示。树的裁剪过程,是由目标驱动的一个反向推理过程。
图3 树的裁剪
词语的获取本身有一定的可靠性。所谓可靠性,有两方面的含义:一方面是指以该词作为推理前提的可信程度,另一方面是指根据词语的出现频度,从书名、内容简介中进行挑选(这是靠量度来确定的可信度)。
第二种推理过程也是一种反向推理——依据所提供的范畴,确定某书所属的小类、大类,一直递推上去,直到分类树的根结点,然后根据在推理过程中所经过的路径、结点,将类从大到小进行排列,得到相应的类号。在这个推理过程中,所遵循的推理规则是国家标准,因此将其分类规则的可信度定为1。这样的话,结论的可信度主要依据前提的可信度来确定,而前提的可信度主要取决于前述确定范畴的推理。第二种推理之所以采用这种方法,是由图书分类自身决定的。由于输入内容不同,结论也会不同,这是分类系统中的一项关键技术。为此,笔者走访了一些分类学方面的专家,他们的意见是:一般来说,书的名字可以反映出书的主题,自然科学的书籍更是如此。所以,应尽量取从书名得到的结论(从书名所得的结论是第一结论,从内容提要所得的为第二结论)。但当书名和内容提要的结论一致时,可以以其中分类比较细者作为结论,此时就不再有第一、第二结论的问题。整个推理过程流程如图4所示。
图4 推理流程
3.2.2 分类系统中的非确定性推理过程 分类系统采用可信度因子方法来构造非确定性推理过程,就是根据证据F的可信度CF(E)及规则的可信度CF(H,F),计算出在推理链中最后结论A的可信度的。
通常,证据的可信度CF(F)是由用户给的,这里分类系统的证据的可信度就是在确定范畴的过程中所得到的词汇的可信度。可信度主要由词频来确定,但是词频的相对可信度有时很小,为了将其放大,这里采用求平方根的办法,如词频为0.36,则其可信度为0.6。规则可信度的确定规则是分类法的规则的可信度全部定为1。根据前提是一个还是多个的不同情况,有两种计算结论H可信度的方法。
——证据是单个条件
3.3 分类系统的知识获取
知识获取可以定义为相对于现有程序的新事实的积累、吸收和适应;知识获取的定义可扩充成含有知识工程的总体任务,包括将专门领域的知识从人类专家转移到计算机程序中,也可以包括对现存计算机程序的强化和总体维护。
从目前的研究状况来看,获取领域知识构造知识库主要有3种途径:人工获取方法、知识的自动获取技术、半自动的知识获取技术。分类系统采用了人工和半自动两种方式进行知识获取。对于分类知识、词典、同义词标准词等,采用的是人工方式;对于分类经验等,则采用半自动方式。以下将重点介绍半自动方式。
在知识库中,还有一个临时经验库和经验库,经验库的来源是临时经验库和类比学习所得来的经验,而临时经验库是在分类过程中,根据分类的推理过程而总结出来的。由于它是由机器根据分类过程自己总结出来的,所以很不系统(它主要存放的是分类时的前提和结论,存在一个门槛可信度)。这个可信度是在其成为经验时由机器自动给出的,另外还存在一个使用频度,临时经验的门槛可信度和使用频度都随着它被调用的次数的增加而增加,当可信度和使用频度都达到一定的值以后,就需要对它进行提升,使之成为真正的经验。为了能使这些经验应用于专家系统,以使专家系统更具有类同人脑的功能,必须对其进行一定的科学化处理。这些处理包括规范化、一致性、可信度确认等。所有这些工作的完成,都需要以专家的配合为前提。
图5 临时经验处理
从临时经验上升为经验的实现方法是:首先从临时经验库中提取一条临时经验,然后和经验库进行比较,看是否存在同样的前提,如果存在,再看两者的结论是否有冲突。如果有,则由专家根据实际情况,确定哪条经验有问题(有可能两条经验都有问题),然后找出一个一致性的结果来作为共同结果,并给予一定的可信度,以新的经验代替老的经验,并从临时经验库中删除该临时经验。如果经验库中不存在这条经验,则由专家确认前提和结果,并给予一定的可信度,然后形成一条经验存放于经验库。
经验知识获取的处理过程如图5所示。之所以这样处理,是因为知识在人脑中的存放呈现多层次结构(尤如一座金字塔),通常称之为智能塔(如图6)。
图6 智能塔
在这个塔中,第一层知识是塔基,虽然在低层次,但却是整个智能塔的基础,即掌握知识、发展知识、培养能力的前提。第二层属较高层次,是建立在第一层次的知识之上的。第三层知识称之为能力知识或控制性知识,属智能塔的高层次。再往上,包括分析、综合、联想等心理因素。这样看来,人的知识不仅是不断上升的,而且同一层之间也有一个上升的问题。基于这一点,对经验知识的获取采取了如上的处理方法。
类比学习获取经验的方法是:当分类时到相似的前提时(这里的相似有两方面的含义,一种是指词汇方面的,如计算机蕴含于计算机程序设计之中;二是指语义方面的,如计算机蕴含于软件设计之中),利用原来的经验进行结论修正。
具体的修正方法如下:
首先,新前提是旧前提的子集还是包集,如果是子集,则看是旧前提中的细层分类,还是粗层分类的前提,如果是细层分类的话,直接利用原来经验的结论。否则,利用粗层分类的前提在分类树中进行推理,找到相应的类名、类号作为新经验的结论。如果是包集,则在旧经验的结论之上进行推理,推出包集中最细层的分类,以之作为新经验的结论。所以有新经验的可信度都取自旧经验的可信度。这一过程如图7所示。
图7 类比学习获取经验流程图
经过这样的处理以后,就可以使专家系统像人一样,随着工作时间的增加,经验越来越丰富,智能越来越高,效率也必然越来越高。