宁 琳
(重庆交通大学图书馆,重庆 400074)
随着信息技术的迅猛发展,数字图书馆已经成为图书馆业发展的一个重要方向。 如何让读者从数字图书馆海量信息中快速准确地查找所需信息,更好地利用馆藏资源进行自主学习,这对图书馆服务模式提出了新的要求。 采用Portal 技术实现图书馆用户个性化服务,通过研究读者的行为、兴趣和习惯,可以克服信息过载和信息迷向的缺陷,以“信息找人”替代“人找信息”,使图书馆从被动为读者提供资料到主动为读者寻找知识方向发展,满足读者个性化服务的需求。
Portal 是基于应用层和表示层的集成方案,其核心组件是用户构件Portlet,一种基于Java 技术的Web组件,对用户而言,它将展现给用户的内容分为多个Portlet 区域,区域间相互独立,用户可以按照需求定制内容。 它的主要出发点是把各种应用程序和资源集成,建立统一的访问点,以“应用整合”和消除“信息孤岛”为最终目的,提供单点登录、内容聚合、个性化定制等功能,使用户不需要访问多个站点就可以高效获得资源。
Portal 主要有以下特性:①用户界面友好:易于设定和个性化;②内容聚集:能够聚集各种Portlet 生成的内容;③自主服务:用户可以自己管理和发布内容;④兼容性好:用户能访问不同来源的、结构及非结构的各种数据;⑤融合性强:能用标准的界面和协议来融合各种应用程序。
面向Portal 的个性化服务,是一个集用户个性化数据采集、用户访问模式的挖掘、推荐信息的产生等于一体的综合性信息服务。 其设计思想是:利用Portal 的个性化定制和内容聚集功能,将每个Portlet 代表一个读者个性化服务,通过分析读者浏览记录以及和相似读者的学习,获得关于读者兴趣信息的知识,利用这些知识,从海量的主题中过滤出读者感兴趣的主题,并通过一定方式将这些主题“推荐”给读者,形成读者的“个人图书库”,从而实现读者个性化服务需求。 其个性化服务模型如图1 所示。
根据信息的处理过程和流向,可以将该模型分为资源表示、读者兴趣表示、读者兴趣聚类以及读者推荐集生成等模块。
图1 个性化服务系统模型图
资源表示模块通过搜索数字图书馆中的所有资源,经过一定的分析处理,将这些资源表示成一种可方便计算机处理的形式。 本文采取的基于资源信息内容的概率分布模型来表示资源,其设计思想是:将资源信息内容所涉及的领域进行分类,假定领域集合为C={c1,c2,……,cn},其中n 为领域集合的大小,cj 表示第j 个领域,则资源z 表示一个概率的矢量:z={P(c1),P(c2),……,P(cn)},对于任意O<k<n+l,P(cn)表示在资源z 的特征量中属于领域ck 的特征量占总特征量的比率。 由此可得资源属性描述过程:首先,对各个词条进行了领域属性设置,然后对资源内容中涉及到各个领域中的词条进行统计,最后求出各个领域中词条的概率,用这些概率来表示资源。
读者兴趣模块是个性化分析的重要部分,主要通过分析读者的浏览记录,来发现读者的兴趣信息,同时将对这些信息进行可计算化描述。
2.2.1 数据收集
在进行读者兴趣建模之前,需要进行数据收集,从中挖掘出读者兴趣信息。 一是使用Cookies,Cookies将读者访问信息以纯文本形式保存,可提供大量的数据供挖掘读者兴趣信息;二是使用服务器日志,日志中存有读者访问的页面、时间、读者ID 等信息记录。
2.2.2 数据预处理
数据预处理是对原始日志文件中的数据进行提取、分解、合并,最后转化为适合进行数据挖掘的数据格式,它是整个日志挖掘的基础和实施挖掘算法的前提。
(1)数据清洗:主要是删除服务器日志中与挖掘算法无关的项,合并某些记录,对发生错误的记录进行处理等。
(2)用户识别:从日志中识别出访问网站的用户。
(3)会话识别:将读者的多次访问记录分为单个的会话。
(4)事务模式识别:将用户会话分割为更小的事务,建立事务数据库,在此基础上进行相关挖掘。
2.2.3 读者访问模式挖掘
对读者访问日志进行预处理后,就可以识别出读者访问模式,通过分类整理,得到读者的访问情况表,它包括URL 地址、Portlet 的访问日期和访问时间长度等。 访问序列表的内容可以用以下三元组来描述:
其中Ui 表示第i 个用户,ip 表示读者IP 地址,uid 表示读者ID,对于任意的0<k<m+l,urlk 表示访问的第k 个Portlet 的URL 地址,time 和length 表示访问时间和浏览时间长度。 通过 挖掘访问情况的数据,我们可以发现读者的浏览频繁集和浏览这些Portlet 的时间长度, 对这些Portlet 上的信息进行分析就可以发现读者的兴趣信息。
2.2.4 读者兴趣模块的实现
得到读者访问序列表后,可挖掘出读者的兴趣度,在这里用Portlet 权重表示,最后根据各个Portlet的形式化描述结合其权重,采用加权叠加平均的方法计算出读者的兴趣表示。 Portlet 权重考虑的属性很多,在此主要以读者访问时间进行分析。
首先,通过设定阈值,将连续性的访问时间进行离散化处理,详情见表1。
表1 页面访问时间离散化处理
随后,通过采取带权代数叠加求平均的方式来计算读者兴趣模型的各个矢量值。定义向量<T,C>,其中T 为访问时间离散值的和,C 为访问次数。
假设分析出读者查找资料形成的浏览集有A、B、C、D 四个Portlet。 在进行个性化推荐的时候,首先从资源表示模块得到这四个Portlet 的描述,如表2-表5 所示。
表2 PortletA 形式化表示
表3 PortletB 形式化表示
表4 PortletC 形式化表示
表5 PortletD 形式化表示
其权重分别为:<8,5>、<6,3>、<5,2>、<2,1>, 则系统在进行读者兴趣运算的时候, 可采用如下公式来进行,得出读者的兴趣模型:
对于本例,有
这样就可以得到读者的兴趣信息,这样的表示方式与资源的表示方式相近,便于进行相似性计算,而且用该概率模型来表达文档和读者兴趣可以很好地体现读者兴趣的多样性。
读者兴趣聚类模块通过对所有用户进行聚类,将兴趣相近的用户归为一簇,同簇内的用户相互学习,进而发现读者的潜在兴趣信息。 聚类是根据数据集相似性对数据集分类的过程,考虑到动态性、实时性,本文采用凝聚算法来实现对用户的聚类,其设计思想是:在初始时,每一个成员都组成一个单独的簇,在以后的迭代过程中,再把那些相互邻近的簇合并成一个簇,直到所有的成员合并为一个簇或者所有簇之间的距离大于一个阈值为止。
读者兴趣与资源表示进行相似性运算,如果相似性大于某个阈值,则将该资源归到该用户的兴趣集中,在表示好文档和读者兴趣以后,可以利用文档和用户的相似性来过滤文档,进而生成针对该读者的推荐集。
除此之外,还包括推荐集生成模块,限于篇幅,本文不进行详解。
本模型在某高校图书馆进行了验证,对其覆盖率和准确率两个指标进行了测试。 覆盖率是在推荐的内容中用户喜欢的项占所有喜欢项的百分比。准确率是在推荐的内容中用户喜欢的项占推荐的所有项的百分比。 精确率和覆盖率越高说明该推荐算法越有效。 本实验研究了推荐准确率和覆盖率随最小推荐系数阈值的变化情况。当一个项的推荐系数大于或等于最小推荐系数阈值时才能加入推荐集。显然,最小推荐系数阈值越高产生越少推荐,而最小推荐系数阈值越低将产生越多的推荐,覆盖率将越高。
图2 准确率—推荐系数关系
图3 覆盖率—推荐系数关系
实验表明,随着推荐系数阈值的提高,准确率逐渐加大而覆盖率逐渐减小,这是因为随着推荐系数阈值的加大,用户兴趣的描述趋于精确,所以推荐精度提高,而推荐系数阈值的增大,用户的潜在兴趣描述减少,所以用户兴趣覆盖率降低。 实验结果与理论分析结果一致,证实了模型的有效性。
Portal 是基于Web 的下一代桌面,它主要是把各种应用程序和资源集成,建立统一的访问点。 本文针对数字图书馆未来发展的需求,设计并初步实现了面向Portal 的图书馆个性化服务模型,该模型通过对资源和读者兴趣进行挖掘,并以个性化推荐方式呈现给读者,克服了现有查询系统中信息过载和信息迷向的缺陷,为数字图书馆向个性化服务发展提供了一个较好的方向和依据。
[1] 宁琳.基于智能Agent 的数字图书馆个性化服务模型研究[J].江西图书馆学刊,2012(3):77-81.
[2] 李静.基于Portal 的大学图书馆个性化服务研究与实现[J].情报杂志,2009(7):170-173.
[3] 杜辉锋.面Portal 的个性化信息服务的研究与实现[C]//解放军理工大学论文集,南京:解放军理工大学出版社,2007.
[4] 刘瑞,潘瑜春,陆洲,等.基于Portal 和WebGIS 的县级农业资源管理决策系统[J].计算机应用研究,2007(12):253-254.