基于Android的推荐阅读系统设计

2017-05-08 13:14查英华朱其慎
智能计算机与应用 2016年6期
关键词:协同过滤智能手机

查英华++朱其慎

摘要:移动互联网的发展和智能手机的普及,彻底改变了人们的阅读习惯,帮助人们获取最有效的阅读资讯成为当今的研究热点之一。本文使用基于标签和评分的协同过滤算法(UTR-CF),设计并实现了基于Android的个性化推荐阅读系统。系统分为服务端和客户端,服务端定时从豆瓣读书爬取图书信息,根据图书的评分和标签、用户图书标签,采用基于标签和评分的协同过滤推荐技术实现个性化推荐;客户端展示用户感兴趣的推荐结果,并将设置的图书标签、评分上传到服务端。经测试,该系统能为用户提供快速、准确的个性化阅读需求。

关键词:阅读推荐; 协同过滤; 智能手机; 安卓平台

中图分类号: TP393

文献标志码: A

文章编号: 2095-2163(2016)06-0055-04

0引言

如今互联网已经深入到人们生活的方方面面,信息的获取异常容易,超链接文本的方式也使得信息的外延无限扩展,信息的丰富程度已经超出人们的想象,智能手机的普及彻底改变了人们的阅读习惯,手机阅读受到大家的追捧。但是,海量的电子书信息使人们获取感兴趣图书的成本大大增加,日趋严重的“信息过载”迫切需要能随时提供有價值的信息资讯的推荐服务,因此实现一个基于Android平台的图书阅读推荐系统,为人们提供感兴趣的图书推荐服务变得非常必要。

个性化推荐是卡耐基

瘙 簚 梅隆大学的Robert Armstrong等人在1995年首次提出,实现原理是根据用户的历史行为数据挖掘兴趣点,主动向用户提供感兴趣的信息[1]。个性化推荐的研究重点大多集中在推荐算法上,协同过滤算法是目前最常使用的成熟的推荐算法,主要分为基于用户的协同过滤算法[2]和基于物品的协同过滤算法[3]。协同过滤算法通过挖掘用户-物品之间(user-item)的二元关系,帮助用户从大量数据中发现其可能感兴趣的物品,再经由预测处理生成结果推荐以满足个性化需求,实现流程如图1所示[4]。

在实际应用中,每种推荐算法都不能完全满足设计发展需求,本文在综合探讨Guo Zheng-Hong[5]、张秀杰[6]、李默[7]和高娜[8]等学术研究的成果基础上,采用基于标签和评分的协同过滤算法(UTR-CF),降低协同过滤算法的数据稀疏问题[9]对推荐质量的影响。

[BT4]1系统设计

[BT5]1.1系统需求描述

[HT5”SS][ST5”BZ]

本系统主要为用户提供个性化的图书推荐服务,系统从豆瓣读书网站收集图书信息、图书标签和标记次数等相关信息,同时将基于用户对图书建立的标签和评分获取用户的阅读偏好,设计建立用户、标签和图书之间的模型,而后再通过基于标签和评分的协同过滤算法的混合算法,即可实现向用户推荐可能感兴趣的图书。利用本系统,用户可以随时获取最新的、感兴趣的图书资讯,查看图书详情,为图书评分以及获得标签设置,用户使用得越频繁,推荐就会越准确。

1.2系统总体设计

根据需求描述,基于手机应用的特点,本系统分为应用于客户端和服务端。客户端从服务端获取个性化的图书推荐列表,并向服务端发送用户的标签、图书标签和评分等各种行为数据,主要提供用户设置标签、查看推荐图书列表及详情、添加标签和给图书评分等功能。服务端一方面接收客户端发出的请求,分析得到个性化的图书列表,另一方面存储用户的各种行为数据,主要功能包括定时爬取图书信息、建立和更新推荐图书信息、推荐算法和数据存储等,系统功能如图2所示。

客户端包括用户感兴趣的标签设置、推荐列表、图书标签设置、图书详情展示和图书评分等主要模块。首次使用客户端时,用户必须先完成注册,登录验证成功后进入系统,选择感兴趣的图书标签,服务端根据用户选择的图书标签和系统预设的热门标签完成首次的图书推荐,解决冷启动问题。用户可能感兴趣的图书推荐列表由服务端根据用户感兴趣的标签,使用混合推荐算法获取,然后通过符合SOAP协议规范[10]的Web Service提供给客户端。客户端可以获取图书详情,并将设置的图书标签、图书评分等行为数据上传服务端。

服务端由图书信息爬取、推荐算法和Web Service接口等3个主要模块组成,服务端定时解析豆瓣读书获取的图书信息,解析得到最新的图书信息、图书的标签、评分信息等存入数据库;推荐算法通过数据库的图书标签、图书评分、用户标签及评分等行为数据生成推荐列表,存储到数据库,然后通过Web Service接口推送给客户端;Web Service接口负责与客户端的交互,将客户端的用户行为等信息存入数据库,采用JSON格式的数据进行数据交换。

1.3数据库设计

本系统采用MySQL数据库存储用户、标签、用户标签、图书、图书标签、图书评分、用户图书标签等实体和实体之间的关系。其中,用户表存储用户的姓名、邮箱、密码等信息;标签表存储标签名称、标记次数等信息;用户标签表存储用户感兴趣的标签、标签标记的次数等信息;图书表存储书号、书名、内容简介、出版社等信息;图书标签表存储图书与标签之间的关系以及被标记的次数等信息;图书评分表存储图书的评分记录等信息;用户图书标签存储用户对喜欢的图书的标签、评分等信息。实体与实体之间的关系如图3所示。

猜你喜欢
协同过滤智能手机
2018年Q4中国智能手机线上销量创新高
An Evaluation of Chinese to English Translation in Light of Skopos Theory
全球智能手机出货量连续四个季度下滑缓
图书推荐算法综述
改进的协同过滤推荐算法
基于链式存储结构的协同过滤推荐算法设计与实现
基于相似传播和情景聚类的网络协同过滤推荐算法研究
基于协同过滤算法的个性化图书推荐系统研究
混合推荐算法在电影推荐中的研究与评述
智能手机今年拼什么?