基于FP-tree的中小馆书目数据库主题词数据挖掘
陈瑷瑛1, 秦宗蓉2
1.广州航海高等专科学校图书馆 广州 510725
2.广州航海高等专科学校计算机与信息工程系 广州 510725
摘要

针对中小馆普遍存在的中文图书学科主题标引问题,采用关联规则挖掘的FP-growth算法进行学科主题字段的数据挖掘,得出分类学科主题词表,为中小馆制定中文图书机读数据主题标引规则和细则提供参考依据,同时为标引中文图书提供参照。

关键词: 关联规则; 数据挖掘; FP-growth算法; 学科主题; 最小支持度
中图分类号:G250 TP391
Data Mining of Subject Words for Bibliographic Database in Small and Medium-sized Libraries Based on FP-tree
Chen Aiying1, Qin Zongrong2
1.Guangzhou Maritime College Library, Guangzhou 510725,China
2.Department of Computer and Information Engineering,Guangzhou Maritime College,Guangzhou 510725, China
Abstract

For ubiquitous subject indexing problem of Chinese books in small and medium-sized libraries, this paper uses the FP-growth algorithm to mine discipline subject field, and the discipline thesaurus of each category is obtained. The reference basis for making machine-readable data subject indexing rules and bylaws of Chinese books in small and medium-sized libraries is provided as well as subject indexing of Chinese books.

Keyword: Association rules; Data >mining; FP-growth algorithm; Discipline subject; Minimum support
1 引 言

标准化、规范化的书目数据是网络环境下实现文献资源共享的基础,也是读者利用馆藏文献资源的重要保障[ 1]。近年来文献编目工作的重心逐渐从传统的文献著录向规范控制工作转移。完善书目规范控制是实现编目工作标准化以及提高书目数据库质量和书目检索的查准率、查全率的关键[ 2]。从目前图书馆实际工作来看,各省市(地)级公共图书馆及本科院校图书馆基本实现了联机联合编目,但广大的中小馆因办馆层次、馆藏规模、经费等客观原因,依然采用分散的计算机编目,缺乏规范控制,普遍存在中文图书学科主题标引问题。本文采用关联规则挖掘的FP-growth(频繁模式增长)算法[ 3],以广州航海高等专科学校图书馆管理系统GDLISXP书目数据库MARC 606﹩a学科主题标目为例,对此问题进行研究。

2 需求及技术思路
2.1 数据挖掘技术应用现状

基于数据挖掘在数据的组织、分析和知识发现等方面的巨大优势和对信息的深层挖掘能力,国内外的电信、制造、零售、金融等领域已广泛应用数据挖掘技术。在发达国家图书馆,数据挖掘基础理论研究已经体系化,数据挖掘技术应用广泛;而在国内图书馆,数据挖掘基础理论研究薄弱,实践研究相对滞后[ 4]。国内外研究较少将数据挖掘技术应用于书目数据库。通过2006年至2008年的剑桥科学文摘(Cambridge Scientific Abstracts,CSA),笔者发现一例关于WorldCat的数据挖掘文献,其主旨是通过数据挖掘来增加WorldCat对于图书馆馆员和用户的价值。通过1979年至2010年的CNKI数据库,共检索到6篇相关文献,研究内容主要集中在:数据挖掘技术在图书馆自动化管理中的应用;数字图书馆系统中可视化数据挖掘的实现;根据书目数据库主题词/副主题词之间的语义关联规则抽取知识等。

2.2 应用需求及数据挖掘技术思路

(1) 中小馆书目数据库的应用需求

据有关测算,中文图书主题标引用600-607字段的信息载体约占4%-7%;而用606字段的信息载体标引约占93%-97%。显然,中文图书主题标引中最大量的是学科主题标引[ 5],那么可用学科主题标引代表中文图书主题标引。

中小馆新书编目一般都采用书商提供的MARC数据。不同书商提供的MARC详略不同,很多图书馆在验收时对MARC的审查不严,一般都是全部接受,很少做删除和增加[ 6]。另外,原始编目由标引人员对文献的内容进行主题分析,提炼主题概念,再把主题概念转换成主题词,很难做到每次都去查《中国分类主题词表》(第二版,简称《中分表》),因此主题标引带有很大的主观随意性。中小馆普遍存在中文图书主题标引网罗度、专指度不适当以及标引不一致的问题[ 7],急需对学科主题标目进行系统的规范控制,建立、使用规范款目和规范文档[ 2],以解决中文图书学科主题标引问题。

(2) 数据挖掘技术思路

