收修改稿日期:2010-02-08 [分类号]G353 1 引言 近几年,基于六度分隔理论(Six Degrees of Separation)[1]和150法则(Rule of 150)[2],以认识的朋友(一度关系人)为基础,在已有朋友的基础上扩展自己的关系网,从而得到强大而有效的SNS(Social Network Service)网站逐渐成为Web2.0中最受欢迎的应用之一,基于SNS的应用也遍布于互联网的各个角落[3]。 社会网络搜索是SNS网站的一个关键技术,目的是帮助用户通过在SNS网站中已构建的社会网络社区,找到想与之建立联系的朋友,使其成为自己的一度好友,然后再通过已经建立联系的一度好友,与其一度好友的朋友建立联系,从而建立用户自己的六度关系群。用户可以通过不定期地更新这种六度关系群进行初步的社会和商业的应用,该部分设计的好坏直接关系到SNS网站的质量和发展。基于上述背景,社会网络搜索技术成为了当今国内外研究的一个热点问题。本文通过分析和研究近几年来国内外的一些理论成果,总结出社会关系网络搜索机制的整体框架、每部分所采用的关键技术及发展方向。笔者着重介绍关键技术和思路,相关技术细节可参考相应的文献。 2 相关研究 社会网络搜索是一种以互联网上的海量信息为计算基础,基于传统搜索的信息挖掘技术,以人物为中心的信息聚合的垂直搜索,搜索的目的是将人和人之间的关系抽取出来,针对要查找的目标人物给出围绕该目标人物的丰富信息,包括人物简介、人物关系等内容,并可以根据指定关系查看详情。目前的SNS网站中都把社会关系搜索作为一项最重要的服务。已经发布的比较著名的社会网络搜索引擎主要包括雅虎人物搜索、微软人立方(EntityCube)、腾讯搜索华尔兹、Ucloo搜人、Spock等。图1是通过人立方搜索出来的“滕桂法”的社会网络关系和六度分隔效果图。社会网络搜索的具体流程如图2所示。
图1 人立方效果图 3 社会关系获取 社会关系获取是一种将人、团队、部门、企事业和社区等视为“本体”,从相关信息源中抽取各种本体,建立每个本体的信息剖面,通过分析每个本体的各种特征和属性,挖掘各个本体间的各种关系,包括二元关系、多元关系和传递关系,建立本体间的社会关系网络,该部分是整个社会网络关系搜索中的核心部分。关于社会关系的获取可以归纳为确定网络中的节点和边的问题,也就是社会网络中的实体和实体之间的相互关系。目前国内外对社会关系获取的方法主要分为手动获取社会关系和自动获取社会关系两大类。
图2 社会网络搜索流程图 3.1 手动获取社会关系 手动获取社会关系首先要求用户填写丰富的个人信息来描述自己的社会关系,用户之间可以通过有意的(好友关系)和无意的(用户间的对话)方式建立联系[4-6],最后用户通过静态搜索的方式找到好友。这类方法常见于现在的各类社交网站中,要求用户注册为本SNS网站的用户,然后要求用户从已经注册的会员中查找自己的朋友,向他发送邀请,朋友接受邀请,进而构建用户自己的好友关系表。该方法的优点是操作简便,信息准确率较高。缺点是用户有时不能完全找到他的好友,仅仅是因为他的朋友没有在这个网站中注册,或者是因为朋友太多而忘记了好友的名字,或者是因为他的朋友在这个网站中使用了其他名字而无法找到。另外,在这类网站中,有些人指定了众多好友,而有些人却指定了几个好友,造成了社会关系的不对称。可见,构建海量的用户群和如何让用户很容易准确地找到好友是这类方法成功的关键。 3.2 自动获取人际关系 自动获取人际关系主要采用互联网上的海量信息作为计算基础,基于传统搜索的信息挖掘技术,将人和人之间的关系抽取出来,建立实体间的社会关系网络。该类方法获取的信息量大、省时省力,正逐渐成为今后社会关系获取的主流技术。国内外对自动获取人际关系的研究也进行了多方面的探索。根据采用的信息源的不同,归纳起来主要有以下三个研究方向: (1)以Internet中的Web文档(Blog、Profile、News、Thesis等)为信息源构建社会关系网 基本思想是从Web中提取人名实体,通过共现的人名在Web中的热点程度排序等构建社会网络;该类方法也是诸如人立方、雅虎关系搜索等垂直搜索引擎中普遍采用的方法。目前代表性的抓捕程序主要有:文献[7]的Referral Web是第一个在Web上进行社会关系获取的程序。这个程序的基本思想是将两个联系人A和B在搜索引擎中定义为“A and B”进行搜索,其人物间的关系由人名在网页中的共现标识。缺点是未注重页面的重名现象。文献[8]的Flink抓捕系统主要是从各种语义网络中抓捕人际关系,该系统加入了重名分析,将一系列名字作为输入,然后用搜索引擎计算出潜在关联度。缺点是对在搜索问句中容易产生歧义。文献[9]的POLYPHONET定义了4种科研人员间的简单关系,基于人工标注的训练集得到分类器,根据任意两个人物相关网页的特征,对其进行分类。缺点是文中定义的关系只面向一个较小的领域,若扩展到一个大的领域,则不适用。文献[10]从中文Web中提取人名实体,设计了三种人物间关系定义,并以此为基础构建人物间的关系网络。这种人名实体是网页中出现的名人,判断名人之间是否存在关系的依据是判断两个人名是否存在于同一个网页、句子中或是否由连词连接;对于一些非名人,涉及他们的网页较少。微软人立方从Web网页中自动抽取出人名、地名、机构名以及中文短语,并且通过StatSnowball[11]模型自动计算出它们之间存在关系的可能性,但是,这种简单通过人名、地名挖掘人与人之间关系的方法存在局限性和非真实性,而且这些人名都是一些名人,由于普通人的网页较少,因此无法挖掘他们的社会关系,对于重名现象也无法得到很好的解决。文献[12]和[13]主要以论文作者为实体,作者之间的共同作者或作者之间的引用关系为关系构建网络,难点是对文献数据库的获取和重名现象的解决。