社会化标签在北京市精品课程集成平台视频中心中的应用*
2009-06-02竺小双周恕义
竺小双 周恕义
【摘要】社会化标签是新一代互联网模式Web 2.0的核心应用之一,它体现了分众分类的思想,具有开放性、共享性、社会性等特点。论文将社会化标签引入到北京市精品课程集成平台中,使平台能够为用户提供个性化知识推荐服务,从而提高平台的个性化、实用性和共享性。
【关键词】社会化标签;个性化推荐;精品课程;Struts;DAO
【中图分类号】G40-057 【文献标识码】A 【论文编号】1009—8097(2009)12—0064—04
引言
社会化标签(Social Tags)是伴随Web2.0产生的新概念,是自由标签(Free Tags)的进一步延伸,体现分众分类的思想[1]。标签最初是用来组织和管理在线信息,主要功能是内容分类。典型的自由标签用例是Gmail,在Gmail邮箱中用户可以为每封邮件添加多个标签,而检索时可以按照其中任何一个或几个标签进行查找,这就使得检索信息的方式更为丰富、快速而结果更为准确。最早的社会性标签系统是美味书签(del.icio.us)。del.icio.us是一个书签管理网站,用户不仅可以把自己喜欢的网页链接加入个人收藏夹中,并用标签标注这些网址,进行分类管理,而且可以搜索系统中被标注为同一标签的所有网址,共享其他用户的收藏夹资源。
标签体现了用户从自己的角度概括网络资源内容的着重点或者兴趣点,往往能够较真实地反映大众的观感。因此,本文将社会化标签引入到北京市精品课程集成平台的视频中心模块。北京市精品课程集成平台是北京市教委科研项目,平台以北京市精品课程资源建设为中心,采用现代信息技术、网络技术,集成北京市各高校的精品课程资源,建设适应对精品课程进行存储、检索、监管、服务运行需求的支撑环境和共享服务平台,从而实现对课程内容的快速访问和共享。在视频中心模块,用户可以使用标签对授课录像进行标注,不仅方便用户自身的个人知识管理,而且,使数量庞大的授课录像资源得到更好、灵活的分类,方便其他用户查找资源。另外,系统可以根据标签找到每个用户学习的关注点或者兴趣点,为用户提供个性化知识推荐服务。
一 社会化标签介绍
1 社会化标签的含义及特点
社会化标签是一种灵活、开放的分类方式,用户可以根据自己的需要自由选择标签对资源进行标注,每个标签相当于用户对资源的一个分类,资源根据不同的标签被组织到不同的分类之下;相同的标签还能够聚合不同用户相同分类下的资源。标签是可共享的,每个用户的标签列表可以被其他用户查看,其他用户也可以选择使用相同的标签。社会化标签不同于一般目录结构的分类方法,它不考虑层次关系给目标进行分类,各个标签之间是一种平行的关系。因此,社会化标签具有以下特点:多样性、动态性、开放性、共享性、社会性、平行性[2]。
广义的说,凡是让用户选择某种对象并自由加注标签、且能够对同一标签的事物进行汇总关联的系统都是社会性标签系统[1]。社会性标签系统具有两个明显的特征:一是在对资源添加标签的过程中,用户不需要遵循任何事先制定的分类法或者词表;二是每个用户的活动空间不是孤立、封闭的,而是开放、共享的。因此,用户对资源添加标签不再仅仅是个人行为,而成为一种基于共享的协作。比如,多个用户对相同或类似的资源进行标注,进而涌现出一些被多数用户共同使用的“热门”标签——它们反映的是用户对同一个或同类型事物所达成的共识。
2 社会化标签的应用
从2003年开始,支持并使用社会化标签的网站越来越多,比如最早的书签管理网站(del.icio.us)、图片管理和共享平台(www.flickr.com),到电子商务网站,比如国外的亚马逊、国内的淘宝等。而且应用领域也在逐渐扩大,从最开始的网页收藏到图片收藏,逐渐扩大到网站、地点、音乐、视频、图书、到其他Web2.0应用,如博客,RSS订阅等,再到学术论文、愿望与目标。
北京市精品课程集成平台视频中心模块把平台所有精品课程的授课录像集中起来,方便用户查找、观看学习。系统为每个用户提供个人收藏夹功能,用户可以收藏关注的视频,同时系统会提示用户添加标签,方便用户通过标签管理个人知识,也为授课录像提供了更加灵活的分类。在用户添加标签时,可以查看、使用其他用户的标签,实现标签共享。
二 平台中的个性化推荐技术
北京市精品课程集成平台视频中心采用电子商务系统的设计思想,以授课录像为服务内容和服务基础,为用户提供视频收藏、社会化标签标注功能,系统根据用户的收藏信息和汇总的标签信息,挖掘用户的学习兴趣和关注点,通过不同的个性化推荐算法,帮助用户在众多的授课录像中找到所需要的视频资源,从而实现个性化知识推送。平台引入个性化推荐技术,提升了用户的应用体验和平台资源的共享性,使得平台更加个性化、实用化。视频中心的个性化推荐技术有以下两种:
1 基于用户收藏的推荐
(1)结合资源类别推荐
结合资源类别的推荐是通过用户收藏的资源类别的信息去查找该类资源中收藏人数最多的资源列表。推荐的依据为用户收藏资源表示对该资源比较关注,那么同类别的其他资源也可能是用户所关注的,另一方面借助其他用户对该类别资源的行为对该类资源进行筛选,从而得到推荐结果。
该算法的优点是不需要复杂的计算,比较容易实现。缺点是将推荐范围局限在该资源的类别中,不利于为用户发现新颖的资源。
(2)结合其他用户的收藏推荐
结合其他用户收藏的推荐是利用用户收藏之间的相似性,推荐的依据为用户收藏资源表示比较关注该资源,那么收藏了同样资源的用户,他们的关注点有一定的相似性,利用这种相似性找到其他收藏该资源的用户的最热门收藏,从而得到推荐结果。
算法过程为当用户选定并收藏某个资源后,在所有用户收藏记录中找到也收藏了该资源的用户,然后将这些用户的收藏汇总后找到被收藏数量最多的资源推荐给用户。
该算法的优点是实现简单,跟第一个算法相比推荐范围进行了扩展,不再局限于原资源的类别中。
2 基于标签的简单推荐
该推荐算法需要建立用户兴趣模型。结合北京市精品课程集成平台的实际应用,本文定义用户兴趣模型为一个(r,c,t)三元组,其中,r表示资源,即授课录像,c表示资源类别,即授课录像所属课程的二级学科分类,t表示用户对资源r标注的标签。
基于标签的简单推荐主要利用分众分类中用户和社会化标签,资源和社会化标签之间的关联来挖掘用户的关注点并进行推荐。推荐的依据为用户收藏资源并对其标注标签,一方面表示了用户对该资源比较关注,另一方面通过社会化标签表示了用户的具体兴趣点所在,那么根据分众分类的信息可以对用户的兴趣进行建模,进一步了解用户的兴趣,在用户兴趣模型的基础上借助分众分类中其他用户的社会化标签得到推荐结果。
该算法过程为当用户选定并收藏某个资源,给予该资源某个社会化标签,据此建立用户兴趣模型,根据社会化标签及所属兴趣类别,找到该类别下也拥有此标签的资源推荐给用户;如果找不到上述条件的资源,则结合算法2.1,将该类别下收藏最多的资源推荐给用户。
该算法的优点是用户建模比较简单,缺点是将推荐范围局限在了该标签的类别中,有一定的局限性。
三 视频中心的设计与实现
1 视频中心功能设计与实现
(1)视频收藏
用户可以对感兴趣的视频收藏,方便以后查找、观看。收藏时系统提示用户添加标签,用户可以查看、使用其他用户的标签,如图1所示,用户可以对同一个授课录像添加多个标签。
图1 添加标签
(2)分类浏览
显示所有用户标签,点击标签显示所有使用该标签标注的授课录像列表。
(3)视频搜索
平台提供按照课程名称、学校名称、课程负责人、主讲人、学科分类搜索授课录像。
(4)热门收藏
显示被用户收藏次数最多的授课录像,默认显示10条。
(5)我的收藏
显示用户的标签列表及被每个标签标注的授课录像列表。用户可以删除不需要的收藏。我的收藏页面如图2所示。
(6)个性化推荐
平台结合实现算法2.1和2.2,产生15个推荐结果给用户。个性化推荐页面如图3所示。
图2 我的收藏
图3 个性化推荐
2 关键技术
(1)Struts框架
平台是基于Struts框架开发的,Struts是基于MVC设计模式的架构[3],它把整个应用系统的输入、处理、输出分开,分别对应:模型(Model)、视图(View)和控制器(Controller)。
图4显示了基于Struts的北京市精品课程集成平台系统结构,其中,模型是由实现业务逻辑的JavaBean组成,控制器由ActionServlet来实现,视图是由一组JSP文件和Struts标签库构成。
图4 基于Struts的北京市精品课程集成平台系统结构
基于Struts框架开发的好处在于通过分离数据及其表示、分离控制逻辑和表现界面,提高平台中各模块之间的松散性,降低模块间的耦合度,增加代码的可重用性和可维护性。
(2)DAO设计模式
DAO模式是标准J2EE设计模式之一,它将底层数据访问操作和上层的业务逻辑分开,从而可以使用这个模式构建功能强大的数据库访问层。基本的DAO中包含了为每个数据源提供创建、读取、更新、删除(CRUD)操作的DAO类,而具体的DAO类包含访问特定数据源的数据逻辑。DAO中各类的关系如图5所示。BusinessObject(业务对象)代表数据客户端,正是该对象需要访问数据源以获取和存储数据。DataAccessObject(数据访问对象)是DAO模式的主要对象,也是该模式的核心部分,它封装和实现了对数据源的访问,并通过ValueObject(值对象)在BusinessObject和DataSource(数据源)之间传递数据[4]。
图5 DAO类结构图
在平台的实现中,模型层采用DAO模式来设计开发。以视频中心的按照主讲人搜索视频为例,SearchVideoAction是搜索视频业务处理,对应图5中的BusinessObject,Video是视频对象,对应图5中的ValueObject,VideoDao是视频对象的数据访问接口,VideoDaoImpl是视频对象的数据访问接口的实现,它封装和实现了对视频的数据库访问操作,对应图5中的DataAccessObject。SearchVideoAction通过接口VideoDao创建VideoDaoImpl对象,从而实现对视频数据源DataSource的搜索操作,搜索的结果通过Video对象返回给SearchVideoAction。
这样开发可以有效地分离客户程序和业务逻辑,客户程序仅通过业务代理接口即可访问数据库中的相关信息,增强了程序的可扩展性。当有新的需求时,编写新的接口程序即可。比如,当平台添加按照视频所属课程名搜索的功能时,只需要修改VideoDao和VideoDaoImpl即可,极大地方便了程序的修改。
四 结束语
社会化标签实现了分众分类的理念,它为电子商务、教育技术等很多领域提供了可靠的发展和应用环境,值得我们去理解、研究和运用。本文详细介绍了社会化标签在北京市精品课程集成平台视频中心的应用,并提出两种个性化推荐技术及其在平台中的实际运用,使系统具有一定的原创性、实用性和参考性。
————————
参考文献
[1] 张树人.从社会性软件、Web2.0到复杂适应信息系统研究[D].北京:中国人民大学信息学院,2006.
[2] 林森.基于Tag技术的知识个性化推荐及系统[D].武汉:华中科技大学,2006.
[3] 孙卫琴.精通Struts:基于MVC的Java Web设计与开发[M].北京:电子工业出版社,2004.
[4] 肖爱华,汪诗林.J2EE通用数据访问对象(DAO)模式设计与实现[J].计算机应用与软件,2005,22(9):136-138.