如果能依靠某种技术从书目数据库提取学科主题标目,则可以利用数据挖掘技术对提取的主题词进行数据挖掘,找出主题词以及主题词间的关联规则,引用最规范的主题标引工具来评估模式,建立学科主题词表,即学科主题的规范款目和规范文档。

目前,书目数据库的平台多采用Oracle、Sybase、Infomix、SQL Server等关系数据库,它们的DTS导入/导出向导都支持从馆藏书目库导出MARC数据。MARC数据存储在RDBMS提供的变长型字段中,其字段和子字段个数不定,长度可变,且字段和子字段可重复[ 8]。学科主题标目存贮在MARC数据的606字段中,可以采用VBA技术从导出的MARC数据提取学科主题标目。

关联规则挖掘用于发现大量数据中项集之间的关联或相关联系。Apriori算法是关联规则挖掘的经典算法,而FP-growth算法无须产生候选项集,只需要扫描数据库两次, 使关键信息以FP-tree的形式存放在内存中,将发现长频繁模式的问题转换为递归地发现一些短模式,大大降低了搜索开销[ 3]。对FP-tree方法的性能研究表明:FP-growth算法是有效的、可伸缩的,并且大约比Apriori算法快了一个数量级。因而采用FP-growth 算法挖掘书目数据库学科主题字段,其关键在于构造适合运行FP-growth算法的主题词事务数据库并且在主题词事务数据库中实现FP-growth算法。

3 采用FP-growth算法挖掘中小馆书目数据库学科主题字段

设I={i1,i2,…,in}是项的集合。设D={d1,d2,…,dm}是与任务相关的数据库事务的集合,其中di(i=1,2,…,m)称为事务,每个di是项的集合,使得di⊆I。每个事务都有一个标识符Tid。设A是一个项集,事务di包含项集A当且仅当A⊆di。关联规则是形如A⇒B的蕴含式,其中A⊂I,B⊂I,并且A∩B=Φ。支持度Support(A⇒B)表示A∪B的事务在D中所占的比率。置信度Confidence(A⇒B)表示支持A∪B的事务在支持A的事务中所占的比例。同时满足最小支持度(min_sup)和最小置信度(min_conf)阈值的规则就是强关联规则。

计算机类文献的主题标引显得较混乱[ 9],2009年12月本馆才开始采用中图五级分类,因而以书目数据库TP31 计算机软件的MARC 606 ﹩a学科主题标目为例进行主题词数据挖掘。TP31所有MARC 606 ﹩a主题词是项集,每个主题词是项in,每条含有MARC 606 ﹩a主题词的书目记录是一个事务di,以索书号作为事务记录号Tid,所有事务di组成主题词事务数据库Di。挖掘的目标就是找出所有强关联规则。

3.1 数据准备

(1) 数据导出

GDLISXP的数据库平台是SQL Server 2000。提取数据进入SQL Server企业管理器,找到馆藏书目库,单击右键,选择“打开表”菜单中的“查询”, 在窗格中输入语句如下:

SELECT 题名 AS Expr1, 索书号 AS Expr2, marc AS Expr3

INTO TP31

FROM 馆藏书目库

WHERE (索书号 LIKE 'TP31/%')

ORDER BY 索书号

点击运行按钮(“!”),即把GDLISXP馆藏书目库TP31的所有书目记录贮存在GDLISXP\表\TP31里。但是数据在此不能进行修改、编辑,需要从GDLISXP导出数据以方便挖掘。选中表TP31,单击右键,选择“所有任务”菜单中的“导出数据”,启动DTS导入/导出向导,按该向导提示完成导出步骤,即可将数据导出。导出的数据如图1所示:

图1 TP31的表头及部分导出的数据

(2) 数据预处理

①通过第一个VBA程序处理导出的TP31书目记录表,标识外文书数据、未到库数据、废数据(无010、无905)、随书光盘数据(CD)、未做主题标引的系部图书数据、无主题词数据(NO)、存在主题词数据(YES)以及提存“YES”记录中的主题词,实现噪声数据、不完整数据的标示以及有效数据的标示、提存。预处理第一步获得的数据如图2所示:

图2 TP31处理①获得的数据(部分)

②通过第二个VBA程序处理表TP31处理①获得的数据,复制其中的主题词记录,实现TP31中MARC 606﹩a学科主题标目的提取。预处理第二步获得的数据如图3所示:

图3 TP31处理②获得的数据(部分)

③数据准备工作结束,形成事务数据库Di

3.2 数据挖掘

(1) 确定Minimum Support和Minimum Confidence

