资源推送服务

2024-10-19

资源推送服务(精选7篇)

资源推送服务 篇1

随着国内外社交网络迅猛发展, 尤其像Facebook、Twitter、新浪微博用户的数量空前暴涨, 在如此庞大的社交网络中各个用户之间都能够直接或间接的连接成一个错综复杂的社会关系网络, 任何一个人都是置身于一个或者多个相似群落当中, 如此一来可以考虑将用户的社交关系结合到服务推荐技术中[1], 从而为每个用户提供有效的服务资源推荐。国内最大的社交网络平台新浪微博, 自2009年推出以来, 以迅猛的发展速度独占国内几大社交网络平台鳌头, 目前新浪微博注册用户已经超过5亿。在这样一个庞大的网络平台中, 每一个用户都可以根据其掌握的社交关系来给周围的圈子推荐自己喜欢资讯, 话题, 产品等等网络服务资源。然而, 如何利用社交网络分析, 通过构建社交关系网络来给可能感兴趣的用户推荐服务;并且不造成信息泛滥或乏味广告的尴尬局面, 是一项意义深远的研究。本文将试图通过分析新浪微博中的用户之间关系, 根据用户的好友分组与粉丝列表等数据来获取目标用户集合, 进而做服务推荐。

1 相关工作

目前常用服务推荐技术中, 主要分为三类[2]:基于内容推荐、协同过滤推荐、混合推荐 (结合前两种推荐技术) 。其中协同过滤推荐技术在目前推荐技术中的应用是比较成功、广泛的一种技术[3]。协同过滤推荐技术是在“当前用户喜欢其相似用户喜欢的项目”的这一假设的前提下, 通过对相似用户对某一项目的评价来预测当前目标用户的评价情况[4]。以上这几种推荐技术中都存在数据稀疏[5]和冷启动[6]的问题。传统的协同推荐技术中, 由于用户对项目评分数据的稀疏性, 仅把用户的相似度作为依据来选取推荐的目标用户, 这对推荐的精确性是难以保证的。针对这些问题国内外一些学者做出了相关研究, 黄创光等[7]提出了基于动态邻居的协同推荐技术。贾冬艳和张付志[8]提出了一种基于双重邻居选取策略的协同过滤推荐算法, 通过计算邻居的相似性和邻居用户之间信任度来进行对项目的协同过滤推荐。冯勇等[9]提出了一种基于社会网络分析的协同推荐方法的改进算法, 给社会网络中的人物关系 (如:家属, 亲人, 朋友, 同学等关系) 设定一个信任权值, 然后根据计算信任度来进行推荐。杨微[10]提出了基于社会网络社团发现的协同推荐方法, 通过网络用户进行社团划分来进行推荐。邢星[11]在社交网络个性化推荐方法研究中通过社交网络中的用户关系 (关注, 粉丝等关系) 分析和对用户兴趣的预测估算, 来获得目标用户的推荐列表。以上这几中方法对传统协同过滤推荐技术中存在的稀疏性问题都有非常好的改进, 并且通过社会网络关系的引进, 使得服务推荐的精确性有了一定的提高。社会网络分析 (social network analysis, SNA) 主要是研究社会网络中行动者之间的关系[10,12], 本文则侧重研究社交网络中用户好友分组 (如朋友, 同学, 同事等组别) 之间的相似关系和信任关系, 将用户之间的相似关系和信任关系结合起来, 预测目标用户对须要被推荐的项目评分, 对比各个用户对项目的预测评分, 获得给出评分较高的那一部分用户列表, 最后将这些用户作为推荐该项目的目标用户。

2 面向社交网络的服务推送方法

2.1 相关定义

社交网络中任意一个人用户, 以自己为中心, 都有m个用户与之构成一个关系网络。存在这样一个与当前用户联系的用户集合U={u1, u2, …, um}, 同时, 当前用户想要给其他用户推荐的n个项目集合I={i1, i2, …, in}。

定义1用户关系网络

本文构建的是以当前用户为中心点, 以当前用户的朋友列表中的每个用户为终点的一个关系网络。可以用一个二元组来表示UN= (U, E) , 其中U表示与当前用户朋友列表中的用户集合, E表示当前用户与其连接的每个用户的之间关系的关系集合。

定义2用户间相似关系

在用户关系网络中, 根据用户对项目的评分、用户标签等可以获得潜在具有相似兴趣的用户分组。本文将每一个用户之间相似关系权重作为相似关系, 即US (ui, uj) =Sim (ui, uj) , 其中ui, uj分别表示用户ui, 用户uj。

定义3用户间信任关系

在用户关系网络中, 当前用户的与其相联系的用户集合中的每个用户都有其对应的关系, 这些关系从其好友列表中获取, 如:家属, 亲人, 朋友, 同学等关系, 本文将两个用户之间的关系定义一个信任度数值u (0<u<1) , 即两个用户间信任关系, T (ui, uj, relation) , 其中ui, uj分别表示两个用户, relation为两个用户的关系类别。

定义4目标用户集

根据用户相似关系和信任关系综合计算得出每个用户对项目的预计评分, 从而获得给出项目评分大于某一阈值的目标用户集合, 记为Ut。

2.2 用户关系计算

2.2.1 用户相似关系计算

在推荐系统中, 用户相似性的计算对推荐系统的性能起到至关重要的作用。通常相似性计算有余弦相似性、修正余弦相似性以及Person系数相似性这三中方法[13]。由于在推荐系统中, 用户对项目评分的宽严尺寸不一, 导致对同一项目的评分的差异性较大, 如果采用余弦相似性来计算, 很可能导致计算结果与显示差别较大。Person系数相似性计算, 一方面要考虑用户样本的相关系数, 另一方面, 还需考虑两个变量的总体分布是否为正态分布或接近正态分单峰分布, 并且两个变量的标准差都不能为零。修正余弦相似性能够很好的克服以上的问题, 所以本文采用修正余弦相似性来计算两个用户之间的相似性, 见式 (1) 。

式 (1) 中, rum, i, run, i分别表示用户um和用户un对项目i的评分, rum, run为用户um和用户un的平均打分。

2.2.2 用户信任关系计算

在传统的推荐系统中, 往往没有把用户的信任关系考虑到推荐过程中, 然而现实生活中, 无论信任关系对用户的消费意愿、接收心态等都有着非常大的影响, 同样在推荐系统中, 信任关系也对服务推送的精确性、可靠性都有很大影响。在社交平台中用户与其他用户之间存在现实关系, 如家人亲属、朋友、同学、同事等等。本文将每一种关系规定一个信任值, 以社交网络中常见关系列表中的家人亲属 (family) 、朋友 (friend) 、同学 (schoolmate) 、同事 (colleague) 、关注或被关注 (follower) 为关系样本, 每一种关系对应一个信任量度。T (ui, uj, family) =1, T (ui, uj, friend) =0.8, T (ui, uj, schoolmate) =0.6, T (ui, uj, colleague) =0.4, T (ui, uj, follower) =0.2。

2.3 目标用户项目评分计算

传统的协同推荐技术中, 在计算目标用户对项目的预计评分时, 通常采用式 (2) 计算。

式 (2) 中, ru, i为目标用户u对项目i的预测评分, 珋ru为用户u的平均评分, rv, i为用户v对项目i的评分, 珋rv为用户v的平均评分。这个算法中, 只将用户的相似性考虑其中, 当推荐系统刚开始投入运营时, 由于用户对项目的评分数据非常稀疏, 这样就会导致整个系统在计算目标用户对某一项目的评分会出现很大的偏差, 而且整个系统将长时间处于冷启动状态。本文将采用社交网络中人员关系构建一个用户关系网络, 结合用户间相似性和用户间信任度来对传统推荐系统中预测目标用户对项目的评分算法加以改进。计算公式 (3) 如下。

式 (3) 中, ru, i为目标用户u对项目i的预测评分, 珋ru为用户u的平均评分, rv, i为用户v对项目i的评分, 珋rv为用户v的平均评分。tu, v为用户u, v之间的信任度, θ为用户相似关系与用户信任关系的平衡因子。使用该算法, 在系统刚开始投入运营时, 可以将平衡因子尽量小, 系统就会根据用户之间的信任关系来计算目标用户的预测评分。随着系统用户评分数据的逐渐丰富, 逐步调控平衡因子θ, 最终趋于0.5, 推荐系统就能有效地综合用户相似关系和信任关系来作智能推荐。如此一来, 传统系推荐技术中的冷启动问题和推荐性能不高的问题就能得以解决, 同时在推荐的可靠性, 精确性方面都会得到有效的提升。

