分类标签系统在校园需求连接平台中的设计与实现文献综述
2020-05-11 23:34:25
随着web2.0 技术的兴起与发展,社交网络迅速发展和壮大,它给互联网用户的生活带来了巨大的影响。然而,互联网的飞速发展也带来了数据量的急剧暴增,如何快速从海量数据中搜寻所需要的信息或资源, 已成为互联网用户所面临的一个难题。其中,个性化服务显得尤为突出。推荐功能是个性化服务的一个重要途径, 很多学者都对其进行了广泛研究, 而且这一技术手段也已成功应用于各大商业网站。众所周知,人们对其关注的信息或资源进行打标签, 将会大大提高信息或资源的推荐效率与准确率。
标签一词, 根据维基百科的定义, 是一种无层次化结构,用来描述信息的关键词, 可以用来描述物品的语义。正是由于社会化标签的广泛应用, 很多网站取得了很大的成功。作为标签推荐系统里的开山鼻祖之称的Delicious,允许用户给互联网上的每个网页打标签,从而通过标签来重新组合整个互联网;CiteULike允许用户提交或者收藏自己感兴趣的论文并且给论文打上标签;Last.fm 通过分析用户的听歌行为预测用户对音乐的兴趣,从而给用户推荐个性化的音乐。国内很多网站也应用了标签推荐系统, 如豆瓣网支持用户对图书和电影等进行标注和评分, 借此获得图书和电影的内容信息和语义, 并用这种信息改善推荐效果。这些社会化标签系统允许用户自行对信息或资源加以标注, 给人们对信息过滤带来了极大的帮助。
本文描述的标签与其他常规标签不同, 本文的用户的个性化标签是用户给自己添加的标注, 是对自身的一种描述方式,用以体现用户的个性化特征, 同时也给微博中的好友推荐和其他信息推荐提供了更加丰富的内容。让用户主动地添加与自身相关的个性化标签, 并且从用户的行为中预测用户的兴趣,为用户贴上相应的个性化标签,从而更好地为用户提供个性化服务。通过分类标签系统,我们可以对用户的需求兴趣进行数据挖掘,对用户推送与自身兴趣爱好相关的信息,不仅能够增强用户自身的个性化特征,还有利于在平台中快速找到志同道合的好友;也有利用于机构活动的发布,实现精准营销。
用户可以自主的给自己添加标签来表明自己的兴趣爱好,也可以发状态来添加标签,从而通过标签来发现与自己兴趣爱好相似的用户和自己感兴趣的活动;机构可以为自身和其发布的活动添加标签,拥有相似标签的用户就会收到活动的推送,具有很好的推广价值。通过标签系统对用户兴趣挖掘,提供给相应的活动举办机构进行精准营销,具有很好的商业价值。
AngularJS是一款来自 Google的前端JS框架,该框架已经被应用到了Google的多款产品中。这款框架最核心特性有:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。目前,web应用的规模和复杂度不断提升,各种框架层出不穷,然而从实际的使用效果来看,我们所做的努力依然不够。与各种服务端框架相比,前端框架在设计理念方面仍然存在很大的提升空间。例如,很多服务端框架都有”依赖注入”的概念,但目前市面上很少有人会把这一概念应用到前端框架中,而AngularJS就是第一个吃螃蟹的。又如,AngularJS框架自身是通过TDD(测试驱动)的方式来开发的,从这个角度来看,AngularJS是敏捷开发的一次成功实践。再例如,使用模板和控制器的概念,AngularJS对DOM操作进行了彻底的封装,因此,对于业务代码来讲,根本不需要再去关心原始的DOM操作,例如设置CSS样式、注册事件监听器等。这种设计还带来了另外一个好处,那就是让单元测试和集成测试成为可能。大家都知道,一般来说,想对前端的JavaScript代码进行完善的单元测试是非常困难的,这里面最关键的一个问题就是,很多代码里面会涉及DOM 操作,因此很多代码脱离浏览器环境是无法运行的,更不用说进行单元测试了!而AngularJS就很好地解决了这一问题。类似这种理念性的变革,在AngularJS中比比皆是。AngularJS 并没有发明这些概念,只是把现有的概念应用到了前端框架中。
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring框架提供了构建Web应用程序的全功能MVC模块。使用Spring可插入的MVC架构,可以选择是使用内置的Spring Web框架还是Struts这样的Web框架。通过策略接口,Spring框架是高度可配置的,而且包含多种视图技术,例如JavaServer Pages(JSP)技术、Velocity、Tiles、iText和POI。Spring MVC框架并不知道使用的视图,所以不会强迫您只使用JSP技术。Spring MVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。
ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。作为一个整体开发解决方案,ThinkPHP能够解决应用开发中的大多数需要,因为其自身包含了底层架构、兼容处理、基类库、数据库访问层、模板引擎、缓存机制、插件机制、角色认证、表单处理等常用的组件,并且对于跨版本、跨平台和跨数据库移植都比较方便。并且每个组件都是精心设计和完善的,应用开发过程仅仅需要关注业务逻辑。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。ThinkPHP借鉴国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,采用单一入口模式等,融合了Struts的Action思想和JSP的TagLib(标签库)、RoR的ORM映射和ActiveRecord模式,封装了CURD和一些常用操作,在项目配置、类库导入、模版引擎、查询语言、自动验证、视图模型、项目编译、缓存机制、SEO支持、分布式数据库、多数据库连接和切换、认证机制和扩展性方面均有独特的表现。
参考文献