利用同义词环改进基于folksonomy的用户分类,本文主要内容关键词为:同义词论文,用户论文,folksonomy论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
1 引言
当今互联网是一个注重互动的网络社区,用户角色由从前的被动转为主动,集信息发布者和接受者为一体[1]。利用标签共享技术实现网络信息资源组织检索的folksonomy数字资源系统应运而生,其中del.icio.us、Flickr比较具有代表性,都是通过用户标签对用户偏好进行研究分类和兴趣推送,能够为用户提供多渠道、全方位的信息。
目前国内外在folksonomy中对用户偏好研究及兴趣推送方面主要针对的是用户个性,基于标签对用户进行分类方面的定量研究比较少[2-12]。本次研究的前期工作从定量角度研究如何利用folksonomy标签对兴趣相似用户进行分类,提出通过定量分析标签来研究用户共性的思想,给出基于标签进行用户分类的具体方法和操作流程,最后以Flickr为例对用户分类方法进行了实证研究[13]。本文将关注重点放在研究用户的共性,即通过标签建立同义词环,提出通过标签及其建立的同义词环对用户进行分类的方法,使得同一类中的用户在兴趣上具有较大的相似性,这样当同类中有用户更新资源时,可以向其类中的其他用户进行推送,以帮助扩大用户、获取更多有用信息。
2 改进基于folksonomy的用户分类思想
2.1 基于标签及同义词环用户分类方法的提出
一般说来,folksonomy是用户为了信息组织的方便对自己或者他人创建的资源用标签自由标注,并将资源和标签共享以供自己或者他人检索的过程或结果。它是一种以标签为目的的“自下而上的社会化分类”信息组织方法[14]。标签是folksonomy最核心的内容,是一种描述性的非结构化元数据,由用户根据自己的理解和喜好自由添加,不受任何词表的约束,标签从某些方面代表了用户的兴趣所在,所以依据标签对用户进行分类,然后对用户进行兴趣推荐是十分可行的。根据标签进行用户分类的基本思路:先确定不同用户之间是否有重复的标签,确定有多少个重复标签,再确定重复标签被使用的次数,次数越多,重复标签的个数越多的,就说明这两个用户兴趣越相似[13]。
但是不得不考虑标签同义现象,同义词受很多因素的影响,如地区、生活环境、用语习惯等。不同用户使用不相同的标签,也有可能这些标签是同义词,因此他们也是兴趣相似用户。如果仅看标签是否完全相同就对用户进行分类,必然会漏掉很多兴趣相似的用户,使分类结果的粒度过细,将兴趣原本相同的用户分到了若干组,系统便不能很好地帮助用户推荐,使得用户不能通过和自己兴趣相似的人发现更多有用的资源,影响了兴趣推送的质量。所以,要想将用户更好地进行分类,需要先对标签进行分析,建立同义词环,用标签本身和其同义词去进行比对,减小这种偏差,尽量使兴趣接近的用户分在同一类中。
2.2 同义词环和标签聚类
同义词环类似于传统分类法中的同义词表,但是这里的同义词,是指同时出现频率很高的标签。研究发现:如果两个标签经常一起出现,之间必定存在某种关联,可将其聚成同一类词。所以基于folksonomy数字资源的相关词在同义词表中可能根本不存在,或者根本不属于严格的同义词,这是因为标签空间是一个平面空间,标签之间的关系都是直线关系,不像传统词表中有上位词、下位词等,有可能某两个相关词之间具有某种包含关系。所以在这里不能直接使用同义词表。
构建同义词环也就是将标签进行聚类,如同现实生活中的人不是孤立存在一样,标签空间中的标签也不是孤立存在的。它们之间或多或少地有着千丝万缕的联系。按照这种关联可以形成一个标签平面空间,将标签抽象成点,点与点之间的无向边表示这两个标签之间有某种联系,标签平面空间形成的即是一个无向图。如图1所示。
图1 标签的无向加权(相对共现率)
图1中A、B、C、D、E是五个标签,它们之间有一条线相连,表明这些标签之间存有联系,而标签之间的强弱关联是不一样的,于是有些学者提出了一些相对共现的权重计算方法。Cattuto、Loreto和Pietronero表示,标签之间共现关系的非平凡性可以描述成语义学,标签的相似性被认为是标签之间的一种语义关系,可通过标签之间的相对共现进行评价,即众所周知的Jaccard系数。设A和B是两个标签描述的资源集,相对共现的定义为:RC(A,B)=|A∩B|/|A∪B|,即相对共现等于标签共现的资源数除以任一标签出现的资源数。标签之间的共现分析可以揭示协同标记中的语义关系,如标签之间的同形异义字、同义字和等级关系等[15]。
3 基于folksonomy的Flickr用户分类改进过程
实证研究对象选取目前流行的folksonomy数字资源系统Flickr[16]群组抽取是从搜索结果中随机抽取10个群组,按0到9编号。对用户的抽取采用重要性加随机抽取。抽取5个贡献最大的用户以及按照显示顺序随机抽取5个。用户标签的抽取选择使用次数最多的10个标签。如图2所示。
图2 用户标签
3.1 基于原始标签的用户分类
根据收集到的100个用户和排名最靠前的1 000个标签将用户进行大致的分类。具体实现:确定任意两个用户之间相似度,把从1一直到最高相似度都统计出来。最后将两个有相关性的用户联系起来的标签,以及其他与该标签相同的用户加入到该类中[13]。分类结果如图3所示(限于篇幅,聚合度为1用户只列出一部分)。
图3 原始标签分类结果
3.2 基于标签和同义词环的用户分类
标签之间共现关系的非平凡性可以描述成语义学,标签的相似性被认为是标签之间的一种语义关系,可通过标签之间的相对共现进行评价,即Jaccard系数。利用这个标签的相对共现,Jaccard系数——RC(A,B)=|A∩B|/|A∪B|,来对标签进行聚类,以构造同义词环。由于对任意两个标签Jaccard系数的收集,其数据量非常大,这里只模拟一个过程,表明可以依据系统本身的标签来直接构建同义词环以帮助将用户更好地分类,所以采取的是象征性同义词环构造法,即从这100个不同用户中抽取排名最靠前的一个标签,收集其Jaccard系数,按照该系数从高到低排序,这里选取Jaccard系数大于0.02的标签对,总共25对标签,即最容易同时出现的25对标签。部分标签组的Jaccard系数如下:
在同义词环的建立中,发现同义词环中的“同义词”除了可能存在很多传统同义词表中不存在的词及同义关系外,最大的区别是同义词环中的“同义词”是不具有传递性的,即A是B的相关词,B是C的相关词,但A可能并不是C的相关词。如上面以0.02作为分界线(graffiti,painting)、(painting,drawing)都可当作同义词,而(graffiti,drawing)的Jaccard系数0.005 723,低了一个数量级,不当作同义词。生成的同义词环如图4所示。
图4 同义词环
可以看到,同义词对都是两两重复出现的,后面的标签对存放形式都如此,这是为了更加方便处理基于同义词环对用户进行分类,比对时只用查找第一列。
根据标签的相对共现率建立小型同义词环,对100个用户进行分类。参照同义词环分类的思想是,每从userandtag表中读取一个标签,就在同义词环中查找,如果在同义词环中存在,则返回其同义词词组(每个标签可能有多个同义词),再用该同义词组一起去遍历另外的用户标签,只要和这个词的本身或其同义词相同,聚合度加1。这里需要注意的是任两个标签之间的聚合度只能是<=1,不能因为同义词的原因造成两个标签的聚合度累加多次。分类结果如图5(限于篇幅,聚合度1,2用户只列出一部分)。
图5 同义词环、分类结果
从上面这个分类结果对比基于原始标签的分类来看,可以发现:①整体上聚合的强度增大,如现聚合度最大为9,而基于原始词表的聚合度最大为5;②可以加强具有同义词的用户关系,如原来(8,14,17,19)四个用户因为标签nikon,相关度为1,而现在由于(nikon,nikond700)、(nikon,d700)两组同义词的存在,这四个用户的相关度增强为3,表示他们都对该数码产品的某方面感兴趣;③某一类的用户数增多,有些原来没被划到该类的用户被划到了一起,如基于原始词表分类中的一组(4,43,74,76),这四个用户因为california这一相同的标签被聚在一起,现参照同义词环后变成(4,43,74,92,76)五个用户一组,新增加了用户92,这是由于92号用户有一个标签为sanfrancisco,而california和sanfrancisco在同义词环中是一组同义词。
通过实验,可见在用户分类中利用同义词环,进一步提高了用户的聚合强度和兴趣相似用户的识别。
4 结语
通过同义词环改进原始标签用户分类,可以从两个方面更好地聚合用户,一是增强用户之间的关系强度,二是把兴趣相似但可能用语习惯不一样的用户聚集在一起。总的说来,对比建立并参照同义词环和直接基于原始用户标签两种对用户进行分类的方法,可以发现后者将兴趣相似的用户更好地聚集在一起,但要注意的是前者在分类结果上虽然不如后者好,但它更容易发现具有相同语言习惯且兴趣相似的用户。因为相同的语言习惯也可以说成是一种用户的“兴趣”,依照标签和同义词环对用户分类的方法能将用户按照兴趣进行较好的分类,使同一类中的用户具有较多的相似性,方便根据用户群组进行兴趣推送,为用户提供更个性的服务,具有较好的可行性和实用性。
收稿日期:2010-10-29 修回日期:2010-12-13 本文起止页码:58-61