购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.4 系统设计与实现

图书推荐系统基于华东师范大学图书馆ILS(图书馆集成系统)中的图书外借日志,利用Apache Mahout库编程进行推荐生成,通过Z39.50 协议匹配图书ISBN号,通过Web编程将推荐书目嵌入OPAC读者个人借阅账户页面中 ,其流程如图 2-6 所示。

图 2-6 个性化图书推荐系统流程图

(1)准备偏好数据阶段:偏好数据是以协同过滤算法为基础的图书推荐系统的基本数据表示形式,由用户ID、物品ID、偏好值组成,表示用户与物品之间关系的存在性与喜好程度。在确定合适的Apache Mahout数据模型后,导出MySQL数据库中原始的外借日志,利用sed、awk、shell脚本等工具将其转换为数据模型所支持的偏好数据格式。

(2)推荐生成阶段:利用上一阶段中得到的规范化偏好数据,选择合适的推荐算法组件,通过编程生成图书推荐记录。

(3)推荐记录的图书ISBN匹配阶段:为了不影响推荐呈现的速度,系统结合书目数据库,将推荐所需的ISBN等信息一同存入推荐记录。之所以与推荐生成分离,是为了模块化开发,便于查错,同时利用已有的Z39.50 PHP脚本。

(4)推荐结果呈现阶段:在读者登录OPAC个人借阅账户后,浏览器中运行的jQuery代码以读者ID为参数发送异步请求,接收到请求的服务器端程序查询推荐记录数据库,并以JSON格式返回推荐记录,jQuery代码以图片链接的形式动态呈现推荐图书。系统实现所使用的数据库平台、编程语言、实用工具依赖于具体开发资源的可获得性和限制。其中,准备偏好数据、推荐生成以及推荐结果呈现是图书推荐所需的 3 个一般过程。

推荐呈现由一个服务器端脚本与一个客户端脚本构成。服务器端的PHP脚本接受读者ID为参数,查询SQLite推荐数据库,将匹配的推荐以JSON格式返回给发起请求的客户端。客户端的JavaScript脚本动态生成HTML图片及链接节点,动态嵌入当前的读者账户页面中。最终的推荐呈现效果如图 2-7 所示。

图 2-7 推荐结果呈现效果图 2jrRP93ptGlmpp6vBCdqtNj+hca90uSXF/xFK0Sr4Aenm+jAOwWyxet5bmRNvi40

点击中间区域
呼出菜单
上一章
目录
下一章
×