《中分表》对主题词修改、删除、新增明文规定:《中分表》中的正式主题词,书目数据库使用频率在2次以下,可考虑删除该词或修改为入口词;不属于《中分表》中的正式主题词,书目数据库使用频率在5次以下,该词内涵与正式主题词相近或有不予组配的属种关系,则可收为入口词;不属于《中分表》中的正式主题词,书目数据库标引频率在5次以上,且与已有主题词的概念不相同或相近,即为新概念,对表达新生事物及新兴学科概念的词语,可放宽标引频率,一般在2次以上,都可考虑入选为正式主题词[ 10]。本文用最小支持数来表示Minimum Support,基于此规定把最小支持数定为2。

由于中小馆中文图书学科主题标引的网罗度小,经过相关文献调查以及本馆书目数据研究,反复比较,最终确定Minimum Confidence为1%,以避免遗漏那些与出现频率极高的主题词相关联的低频率主题词,而只有这些低频率主题词才能更真实地反映中小馆学科主题标引的深度。

(2) FP-growth算法挖掘主题词事务数据库Di

利用Java语言编写逻辑严谨的FP-growth算法程序,构造频繁模式树,挖掘频繁项目集。

① 构造频繁模式树

1)根据设置的Minimum Support阈值,扫描事务数据库Di一次,收集主题词频繁项的集合F和其支持度。对F按支持度进行降序排序,结果为频繁项表L。

2)创建FP-树的根节点,以“null”标记。再次扫描目标数据一次,对于Di中的每个事务Trans,进行如下处理:选择Trans中的频繁项目,删除非频繁项,并按照L中的次序排列。设排序后的频繁项表为[p/P],其中p是第一个项目,P是剩余的项目表;如果[p/P]非空,调用insert-tree([p/P],T)。

Insert-tree([p/P],T)的执行过程如下:

如果T有子女N使得N.item-name=p.item-name,则N的计数加1;否则创建一个新节点N,将其计数设置为1,链接到它的父节点T,并且通过节点链将其链接到具有相同item-name的节点。如果P非空,则递归地调用insert-tree(P,N)[ 11]

② 挖掘频繁项目集

FP-树的频繁项目集挖掘通过调用FP-growth (FP-tree,null)实现。该过程实现思想如下[ 12]:

Procedure FP-growth (Tree,α)

if Tree含单个路径 P then

for 路径P中节点的每个组合(记作β)

产生模式β∪α,其支持度support=β中节点的最小支持度;

else for each αi在Tree的头部{

产生一个模式β=αi∪α,其支持度support=αi.support;

构造β的条件模式基,然后构造β的条件FP-树Treeβ;

if Treeβ≠Φ then

调用FP-growth (Treeβ,β);}

③ 由频繁项集产生关联规则

输入最小支持度阈值2和TP31主题词事务数据库Di(3 440个事务、451项,最大事务长度7,平均事务长度1.56),运行FP-growth算法程序。输出168个主题词频繁项目集(最大模式长度5,平均模式长度1.91),由此可产生诸多主题词关联规则,而满足最小置信度的关联规则才是强关联规则。因篇幅限制,仅列举几个高频率主题词关联规则,如图4所示:

图4 TP31事务数据库挖掘出来的部分主题词关联规则

3.3 模式评估

由于中小馆普遍存在中文图书学科主题标引问题,所以从馆藏书目库挖掘得到的模式并不完全可靠,必须引用最规范的分类、主题一体化索引《中分表》对模式进行学科概念分析评价,并且遵循主题标引规则来选词匹配。从图4可知,部分学科主题标目选用了上位词、入口词、自由词、自取关键词。以图4 为目标数据,每条关联规则都通过图2的相应主题词查找索书号,然后到图1中去找原始MARC记录。分析主题和凝练主题概念不仅要推敲MARC记录里的内容摘要,甚至还要查阅原书目录,然后引用《中分表》对主题概念进行学科概念匹配,以确保选用的主题词的网罗度适中、专指度适当以及主题标引的一致性。

引用《中分表》对图4的主题词关联规则通过人工逐条匹配,根据匹配结果编制TP31学科主题词表,如图5所示:

图5 TP31学科主题词表(部分)

为了提高主题词表的适用性,编制时用红色显著标示标引有误的主题词,并在旁边用黑体加粗标示出正确的主题词,有入口词的主题词再用斜体字在旁边标示;为了全面反映本馆主题标引现状,充分揭示主题词之间的关联规律,主题词表采用Excel的形式。主题词按出现频率从高到低排列在第一列,主题词之间的关联以及关联的确定性程度用置信度表现在各行。在同一行中先按主题词出现频率从高到低依次排列相关联的主题词,再将关联主题词的置信度列在其后。

