基于BP神经网络的图书馆志愿者岗位分配
2020-10-28程龙阅
程龙阅,吴 翔,郑 睿,余 童
(1.安徽师范大学 物理与电子信息学院,安徽 芜湖 241000;2.安徽师范大学 图书馆,安徽 芜湖 241000)
0 引言
图书馆志愿者是自愿无偿地为图书馆提供义务服务的人员[1]。图书馆有组织地开展志愿者的服务工作,无论是对图书馆、志愿者,还是对接受服务的读者而言,都有十分重要的意义。志愿者的组织可以提高图书馆的服务水平及范围,既为读者提供人性化服务,也为体现志愿者的奉献精神和自身价值,发扬优良的社会风貌提供了平台[2]。而对志愿者进行合理的岗位分配,是图书馆读者服务工作顺利开展的基础。
当前,国内外文献对于图书馆志愿者的研究,主要集中在图书馆志愿者的招募[3]、培训和激励[4]、社会志愿者与图书馆间的合作[5]、志愿者建设图书馆的动机和形式的研究[6]、志愿者间的跨国互助交流[7]等方面,在图书馆志愿者与岗位之间的研究相对较少。近年来,赵琛[8]等根据公共图书馆志愿者岗位设置的总体情况及存在的问题进行分析,就如何发挥志愿者作用,提出岗位具体设置优化方案、有效的配套保障措施等建议。主要研究对志愿者岗位的优化,及志愿者入岗后的培训、激励等,忽略了志愿者入岗前合理分配岗位的积极作用。张燕[9]等结合公共图书馆实际馆情,根据志愿者服务意向,合理分配服务岗位,开展特色读者服务。仅在理论上说明了合理分配志愿者岗位的重要性,未结合实际进一步研究如何给志愿者合理地分配岗位。
近年来,深度学习神经网络已经全面渗透到图书馆的各个领域[10]。国内外相关研究已在图书馆信息检索[11-12]、信息分类与编目系统[13]和知识服务评价体系[14]等领域取得相应成果。但目前缺少将神经网络应用于图书馆志愿者岗位分配问题的研究。在神经网络运用于岗位分配方面的研究仅有2011年袁珍珍[15]等运用BP神经网络构建了空中交通管制员的岗位匹配测算模型;2015年,曾庆婷[16]等运用BP神经网络构建了国有大中型煤炭企业关键岗位人岗素质匹配模型。但以上研究均是针对某一个特定岗位,根据专家打分法确定相关人员的多项胜任力指标得分作为BP网络的输入,将网络综合评判后的得分作为网络的输出,从而得出该人员对岗位的胜任情况,是一种多输入单输出的BP神经网络岗位匹配模型,未涉及到对多岗位分配问题的研究。由于图书馆志愿者的特点与岗位的数量相对较多,因此需要构建多输入多输出的网络模型,为图书馆志愿者分配适合的岗位。
据以上分析可知,BP神经网络可用于岗位分配的模型研究。BP神经网络是一种按误差逆传播算法训练的多层前馈神经网络,具有自组织、自学习、自适应的能力;且可以对复杂的模式进行识别与分类[17]。由于图书馆志愿者的特点和岗位相对较多,且之间存在一些较复杂的关系,仅应用管理学的方法,较难把大多数志愿者分配到最适合的岗位,体现“人尽其用”的原则。因此,本文首次提出将BP神经网络与图书馆志愿者的岗位分配相结合,构建多输入多输出的BP网络图书馆志愿者岗位分配模型,为图书馆志愿者的岗位分配优化配置。
1 样本数据的采集与处理
由于将BP神经网络应用于岗位识别的研究,前提条件是需要一定数量的样本集对网络进行训练与测试。为了获取到更加真实有效的数据信息,首先要通过调研确定网络输入、输出端神经元的数目;其次再采用问卷调查的方式,通过对当前工作优秀的图书馆志愿者开展问卷调查,从而获取到一定数量的网络训练、测试样本集。
1.1 样本数据的选取
对于输入端神经元的确定,采用文献[18-20]实地调研的方法,通过查阅文献及请教学校有经验的图书馆管理人员,了解并研究作为图书馆志愿者需要哪些重要特质,并最终确定选取6种特点,作为BP神经网络的输入端神经元数目。输入端神经元分别用X1~X6表示。网络输入端指标集如表1所示。
表1 网络输入端指标集Tab.1 Index set of network input
对于输出端神经元的确定,采用文献[18-20]及实地调研的方法,通过查阅文献及到校图书馆实地调研,了解并研究图书馆志愿的岗位设置情况,并最终确定选取5种志愿者岗位,作为BP神经网络输出端神经元数目。输出端神经元分别用Y1~Y5表示。网络输出端指标集如表2所示。
表2 网络输出端指标集Tab.2 Index set of network output
上文所选取的图书馆志愿者的特点与岗位之间具有一定复杂关系。从客观角度分析,如书库管理岗位的志愿者主要是负责将图书馆的图书上架摆放到对应的位置,需要付出一定的体力劳动,所以这个岗位上的志愿者相比应该会具有较高的吃苦耐劳精神、较好的耐心细心的品质;阅读指导岗位的志愿者主要是负责为来馆读者、学生推荐好书或适合他们专业的书籍,能够准确迅速地帮助每位学生查找到他们所需要的书籍,所以这个岗位上的志愿者应该具有较好的文理学修养、较好的沟通能力,但同时在开朗热心的性格及耐心细心的品质方面可能也有一定比重的要求。
图书馆志愿者的每个岗位,对志愿者的特点的要求是不同的、多样的,且之间存在一定的比重关系。某位志愿者在自身岗位所需的特点方面表现较好,但可能在其他岗位所需的特点方面也有较好的表现。因此,想要给不同特点的志愿者用神经网络的方式分配到合适的岗位,研究特点与岗位分配之间复杂的关系,还需一定数量的样本数据作为研究。
1.2 样本数据的采集与处理
为了获取图书馆志愿者特点与其适合岗位之间的复杂关系,需要采用问卷调查的方式。同时为了确保所得问卷数据的有效性,问卷对象选择当前正在从事图书馆志愿者工作,且在其岗位上表现优秀的志愿者。
1.2.1 问卷调查的设计
网络的输入是志愿者特点X1~X6,针对这些特点,问卷中对每个特点分别设置5个问题进行得分的考察。每个特点的总得分范围为整数0~10。得分越接近10说明该志愿者的这方面特点表现越好,越接近0说明该志愿者不具有这方面的特点。
网络的输出是志愿者岗位Y1~Y5,由于这些志愿者在其岗位上表现优秀,因此认为他们的特点是适合该岗位的。设某志愿者在Yi岗位上表现优秀,那么他的岗位输出序列在Yi上则为1。同时考虑到志愿者的特点与其岗位之间的关系复杂,他们可能还适合别的岗位,因此在问卷中设置相应问题,让志愿者选出自己还可以胜任哪个岗位。设某志愿者选的岗位为Yj,那么在该岗位上输出则为0.5。除了Yi,Yj外其他岗位序列输出均为0。
以部分问卷调查的数据为例,如一位书库管理岗位的志愿者特点得分为9,6,5,5,4,2,他还可以选择适合他的岗位是图书加工,因此输出为1,0.5,0,0,0;另一位馆内向导岗位的志愿者特点得分为6,4,10,7,3,7,他还可以选则适合他的岗位是帮助特殊读者,输出则为0,0,1,0,0.5。
1.2.2 样本数据的处理
在获取了样本数据后,需要对网络的输入端数据进行处理,使之成为标准的BP神经网络训练样本。由于网络的输入X1~X6是0~10的整数,所以需要对其进行归一化处理:
(1)
式中,X为转换过后的输入数据;Xk为转换前的样本数据实际值;Xmax,Xmin分别为转换前样本数据序列中的最大值和最小值。
网络的输出端数据,在采集过程中只取1,0.5或0作为判断是否适合某个岗位,输出端数据均在0~1之间,因此,可直接使用,不做归一化处理。
2 基于BP神经网络的图书馆志愿者岗位分 配方法
在获取了BP网络的输入、输出端神经元数目和样本数据后,需要将BP神经网络运用到图书馆志愿者岗位分配中,构建基于BP网络的图书馆志愿者岗位分配模型,并对其理论可行性进行研究。
2.1 岗位分配模型的构建
在基于BP算法的多层前馈网络的应用中,单隐层神经网络的应用最为普遍,只要隐含层的节点数足够多,含一个隐含层的BP神经网络就可以以任意精度逼近一个非线性函数[21]。
将图书馆志愿者的特点X1~X6作为输入,图书馆志愿者岗位Y1~Y5作为输出,采用3层BP神经网络,构建图书馆志愿者岗位分配模型,如图1所示。
图1 BP神经网络图书馆志愿岗位分配模型Fig.1 Library volunteer post assignment model diagram of BP neural network
图1中,输入层的6个神经元是图书馆志愿者特点的个数。输出层5个神经元数是图书馆志愿者岗位的个数。隐含层神经元个数的选取为[22]:
(2)
式中,n为输入层神经元数目;m为输出层神经元数目;a为[1,10]之间的常数,取a的值代入式(2)用试凑法确定最佳神经元数。
2.2 岗位分配模型理论分析
在构建了基于BP神经网络的图书馆志愿者岗位分配模型后,对网络模型在理论上进行分析,分为训练与测试2个阶段。
2.2.1 网络模型训练过程
网络模型的训练过程分为2个阶段:第1阶段是输入已知样本,图书馆志愿者的特点及岗位用(X,Y)表示,通过设置的网络结构和前一次迭代的权值和阈值,从网络第一层向后计算各神经元的输出;第2阶段是对权值和阈值的修改,从最后一层向前计算各权值和阈值对总误差的影响梯度,从而对各权值和阈值进行修改,直到达到目标误差或达到最大迭代次数为止。结合基于BP网络的图书馆志愿者岗位分配模型,其训练过程包括[23]:
① 对BP网络岗位分配模型初始化。根据输入样本(X,Y)确定网络的输入层节点数志愿者的特点X1~X6,用n表示,隐含层节点数用l表示;输出层节点数志愿者的岗位Y1~Y5,用m表示。
② 确定隐含层节点的输出。根据志愿者的任意一个特点输入为Xi,输入层和隐含层的连接权值ωij,及隐含层阈值aj,计算隐含层输出H:
(3)
式中,l为隐含层节点数;f(·)为隐含层激活函数,激活函数都是单极性Sigmoid函数,表达式为:
(4)
③ 确定输出层节点岗位分配序列的输出。根据隐含层输出H,隐含层与输出层连接权值ωjk和输出层阈值bk,得到BP神经网络预测输出T:
(5)
④ 计算误差。根据网络的预测输出T和期望输出O,计算网络预测误差e:
ek=OK-Tk,k=1,2,…,m。
(6)
⑤ 权值和阈值更新。根据网络预测误差e更新网络连接权值ωij,ωjk和隐含层、输出层阈值a,b:
j=1,2,…,l,
(7)
ωjk=ωjk+ηHJek,j=1,2,…,l;k=1,2,…,m,
(8)
(9)
bk=bk+ek,k=1,2,…,m。
(10)
⑥ 依据BP网络岗位分配模型设置的目标误差条件判断算法是否结束,若不满足条件,返回步骤②。
2.2.2 网络模型测试过程
将网络训练好后,输入测试样本对网络的性能进行测试。在网络的测试阶段,网络的预测输出数据,会出现多位小数的情况。由于是对志愿者与岗位分配的研究,所以输出层的预测输出数据和问卷采集的输出端数据Y1~Y5一致,只取1,0.5或0来代表其是否适合某个岗位。因此,对预测输出数据需做转换处理:
(11)
式中,t为测试阶段网络的预测输出;Y为网络转换后的输出。当t≥0.7时,Y取1;当0.2≤t<0.7时,Y取0.5;当t<0.2时,Y取0。
3 实验与分析
为了验证上述基于BP神经网络的图书馆志愿者岗位分配的有效性,开展实验与分析。
3.1 问卷样本数据示例
在校图书馆对志愿者开展问卷调查,首先平均选取在志愿者岗位Y1~Y5上工作优秀的志愿者各60人左右;再向他们共发放问卷320份,实际回收并选取300份有效问卷。通过问卷调查所得数据,随机在每个岗位上选取2份样本数据,共10份数据,经过对输入、输出数据进行归一化处理后,部分问卷处理结果如表3所示。
表3 归一化处理后的样本数据示例Tab.3 Sample data after normalization
表3中数据是经过归一化处理后的数据。每个岗位随机选取2位志愿者的调查信息作为展示,共10位,其中,X1~X6为志愿者性格的得分情况,越接近1说明该志愿者的某一特点表现越好;Y1~Y5为志愿者的岗位分配情况,1视为最为适合该岗位,0.5视为比较适合的岗位,0视为不适合的岗位。
3.2 实验参数
3.2.1 软件环境
实验软件为:主机(Win7 64位)的操作系统、Matlab Version 8.2 (R2019a)。
3.2.2 神经网络参数
网络的训练样本为从5个岗位的问卷调查样本数据中各随机选取54份左右,共270份;测试样本为剩余的30份。
网络的神经元:BP神经网络的输入层神经元数为6,输出层神经元数为5,隐含层神经元数经过反复测试,最终确定为13。
网络的训练参数:网络训练的目标误差为0.01,最大迭代次数为2 000,学习速率为0.5,网络初始权值阈值随机分配。
3.3 实验结果
3.3.1 网络性能分析
基于上述实验参数,将300组样本数据集用于神经网络的训练与测试,训练误差性能曲线如图2所示。
图2 BP神经网络误差性能曲线Fig.2 BP neural network error performance curve
图2中显示的是误差性能随着迭代次数增加逐渐下降的曲线。横坐标值是训练次数,纵坐标值是网络的均方误差。收敛目标设为0.01,最大迭代次数为2 000。从图2中可以看出,网络在第10次迭代前快速收敛,在第10次左右后缓慢收敛,最终在57次时均方误差达到网络的预设目标误差值。
3.3.2 测试结果
在网络训练完成的基础上,用30组测试样本数据对网络进行测试。输入为每位志愿者的性格得分,输出为每位志愿者的5个岗位的得分。得到网络预测值与真实值之间的拟合图,因为有5个岗位,所以每个岗位上分别对应着30组样本的输出值,分别如图3~图7所示。
在书库管理岗位上30位志愿者的岗位预测情况如图3所示。从图中可以看出,对于此岗位30组样本的预测值与真实值之间为完全拟合,没有出现误差。
图3 书库管理岗位预测值与真实值对比Fig.3 Predicted and actual values comparison chart of stack room management post
在图书加工岗位上30位志愿者的岗位预测情况如图4所示。从图中可以看出,对于此岗位在第16个样本处,真实输出为0.5,也就说明该志愿者还适合的岗位是图书加工;但预测值输出为0,认为不适合的岗位是图书加工;第22个样本处,真实输出为0.5,预测输出为0;第29个样本处,真实输出为0,预测输出为0.5。因此在第16,22,29三个样本处出现误差。
图4 图书加工岗位预测值与真实值对比Fig.4 Predicted and actual values comparison chart of book processing post
在馆内向导岗位上30位志愿者的岗位预测情况如图5所示。从图中可以看出,对于此岗位30组样本的预测值与真实值之间为完全拟合,没有出现误差。
图5 馆内向导岗位预测值与真实值对比Fig.5 Predicted and actual values comparison chart of library guide post
在阅读指导岗位上30位志愿者的岗位预测情况如图6所示。从图中可以看出,对于此岗位在第7和第29个样本处预测值与真实值之间没有完全拟合。因此在第7和29两个样本处出现误差。
图6 阅读指导岗位预测值与真实值对比Fig.6 Predicted and actual values comparison chart of reading guide post
在帮助外国读者岗位上30位志愿者的岗位预测情况如图7所示。从图中可以看出,对于此岗位在第10个样本处,预测值与真实值之间没有完全拟合。因此在第10个样本处出现误差。
图7 帮助特殊读者岗位预测值与真实值对比Fig.7 Predicted and actual values comparison chart of special reader assistance post
综合图3~图7的分析,30组样本的岗位预测中,分别在第7,10,16,22,29的5组样本处存在较大误差,可视为误差样本,剩余的25组样本的预测结果是正确的。因此,基于BP神经网络的图书馆志愿岗位分配模型的预测识别率为83.3%。其中有少量误差现象可能是因为存在一些不可避免的人为主观因素的影响,比如,一位书库管理岗位的志愿者认为自己还适合帮助外国读者的岗位,但他可能仅仅是想提高自身的英语能力,而没有考虑自己是否可以胜任的情况。所以,不影响BP神经网络对图书馆志愿者岗位分配的整体分类效果。
上述结果表明,基于BP神经网络的图书馆志愿者岗位分配模型能够用于图书馆志愿者的岗位分类,实验证明该模型,可在多入多出的岗位预测中取得较好的分类效果。
4 结束语
针对当前对图书馆志愿者与岗位分配之间的研究,还存在偏理论、缺乏定量定性的智能化的模型等不足,结合国内学者采用BP神经网络构建岗位匹配模型的方向,提出了构建基于BP神经网络的图书馆志愿者岗位分配模型。仿真试验结果表明,该模型在对图书馆志愿者的岗位分类上有着良好的效果,能够满足在实际中对大多数图书馆志愿者合理分配岗位的要求,具有良好的应用前景,但由于网络的训练样本数据中会有少数因志愿者主观因素而导致的误差数据,预测精度还有待提高。因此,获取到更为准确的样本数据,完善图书馆志愿者岗位分配指标体系是下一步研究的重点。