基于标签与协同过滤算法的学术资源推荐系统的构建

2014-01-13 08:01钟克吟肇庆学院图书馆广东肇庆526061
图书馆理论与实践 2014年9期
关键词:标签协同图书馆

●钟克吟(肇庆学院图书馆,广东肇庆526061)

基于标签与协同过滤算法的学术资源推荐系统的构建

●钟克吟(肇庆学院图书馆,广东肇庆526061)

标签;协同过滤;关联资源;资源推荐

将标签引入高校学术资源推荐系统,利用标签数据,采取基于用户的协同过滤算法和基于关联资源的协同过滤算法相结合的方式实现资源推荐,既能体现用户的兴趣点和关注点,也能兼顾资源之间的关联性,使推荐的资源更具个性化和全面性,而且在系统中增加了为用户提供推荐标签词表的功能,提高了用户使用标签的积极性与使用标签的准确率。

1 引言

随着数字图书馆的迅猛发展,信息资源呈爆炸式增长。因此,一些能有效为用户解决信息过载和信息迷航等问题的信息过滤机制也应运而生。基于标签的高校学术资源推荐系统,可以实现一种利用标签来挖掘读者的兴趣以及资源之间的语义关联,并向读者推荐学术资源的知识服务模式,它能有效为用户解决信息过载和信息迷航等问题,能够引导读者更高效地利用图书馆资源。同时,Web2.0的发展及其以用户为中心的服务原则,强调服务时空的个性化、服务方式的个性化和服务内容的个性化,必然会促使用户广泛参与学术资源的组织和描述活动,用户不仅是资源的创建者和使用者,更是新一代的资源描述者和组织者。基于标签的高校学术资源推荐系统更好地体现了以用户为中心的理念,是数字图书馆门户的发展趋势。

推荐系统的功能根据用户的偏好,智能地从海量信息资源中筛选出少量体现用户偏好的资源推荐给用户。标签(Tag)是一种无层次化结构的、用来描述信息的关键词,对资源对象加标签是一种用户标注行为,标签是用户为资源赋予的一种元数据,它帮助用户轻松地描述和分类内容,以便于检索和分享,其作用等同于传统资源描述方法中的类名或关键词等元数据。标签将数字资源的组织权利从网站管理者下放到用户手中,充分体现了Web2.0自下而上,以用户为中心的特点,在信息检索等领域中起着重要作用。[1]将标签应用于资源的推荐,一方面是让作者或专家给资源打标签,并向用户推荐相关标签,或者通过用户自己对资源打标签,挖掘用户的潜在兴趣,建立用户偏好模型;另一方面标签将资源分类聚类,在不同学科类别下为用户生成有针对性的资源推荐,它可以避免传统协同过滤方法的兴趣模型单一的问题,能够及时、准确地为用户推荐能体现用户偏好的资源。

协同过滤是在信息过滤和信息系统中应用较广的技术,它认为兴趣偏好相近的用户对同一资源或相近资源具有相似的兴趣偏好,通过分析用户兴趣,在用户群中找到指定用户的相似(兴趣)用户,综合这些相似用户对某一信息的评价或标注,形成系统对该指定用户对此信息的喜好程度预测,达到用群体去预测个体,充分挖掘群体的智慧而为个体服务的效果。[2]

标签标注让用户共同参与资源的描述,相当于无成本地增加了资源的描述者。同时,用户对资源的标注又体现了用户对资源的兴趣,也有利于系统从用户的角度获取资源的语义。基于标签和协同过滤算法的推荐充分考虑到标签和用户之间、用户和用户之间、用户和资源之间的关系,用户的潜在兴趣被挖掘出来,使推荐的资源范围更广、更丰富。

2 系统的设计

2.1 实现系统的工具与数据库建立

系统运行于Windows 2003 Server操作系统,采用B/S结构,编程语言采用ASP.NET,在SQL Server2000数据库管理平台上建立数据库,建立用户信息表、标签表、标签分类表、标签与资源关系表等。

2.2 数据库接口配置

本系统以高校数字图书馆的门户网站为入口,将用户标签添加到传统类型OPAC系统等提供的检索接口的选项中,将其与外部系统之间的接口通过properties配置文件实现,命名为DBConfig.properties文件,该文件的信息以键值对的形式保存,其包含的部分键见表。

表 DBConfig.properties文件包含的键说明

2.3 系统模块

本着高内聚、低耦合的设计理念,从数据与业务逻辑的独立性考虑,系统模块的划分如图。

图 系统模块划分

3 系统关键技术与算法实现

(1)系统的设计思想是将用户标签添加到传统类型OPAC系统等提供的检索接口的选项中,使用户标签与资源标题、主题词等检索选项集成在一起。在资源检索页面,用户通过点击链接就能进行资源标注,系统将用户标注的标签信息存入数据库。而在资源推荐页面,系统则利用用户标注的标签以及标签标注的历史数据,采用协同过滤算法推荐资源。协同过滤的算法分为两大类:一类是基于用户的协同过滤算法,另一类是基于物品的协同过滤算法。[3]本系统综合以上算法,将标签这一非常特殊的元数据应用于协同过滤方法。因而,系统的实现涉及以下几个关键技术与算法。

3.1 利用标签数据实现基于用户的协同过滤算法

