蔡丹丹
(上海图书馆 上海 200031)
图书采购在图书馆工作中有着极其重要的地位,采购策略对于图书馆馆藏质量和服务水平有着决定性的作用[1],同时对于读者满意度、阅读推广效果等方面也都有着很深远的影响。采购书目的质量和复本量关系着图书馆能否利用投入采购中的有限的成本更好地满足读者的需求[2]。对于许多图书馆来说,充分利用有限的经费同时达到购买到的图书是读者最需求的效果,是图书采购中的核心问题[3]。
图书馆更好的生存与发展和先进技术的运用是密不可分的。目前图书采购中的读者决策采购(Patron Driven Acquisitions,PDA)模式很受欢迎,但对公共图书馆来说,如果同时收到的读者需求较多,如何筛选真正有价值、利用率高的图书,关系着读者决策采购的相关投入能否得到最优化利用。而对图书价值和利用效率的预判,目前在许多图书馆中还是基于采访人员对图书信息的把握和个人经验。随着智慧图书馆概念的发展和人工智能技术的广泛应用,将图书采购原则与计算机技术相结合,减少图书采购时的主观判断因素,形成更科学高效的采购策略,是在“互联网+”时代发展智慧图书馆亟需面对的课题。
本文利用近年流行的神经网络结合遗传算法对图书进行协同分析,将图书分为有借阅图书(“热门书”)和零借阅图书(“冷门书”)两类,获得基于图书特征的借阅预测模型,在采购前对一本书是否会成为“热门书”进行预测,从而为是否满足读者提出的采购需求提供依据。
目前图书采购研究热点是读者决策采购、图书招标采购等采购方法,数据挖掘在图书采购中的应用也是研究热点之一[4]。许多研究者提出了不同的数据挖掘模型来建立科学的图书采购决策,但这些模型也都有尚待解决的问题。
有研究者将回归分析模型应用于建立图书借阅率预测模型,并以此作为图书采购复本量的参考[5]。但回归分析需要依赖线性相关关系,当订购数量作为决策对象时,与采购相关的多因子没有很好的线性相关关系[6]。为了实现图书建设的良性发展,得到一个有效的、可观的订购策略,有研究者建立了基于单隐层神经网络的图书订购动态模型,来实现图书购买经费的优化配置,该模型可以较好地处理非线性相关关系[6]。
为减少主观因素,增强图书采购的科学性,有部分研究者及图书馆尝试过建立基于层次分析法的图书采购策略[7]。层次分析法是一种有效的系统分析方法,基于人的决策和判断,结合部分定量信息,为解决复杂的决策问题提供简便的决策方法,但仍然较为依赖人的判断,存在准确性和客观性不足的缺陷[8]。有的研究者引入了基于BP(Back Propagation)算法的神经网络,即BP神经网络,来对层次分析法进行优化,这种优化方法相对于单纯的层次分析法,具有不需要进行一致性检验、避免出现逻辑错误的优点,但同时该模型也有收敛速度受限和可能出现局部最小的情况尚待改善[8]。
由此可以发现,许多研究者提出的图书采购模型中存在缺乏客观性、准确性的问题,都可以通过构建基于神经网络的采购模型来得到解决。但无论是神经网络模型还是有一定改进的BP神经网络模型,在构建时都具有一定的局限性,收敛效率和局部最小问题等都有继续优化的可能。因此,在进行图书采购模型的研究时,我们可以考虑引入遗传算法来进一步优化神经网络模型。遗传算法具有良好的全局搜索性能,并减少了陷入局部最优解的风险,这些优点恰好可以弥补神经网络的缺点[9]。
目前应用于采购的神经网络模型有许多不同的类型,有的研究者提出通过LVQ(Learning Vector Quantization)神经网络,基于图书的特征对是否采购进行预测[10];也有研究者通过灰色神经网络构建了基于拒借率和流通率的图书复本量预测模型[2],等等。但这些基于神经网络的采购模型,一方面显示出神经网络模型相对于传统回归模型,预测精度更高[2],但同时都无可避免地受到神经网络模型本身固有缺陷的限制。
有一部分关于图书采购模型的研究也探讨了神经网络模型的不同优化方法,比如结合带有影响因子的遗传算法,预测某本书是否会被本校图书馆采购[11];以及通过遗传算法对基于神经网络和支持向量机的两种采购模型进行优化,对比优化后对图书馆是否采购的预测准确度[3]。这些优化模型都取得了比原有的标准神经网络模型更好的预测结果,因此基于遗传神经网络原理来构建采购模型是一个可行的方法,而且相较于基于标准神经网络的模型,能取得更好的效果。由此,本文选择了基于遗传算法的神经网络来构建采购决策模型。
此外,综合上述案例可以发现,在神经网络与图书采购策略结合方面的研究,主要集中在对是否采购的研究,是基于过往采购专员的采购行为而形成的函数,可以达到的效果是减轻采购专员的机械劳动量。本文则希望通过对遗传神经网络的应用,形成关于零借阅图书的非线性映射模型,模型的构建是基于对过往读者行为的总结,尝试从读者行为角度,为采购决策提供科学的依据。
本文选择利用遗传算法对神经网络进行优化,构建基于遗传神经网络的采购决策模型,而不是采用传统的标准神经网络,是考虑到神经网络和遗传算法的特点,利用遗传算法作为神经网络学习和训练的基础,以期能够获取一个预测精度更高、训练效率更好的模型。
神经网络具有极强的非线性映射能力,因此可以很好地处理非线性映射关系。理论上,对于一个三层和三层以上的网络,只要隐含层神经元数目足够多,该网络就能以任意精度逼近一个非线性函数[3]。但标准神经网络也存在一定缺陷。我们可以把神经网络的整个计算过程看作是一个优化学习和训练函数的过程,我们需要在计算中找到算法的权值和阈值,在此范围内,根据输出结果与实际预期结果的比较,可以得到最小误差值[12]。因而,在寻找权值和阈值的过程中,由于初始值是根据经验预设,就有陷入局部极小值的风险,同时初始值设定距离最优值较远,就会存在训练时间比较长的问题。
此外对于神经网络的特点有多种优化方法,其中应用比较广泛、结构比较简单的是基于BP算法的神经网络,即BP神经网络,是标准神经网络的改进。它是一种双向预反馈神经网络,它的反馈机制能够修正神经网络的一部分缺点以提高训练效率,但始终存在陷入局部极小值的风险,并且训练样本数的增加仍然会降低模型的收敛速度[13]。
美国密歇根大学Holland于1975年提出的遗传算法是一种通过模拟生物进化过程,基于“优胜劣汰”的原理,选择、进化、迭代计算寻找最优解的算法[14]。其本质是一种全局优化搜索的方法,它能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜索过程以求得最优解[11]。
遗传算法可以对神经网络的权值和阈值进行优化,代替随机根据经验设置的初始值。因此有研究者通过引入具有良好全局寻优能力的遗传算法,建立遗传神经网络,来优化标准神经网络,发现遗传算法有能力较好地降低标准神经网络存在的容易陷入局部极小的风险[15]。同时也有研究发现,遗传算法能够有效地解决神经网络中的预反馈信息问题,因此通过遗传算法优化的神经网络结构可以解决神经网络收敛速度慢、运行效率低等问题[12]。
遗传算法和神经网络的特点决定了将两者结合使用,是一种优化构建模型的方法,可以使神经网络具有自进化与自适应能力[14],从而使模型面对图书馆中样本数据量较大的情况时,能够发挥效率优势和精准度优势。
上海图书馆目前开展了多种表现形式的读者决策采购,包括在书目查询系统中开通了“中文图书你荐我购”标签页[16],以及在上海书展期间的“你选书,我买单”活动等,都能在一定程度上满足读者的个性化需求。但面对多样化需求时也要考虑到,尽管PDA在一定程度上都体现馆藏建设“以用户为主导”的特点,但读者们的选择也是充满个人偏好的选择[17]。如何科学高效地利用投入采购中的成本,使按需采购的图书是更多读者需要的图书,也是公共图书馆需要决策的重点。
因此,本文利用遗传算法优化神经网络模型,现有读者行为结合书目信息预测图书是“冷门书”还是 “热门书”,从而可以为是否满足读者需求进行采购提供依据。如果模型预测为“热门书”则推荐优先采购,如果模型预测为“冷门书”则根据采购成本延后采购。
数据集来自上海图书馆普通外借类型图书,共计627 529册,选取其中的零借阅图书数据共82 779册。通过书目号筛选,发现零借阅图书为7 729种。提取这7 729种书籍的特征值量化作为零借阅书目数据集,相对应地选取普通外借类型图书中借阅量排名在前8 000种的书目作为有借阅书目数据集,共提取15 729种书籍的书目信息。筛选其中编目数据比较完整的书目共得到14 834条书目,因此数据集为:零借阅书目7 358种, 有借阅书目7 476种。
通过遗传算法优化神经网络模型的设计步骤为:①数据采集。提取大多数图书都有的书目信息作为特征值,对特征值进行量化。②创建神经网络,数据集导入MATLAB(Matrix & Laboratory)中,共14 834条数据,其中训练数据14 000条,测试数据834条。③通过遗传算法优化神经网络的阈值和权值。④将优化后的阈值和权值带入还未开始训练的神经网络。⑤训练神经网络。⑥测试神经网络。⑦分析准确率。
首先,根据特征在数据集中的数量进行排序,优先选择数量比较多的特征;其次,对特征是否会对读者借阅行为产生影响进行分析判断,选取会对借阅产生影响的特征。因此,本文选取分类、著者、主题、出版社、出版日期、开本、页码、语种这8个特征进行量化。
著者、主题、出版社都通过统计词频后排序实现量化,由于是非线性映射,排序号码数值的大小与最终判断结果并无线性逻辑关系,因此直接将排序号作为量化值。
本文基于MATLAB构建神经网络并通过遗传算法优化神经网络的结构和神经元权重,从而利用遗传神经网络判断某本书目为零借阅图书还是有借阅图书。
数据存储在MATLAB数据文件中,共有14 834条数据,包括图书馆当前普通外借的冷门书籍和热门书籍。输入神经元的个数为8,代表书籍的各种特征,输出神经元个数为1,输出值通过一定规则判定为0或2,分别代表冷门书籍、热门书籍。样例数据如表1所示。
表1 样例数据
首先创建神经网络,设置节点个数、训练集和测试集。主要代码如下:
load data input output %读取数据。
inputnum = 8;hiddennum = 12;outputnum = 1; %节点个数。
input_train = input(1:14000,:)'; input_test = input(14001:end,:)'; %训练数据和预测数据。
output_train = output(1:14000)'; output_test = output(14001:end)'。
遗传算法优化过程包括:初始化参数和种群;记录平均适应度;通过选择、交叉、变异计算迭代求解最佳阈值和权值。其中选择、交叉、变异算法的主要过程如下:
individuals=select(individuals,sizepop);avgfitness=s um(individuals.fitness)/sizepop; %选择。
individuals.chrom=Cross(pcross,lenchrom,individua ls.chrom,sizepop,bound); %交叉。
individuals.chrom=Mutation(pmutation,lenchrom,in dividuals.chrom,sizepop,i,maxgen,bound); %变异。
通过遗传算法获取神经网络的最佳初始阈值和权值之后,将这些初始值带入神经网络,进行神经网络训练,并获取预测结果。神经网络训练和获取预测结果的主要过程如下:
[net,per2]=train(net,input_train,output_train);%训练神经网络。
BPoutput=sim(net,input_test); error=BPoutputoutput_test; result_t = [output_test' BPoutput' error'];%输出神经网络预测结果。
多次运行遗传神经网络进行训练测试,表2中为样本、训练集、测试集的数据基本信息,表3为其中4次的运行结果。
表2 数据基本信息
表3 运行结果
由表3运行结果统计可见,该模型的运行稳定性较高,对“热门书”预测的平均准确率达到89.78%,对“冷门书”预测的平均准确率达到84.40%,平均预测准确率可以达到87.23%。模型获得的误差值较小,且运行结果比较稳定,能够达到预测图书属于“冷门书”或者“热门书”的目的。同时遗传神经网络模型具有运行效率高的特点,即使导入新的数据,学习效率也很高,因此该模型可以为图书采购提供一定建议,并经常根据读者行为进行修正。
通过对上海图书馆普通外借数据的整理和统计,可以发现遗传神经网络在基于读者行为的外借预测中有较好的表现,可以通过该模型获取到推荐优先采购的书目。此外,本文中设想的模型应用场景是处理多样化的读者推荐采购书目,但模型通过改进或许也可以应用于图书批量采购。由于应用于图书批量采购时,对模型的精准度要求更高,因此未来的研究中,可以通过引入主题词、标题、摘要等书目信息中语义相关的特征值,来优化模型获取更加准确的预测结果。
同时,从采购决策上来说,对许多专业图书馆、社区图书馆来说,在预算有限的情况下,提高采购决策的科学性和准确率,可以显著优化馆藏建设。从这一点考虑,遗传神经网络模型由于具有提高模型运行效率、优化准确率的特点,通过这一方法来构建新的采购决策模型或者优化原有采购模型,都是有价值的改进尝试。但同时,对大型公共图书馆和大型专业馆来说,“应采尽采”或“饱和采购”是其应尽的义务,这类模型的使用或许收效有限,但依然可以依据预测结果来决定采购顺序,提升服务效率。