4 分类学科主题词表应用效果评估
4.1 实现环境和应用环境

(1)数据准备过程:在GDLISXP的企业管理器中实现馆藏书目的数据导出,导出数据以Excel表的格式保存;数据预处理阶段的开发环境是Office 2003中的Excel VBA,应用Excel VBA程序提取书目记录表的学科主题标目,构造主题词事务数据库。

(2)数据挖掘过程:通过JDK1.6开发环境,利用Java语言实现FP-growth算法,挖掘出主题词频繁项目集。分类学科主题词表的应用环境是图书馆集成管理系统的编目、典藏、公共查询子系统,应用分类学科主题词表可实现的功能有:编目子系统学科主题标引的参照;典藏子系统回溯数据纠错;OPAC指引馆藏书目主题词。

4.2 应用效果分析

分类学科主题词表里的关联主题词以及关联置信度,为中小馆制定中文图书机读数据主题标引规则和细则提供了参考依据。分类学科主题词表是中小馆实施学科主题规范控制的规范数据,用于学科主题标目的回溯数据纠错,以解决中文图书学科主题标引问题。以它作为中文图书学科主题标引的参照不仅可以提高编目速度,还可以实现学科主题规范控制。分类学科主题词表收录了学科主题规范标目的所有形式,无论以入口词、错误主题词或是正确主题词为检索入口,都能在分类学科主题词表里检索到,编目人员可以直接选用规范的主题词进行标引,免去了主题分析、概念转换、查表选词的过程且避免了标引错误。

把分类学科主题词表链接或嵌入到各馆OPAC中,通过分类学科主题词表,读者能以学科主题标目的任一形式进行检索,并且可以直接从分类学科主题词表中选择检索词,既能提高检索的专指性,也可避免由于输入错误而造成误检[ 2],从而大幅度提高了主题检索的检全率和检准率。

5 结 语

本文采用关联规则挖掘技术加强中小馆书目数据库建设工作,既丰富了图书馆管理实践,又开拓了数据挖掘技术在图书馆信息服务中的应用价值。研究方法和成果对中小型图书馆具有普遍的借鉴意义,提供了获得分类学科主题词表的方法与途径,为中小馆主题标引工作走向标准规范夯实了基础,并且在提高信息分析研究的科学性和促进信息开发利用的进一步深入研究上有一定的理论意义。本文的研究忽略了中小馆分类标引的差错,后续研究应从纠正中小馆分类标引的差错入手,使分类学科主题词表更为严谨。

参考文献
[1] 赵伯兴. 论网络环境下书目质量理念的拓变[J]. 图书馆建设, 2006(6): 44-47. [本文引用:1]
[2] 符勤. 通过编目技术提升在线书目的质量[J]. 图书馆, 2007(3): 74-76, 95. [本文引用:3]
[3] Han J, Pei J, Yin Y. Mining Frequent Patterns Without Cand idate Generation[J]. Data Mining and Knowledge Discovery, 2004(8): 53-87. [本文引用:2] [JCR: 2.877]
[4] 牛根义. 国内图书馆数据挖掘研究[J]. 现代情报, 2009, 29(1): 128-130, 133. [本文引用:1]
[5] 陈耀盛. 网络信息组织[M]. 北京: 科学技术文献出版社, 2004: 200. [本文引用:1]
[6] 章华. 江苏高校图书馆编目数据存在的问题及对策[J]. 图书馆建设, 2008(7): 75-77. [本文引用:1]
[7] 董素音, 冯宝秀. 现代图书馆藏书建设工作[M]. 北京: 海洋出版社, 2006: 108-109. [本文引用:1]
[8] 王怀汀. 金盘图书馆集成管理系统的总体设计[J]. 现代图书情报技术, 1997(1): 34-37. [本文引用:1]
[9] 詹萌. 我国图书馆书目数据库的数据特征分析与检索方式扩展研究[J]. 图书情报工作, 2006, 50(7): 68-72. [本文引用:1]
[10] 国家图书馆《中国图书馆分类法》编辑委员会. 中国分类主题词表(第二版)分类号—主题词对应表(一)[M]. 北京: 北京图书馆出版社, 2005: 22-25. [本文引用:1]
[11] 郭伟, 叶德谦. 改进的基于FP-tree的频繁项集挖掘算法[J]. 计算机工程与应用, 2007, 43(19): 174-176. [本文引用:1]
[12] 车传辉, 倪明. FP算法在企业信息类隐性知识挖掘中的应用研究[J]. 情报杂志, 2009, 28(4): 144-146, 55. [本文引用:1]