3 实验过程与结果分析

本文实验中, 将用户对项目的打分与用户之间的关系相结合, 实验数据参考以下两个平台的数据来做模拟实验。

(1) Movie Lens网站 (http://movielens.umn.edu) 是一家大型的电影评分网站, 用户可以对上面的电影进行打分推荐, 评分范围1~5分, 分别表示不喜欢, 一般, 中等, 良好, 非常喜欢。本文将参考这种评分方式来对项目进行评分。

(2) 实验中用户关系的数据来自新浪微博, 新浪微博开放平台 (http://open.weibo.com) 为开发者提供了大量的数据访问接口, 可以从中获取登录用户的关系列表, 用户标签, 实时微博等等数据, 本文主要采用用户的关系列表数据。

3.1 实验过程

通过调用关系接口列表和好友分组接口, 获得当前授权登录用户的关系用户。为了更清晰的表述本文思路, 只抽取部分用户来构建一个当前登录用户的关系网络图, 如图1所示。

图1中每条边都标明了两个用户之间的关系以及相似性和信任度, 相似性根据用户的收藏列表和用户点击项目以及共同评分项目来计算, 具体计算采用式 (1) , 信任度根据用户的关系分组列表来计算。然后根据上一节中改进的目标用户预测评分算法式 (3) 来计算每个用户的预测评分, 选取评分大于某一阈值的所有用户作为目标用户, 从而获得推荐目标用户集合Ut。

实验过程中, 当登录用户发布一款应用或者一部电影、一个话题的同时给出自己的客观评分, 然后提交给推荐系统, 最后推荐系统将根据当前登录用户A与其的关系列表中的用户的相似关系和信任关系来智能推荐A发布的应用。推荐系统的整个推荐过程如图2所示。

实验中将本文提出的面向社交网络的推荐方法和传统的协同过滤推荐方法进行比较。实验过程中, 采用多用户访问来进行实验测试。为了能够体现出实验结果的相互可比性, 控制每一组实验中用户的关系列表中人数呈递增形式。本文主要采用平均绝对偏差 (normalized mean absolute error, MAE) 和覆盖率来对推荐质量予以评价。平均绝对误差值越小, 算法的准确性更高;覆盖率的值越大, 其预测结果范围就越大。平均绝对误差计算式 (4) 如下。

式 (4) 中, P为预测评分集合, pi∈P, Q为用户实际评分集合, qi∈Q。

覆盖率计算式 (5) 如下。

式 (5) 中, Np为本文算法中的实际预测到的用户数, N为需要预测的用户总数。

3.2 结果分析

根据实验, 得到本文提出的面向社交网络的推荐方法与传统推荐的方法的比较结果。如图3所示。

由上图可以得出, 本文所提出的推荐方法, 绝对平均误差随着获得的目标用户集合的人数的增加而减小, 覆盖率随着目标用户集合人数的增加而增大。显然, 本文的所提出方法比传统的协同过滤推荐方法有更好的精确性, 可靠性。

4 结束语

本文分析社交网络中用户关系, 提出一种面向社交网络的服务推荐方法, 把用户相似关系和信任关系结合起来对传统的协同过滤推荐方法作出改进, 使得本文提出的方法在面向社交网络平台上的服务推荐技术有着更高的准确性和可靠性。由于传统的推荐方法主要依赖于用户对共同项目的评分来计算用户对新项目的预测评分, 这样一来就导致当推荐系统刚刚投入运营时, 由于没有共同评分项目的记录, 可能很长一段时间整个系统都处在冷启动状态。本文提出的改进方法中, 对新项目的预测评分并不完全依赖用户共同评分的项目, 当推荐系统刚开始投入运营时, 通过调控相似关系与信任关系之间的平衡因子θ, 来计算用户对新项目的预测评分, 如此一来, 同时针对服务推荐的冷启动问题也能够给出有效地解决。随着社交网络的蓬勃发展, 基于社交网络的推荐系统势必有着非常广泛的应用研究价值。

摘要:传统的基于协同过滤推荐、内容推荐等技术在资源服务推荐中虽然得到了广泛地应用, 但这些方法针对矩阵稀疏、冷启动等问题, 在一定程度上还是未能有效地解决, 以致推荐效果不是很理想。根据用户社交网络中关系, 把用户之间的相似关系和信任因关系作为构建服务推荐目标用户列表的计算因子, 从而对网络资源服务向目标用户做出有效而精确地推荐。通过实验分析, 这种方法在面向社交网络平台上的资源服务推荐有着明显的优越性。

关键词:社交网络,服务推送,推荐方法,相似关系,信任关系

浅析手机报新闻推送服务演变 篇2

关键词:手机报,新闻客户端,新闻推送,推送服务

学界对“手机报”的研究已有十年,而“新闻客户端”的研究更是这两年的热点。本文将对手机报“推送”服务的发展脉络进行分析,从时间截面分析手机报新闻推送服务的一个纵向的发展过程。

1 推送方式:从单向到双向

手机报的推送方式从单向内容推送逐渐转变为今日的双向互动,逐渐满足受众对互动性、社交化的需求。

1.1 单向:定时内容推送

手机报的早期推送方式为单向推送,媒体扮演着传者的身份,每天将手机报内容定时推送,受众仅为受者角色。早期手机报如手机短信、手机彩信的推送服务中,手机报的内容都是由编辑提前设计编排,进行定时发送。单向推送造成传者无法与受众进行沟通,受众也因为缺乏参与性而兴趣点较低。

1.2 双向:互动性、社交性

随着技术发展,新媒体的传者与受者角色呈现多样化。自媒体的发展,让受众也可以充分参与新闻生产,新型手机报在推送方式上具有双向性。

1.2.1 反馈评论

推送方式的双向性,使得受众可以参与其中。不论是WAP手机报后期,还是新闻客户端,都为受众提供了评论交流的功能,同时,用户还可以进行互动点评,从而扩大互动范围,满足受众的社交性需求。

1.2.2 UGC:用户参与生产

UGC即用户参与内容生产,表现为用户直接创造新闻,用户也可以使用新闻的社交分享功能,在传播过程中扮演传者角色。分享功能既满足了用户的社交需要,也使得新闻推送内容进一步扩大传播范围。

2 推送内容:从媒体选择到受众选择

手机报发展过程中,推动由媒体作为“把关人”将新闻内容传播给受众,变化为媒体根据受众需要或受众自己独立定制内容。

2.1 媒体选择

手机报的早期阶段,手机报的内容是由媒体所掌握,媒体作为所有信息的发布者,具有绝对的控制力。媒体每天选择所要发布的新闻信息提供给运营商,再形成短信、彩信或者网页等形式供受众阅读。早期手机报的很多内容都是报纸的重现,这也导致内容方面毫无创新,十分呆板。

随着手机报的发展,媒体开始考虑受众的需求,不再是对已有报纸内容的复制粘贴,而是开始进行筛选,在内容选择上开始考虑手机信息的特点。但这一阶段手机报的内容选择掌控权依旧在媒体手中。

2.2 受众选择

随着新媒体与自媒体的出现,受众需要什么样的新闻成为媒体考虑的问题,手机报在推送内容上注重满足受众需求。

2.2.1 受众自己定制

目前新闻客户端基本都有定制栏目,受众可以根据自己的喜好定制自己的个性栏目,而新闻客户端就只会推送所关注栏目的新闻。例如ZAKER除了首行栏目中,供用户选择的“今日看点”、“头条热点”等栏目,用户订阅栏目后,就会收到相关栏目的新闻推送。

2.2.2 根据受众需求自动推送

2.2.2.1 阅读习惯

随着大数据的发展,通过对用户阅读习惯的记录,可以进行针对受众的智能化预测推送。如网易建立了网易产品的用户数据库资源,用户使用的产品特征都保留在数据库中。随后,“网易新闻客户端”通过用户的特点,推送符合用户阅读习惯、贴近用户需求的内容。

2.2.2.2 DNA兴趣图谱

新闻客户端自动推送第二种方式是依据用户的兴趣爱好点,分析出推送新闻内容。以“今日头条”为例,通过对用户建立DNA兴趣图谱,记录用户的阅读情况,不断摸索用户的兴趣,推送用户需要的新闻。

2.2.2.3 基于LBS

LBS技术可以实现读者地理信息的精确定位,推荐地域新闻。如“搜狐”新闻客户端可以根据手机系统中的“定位”,自动识别地理位置,在“本地”栏目中给用户推送当地的新闻信息。

3 推送成本:从收费分割到免费增值

手机报推送成本的转变,从收费形式变为免费手机新闻,受众的使用成本大大下降。

3.1 收费分割

3.1.1 受众订阅收费

在手机报的早期阶段,都是采用受众订阅收费这一方法实现盈利。早期的手机报往往会分为按月、按季度、按年这一的收费方式,费用一般在3 元—30元之间,这一阶段推送成本较高,用户需要支付费用才能获取推送内容。

3.1.2 媒体、运营商利润分成

媒体作为内容提供商还要与电信运营商进行利润分割,媒体往往受制于运营商,收入规模较少。用户的订阅费是利润的主要来源,媒体为了实现盈利,往往会将压力转接到受众身上,受众除了内容费用,还需支付运营商的服务费用。

3.2 免费增值

作为手机报的新形态,目前新闻客户端基本都实现了订阅免费。一方面是由于信息技术发展,媒体不需要依赖运营商,可以直接与服务商合作进行平台搭建,自行推送;另一方面是网络版电子报纸基本实现免费阅读,手机报在市场背景下实行免费不可避免。

3.2.1 受众订阅免费

目前各大软件平台上,新闻客户端都属于免费软件,可以免费下载。受众可以根据自己对新闻客户端的需求直接进行下载,无需付费,用户的使用成本降低,用户对手机新闻客户端这一渠道的使用度也就越高。

3.2.2 媒体开拓增值服务

在实现受众订阅免费后,手机报的盈利模式也发生了改变,媒体将用户资源作为盈利要点,与商家进行合作以增加收入,实现增值服务的开拓。

3.2.2.1 广告植入

目前广告是获取盈利的核心业务,主要为硬性广告和软性广告。硬广告形式如新闻客户端的启动界面动态广告等,而软性广告更为隐蔽,主要是在推送内容中进行一些隐性的新闻广告推送。

3.2.2.2 基于LBS

部分新闻客户端也基于LBS技术开始实现地理区域的服务产品推送,与用户所处地位置的商家进行合作,在推送内容中推送当地的一些商家活动,吸引用户关注与参与。

3.2.2.3 平台利润分成

平台利润分成的一种为新闻客户端在下载平台下的分成。如App Store中“今日头条”的无广告特别版本,为收费软件,新闻客户端与App Store进行收费分成。另一种为新闻客户端平台下其他软件植入的分成。如“网易新闻客户端”依赖其影响力与所拥有的用户资源,吸引第三方软件植入,从中获取提成。

4 手机报推送服务未来趋势

新闻客户端作为手机报的新形式,未来新闻客户端的推送服务有更多新的发展方向。

4.1 坚持“受众本位”原则

根据“受众本位”原则,未来手机报应在推送方式、推送内容上进一步发展。

4.1.1 推送方式:UGC模块升级,丰富社交元素

推送方式上应实现UGC即用户生产内容的进一步升级,对目前新闻客户端社交元素进行丰富,满足用户在使用中的互动需求,还可以借鉴SNS的经验进行社交化的进一步开发。

4.1.2 推送内容:精确质优

未来新闻客户端可以利用计算机技术进行智能推送优化。目前新闻客户端的推送内容仍有同质化等问题,因此手机新闻客户端未来的发展方向不仅要保持推送快速及时优势,信息概括简练,同时需提高信息的准确度和质量,实现“精准推送”。

4.1.3 推送成本:免费新闻

手机新闻客户端的未来趋势中必须实现提供免费新闻信息。新闻客户端在与微博微信、搜索引擎浏览器抢占新闻受众资源的过程中,必须实现免费订阅,否则用户则会选择另外的渠道进行新闻信息获取。

4.2 增值产业链深度开发

新闻客户端在未来发展中必须进一步实现盈利模式的优化,继续深度开发增值服务产业链,才能保证自身的存活,实现新闻客户端的进一步优化。

4.2.1 感兴趣的广告

未来随着计算机技术的发展,客户可以根据用户的使用行为进行数据分析和挖掘,实现用户人口统计学和背景新的推断,从而推送用户感兴趣的产品广告。

4.2.2 OTO模式

在LBS技术的发展基础上, O2O模式是未来的一个发展方向,可扩展媒体在用户生活中切入的广度和深度。

4.2.3 平台间开放合作

未来新闻客户端应积极谋求与APP运营商、手机厂商、第三方平台等加大合作,实现多方位合作模式,以获得更多盈利。

5 结语

新的生产与传播技术对媒体和社会产生了巨大的影响,为信息的传播供了新的渠道和平台。手机报是手机媒体的产品之一,而手机报形态也随着时代的发展不断改变。

作为手机报的新形式,手机新闻客户端目前发展迅速,但仍存在部分问题。手机新闻客户端可以通过手机报发展趋向,考虑未来发展方向。新闻客户端只有不断完善,才能在多层次的产品结构中脱颖而出,拥有更多受众。

参考文献

[1]陆云红.手机报的传播特点[J].当代传播,2005(2).

[2]田中初.手机报纸:传统报纸的新路径[J].中国出版,2006(3).

[3]郭学文.手机报:值得重视的新媒体[J].青年记者,2006(3).

[4]李立家.浅谈手机报的发展趋势[J].活力,2010(8).

[5]丁秋萍.论手机报的媒介分析和发展方向[J].现代经济信息,2013(12).

[6]汤小俊.移动客户端时代手机报空间何在?[J].中国记者,2013(6).

[7]王棋.新闻客户端发展现状分析[J].青年记者,2014(9).

[8]狄萌.传统纸媒的手机新闻客户端如何深入人心——以《人民日报》和《网易新闻》的对比为例[J].学理论,2014(19).

[9]宫承波,王欢,栾天天.新闻客户端受众媒介使用习惯探究——基于以北京地区大学生为目标群体的调查[J].青年记者,2014(9).

资源推送服务 篇3

在Android手机平台上, Google提供了C2DM (Cloudto Device Messaging) 服务, 就是采用这个服务来实现自己手机上的推送功能, 并将其带入项目中。Android Cloud to Device Messaging (C2DM) 是一个用来帮助开发者从服务器向Android应用程序发送数据的服务。该服务提供了一个简单的、轻量级的机制, 允许服务器可以通知移动应用程序直接与服务器进行通信, 以便于从服务器获取应用程序更新和用户数据。C2DM服务负责处理诸如消息排队等事务并向运行于目标设备上的应用程序分发这些消息。

要获取服务器上不定时更新的信息一般来说有两种方法, 第一种是客户端使用Pull (拉) 的方式, 隔一段时间就去服务器上获取信息, 看是否有更新的信息出现。第二种就是服务器使用Push (推送) 的方式, 当服务器端有新信息了, 则把最新的信息Push到客户端上。

虽然Pull和Push两种方式都能实现获取服务器端更新信息的功能, 但是明显来说Push is better than pull。因为Pull方式更费客户端的网络流量, 更主要的是费电量。

Android从2.2版本开始增加了Cloud to Device Messaging (C2DM) 框架, 在系统中支持了Push功能, 基于Android平台使用Push功能更加简单了。虽然C2DM目前还处在实验室阶段, 不过小规模的使用应该没问题。

2 体系结构

2.1 C2DM API架构

使用Android的C2DM功能有几个要求:

(1) 需要Android2.2及以上的系统版本。

(2) 使用C2DM功能的Android设备上需要设置好Google的账户。

(3) 需要在这里注册使用C2DM功能的用户邮箱账号 (最好为C2DM单独注册一个Gmail邮箱账号) 。

接下来C2DM的一个完整过程, 这里借用一下Google官方推出的Chrome To Phone过程图来说明下。

要使用C2DM来进行Push操作, 基本上要使用以下6个步骤:

(1) 注册:Android设备把使用C2DM功能的用户账户 (比如android.c2dm.demo@gmail.com) 和App名称发送给C2DM服务器。

(2) C2DM服务器会返回一个registration_id值给Android设备, 设备需要保存这个registration_id值。

(3) Android设备把获得的registration_id和C2DM功能的用户账户 (android.c2dm.demo@gmail.com) 发送给自己的服务器, 不过一般用户账户信息因为和服务器确定好的, 所以不必发送。

这样Android设备就完成了C2DM功能的注册过程, 接下来就可以接收C2DM服务器Push过来的消息了。

(4) 服务器获得数据。这里图1中的例子Chrome To Phone, 服务器接收到Chrome浏览器发送的数据。数据也可以是服务器本地产生的。这里的服务器是Google App Engine (很好的一项服务, 可惜在国内被屏了) , 要换成自己的服务器。服务器还要获取注册使用C2DM功能的用户账户 (android.c2dm demo@gmail.com) 的Client Login权限Auth。

(5) 服务器把要发送的数据和registration_id一起, 并且头部带上获取的Auth, 使用POST的方式发送给C2DM服务器。

(6) C2DM服务器会以Push的方式把数据发送给对应的Android设备, Android设备只要在程序中按之前和服务器商量好的格式从对应的key中获取数据即可。

这样就大概明白了C2DM的工作流程, 下面就结合一个实例来具体地说明以上6个步骤。

2.2 开发环境

操作系统:Microsoft Windows 7

IDE:Ecplise Latefrom Version 3.3.1.1

开发包:Android SDK

模拟机:Android2.1或Android2.3等

3 需求分析

3.1 系统设计

本设计的实现思路是在智能手机上开发一个推送信息应用程序, 运行该程序后, 在其主界面上可以创建一个active, 然后在后台启动一个Service, 当接收到服务器推送来的信息后, 将信息标题显示在屏幕顶部信息栏里面, 点击信息栏里的信息可以查看详细内容。

在服务器端创建一个App服务, 并且集成Web页面服务, 它可以与Google的C2DM服务器通信实现信息的交互, 如请求C2DM服务器推送具体信息到安装了该Android应用的手机上。

基于Android的GPS导航应用开发的框图如图2所示。在智能手机的硬件平台上, 基于Android手机操作系统来开发GPS导航应用。可以把这个GPS应用开发分为如下步骤: (1) 规划应用UI。 (2) 设计储存, 创建数据库、表。 (3) 实现页面Active的跳转。 (4) 实现服务Service。 (5) 完善和实现程序。 (6) 程序打包、签名并发布。

3.2 性能

(1) 由于项目必须用到网络连接, 所以真实运行效果涉及到网络链接状态的限制。C2DM需要依赖于Google官方提供的C2DM服务器, 由于国内的网络环境, 这个服务经常不可用, 如果想要很好的使用, App Server必须也在国外, 这个恐怕不是每个开发者都能够实现的。

(2) 要使用Google的C2DM功能必须先在Google开发者平台注册应用账户, 先去C2DM网页上注册一下使用C2DM功能的用户账户。

(3) 项目本身是eclipse环境下的Android项目, 需要在已经添加了Android插件的eclipse中以工程文件形式打开。

(4) C2DM内置于Android的2.2系统上, 无法兼容老的1.6到2.1系统。

3.3 可靠性与可用性

本项目在motorola defy+手机上测试可以正常运行, 因此在Android2.2或更高版本的Android真实手机上均可运行;在模拟机方面, 系统版本为Android2.2或者更高的版本并保证系统剩余内存为1MB的模拟机上都可正常运行。

4 系统实现

4.1 C2DM工作过程

这一节讲解一个C2DM如何工作的概况。表1总结了C2DM里面关键的术语和概念。它们分成下面两类:

(1) Components:C2DM里面包含的组件。

(2) Credentials:用在不同阶段来确认各方都已经被认证的IDs和tokens。这样消息才能发到正确的地方。

下面是C2DM的主要过程:

(1) Enabling C2DM:运行在手机上注册了来接收消息的Android程序。

(2) Sending a message:发送消息到手机的第三方程序服务器。

(3) Receiving a message:从C2DM服务器接收消息的Android程序。

接下来对以上3个步骤进行详细描述。

4.2 Android程序注册接收消息的步骤

(1) 程序第一次要使用消息服务时, 应该设置一个registration intent去C2DM服务器。这个registration intent (com.google.android.c2dm.intent.REGISTER) 包括sender ID (通常是程序开发者设置的gmail账户, 用来授权发送消息给程序) 和application ID。

(2) 如果注册成功, C2DM服务器broadcasts一个给予程序registration ID的REGISTRATION Intent。程序应该保存这个ID留待后用。Google可能定期地刷新registration ID, 所以你的REGISTRATION Intent必须可以多次调用。程序应该能够做出相应的反应。

(3) 为了完成注册, 程序要把registration ID发送给第三服务器端。第三方程序服务器通常把这个ID存在数据库中。

registration ID一直有效, 直到程序明确地解除注册, 或者Google刷新了registration ID。

如果第三方程序服务器要发送消息, 下面的事情必须就位:

(1) 对某个特定的设备, 这个程序有一个允许它接收消息的registration ID。

(2) 第三方程序服务器存储了这个registration ID。

还有一件事情必须做:Client Login authorization token。这个是开发者必须在第三方程序服务器上为程序设置的东西 (更多信息, 看Role of the Third-Party Application Server) 。现在它被用来发送消息到手机。

Client Login token授权第三方程序服务器发送消息给特定的Android程序。第三方程序服务器有第三方程序的一个Client Login token和很多的registration IDs。每一个registration ID代表一个特定的注册了可以为第三方程序使用消息服务的手机。

下面是第三方程序服务器发送消息的步骤:

(1) 第三方程序服务器发送消息到C2DM服务器。

(2) 如果用户的手机当前不在线, Google会把这个消息入队并存储这个消息。

(3) 当用户手机在线时, Google发送消息到手机。

(4) 在手机端, 系统使用适当的permission通过Intent broadcast把这个消息broadcast到特定的程序, 然后特定的程序获得这个消息。这样就唤醒了这个程序。应用程序不需要提前运行来接收这个消息。

(5) 程序处理这个消息。如果应用程序是做一个复杂的处理, 你可能想获取屏幕唤醒锁并且在Service里做任何处理。

如果不想再收到消息, 程序可以从C2DM解除注册。

手机上的程序收到消息时的步骤:

(1) 系统收到消息, 然后从消息中提取键值对。

(2) 系统使用com.google.android.c2dm.intent.RECEIVE Intent把键值对传给目标程序。

(3) 目标程序从RECEIVE Intent中根据key取得数据并处理数据。

4.3 用户看到什么

当手机用户安装使用C2DM的程序时, 他们会获得一个market通知的permission, 告诉他们这个程序包含C2DM。他们必须批准使用此功能来安装程序。用户能不能选择解除注册, 不接收消息, 这取决于程序的实现。卸载程序也可以起到解除注册的效果。

4.4 编写C2DM应用

想要写一个使用C2DM的程序, 必须有一个程序服务器端能够执行Role of the Third-Party Application Server所描述的任务。这一节描述了创建一个使用C2DM客户端的步骤。

请记住C2DM是没有用户界面的。怎样在程序里处理消息取决于编程者个人想法。

写程序客户端主要步骤:

(1) 创建一个manifest文件。这个文件包含程序使用C2DM需要使用的权限。

(2) 写Java代码。使用C2DM, 程序包括:

开始和停止注册服务的代码:

每一个程序在根目录下都有一个Android Manifest.xml文件。这个文件提供程序的必要信息给Android系统, 这些信息是系统在运行任何程序代码之前必须要有的。要使用C2DM, 这个文件必须包含:

com.google.android.c2dm.permission.RECEIVE。程序拥有注册和接受消息的权限。

android.permission.INTERNET。程序拥有联网的权限。

application Package+“.permission.C2D_MESSAGE”防止其他程序注册和接受这个程序的消息。

Receivers for com.google.android.c2dm.intent.RECEIVE和com.google.android.c2dm.intent.REGISTRATION.category设置成application Package。receiver需要com.google.android.c2dm.SEND权限, 这样C2DM就可以发送消息给它。Registration和消息接收都是通过Intents来实现的。

如果C2DM对于你的程序是一个至关重要的功能, 就一定要在Android Manifest.xml里设置andorid:min Sdk Version=“8”。这样就确保了程序不会装在一些程序不能正常运行的手机上。

Received C2D_MESSAGE Intents包含第三方服务器发送过来的键值对。一个特别的key是collapse_key。这是发送者设置的允许离线的设备在上线时处理消息。

下面是一个支持C2DM的manifest的例子:

Android程序在接收任何消息前需要向C2DM服务器注册。如果要注册, 需要发送一个intent (com.google.android.c2dm.intent.REGISTER) , 包含2个参数:

sender:是一个授权发送消息到程序的ID, 通常是程序开发者设置的一个gmail地址。

app:application’s ID.通过Pending Intent设置来允许registration service提取程序信息, 比如:

直到程序把registration ID发送到第三方程序服务器, 注册才结束。第三方程序服务器使用这个registration ID发送消息给目标机器上的目标程序:

在Android Manifest.xml里, 定义了一个receiver:com.google.android.c2dm.intent.REGISTRATION。同样定义了一个receiver:com.google.android.c2dm.intent.RECEIVE。registration和接受消息都是通过Intents实现的。

REGISTRATION的主要作用是允许程序接收registration ID。这个Intent可以在任何时候发送。Google可能定期刷新receiver ID。一个程序收到Intent包含registration_id这个参数, 必须确保第三方程序服务器收到registration ID。可以通过保存registration ID并发送到服务器来实现。如果网络断了或者有错误, 程序应该尝试重新发送registration ID当网络连接上的时候。当处理没完成的时候程序应该追踪registration的状态并且尝试重新注册。

当注册没有完成的时候, REGISTRATION通常产生错误。如果发生了错误, 程序应该稍后重试。当程序解除注册的时候, 会发送包含unregisteered作为参数的REGISTRATION Intent。

表2是REGISTRATION Intent可能的error codes。

程序收到一个REGISTRATION Intent广播当第三方程序服务器尝试发送消息给它的时候。但是registration IDs不存在的原因有以下几种:

(1) 程序第一次运行, 还没有registration ID。

(2) 程序解除注册。

(3) C2DM服务器端定时刷新了registration IDs。

程序要应对这几种情况, 比如:

当C2DM服务器收到从第三方程序服务器发送过来的消息时, C2DM服务器从消息中提取出键值对, 然后以com.google.android.c2dm.intent.RECEIVE Intent作为载体, 把键值对发送到程序。程序根据key从消息中提取数据并处理数据。比如:

下面是给开发和测试使用C2DM的程序的一些建议:

(1) 要开发和测试C2DM程序。需要在Android2.2的设备上运行和调试这个程序。这个设备包含基本的Google服务。

(2) 要在真机上面开发和调试, 真机必须是Android2.2并且包含Market。

(3) 要在模拟器上开发和调试, 需要下载Android2.2 SDK和Google APIs by Google Inc, Android API 8。然后建模拟器的时候选择google api 8。

(4) 如果C2DM对程序是一个至关重要的功能, 必须在Android Manifest.xml里设置android:min Sdk Version=“8”。确保程序装在能使程序正常运行的环境里。

在写一个使用C2DM的程序之前, 必须有一个HTTPS程序服务器并满足下面的要求:

(1) 可以和客户端通信。

(2) 可以对C2DM服务器发起HTTP请求。

(3) 可以处理请求并可以按需要排列消息。比如, 可以执行指数退避。

(4) 可以存储Client Login Auth Token和registration IDs。Client Login Auth Token包含在发送消息的Post的header里。更多关于Client Login, 看这里Client Login for Installed Applications。服务器端具有存储token的能力并可定期地刷新。

这一节主要讲第三方程序服务器怎么发送消息到手机上的第三方程序。在第三方程序服务器可以发送消息给程序以前, 它必须收到registration ID。

要发送消息, 第三方程序服务器要发起一个post请求到https://android.apis.google.com/c2dm/send并包含的参数如表3所示。

发送信息后, 收到的反馈如表4所示。

C2DM有下面的限制:

(1) 消息大小的限制:1024bytes。

(2) Google限制了sender发送消息的总数和sender发送消息到某个手机的总数。

参考文献

[1]杨丰盛.Android应用开发揭秘.机械工业出版社.

高校图书馆信息推送服务模式研究 篇4

随着高校图书馆建设的不断推进, 其内部所包含的信息资源也在日益的丰富和发展。用户在面对丰富的信息资源的同时, 也极易陷入“信息海洋”的困境。如何使用户能够及时的了解图书馆最新的馆藏信息, 并快速的获取到所需的信息资源, 成为图书馆工作人员急需解决的问题。信息推送服务作为一种基于知识发现、数据挖掘以及行为分析等技术的服务手段, 能够根据用户的知识结构、兴趣爱好以及行为习惯主动的为用户提供相关的信息资源[1]。然而, 纵观国内高校图书馆信息推送服务, 主要存在推送方式单一, 个性化不足等问题。因此, 为了提升高校图书馆信息推送服务, 本文分析了现有信息推送服务存在的问题, 构建了高校信息推送服务模型, 并从推送内容获取以及推送内容传送两个模块对该模型进行了分析研究, 旨在为优化我国高校图书馆的信息推送服务提供参考。

1 高校图书馆信息推送服务存在的问题

信息推送服务作为高校图书馆管理服务中的重要部分, 极大提高了图书馆的服务效率、丰富了读者获取信息的途径, 直接推动了我国高校图书馆信息化建设的步伐。然而, 信息推送技术作为一门新技术在我国高校图书馆中起步相对较晚, 因此, 现有的高校图书馆信息推送服务研究还存在一些问题。

1.1 推送内容来源狭窄

信息推送内容作为信息推送服务的主体, 是为用户提供服务的基础, 其质量的高低直接决定了信息推送服务的成功与否[2]。目前, 高校图书馆的信息推送内容主要包含图书馆馆藏的纸制和电子文献资料、图书馆自建的特色信息以及相应的活动公告。而这些信息相对比较单一, 对用户的吸引力也不是很高。另外, 现有的图书馆推送信息内容主要由图书馆工作人员根据本馆的信息进行整理进而推送给用户, 这种方式不仅增加相应工作人员的工作量, 同时由于没有深入了解用户的需求, 使得所推送出的信息内容很大程度上成为“信息噪音”, 不能为用户所使用。

1.2 推送服务方式单一

信息推送服务方式作为信息推送服务的渠道, 为用户提供了一个接受信息的载体, 是决定用户能否快速、准确接受推送信息的关键因素[3]。然而现有国内高校的信息推送服务方式相对比较单一并且推送范围也相对比较狭窄, 大多局限于图书馆所使用的信息推送软件, 如:清华大学图书馆TPI系统、中国人民大学的DLPers推送服务系统、厦门大学图书馆知识资源港软件等[4,5]。这些软件在集成个性化推送信息服务方面也相对比较薄弱, 缺乏整合的资源和服务项目, 不便于用户的个性化使用。另外, 随着RSS、博客、微信、QQ空间、人人网等网络信息技术的发展和平台的构建, 信息推送服务面临着更加个性化的需求。

2 高校图书馆信息推送服务模式

高校图书馆作为高校师生用户获取知识信息的主要信息部门平台, 必须具有快速、高效、科学合理的服务模式。通过对现有的高校信息推送服务进行分析, 可以发现, 高校图书馆信息推送服务过程主要包含推送内容获取、推送内容传送以及推送内容收取等过程。其中, 信息获取主要是指图书馆工作人员根据不同的渠道来源获取到用户所需要的信息以及热门的知识信息, 并将这些信息进行有效的整合和集成的过程;而推送内容传递主要是指高校图书馆工作者根据不同的用户需求将所整理的信息以不同的推送模式, 不同的推送渠道将整理后的信息推送给不同用户, 满足不同用户的信息需求的过程。而推送内容收取主要是用户接收信息的过程。具体高校图书馆信息推送服务模式如图1所示。

从信息推送模式框图中可以看出, 推送内容获取、推送内容传送作为信息推送服务模式的主体框架, 是整个信息推送服务模式的关键模块。信息推送内容获取模块作为信息推送模式平台的信息收集器, 将所获得到的用户资源、馆藏资源以及其他馆外信息资源进行筛选整合, 是信息推送服务的信息源泉。而信息推送服务方式主要是根据现有的信息推送渠道, 根据用户的不同需求以用户最容易接收的方式推送给用户。

2.1 推 送内 容获取

网络技术的快速发展, 为知识信息的及时传送提供了有力保障, 致使高校图书馆用户对知识信息的求新求快需求也越来越强烈[6]。相对于以往的高校图书馆用户, 现在的用户更注重于信息的时效性, 更加迫切地想获取到内容新颖、时效性强以及易于获取的各类信息。而这就需要图书馆工作人员在现有的网络信息环境条件下对相关信息进行收集获取。

(1) 信息抽取。信息抽取是结合浅层的挥着简化的文本抽取技术 , 对结构化、半结构化以及非结构化的文本信息进行理解并抽取概要信息的过程[7,8]。现有的信息抽取技术主要包含知识发现、数据挖掘、信息检索等技术。针对高校图书馆信息推送服务, 使用信息抽取技术主要是指图书馆工作人员结合本校所有的信息抽取技术, 在本校馆藏书籍以及其他信息载体上, 对不同时间阶段的热门信息以及不同学科领域的专业知识进行信息抽取。

信息抽取技术同样可以帮助图书馆工作人员实现对用户的需求以及兴趣进行抽取, 从而构建用户兴趣模型, 实现对用户的个性化信息推送。如:针对用户的日常浏览记录, 结合信息抽取技术实现对用户的兴趣、近期阅读需求以及阅读习惯的统计, 同时根据高校图书馆中所记录的用户注册信息构建不同的用户模型。进而, 图书馆信息推送平台可以将不同时段所要推送的信息与不同的用户信息进行比对, 有针对性的对不同用户进行信息推送, 达到其个性化需求。

(2) 用户反馈。用户是信息推送服务的对象 , 也是图书馆信息推送服务质量的最终评判者[6]。而高校图书馆信息推送服务的对象主要是校内工作的老师和学生。相对社会图书馆用户来说, 高校图书馆用户其学业以及课题研究的需求更具有相似性。因此, 针对高校图书馆信息推送服务, 高校图书馆可以主动借助各种渠道和技术手段充分及时地了解用户的信息需求, 并通过对用户以及用户的需求反馈进行分析和分类, 发掘不同类用户在不同阶段的信息需求, 进而可以有针对的去获取最新的信息并利用信息推送技术及时将有关 信息反馈给用户。

2.2 推送内容传送

推送内容传送主要是借助现代信息交流工具, 为用户与资源、用户与图书馆员之间的有效沟通提供信息传递的渠道[6]。针对高校图书馆用户的特殊性, 在信息推送的过程中可以结合广播式的“一对多”和个性化的“一对一”的信息传送方式实现推送信息内容传送。

2.2.1 “一 对多 ”信 息传送方式

“一对多”信息传送方式主要是指在高校图书馆信息推送服务中将一些公共的信息以广播的形式向全校用户进行信息传送。其中, 公共信息主要是指一些与学校或图书馆相关的公共新闻、最新活动以及学术动态等信息。而这类信息的推送方式主要是指图书馆已建成的图书馆门户网站、信息推送服务软件以及学校或图书馆公共博客平台等。这种信息传送方式具有广泛性和方便性, 不仅能够使高校用户根据自我需求进行选择性的浏览, 同时, 能够实现信息的广泛传播。

2.2.2 “一对一 ”信息传送方式

“一对一”信息传送方式主要是根据不同用户的需求 , 有针对性地将所要推送的信息传送给不同的用户, 同时, 可以通过定制服务, 将用户所定制的信息主动的传送给用户。该信息传送方式主要以用户的个性化需求为牵引, 结合所构建的用户兴趣模型, 对用户实现单独的信息推送。这类信息主要包含与用户需求相关的新增电子资源和图书文献、个人借阅信息以及借阅超期通知公告等。由于这类信息属于个性化信息, 因此, 需要借用非广播式的传送方式进行推送, 如:手机短信、微信、电子邮件等。这类信息传送方式由于其持久性以及独特性, 使得用户在接收推送信息的过程中, 避免因接收与自我无关的垃圾信息而造成的时间与精力的浪费。

3 总结

高校图书馆作为高校师生科研和教学的服务窗口, 是其获取文献信息的主要场所。因此, 开展高校图书馆信息推送服务将很大程度上扩宽高校用户获取信息的渠道, 提升图书馆工作人员的工作效率。本文在深入探讨高校图书馆的信息推送服务的基础上, 分析了现有高校图书馆信息推送服务存在的问题, 并针对性提出了高校图书馆信息推送服务模式, 为高校图书馆信息推送服务的实践提供了理论基础。

参考文献

[1]张春平.独立学院图书馆信息推送服务探析[J].图书馆工作, 2012, 12:266-267.

[2]李海丽.信息推送服务在公安院校图书馆中的应用探讨[J].科技创业, 2013, 10:174-176.

[3]杨梦菲.国内外高校图书馆信息推送服务比较分析[J].中华医学图书情报杂志, 2014, 23 (4) :42-45.

[4]张玲, 岳厚光.以用户需求为导向的高校图书馆知识服务[J].农业网络信息, 2013, 9:63-65.

[5]梁宇红, 刘红丽.图书馆信息推送服务的潜力与开发策略[J].图书馆论坛, 2012, 32 (3) :144-147.

[6]高天惠.网络环境下高校图书馆信息推送服务模式研究[J].产业与科技论坛, 2011, 6:185-186.

[7]Ricardo Baeza-Yates, Berthier Ribeiro-Neto.Modern Information Retrieval[M].Pearson Education Limited, 2011:163-168.

资源推送服务 篇5

如今是地方高校转型发展时期, 利用信息推送服务技术, 提升其馆藏建设和管理服务水平是促进地方经济文化发展一项重要的建设性项目, 也是促进地方高校转型发展, 建设成为具有强大竞争力的应用技术型大学的必要基础项目之一。文章旨在探讨地方性高校图书馆如何更好地实现馆藏信息推送服务, 实现馆藏信息资源推送服务的途径和运用的技术及相关指导以及在充分考虑地方高校图书馆读者的阅读需求的同时, 做到快捷主动的馆藏信息资源推送服务, 建成对不同读者群有针对性的馆藏信息资源主动推送服务体系。

1 推进地方高校图书馆馆藏信息推送服务的重要性及意义

科学技术和网络信息化技术的创新是图书馆发展的灵魂。现今, 图书馆需要应对各类人群的各种信息服务需求, 其服务模式需要不断延伸, 并开拓各种用户个性化服务项目, 以保证其服务朝着系统化服务平台的方向迈进。[1]高校图书馆不但为在校师生提供信息服务, 同时通过师生对信息的吸收和利用为社会做贡献。地方高校一般处于生产力相对落后的地方, 积极探讨推进地方高校图书馆馆藏资源信息推送服务的相关研究课题, 培养和提高读者信息素养, 是提升地方图书馆的服务能力, 发展地方经济文化, 推动地方特色人文主义建设发展的重要补充。馆藏信息推送服务使读者可以根据需要有选择的吸收所需要的馆藏信息, 减免因查阅过多资料而浪费的时间与精力。探讨如何推进高校图书馆馆藏资源信息推送服务的相关问题及策略必将有助于促进地方高校图书馆和地方经济文化的发展。

2 地方高校图书馆馆藏信息推送服务现状及现存问题

信息推送技术是一种信息发布技术, 是在网络环境下产生的一种新的信息服务模式。[2]当前地方高校图书馆一般为新兴的地方院校图书馆, 处于地理位置较偏远的中西部地区, 科技水平落后, 设施不完善, 建设无特色, 未形成独特的管理理念。且由于政策落实不到位、人才欠缺、资金不足, 馆藏信息资源推送服务缺乏主动性和技术性, 服务管理不到位, 信息推送服务不能统筹兼顾读者的多方面需求。其中, 地方经济水平落后和人文科技意识薄弱是造成地方图书馆缺乏主动性和技术性的主要原因。

3 提升地方高校图书馆馆藏信息推送服务的相关策略

3.1 充分利用现代通讯工具推送馆藏信息资源

科学技术引导和推动图书馆的进步和发展。如网络、手机、手持阅读器、自主设施、云计算、web2.0等, 不但增加图书馆的信息推送服务形式, 推动图书馆的信息推送服务质量的提高, 也扩充加大了图书馆的信息推送服务内容与范围, 且不断地改变着图书馆的形态流程以及其服务的模式。其中, 互联网作为传播信息最便捷渠道, 它的迅猛发展给图书馆信息资源带来了深刻的变革。[3]计算机数据挖掘技术的进一步推广应用和完善也将对图书馆馆藏信息资源的推送有非常重大的帮助。这种技术可以根据读者的不同特点, 如:读者的年级、学科类别、专业方向、工作性质和研究领域的不同提取馆藏信息数据进行分类有目的和方向地推送服务。如今, 大学生利用手机WLAN和移动、电信等无线和数据流量上网随时随地查阅资料已变得很普遍。充分利用手机无线上网查询图书馆馆藏资源, 将更加便于师生的学习和研究工作。

3.2 把握读者需求, 开发更加便捷的信息推送服务模式

现代读者对信息存在着多方面的需求。读者们不但需要安静的阅览环境、丰富的图书馆信息资源和良好的信息服务条件, 更需要得到专业的服务, 让其方便快捷地获取到他们所需要的知识性内容。网络的发展使读者获取信息的渠道多元化, 对图书馆的注意力发生转移。现代图书馆只有把握读者的需求, 提供超值服务, 才能够吸引读者减少威胁。如:引入基于E-mail的馆藏信息推送服务, 将入藏新书以电子邮件的形式定期向本校师生读者推送感兴趣的入藏新书;定期印发各个院系新书推荐传单或是电子图书发布信息的小册子;在馆内和校内多处设置方便快捷的馆藏图书和信息搜索引擎, 在图书馆开通手机WLAN搜索阅读等, 方便校内师生在最短的时间内了解到本馆的最新馆藏资源更新信息, 找到适合自己所需要的文献信息资料。还可以利用手机无线上网, 采取校内师生手机号网上注册服务的方式, 让校内师生通过手机无线上网能够快速浏览图书馆的各种信息, 包括馆藏新书信息, 专业类别信息以及馆藏图书的借阅信息。

3.3 落实学科馆员的宣传推送服务, 提升馆员服务质量

要提高读者的信息获取能力, 首先要提高馆员的素质。[4]学科馆员应全面走向具有丰富内涵的高层次的综合型网络信息服务, 使读者获得更高质量的服务。学科馆员具有专业性和有针对性, 不但对图书馆馆藏信息资源有比较系统的了解, 并且对各学科读者特点和各学科读者对信息的需求内容和形式有较深入的了解。引入和落实学科馆员制度, 可以明确各个学科馆员的服务范围、内容, 确保服务的速度和质量, 让读者更加方便快捷的了解和使用图书馆的馆藏资源。学科馆员还可以起到宣传、引导的作用。如:担任外语学科的学科馆员可以深入到该学科师生群体中发送相关外语方面的新书推荐宣传单, 介绍相关方面的馆藏资源信息, 举行相关的馆藏信息检索交流会等。还可以来针对教职工申报的课题项目所涉及的内容和可能需要用到的资料, 分学科地展开相对应的馆藏信息资源推送服务, 为申报课题的教职工提供最新信息和方便快捷的文献检索方式, 这样可以变立项项目组的被动文献信息资源查询检索为图书馆主动的资源信息推送活动。

4 结束语

现代地方高校图书馆馆藏信息资源推送服务的出路, 在于把握地方性特点, 主动服务创新。文章分析了影响地方高校图书馆馆藏资源信息推送的各方面因素, 主动寻求地方高校馆藏信息资源推送服务的新出路, 提出可行性策略, 希望借此为促进地方高校图书馆、地方高校和地方经济文化的全面发展提供思路。

参考文献

[1]图书情报工作杂志社.新环境下图书馆服务与资源开发[M].北京:海洋出版社, 2012, 6:44.

[2]张素霞."推送"技术与图书馆信息推送服务的实现[J].现代情报, 2004 (11) :46-47.

[3]石薇, 樊巍.网络时代图书馆信息资源服务研究[J].科技情报开发与经济, 2013 (22) :113-126.

资源推送服务 篇6

目前亚马逊在硬件方面提供Kindle阅读器,软件方面Kindle阅读服务也已覆盖PC、平板及手机端,实现了同一账号登录多设备图书信息自动同步。Kindle阅读器可通过数据线或者邮箱两种方式进行个人文档推送,鉴于法规数量庞大且更新频率高,对特定法规的查询推送需要专用搜索页面并提供一键推送服务。

2 程序设计

根据以上功能需求,完整程序应主要包括以下几个部分(采用Python编程语言版本号2.7.X,依赖的第三方库可直接使用pip或easy_install工具一键安装),具体功能描述如表1所示。

以上各主要功能模块之间,基本逻辑对应关系如图1所示。

2.1 公共函数定义

程序push To Kindle.py定义了3个公共函数,其中cur Dir Path()用于动态获取程序所在根目录,便于生成维护数据库绝对路径等;search Book(key="")为前端交互主函数,用于根据用户输入的关键字在数据库中查找对应文档信息;push To Kindle(usr Full,pwd,to,f Path)核心功能函数,根据设定好的发件邮箱账号信息,将指定文档作为附件自动推送到对应Kindle邮箱。文档推送功能测试如图2所示。

2.2 目录监控及文档信息数据库的生成维护

程序dir Watch.py独立运行,Books Info类的核心功能函数watch Dir(book Path)用于监控指定目录中文档的各种操作,以及对应生成和维护包含文档详细信息的主数据库文件。

考虑到法规及个人文档数量不会太多,可排除使用需要复杂安装和设置的Oracle等数据库而直接采用Python自带的轻量级数据库Sqlite3即可。主数据库books.db字段详细设置及说明如表2所示。

(1)Python环境下常用的目录及文件监控的第三方库是pyinotify,但由于其仅支持Linux系统而无法在Windows/Mac中使用,所以换用fsmonitor库以提高程序的平台兼容性。安装fsmonitor并依次引入需用到的库,按照以上字段设置创建books.db主数据库文件。注意数据库连接时connect(db Path)函数的参数必须用绝对路径,用相对路径后期运行可能出现错误。

(2)自定义函数file Md5(f,block_size=2**20)用于计算文件MD5值返回32位字符串,对应于数据库中的Md5字段;函数format Bytes(i Bytes,lst=["Bytes","KB","MB","GB"])用于将整型字节数表示的文件大小格式化为更加直观的表示形式,如format Bytes(187335)将返回“182.94 KB”,对应数据库中的Size字段。

(3)自定义函数watch Dir(book Path)用于监控指定的文档目录,发现该目录下新建文件操作则分别计算该文件Md5/Name/Size/Path值并更新数据库(此时需考虑存在名称不同而内容相同的重复文件可能性),发现删除文件操作则删除books.db数据库中对应的文件信息记录。目录监控程序运行效果如图3所示。

值得注意的是,往被监控目录批量拷入文件时,可能存在个别文件未创建完成时程序获取其大小返回零值的情况,所以有必要在每条信息记录之前设置一个短暂延时,具体如下:

2.3 网站前后端

网站前端采用来自Twitter的开源流行开发框架Bootstrap,后端采用基于Jinja2模板引擎的轻量级Web应用框架Flask。整体网站目录结构如图4所示,主数据库文件和脚本程序都放在根目录myweb下,子目录templates存放的是前端页面对应的Jinja2模板,子目录static下分类存放对应的JS脚本、CSS文件、图片等。

2.3.1 网站后端服务程序

网站后端响应程序web.py独立运行,用于响应用户在前端页面操作时的各种请求。其主要功能是查询并返回与搜索关键字相关的所有信息;根据用户请求的文件MD5值查找出绝对路径并自动将文件推送至指定邮箱;自定义404响应页面等。网站后端服务程序运行如图5所示。

使用push To Kindle()函数进行文档推送前务必确认发件邮箱已设置开启了SMTP服务,同时需要登录亚马逊网站在“管理我的内容和设备”模块将发件邮箱添加为认可的电子邮箱(由于亚马逊邮箱默认安全策略限制,白名单外的所有邮件均会被当做垃圾邮件删除)。

2.3.2 前端Jinja2模板页面

(1)Jinja2模板页面基于HTML语法编写,但其支持模板继承、变量定义等特点便于前后端交互和动态页面生成。模板文件base.html定义了站点共同元素便于子页面继承,整体上可大幅减少前端工作量。对应网站前端主页面如图6所示。

(2)页面404.html继承自基础模板文件base.html以保持网站整体风格,使用“{%-block content-%}……{%end block%}”关键字以插入新HTML代码。触发404页面如图7所示。

(3)网站主页面search.html继承自基础模板文件base.html,用于关键字搜索、相关文档信息反馈并以链接形式提供一键推送服务。搜索结果反馈页面如图8所示(点击Push To Kindle链接即可将对应文档一键推送至Kindle,具体效果见图2)。

3 结语

资源推送服务 篇7

无论是传统教学还是网络教学, 学习个体都呈现出差异性, 这表现在智力水平、理解能力以及认知水平等方面, 因此千篇一律的教学方式和教学内容无法达到令人满意的教学效果。新课程改革也提出要注重学生发展的个体性与差异性, 重视开发学生个性潜能, 培养学生的创新思维与实践能力。目前, 许多网络资源库以展示和呈现资源为主, 其表现就是将课本或教案内容复制到网上, 没有体现出资源使用的个性化、教学特色和教学个性[1]。

根据文献研究和现有平台调研, 目前国内几乎没有师范生专业技能研习相关的成长案例库, 能提供个性化资源推送的更是寥寥无几。师范生是教师力量的后备军, 专业技能训练对其是十分必要的。师范生专业技能研习成长案例库平台将师范生在实习、见习、实训与竞赛等活动中积累的优质案例导入成长案例库, 为师范生提供了大量用于专业技能训练的优质资源。然而, 师范生如何在海量成长案例库中找到适合自己的个性化资源?本文通过对学习者学习偏好模型的分析, 构建了基于学习偏好的个性化推送机制, 可有效辅助研究性学习的开展, 并能进一步激发学习者的学习兴趣, 引导其深入探究相关知识。

1 个性化资源推送机制

个性资源推送最早出现在电子商务网站, 它将经过整理的资源转发至用户界面, 从而实现用户的多层次需求。如今, 个性资源推送机制不仅用于企业电子商务网站, 在资源型学习平台、数字图书馆系统、高校数字化校园建设、农业科技信息中也应用广泛。目前, 资源推送技术主要有以下几种:基于规则 (Rule-based) 的推荐技术、基于内容 (Content-based) 的推荐技术、基于协同过滤 (Collaborative filtering) 的推荐技术和混合式 (Hybrid) 推荐技术[2]。

综合目前网络教育资源库平台的个性化资源推送方式, 主要存在以下问题:

(1) 推送方式比较单一。热门资源推送和最新资源推送是比较常见的两种推送方式。热门资源点击率高, 虽然提高了优质资源使用率, 但其推送的资源未必是用户需要的;最新资源推送以数据库中资源更新的时间为依据, 将最新上传的资源推送给学习者, 同样也不一定满足用户需求, 资源质量也无法得到保证。

(2) 缺少对学习者数据和信息的科学分析, 无法掌握学习者的兴趣与需求, 对学习者兴趣偏好和需求的迁移不能及时作出应对。

2 基于学习者偏好的师范生资源库个性化推送机制

2.1 学习者偏好模型构建

在网络学习中, 学习者偏好主要表现在两方面:一是对学习内容选择的偏好, 二是对呈现学习内容的媒体类型选择的偏好。在学习内容选择偏好上, 假定呈现学习知识的媒体类型都是同一种, 例如, 学习者在研习高中数学相关知识时, 可分为几何模块和代数模块, 假如学习者习惯选择几何模块学习, 该模块下又分为椭圆、双曲线、抛物线等几个主题。学习者对每一个模块和主题都有一个偏好值, 这个偏好值可以选用-a-a (a>0) 的一个区间的数值来表示;在媒体类型选择偏好方面, 媒体类型可大致分为文本、图像、音频、视频4种, 如图1所示。因此, 在对相同内容知识的学习中, 如果学习者选择某种类型资源的次数远远超过选择其它类型资源的次数, 则认为该学习者对该类型的学习资源存在偏好。

2.2 学习者偏好确定

学习者学习偏好是系统为学习者提供个性化服务的重要依据。学习者偏好的获取具体可以通过两种方式:显式获取和隐式获取。显式获取又称为直接获取, 是指学习者在使用系统时会留下用户注册信息, 系统也会提供有关兴趣偏好的表单让学习者填写。但是由于需要用户主动填写, 通常用户会觉得繁琐, 不愿去填写或不会认真如实填写, 因此不能保证表单获取信息的准确性, 导致系统噪音;另一种是隐式获取, 隐式获取是通过Web日志挖掘分析用户历史信息, 挖掘学习者偏好, 如图2所示。

学习者在学习过程中, 会就某一知识点提出问题, 也会依据自己的兴趣和知识储备去解答别人提出的问题。同时, 学习者在系统中的检索、浏览记录等都在一定程度上反应出学习偏好。因此, 可以根据学习者在系统中的检索、浏览记录与提问来判断学习者对于知识的兴趣点。当学习者对同一个知识点的检索次数和提问次数达到N (N≥5) 次, 则认为学习者对该知识点存在偏好[3]。

当然, 学习者偏好不可能是一成不变的。随着学习者所学内容以及学习者知识储备的增加, 学习者偏好也会有一定程度的更新。好的个性化推送系统应能及时捕捉到学习者的偏好变化, 从而根据变化调整推送内容。学习者学习偏好的动态调整要综合考虑学习者之前的偏好与最近一段时间的个性化行为, 包括对知识点的访问浏览行为、与其他学习者或教师的交流行为、学习过程中的提问与回答行为等。

根据以上对学习者偏好模型的分析, 确定了师范生专业技能研习成长案例库的个性化推送机制———基于学习者偏好的个性化推送机制。

2.3 基于学习者偏好的师范生资源库个性化推送机制

学习者偏好模型是个性资源推送机制的核心和基础, 关系到个性资源推送服务的质量。个性资源推送中的学习者偏好模型不是对用户个体的一般性描述, 而是从有关用户兴趣和行为的信息中归纳出可计算的用户信息模型。

根据对个性资源推送机制和学习者偏好的了解, 现对师范生专业技能研习成长案例库平台中的个性资源推送机制进行分析。师范生在专业技能研习成长案例库平台的偏好可通过预定义范式和行为数据统计分析两种方式获得。

(1) 预定义范式分析, 即显式获取。是指通过采用一种符合普通意义上对“人”进行定义的一种范式来强制规范对人属性的描述[4]。如学习者的专业、研究方向、爱好、学习风格等, 是一种人为固定询问式的简单描述。学习者登陆系统后, 将填写系统提供的个人资料表单, 包括学习者专业、爱好、研究方向等, 通过这些描述可以从中获取到学习者部分偏好。

(2) 行为数据统计分析, 也称隐式获取。这是一种应用统计学上的数量分析法, 通过获取一定时间内用户单击的数量和分布来分析该用户的行为趋向[4]。比如, 对某学习者在系统中学习时检索、浏览、下载资源的类别和次数进行统计分析, 同时, 对学习者就某一主题发帖提问或回答其他学习者提出的问题中提取关键词, 通过学习者偏好模型的分析, 从中找出学习者兴趣偏好的行为规律等。

对于这两种分析方法, 基于前者实现的个性化资源推送是一种半智能化的资源推送, 而基于后者的行为统计分析则可被认为是完全智能化的资源推送。

当学习者的偏好迁移时, 系统动态调整的过程如下:系统记录最近一段时间内学习者提问或回答过的感兴趣的知识点, 以及检索、浏览、下载资源的内容和类型, 如果其学习偏好中的某些内容和类型已经不在这个范围内, 并且学习者对它的偏好程度小于他对所有感兴趣内容和类型的平均偏好程度, 则认为学习者已经对这部分知识点不感兴趣, 应当从学习者偏好中将其删除;同样, 如果一段时间内, 学习者的个性化行为所涉及到的某个内容, 学习者对其偏好程度大于他对所有感兴趣的内容和类型的平均偏好程度, 则应将该内容或该内容对应的类型添加到该学习者偏好中。

师范生专业技能研习成长案例库平台获取到师范生的偏好后, 在资源库的资源里根据资源分类和资源属性的描述, 提取出符合该学习者的资源, 推送给学习者进行针对性的学习。具体过程如图3所示。

例如, 某师范生在使用该平台过程中, 主要想提高教学设计方面的技能, 在这段时间内该学习者检索、下载、浏览、提问该类型资源的次数则会比较多。当学习者学习一段时间后, 教学设计方面的技能有所提高, 对教学设计类型的资源关注度降低, 转而学习课件制作方面的技能, 如果该学习者对教学设计资源的偏好程度小于他对所有感兴趣内容和类型的平均偏好程度, 则可以将教学设计这一部分内容从该学习者偏好中删除, 并将课件制作添加到其偏好中, 同时推送相关资源给该学习者。

3 结语

本文在构建师范生专业技能研习成长案例库的基础上, 针对师范生作为未来教师的特点, 将师范生在实习、见习、实训与竞赛中积累的优质案例导入成长案例库, 采用相关推送和基于学习者偏好的个性化推送方式, 为师范生更好地获取个性资源提供了条件, 极大地提高了师范生的专业技能, 有助于教师教育改革实现新的突破。

摘要:网络上关于师范生专业技能训练的资源数量巨大, 师范生如何在海量资源中快速准确地找到所需资源, 提高个人专业技能, 科学、有效的个性化推送机制尤为重要。为了实现为每一位师范生量身打造一套最适用的资源, 结合师范生专业技能研习成长案例库平台, 从学习者偏好的角度进行了分析。

关键词:个性化推送,师范生,学习者偏好

参考文献

[1]刘珍芳.高校专业网络资源库建设探析[J].电化教育研究, 2007 (5) :62-65.

[2]方琦.中小学网络学习平台个性化推送系统的研究与设计[D].杭州:浙江工业大学, 2013.

[3]赵海燕, 吴长勤.E-learning环境下基于学习者偏好的高校精品课程研究[J].沈阳工程学院学报, 2012, 8 (3) :419-420.

上一篇:上市公司股权激励效应下一篇:广播科普节目的创作