(1)基于用户-标签相关性矩阵挖掘用户的兴趣,采用最近邻居的方法,找到和目标用户兴趣相似的用户集合。

第一步,计算两个用户的兴趣相关度。这里利用用户对资源标注的标签计算用户兴趣相关度。以用户U和用户Ⅴ为例,N(u)和N(v)分别表示用户U和用户Ⅴ曾经做过标注的标签集合,通过余弦相似度可以计算用户U和用户Ⅴ的兴趣相似度:

第二步,重复选择另一个用户和用户U标签相关性向量,直到获得用户U与所有用户的相似度集合WN。

以上步骤可用如下代码实现:

(2)采用Top-N方法,从集合WN中选取前K个相似度高的作为最近邻居,得到和用户U兴趣最接近的邻居集合S(U,K),使用相似用户Ⅴ预测目标用户未使用的标签,选取相关性居前的标签标注的资源推荐给目标用户,如下公式计算了用户U对标签i的感兴趣程度:

其中N(i)是对标签i有过标注行为的用户集合,wuv是用户U和用户Ⅴ的兴趣相似度,rvi代表用户Ⅴ对物品i的兴趣,因为使用的是单一行为的隐反馈数据,所以rvi=1。

3.2 利用标签关联度实现基于资源的协同过滤算法

在资源推荐系统中,标签是对资源的描述与分类,多数用户对多个相同标签的关注从一定程度上反映了标签的关联性,即资源的关联性。关注资源A的用户大多也会关注资源B,反映了资源A与资源B的关联性。[3]例如,关注“知识发现”的用户,多数也会关注“关联数据”,而这两个标签所描述的资源就正好存在关联性。基于资源的协同过滤算法,正是利用标签关联度来推断资源之间的关联性,从而推荐关联度较高的资源给用户。

该算法通过如下两个步骤实现。

(1)计算标签之间的关联度。在协同过滤中两个标签产生关联是因为它们共同被很多用户喜欢并加以标注,所以关联度的计算可以参考计算用户兴趣度的公式。(2)根据标签的关联度和用户的标注行为生成推荐列表,选取目标用户未使用的标签且相关性居前的标签标注的资源推荐给目标用户。

3.3 给用户推荐标签,提高标签准确度

给用户推荐标签具有两方面的意义:第一,让用户从键盘输入标签会增加用户打标签的难度,有些用户会不愿意打标签,给用户推荐标签可以减小用户打标签的难度,提高用户打标签的积极性和参与度。第二,同一个语义不同的用户可能用不同的词语来表示,多个同义词会使词表增大,而且也使计算相似度准确度降低,通过推荐标签对词表进行选择,可剔除较多的同义词,并能够保证出现的词都是比较热门且具有代表性的词。

标签推荐算法的实现可以考虑两种方法:第一种方法是给用户U推荐资源i中最热门的标签;第二种方法是给用户U推荐他自己经常使用的标签。[4]为了提高算法的全面性,可以将这两种方法融合起来,通过一个系数将前面两种方法推荐结果线性加权,生成最终的推荐结果。如下代码可实现这两种方法的融合。

return sorted(ret[user].items(),key=itemgetter(1),reverse=True)[0:N]

4 结语

学术资源推荐系统引入标签,并将标签应用于协同过滤方法中,采用基于用户的协同过滤算法和基于关联资源的协同过滤算法相互结合的方式,既体现了用户的兴趣点和关注点,也考虑到资源之间的关联性,使推荐的资源更具个性化和全面性。

基于标签的学术资源推荐系统是一种新的信息资源组织模式,它体现了高校图书馆以用户为中心的服务模式,强调用户体验的个性化与多样化,可以更好地为高校师生提供个性化的信息服务。

[1]百度百科.http://baike.baidu.com/link?url=7ShWixsCp OhGNlrdQb1K80wtGjJukhCyDuFCG0u7d1cWY6hⅤ18 XoGmYfG7z3mA92.

[2]张新猛,蒋盛益.基于协同过滤的网络论坛个性化推荐算法[J].计算机工程,2012(5):67-69.

[3]常唯.标签在数字学术资源内容揭示中的作用研究[J].图书馆杂志,2007(1):46-52.

[4]Breese J,Heckerman D.Empirical analysis of predictive algorithms for collaborative filtering[C]//Proceedingsof the14th conferenceonuncertainly inartificial intelligence.Madison,Wisconsin,1998:43-52.

G250.76;G252.8

A

1005-8214(2014)09-0080-03

钟克吟(1980—),女,广东肇庆学院图书馆馆员、高级程序员,研究方向:图书馆网站信息资源建设、数据库建设等。

2013-09-25[责任编辑]王钧梅

本文系2011年广东肇庆学院教学研究项目“以用户为中心的高校图书馆门户网站构建研究”(项目编号:jy201131)研究成果之一。

猜你喜欢
标签协同图书馆
家校社协同育人 共赢美好未来
蜀道难:车与路的协同进化
“四化”协同才有出路
无惧标签 Alfa Romeo Giulia 200HP
图书馆
不害怕撕掉标签的人,都活出了真正的漂亮
三医联动 协同创新
让衣柜摆脱“杂乱无章”的标签
科学家的标签
去图书馆