王倩
摘 要:本文首先阐述了数字图书馆个性化资源推荐系统的可行性和实用性,然后依据软件工程的思想,设计出了图书馆个性化资源推荐系统。本系统主要运用了数据挖掘、关联规则等相关技术,为普通用户实现了资源检索、系统个性化推荐查看、资源定制、个人收藏夹等功能,为管理员实现了系统自动个性推荐、数据统计、数据备份等功能。
关键词:图书馆 个性化推荐 系统设计
一、系统设计目标
该系统设计主要以WEB的方式为读者提供信息资源个性化推荐服务。该系统主要采用B/S结构,使用户在任何地方只需通过普通的浏览器就可以方便地访问系统资源。在该系统设计时,必须要确保信息传输过程中的安全。另外,该系统应能够根据读者以前的访问记录,准确地挖掘出每位读者对哪些信息资源比较感兴趣,并自动地把最新的信息资源个性化地以短信或邮件等方式推荐给每位读者,以方便读者的使用。
二、系统结构设计
1.系统总体结构
该系统主要采用的是B/S模式。这种模式用户使用方便,用户只要能够连接Internet网,拥有一个浏览器软件,就可以获取服务器资源。用户不需安装任何软件和进行其他设置,而且用户使用极其方便、快捷,可以适宜不同人群的读者使用。
2.系统逻辑结构
用户是通过浏览器使用数字图书馆服务器信息资源的。用户的基本信息都在服务器上的数据库里保存着,当用户访问服务器信息资源时,只需在浏览器中输入本人的用户名和密码就可以进入自己个性化的用户页面。个性化页面里有系统根据个人爱好主动推荐的最新书籍和个人定制的相关信息,而且每个人的页面内容有所不同。该系统的逻辑结构如图1所示。
(1)用户接口子系统。它是用户访问服务器资源的唯一入口,主要是接受用户端输入的用户名、密码、查询等信息,并把信息传送给下层处理子系统和服务子系统。
(2)处理子系统。它位于用户接口子系统与服务子系统之间,主要是对用户子接口层传送过来的用户信息进行验证,并把用户请求传递给下一层服务子系统,并由它根据用户请求进行服务。
(3)服务子系统。该层主要是按用户的请求提供相应的服务,并把处理结果反馈给用户,也为用户提供个性化服务。
(4)数据库系统。主要存储图书馆藏的信息资源,供用户查询和下载。
三、系统功能设计
该个性化资源推荐系统主要实现两个功能模块,即用户功能模块和管理员功能模块,其中用户功能模块分为用户基本信息管理功能、数字资源统一检索功能、显示系统个性化推荐资源、数字资源定制功能、我的收藏夹模块等。管理员功能模块又分为用户管理、数字图书资源管理、系统自动个性化推荐功能、发布新闻功能、系统数据统计功能等,如图2所示。
1.用户功能模块主要是为读者而设计的
(1)用户基本信息管理功能。主要为用户实现基本信息的注册、修改、删除等功能。
(2)数字资源统一检索功能。主要为用户提供查询图书、论文等功能。
(3)显示系统个性化推荐资源。主要是用来显示系统为该用户个性化自动推荐的新的或用户感兴趣的图书和论文等。
(4)数字资源定制功能。主要用于用户自己定制自己所需要的数字资源。
(5)我的收藏夹模块。主要用于用户把自己查询到的和对系统自动推荐感兴趣的资源收藏到自己的收藏夹中,便于下次浏览。用户下一次打开自己的界面时,进入收藏夹就能看到所有收藏的内容。
2.管理员功能模块主要是为管理员而设计的
(1)用户管理。主要是用于查询、添加、修改、删除用户基本信息。
(2)数字图书资源管理。主要是用于添加新到的图书、期刊等数字资源,或删除、修改一些图书资源信息等。
(3)系统自动个性化推荐功能。该功能主要实现系统根据用户的爱好及用户经常浏览的相关资源,自动通过短信、邮件等方式为所有用户推荐不同的图书等资源,也可以是管理员自定义为哪些用户推荐相关资源。
(4)发布新闻功能。管理员可以根据需要发布相关新闻。
(5)系统数据统计功能。主要是统计哪些图书访问次数最多,哪些用户访问次数最多,以及整个数字图书资源的利用率等。
四、系统数据库设计
数据库设计的好坏直接影响系统的执行效率与系统功能的实现。该系统主要遵从以下两条原则对数据库进行了设计:根据E—R图,保证表中数据的标准化、结构化和规范化,它是数据库设计与建立的基础;在数据库设计中,除了要尽量减小数据低级冗余度,避免浪费存储空间,防止数据一致性问题的发生,另外还要有一定的高级数据冗余(即:派生冗余),以便提高数据处理速度。
1.数据分析与建模
数据分析与建模是指通过对用户功能需求的分析,建立数据之间的逻辑与物理关系模型,并得出逻辑示意图。它为后面数据库中表的设计打下基础。
数据逻辑模型一般可以用实体关系图(E-R图)来表示,即数据的基本结构可用实体、属性、关系三个基本概念来描述。实体主要是指客观存在的某种事物或某种概念,如学生张三是个实体,一般用矩形表示。属性是实体的相关特征、特性、质量等,如学生张三的姓名、性别、年龄等是实体张三的属性,一般用椭圆表示。关系是指实体之间的某种联系,一般用无向边把相关实体连接起来。
该系统主要涉及的实体是用户和数字资源,为了方便用户使用,用户界面设计相对较简单。当普通用户使用该系统时,用户必须首先注册。每个用户需注册用户名、密码、性别、年龄、系别、专业、爱好、邮件地址等基本信息。当用户登录系统成功后,每个用户首先进入的是“我的收藏夹”页面模块,显示的是用户曾经收藏的资源。该页面还有用户管理模块、数字资源检索模块、系统个性化资源推荐模块、用户定制模块等。当管理员登录本系统时,具有用户管理、资源管理、新闻发布、公告发布、邮件发送、数据统计等最高权限的管理功能。
根据前面的分析,该个性化系统的E-R图,如图3所示。
2.数据库中表的设计
在整个数据库设计过程中,基本表的设计是非常重要的。基本表设计的好坏直接影响数据库的执行效率,如果基本表结构设计不合理,会使程序变得更加复杂。该系统主要构建的基本表如下。
(1)admin(管理员表)。主要用于存储管理员的账号、密码、姓名等基本信息,如表1所示。表1中的Admin_id存放管理员账号,Admin_pwd存放管理员密码,Admin_name存放管理员姓名。
(2)lib_user(普通用户基本信息表)。主要用于存储读者(客户)的用户名、密码、姓名、性别、年龄、所属系别、所属专业、个人爱好、邮件地址等基本信息,如表2所示。表2中Lib_id用来存放普通用户的学号,Lib_pwd存放该用户设置的密码,Lib_name存放用户姓名,Lib_sex存放用户性别,Lib_age存放用户年龄,Lib_dept存放用户所属的系别,Lib_prof存放用户所属的专业,Lib_inter存放用户的个人兴趣偏好,Lib_mail存放用户的邮件地址。
(3)dept(系别表)。主要用于存储学院所有系别信息,供读者注册用户时方便选择等,如表3所示。
(4)prof(专业表)。主要用于存储学院所有专业信息,供读者注册用户时方便选择等,如表4所示。
(5)cont(图书资源信息表)。主要用于存储所有电子图书资源基本信息,供读者查询、浏览、下载和系统个性化推荐等。如表5所示,表5中的Cont_id存放图书编号,Cont_name存放图书名称,Cont_isbn存放国际图书编号,Cont_cate存放图书类别,Cont_intro存放图书简介,Cont_time存放图书出版时间,Cont_pub存放出版社名称,Cont_auth存放作者姓名、图书上传时间,Cont_new存放图书性质是否为新书,Cont_count存放读者访问次数的统计。
yhtj(用户图书访问统计表)。主要用于统计每个用户访问图书名称、图书类别、访问次数、近期访问时间、是否收藏等,是系统为每个用户个性化推荐图书的主要依据之一,如表6所示。表6中的Yhtj_id存放用户账号,Yhtj _user存放用户名称,Yhtj _book存放图书名称,Yhtj _category存放图书类别,Yhtj _time存放近期访问时间,Yhtj _count存放读者访问次数,Yhtj _collection存放是否被读者收藏。
参考文献:
[1]王志军.公共图书馆与全民阅读[J].河南图书馆学刊,2008(3).
[2]徐青云.信息推送在个性化信息服务中的发展趋势[J].现代情报,2010(3).
[3]王景丽.浅议图书馆的个性化信息服务[J].河北科技图苑,2010(6).
[4]董基娜.图书馆个性化信息服务探讨[J].江西图书馆学刊,2010(4).
(作者单位:江苏省徐州技师学院)