- 1 -
中国科技论文在线
基于移动云计算的新闻推荐系统
周挺,张雷**
作者简介:周挺(1991-),男,硕士研究生,主要研究方向:移动云计算,大数据挖掘
通信联系人:张雷(1971-),男,副教授,主要研究方向:宽带网络,移动互联网,大数据
(北京邮电大学网络技术研究院宽带中心,北京 100876)
摘要:移动互联网的爆发式增长使用户获取新闻信息更加便捷,传统的新闻推荐系统正面临5
移动设备自身计算能力有限、电池续航时间短以及移动网络延迟高等问题。本文提出了一种
基于移动云计算的新闻推荐系统,结合大数据分析的方法,挖掘用户浏览日志和新闻信息,
能够快速地推荐用户感兴趣的新闻,降低网络传输延迟。文章介绍了移动云计算、大数据分
析以及新闻推荐的相关技术,并搭建了真实地实验环境验证系统的有效性。
关键词:移动云计算;大数据分析;新闻推荐 10
中图分类号:TP391
The News Recommendation system based on Mobile Cloud
Computing
ZHOU Ting, ZHANG Lei 15
(Institute of Network Technology,Beijing University of Posts and Telecommunications,beijing
100876)
Abstract: Explosive growth of mobile Internet make users accessing to news information more
convenient, traditional news recommendation systems are facing mobile device computing ability
limited, short battery life time and high latency of mobile netword. This paper proposes a news 20
recommendation system based on mobile cloud computing, by combining the big data analysis
method which mining user access logs, able to quickly recommend news that users are interested
and reduce the network transmission delay. This paper introduces the mobile cloud computing, big
data analysis and news recommend related technologies, and build the real experimental
environment to verify the effectiveness of the system. 25
Key words: mobile cloud computing;big data analysis;news recommendation
0 引言
截至 2014年 6月 , 我国手机网民规模达 亿,较 2013年底增加 2699万人,网民
中使用手机上网的人群占比进一步提升, 由 2013年的 %提升至 %, 手机网民规30
模首次超越传统 PC网民规模。[1]智能手机已成为人们日常阅读新闻信息的主要平台,用户
能够随时随地通过智能手机上的新闻应用获取新闻信息。然而,移动互联网带来便利的同时
也使得信息过载问题愈加严重。用户在海量新闻中寻找自己感兴趣的新闻,势必浪费大量的
时间和精力,因此新闻推荐系统成为应对该问题的研究热点。
新闻推荐系统的原理是根据用户的兴趣特点和行为、新闻的类型、用户之间的相似度、35
新闻之间相似度等多方面维度为用户提供新闻推荐服务,从互联网上的海量新闻信息中发掘
用户感兴趣的内容。然而随着移动互联网的蓬勃发展,当前新闻推荐系统面临着智能手机有
限的计算能力、较短的电池续航时间以及高延迟的移动网络等问题。同时面对海量的新闻数
据以及用户信息数据,大规模数据的处理也变得越来越困难。
针对上述问题,本文提出了一种基于移动云计算的新闻推荐系统,将智能手机上计算密40
- 2 -
中国科技论文在线
集型的任务迁移到云端,利用大数据分析技术,快速地推荐用户感兴趣的新闻,并通过实验
环境验证系统的有效性。
1 移动云计算与大数据分析
移动云计算
移动云计算,是指通过移动网络以按需、易扩展的方式获得所需的基础设施、平台、软45
件(或应用)等的一种资源或信息服务的交付与使用模式。[2]其本质就是基于云计算的移动计
算技术,它是移动计算与云计算相结合的产物。移动计算是随着移动通信、互联网、数据库、
分布式计算等技术的发展而兴起的新技术。移动云计算使智能手机、PDA 等移动终端设备
在无线环境下获取数据和信息并进行相应的计算处理。[3]不同于运算能力强大的 PC机,移
动终端设备受制于硬件的限制,其计算能力和存储能力都很有限而云计算正好能提供超强的50
计算能力和存储能力,将二者进行结合,就是我们所谓的移动云计算,它使数据存储和数据
处理都在移动设备以外进行。
Cloudlet在 2009年由卡内基梅隆大学的Mahadev Satyanarayanan等人提出,成为移动云
计算的实现模式之一。[4]Cloudlet 是一个可信任的,资源丰富的计算机(群),与因特网连
接良好,对附近的移动设备是可用,架构如下图 1所示。Cloudlet核心在于与移动设备仅“一55
跳”之遥,降低实时性计算密集型应用的延迟。Cloudlet解决了移动设备与远端云连接的高
延迟问题,对提高新闻推荐服务的用户体验质量有较高意义。
图 1 Cloudlet的架构
Fig. 1 The Architecture of Cloudlet 60
- 3 -
中国科技论文在线
大数据分析
Hadoop 是一个用 Java 语言编写的开源软件框架, 用于海量数据的开发和处理,最早
由雅虎公司的 Doug Cutting和Michael Cafarella编写,目前属于 Apache基金会的下属项目
[5]。Hadoop是云计算的一种实现技术,同时也是实现大数据分析的基础平台和工具。 Hadoop
包含以下两项核心技术:Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)和65
MapReduce编程模型。
HDFS分布式文件系统,它将文件按块存储在数据节点(DateNode),每个文件块的大
小通常为 64MB 或 128MB,一个文件块会同时有三个备份,存储在三个不同数据节点,因
此有着高容错性的特点。HDFS 使用名字节点(NameNode)来管理数据节点,存储数据节
点的文件索引,从能够快速定位到文件的位置。由于 HDFS能够提供高速文件传输来访问应70
用程序的数据,因此非常适合大数据集的系统。[6]
MapReduce则是 Hadoop的核心编程模型。MapReduce是一个用于大数据量计算的编程
模型,同时也是一种高效的任务调度模型。它将计算过程分为Map过程和 Reduce过程,能
够同步的进行,大大提高了计算效率。MapReduce的工作流程如下图 2所示:
75
图 2 MapReduce的工作流程
Fig. 2 Workflow of MapReduce
2 新闻推荐
协同过滤推荐
协同过滤推荐(collaborative filtering recommendation)技术是推荐系统中最为成功的技术80
之一,根据过滤对象的不同,协同过滤算法可以分为基于用户(User-based)的协同过滤推荐
和基于项目(Item-based)的协同过滤推荐。[7]
User-based协同过滤推荐基于这样的假设:用户与用户之间的兴趣具有相似性,兴趣相
似的用户会做出相似的选择,User-based协同过滤推荐通过兴趣相似的其他用户对目标资源
的评分来预测当前用户对目标资源的评分。它通过用户对资源的评分计算用户之间的相似85
性,选取相似度较高的用户组成最近邻居集合,然后利用最近邻居集中用户对目标资源的评
分,预测当前用户对目标资源的评分,最后选取评分较高的资源推荐给用户。基于用户的协
同过滤算法根据用户之间的相似性进行推荐,因此能够发现用户潜在的兴趣。由于计算用户
之间的相似性需要大量的用户行为数据,因此 User-based协同过滤推荐算法存在数据稀疏性
- 4 -
中国科技论文在线
的问题。同时,随着推荐系统中用户数量的增加,大量用户间相似度的计算将增加推荐的复90
杂性,降低系统的性能。
Item-based的协同过滤推荐基于这样的假设:如果用户曾经对某些资源感兴趣,那么与
之相似的资源用户也会感兴趣。Item-based协同过滤通过用户已评分的资源来预测用户对目
标资源的评分。它首先将系统中的资源表示成特征向量的形式,然后计算已评分资源特征向
量与目标资源特征向量之间的相似性,取相似性最高的资源构成目标资源的最近资源集合,95
接着基于最近资源集合中资源的评分预测用户对目标资源的评分,最后选取评分较高的资源
推荐给用户。[8]
新闻推荐
本文采用的新闻推荐方法基于协同过滤推荐方法,采用大数据分析的方法,挖掘用户浏
览日志与新闻信息,计算用户特征与新闻特征之间的相似度,从而选出用户最感兴趣的新闻。 100
挖掘新闻信息,互联网上每天都会产生成千上万的新闻信息,新闻通常以文本的形式存
储,我们需要提取出新闻信息包含的特征。本文描述的新闻特征指新闻主题关键词,一般新
闻人物词、地理位置词、物品信息词都是新闻的主题关键词。利用 MapReduce 编程模型处
理新闻文本信息,首先采用 Map(映射)过程,对新闻本文内容进行分词处理;接着利用
Reduce(归并)过程选出代表新闻内容的新闻主题关键词,新闻特征表示为 Nn={新闻主题105
关键词 1,新闻主题关键词 2…}。
挖掘用户浏览日志,用户通过智能手机上的新闻应用阅读新闻时,在后台记录用户的行
为,将用户行为表示为 Un={用户标识,访问时间,新闻标题,[新闻主题关键词 1,新闻主
题关键词 2…]}。利用MapReduce编程模型处理用户浏览日志,首先采用Map(映射)过程,
计算每个用户的新闻阅读列表以及每篇新闻的特征向量列表;接着采用 Reduce(归并)过110
程,得到每个用户的特征信息表示为 Fn={新闻主题关键词 1,分数;新闻主题关键词 2,分
数…},分数即新闻主题关键词数量。
推荐用户感兴趣的新闻,用户通过智能手机上的新闻应用阅读新闻时,计算新闻特征
Nn与用户特征 Fn之间的匹配程度,新闻主题关键词匹配命中后累加关键词分数,将得分最
高的一批新闻推荐给用户。用户每次阅读完一批新闻或是请求新的新闻时,用户新产生的浏115
览日志或新闻请求都会上传到云端,重新计算用户特征之后,再推荐一批新闻给用户。
3 系统设计与实验
新闻推荐系统设计
基于移动云计算的新闻推荐系统运行于如图 1所示的 Cloudlet端与 Cloud端,Cloudlet
端与 Cloud 端数据同步。用户使用智能手机上的新闻应用向 Cloudlet 端请求新闻内容,120
Cloudlet 端的新闻推荐系统读取后台数据库中的用户浏览日志和新闻文本信息,采用
MapReduce编程模型方法计算用户特征新 Fn与新闻特征信息 Nn,计算得到用户最感兴趣的
新闻,生成新闻推荐列表,最终展示到用户智能手机上的新闻应用界面供用户浏览。
系统实验
本文使用 NodeJs爬虫抓取了新浪、网易、搜狐、腾讯四大门户网站政治、娱乐、军事、125
体育、社会五个频道下的新闻数据共计 8000篇,作为后台的新闻信息库。
在构建实验环境时 Cloudlet端采用基于单机 Hadoop的伪分布式模式,[9]Hadoop版本为
- 5 -
中国科技论文在线
,JDK版本为 。硬件实验平台的配置为 OS: for x64;CPU:Intel(R)
Xeon(R) E5-2609@;Memory:8GB RAM;WIFI:100Mbps@。新闻推荐系
统基于 Hadoop开源平台进行二次开发。用户日志挖掘和新闻信息挖掘模块采用 Java语言编130
写。
智能手机硬件实验平台的配置为 OS:;CPU:Exynos 4412@;Memory:
2GB RAM;WIFI:100Mbps@。智能手机端新闻应用App使用谷歌公司提供的Android
SDK开发,采用 Java语言编写。
实验结果分析 135
本文使用响应时间作为系统的验证标准,使用 ABtest 的方式来对比平均响应时间的变
化。试验中,在 Cloudlet端设置服务访问接口,允许 A组用户通过 Internet方式访问 Cloudlet
新闻推荐服务,B组。用户通过WIFI的方式直接访问 Cloudlet新闻推荐服务
图 3 Internet访问平均响应时间 140
Fig. 3 Internet read average respond time
图 4 WIFI访问平均响应时间
- 6 -
中国科技论文在线
Fig. 4 WIFI read average respond time
本文邀请了 20名用户参与实验,图 3为 10名 A组用户通过 Internet访问新闻推荐服务145
的平均响应时间;图 4为 10名 B组用户通过WIFI直接访问新闻推荐服务的平均响应时间。
可以明显看到,通过 WIFI 直接访问 Cloudlet 新闻推荐服务比通过 Internet 访问平均响应时
间要少 左右。
4 结论
本文提出了一种基于移动云计算的新闻推荐系统,文章首先介绍了移动云计算和大数据150
的相关技术,接着介绍了协同过滤推荐方法并提出了基于MapReduce编程模型新闻推荐方
法,挖掘用户浏览日志和新闻文本信息,然后运用 Hadoop开源软件框架实现移动云计算的
Cloudlet模式,并搭建出真实地系统环境。最后通过实验证明本系统能够有效减少新闻推荐
服务的平均响应时间,本系统可作为移动云计算新闻推荐系统的一个典型范例。后续的工作
将针对新闻推荐方法进行优化和改良,提高新闻推荐的准确率。 155
[参考文献] (References)
[1] 中国互联网络信息中心 . 第 34 次中国互联网络发展状况统计报告 [OL]. [2014-07].
[2] 刘越. 云计算综述与移动云计算的应用研究[J]. 信息通信技术,2010,(2):14-20.
[3] Michael Vizard. Google Fills Gap between Mobile, Cloud Computing[OL].[2014-2-17]. 160
14.
[4] Satyanarayanan M, Bahl P, Caceres R, et al. The Case for VM-Based Cloudlets in Mobile Computing[J]. Rvav
Omng, 2009, 8(4):14-23.
[5] 孟小峰,慈祥. 大数据管理:概念,技术与挑战[J]. 计算机研究与发展, 2013,50(1):146-169. 165
[6] 许春玲,张广泉. 分布式文件系统 Hadoop HDFS 与传统文件系统 Linux FS 的比较与分析[J]. 苏州大
学学报(工科版),2010,30(4):5-9,19.
[7] 曾春,邢晓春. 个性化服务技术综述[J]. 软件学报,2002,13(10):1952-1962.
[8] Shahabi C, Chen Y. An Adaptive Recommendation System without Explicit Acquisition of User Relevance
Feedback[J]. Distributed and Parallel Databases, 2003, 14:173-192. 170
[9] 崔杰,李陶深,兰红星. 基于 Hadoop 的海量数据存储平台设计与开发[J]. 计算机研究与发展,2012,
49(z1):12-18