智能图书推荐微信小程序设计与实现
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 系统设计
图书推荐后台管理系统采用 Python 语言开发, 基于 Django 框 架、 MySQL 数 据 库 和 Ubuntu 操 作 系 统。 Django 框架以简洁、快速开发为目的,强调代码 复用, 使 用 了 类 似 MVC 模 式 的 MTV 模 式 ( 模 型 Model⁃模板 Template⁃视图 View) ,控制 系 统 内 耦 合, 并集成了多种可复用组件[5-7] ,包括可直接给最终用 户使用完善的后台管理系统,极大地提高了系统开 发速度。
整个系统主要包括后台管理、数据对接模块、小 程序三部分,如图 1 所示。 后台管理主要负责系统中 图书信 息、 借 阅 记 录、 用 户 信 息 等 数 据 的 管 理, 由 Django 内置的后台管理模块实现。 数据对接包括豆 瓣读书爬虫和京东阅读爬虫[8] ,爬取豆瓣读书和京 东阅读的图书排行榜,作为基础推荐图书数据,还包 括从汇文系统同步过来的用户信息、图书信息和历 史借阅信息。 小程序则作为前端展示模块,将图书 信息推送到用户端。
图情与信息管理
智能图书推荐微信小程序设计与实现
田灿伟 吴 佳
浙江财经大学图书馆,浙江 杭州 310018
摘要:人工智能技术的发展,传统图书馆管理方式面临转型与革新,图书推荐作为高校图书馆日常一项重要工 作,与微信小程序和推荐算法相结合,使用 Python 语言和 Django 框架,打造智能图书推荐系统。 关键词:推荐系统;微信小程序;Django 框架 中图分类号:G252.17;G258.6
阅读排行榜分为三部分,京东图书排行榜、豆瓣 图书排行榜和汇文系统图书排行榜。
2 系统实现
2.1 数据同步
系统需要 与 图 书 馆 汇 文 系 统 实 现 对 接, 同 步 包 括图书信息、用户信息、用户借阅记录和图书借阅记 录等数据,并设定同步时间,定期同步数据。 京东图 书排行榜 和 豆 瓣 图 书 排 行 榜 通 过 运 行 爬 虫 脚 本 爬 取,使用 Python 语言编写实现,定期更新排行榜。 汇 文系统排行榜则通过历史借阅信息查询得到。
0 引言
人工智能技术的飞速发展,使图书馆传统管理方 式受到不小冲击,传统图书馆管理技术面临转型与革 新。 图书推荐是高校图书馆日常的一项重要工作,因 此如何设计个性化、智能化的图书推荐系统受到图书 馆界的广泛关注。 微信小程序“ 无须安装、随时可用、 用完即走、无须卸载” 的产品特性,非常契合图书馆的 服务理念,依托微信这个超级 App,早已进入到图书馆 员的视野中。 芦晓红通过对微信小程序的介绍和分 析,探讨和展望了小程序的应用场景和实践现状[1] 。 王天泥以图书馆视角分析了与微信小程序的契合点, 提出了图书馆微信小程序的服务模式和服务内容[2] 。 王振环分析高校图书馆微信公众号和小程序的服务模 式和发展策略[3] 。 朱玉强设计开发图书馆微信小程序 排架游戏,具有很强的实践意义[4] 。 本文以图书馆历 史借阅信息为基础数据,整合豆瓣读书、京东阅读等第 三方数据,采用协同过滤算法,结合微信小程序,打造 图书馆智能图书推荐系统。
2.2 小程序接入
小程序主要负责前端的展示。 当用户打开小程 序时,微信小 程 序 和 服 务 器 端 和 微 信 接 口 服 务 端 的 数据交互如图 2 所示。 小程序通过调用 wx. login( ) 接口获取登录凭证( code) ,再调用 wx. request( ) 接口 向后台服务器发送 code;后台服务器获取 code 后,通 过调用 auth.code2Session 接口,向微信接口服务器发 送 code、APPID 和 APPSecret;微信接口服务回送用户 唯一标识 OpenID 和会话密钥 session_key 给后台服 务器,后台服务器根据用户唯一标识 OpenID 和会话 密钥 session_key 设置自定义状态,再回送给微信小 程序;小程序将状态信息存入本地 storage 中,完成登 录校验过程。 后续业务操作,如请求用户信息,推荐 图书列表、专题列表,以及图书的详细信息等数据, 由小程序调用 wx. request( ) 接口与后台服务器进行 数据交互,后台服务器只需要验证自定义状态即可。
专题推荐的主要功能是系统管理员可以根据当 前流行元素进行图书专题推荐,比如莫言专题、诺贝 尔经济学奖专题、读书节专题等,搜罗整理出图书集
2019 年第 03 期 67
图情与信息管理
wenku.baidu.com
合推荐给读者。 这种方式与传统图书推荐方式非常 契合,既可以推出图书馆现场图书专题,又可以在网 上进行宣传,能够扩大服务范围,服务更多读者。
2.3 图书推荐实现
图书推荐 是 整 个 系 统 的 核 心 模 块 之 一, 系 统 以 图书的借阅记录和用户的借阅为基础通过推荐算法 计算得到用户的推荐信息。 推荐算法采用协同过滤 算法,整个计算过程如下:( 1) 没有借阅记录的用户 或者借阅记录较少的用户,产生的数据比较稀疏,导 致用户相似性计算不准确,因此协同过滤算法不能 很好地发挥作用,采用推荐图书排行榜的方式;同时 记录用户的借阅习惯、浏览记录等信息,使用计算余 弦相似度的方式推荐图书。 (2)对于借阅记录比较
图 1 智能图书推荐系统功能结构图
个性化推 荐 即 系 统 以 历 史 借 阅 数 据 为 基 础, 分 析每个用户的借阅情况,为该用户个性化推荐;对所 有用户进行聚类分析,将用户分成多个子类,为子类 中的用户推荐其感兴趣的图书。 只是将当前最热门 的若干图书推荐给用户,往往达不到个性化推荐的 要求。
图 2 微信小程序数据交互时序图
完整的用户,系统采用协同过滤算法,计算图书之间 的相似度,推荐相似度较高的图书给用户,能达到比 较好的效果。
3 结论
本文详细分析了图书推荐微信小程序的系统和 各个功能模块,采用 Python 语言和 Django 框架极大 地提高了开发效率。 重点介绍了数据同步、微信小 程序接入处理流程和图书推荐算法的实现。
图书推荐后台管理系统采用 Python 语言开发, 基于 Django 框 架、 MySQL 数 据 库 和 Ubuntu 操 作 系 统。 Django 框架以简洁、快速开发为目的,强调代码 复用, 使 用 了 类 似 MVC 模 式 的 MTV 模 式 ( 模 型 Model⁃模板 Template⁃视图 View) ,控制 系 统 内 耦 合, 并集成了多种可复用组件[5-7] ,包括可直接给最终用 户使用完善的后台管理系统,极大地提高了系统开 发速度。
整个系统主要包括后台管理、数据对接模块、小 程序三部分,如图 1 所示。 后台管理主要负责系统中 图书信 息、 借 阅 记 录、 用 户 信 息 等 数 据 的 管 理, 由 Django 内置的后台管理模块实现。 数据对接包括豆 瓣读书爬虫和京东阅读爬虫[8] ,爬取豆瓣读书和京 东阅读的图书排行榜,作为基础推荐图书数据,还包 括从汇文系统同步过来的用户信息、图书信息和历 史借阅信息。 小程序则作为前端展示模块,将图书 信息推送到用户端。
图情与信息管理
智能图书推荐微信小程序设计与实现
田灿伟 吴 佳
浙江财经大学图书馆,浙江 杭州 310018
摘要:人工智能技术的发展,传统图书馆管理方式面临转型与革新,图书推荐作为高校图书馆日常一项重要工 作,与微信小程序和推荐算法相结合,使用 Python 语言和 Django 框架,打造智能图书推荐系统。 关键词:推荐系统;微信小程序;Django 框架 中图分类号:G252.17;G258.6
阅读排行榜分为三部分,京东图书排行榜、豆瓣 图书排行榜和汇文系统图书排行榜。
2 系统实现
2.1 数据同步
系统需要 与 图 书 馆 汇 文 系 统 实 现 对 接, 同 步 包 括图书信息、用户信息、用户借阅记录和图书借阅记 录等数据,并设定同步时间,定期同步数据。 京东图 书排行榜 和 豆 瓣 图 书 排 行 榜 通 过 运 行 爬 虫 脚 本 爬 取,使用 Python 语言编写实现,定期更新排行榜。 汇 文系统排行榜则通过历史借阅信息查询得到。
0 引言
人工智能技术的飞速发展,使图书馆传统管理方 式受到不小冲击,传统图书馆管理技术面临转型与革 新。 图书推荐是高校图书馆日常的一项重要工作,因 此如何设计个性化、智能化的图书推荐系统受到图书 馆界的广泛关注。 微信小程序“ 无须安装、随时可用、 用完即走、无须卸载” 的产品特性,非常契合图书馆的 服务理念,依托微信这个超级 App,早已进入到图书馆 员的视野中。 芦晓红通过对微信小程序的介绍和分 析,探讨和展望了小程序的应用场景和实践现状[1] 。 王天泥以图书馆视角分析了与微信小程序的契合点, 提出了图书馆微信小程序的服务模式和服务内容[2] 。 王振环分析高校图书馆微信公众号和小程序的服务模 式和发展策略[3] 。 朱玉强设计开发图书馆微信小程序 排架游戏,具有很强的实践意义[4] 。 本文以图书馆历 史借阅信息为基础数据,整合豆瓣读书、京东阅读等第 三方数据,采用协同过滤算法,结合微信小程序,打造 图书馆智能图书推荐系统。
2.2 小程序接入
小程序主要负责前端的展示。 当用户打开小程 序时,微信小 程 序 和 服 务 器 端 和 微 信 接 口 服 务 端 的 数据交互如图 2 所示。 小程序通过调用 wx. login( ) 接口获取登录凭证( code) ,再调用 wx. request( ) 接口 向后台服务器发送 code;后台服务器获取 code 后,通 过调用 auth.code2Session 接口,向微信接口服务器发 送 code、APPID 和 APPSecret;微信接口服务回送用户 唯一标识 OpenID 和会话密钥 session_key 给后台服 务器,后台服务器根据用户唯一标识 OpenID 和会话 密钥 session_key 设置自定义状态,再回送给微信小 程序;小程序将状态信息存入本地 storage 中,完成登 录校验过程。 后续业务操作,如请求用户信息,推荐 图书列表、专题列表,以及图书的详细信息等数据, 由小程序调用 wx. request( ) 接口与后台服务器进行 数据交互,后台服务器只需要验证自定义状态即可。
专题推荐的主要功能是系统管理员可以根据当 前流行元素进行图书专题推荐,比如莫言专题、诺贝 尔经济学奖专题、读书节专题等,搜罗整理出图书集
2019 年第 03 期 67
图情与信息管理
wenku.baidu.com
合推荐给读者。 这种方式与传统图书推荐方式非常 契合,既可以推出图书馆现场图书专题,又可以在网 上进行宣传,能够扩大服务范围,服务更多读者。
2.3 图书推荐实现
图书推荐 是 整 个 系 统 的 核 心 模 块 之 一, 系 统 以 图书的借阅记录和用户的借阅为基础通过推荐算法 计算得到用户的推荐信息。 推荐算法采用协同过滤 算法,整个计算过程如下:( 1) 没有借阅记录的用户 或者借阅记录较少的用户,产生的数据比较稀疏,导 致用户相似性计算不准确,因此协同过滤算法不能 很好地发挥作用,采用推荐图书排行榜的方式;同时 记录用户的借阅习惯、浏览记录等信息,使用计算余 弦相似度的方式推荐图书。 (2)对于借阅记录比较
图 1 智能图书推荐系统功能结构图
个性化推 荐 即 系 统 以 历 史 借 阅 数 据 为 基 础, 分 析每个用户的借阅情况,为该用户个性化推荐;对所 有用户进行聚类分析,将用户分成多个子类,为子类 中的用户推荐其感兴趣的图书。 只是将当前最热门 的若干图书推荐给用户,往往达不到个性化推荐的 要求。
图 2 微信小程序数据交互时序图
完整的用户,系统采用协同过滤算法,计算图书之间 的相似度,推荐相似度较高的图书给用户,能达到比 较好的效果。
3 结论
本文详细分析了图书推荐微信小程序的系统和 各个功能模块,采用 Python 语言和 Django 框架极大 地提高了开发效率。 重点介绍了数据同步、微信小 程序接入处理流程和图书推荐算法的实现。