具体实施方式
本发明实施例提出的自动推荐系统包括:客户端、采集服务器、分析服务器、推荐服务器、群组生成服务器。
客户端安装于用户终端:为了给用户推荐合理的、有趣的信息,首先需要收集用户行为信息即可以说明用户行为的信息。收集用户行为信息的一个主要方式就是当用户有当前网站的浏览、下载或购买行为时,记录因浏览、下载或购买所产生的链接信息、关键字信息等。而收集用户行为信息的另外一个方式就是建立一个客户端采集信息平台。
用于信息采集的客户端首先需要具有以下属性:1、拥有广大的用户群体,2、用户开机后,客户端长期存在,3、能够记录用户的行为。
满足以上条件的客户端就能够在互联网上收集用户行为信息。
采集服务器:采集服务器用于汇总客户端记录的用户行为信息,采集服务器需要具有以下属性:1、能够记录海量用户信息;2、数据量大时,能够支持分布式数据处理;3、能够过滤噪声信息。
下面对客户端与采集服务器的功能及交互进行介绍。客户端在记录用户行为信息的同时,一个很重要的功能就是它能够区分用户。通常标识用户的方式主要有:用户的客户端注册号码,如聊天工具的帐号;机器ip地址或mac地址等。其中聊天工具的帐号能够唯一标示一个用户;而ip地址、mac地址也能唯一标示用户。
当用户通过帐号登陆时,则主要采用帐号关联收集的用户行为信息,当用户没有用帐号登陆时,则默认采用ip地址或mac地址关联收集的用户行为信息。当然,其他的标识也可以用做于用户的标识。比如,用户电脑的硬盘序列号等。
客户端用于记录用户行为信息,如记录浏览、下载、购买、点击、评论、网站切换等的链接,作为可以说明用户浏览、下载、购买、点击、评论、网站切换等行为的信息。由于一个用户可能会长期停留在互联网上,因此客户端首先要对用户的有效行为信息进行选择提取,并初步过滤掉一些无用的用户行为信息。例如,用户A浏览了一篇新闻,那么该新闻的链接、标题、新闻分类等将作为主要用户行为信息传送到采集服务器,而像新闻内容等信息较大的则不能直接发送给采集服务器,以免给采集服务器造成较大压力;采集服务器可以根据新闻链接在后台通过spider另外抓取新闻内容。如用户下载了某一部影片,则可以将该影片的标题及下载链接作为用户行为信息上报给采集服务器,而影片的其他内容,如网站对影片的介绍等则可以另外抓取。
客户端应该具有简单的信息分析功能,如判断用户是在浏览新闻还是在下载资源或是在购物网站上交易。当客户端对用户行为信息进行简单的分析后,就要将用户行为信息上报采集服务器。例如,用户正在浏览某个网站A,用户的行为只是点击,在站内不断切换,此时可以初步判断用户行为为浏览,此时可将用户浏览的链接、主题等作为用户行为信息上报采集服务器;当用户点击了某条链接,而这时,用户电脑上启动了下载程序,此时可以判断用户行为为下载,同时可以将下载资源的周边信息,如标题、大小、下载链接等作为户行为信息上报采集服务器。
采集服务器用于接收客户端发送来的用户行为信息:用户id,用户的浏览、下载以及购买等用户行为信息,同时根据用户行为提取该行为id。
采集服务器用于汇总记录用户在互联网上的用户行为信息,由于不同的用户可能具有相同的下载或浏览或购买行为,由此有必要对此进行数据压缩,即将这些相同的用户行为信息用一个行为id表示,例如,用户A和用户B均浏览了网页http://news.sohu.com/xxxx.html,则可以将此行为的id定为http://news.sohu.com/xxxx.html,其余的信息如标题,正文内容均可以作为此id的属性。用户行为信息的存储将采用<用户信息,用户id>,<用户id,行为id>,<行为id,行为属性>的方式做关联存储。
当某个用户多次具有某行为id时,则其行为次数需要记入<用户id,行为id>关联的表中。
当出现噪声信息时,需要过滤该用户行为信息,如用户下载了一个rm格式的文件,文件名为123.rm,这种用户行为信息对采集服务器分析用户的偏好行为是没有意义的,需要进行过滤。具体过滤原则为将具有实际意义的信息保留,无意义的信息过滤掉。这里无意义的信息通常指那些新闻标题或下载资源标题为数字或无规律字母等无实际意义的信息。
由客户端上报用户行为信息通常能够简单判断用户的行为模式,此时分析服务器可以进一步的将用户行为信息进行归类。
当采集服务器收集到用户行为信息后,就需要对用户行为信息进行预处理归类。
通常,采集服务器为了更加准确的分析用户行为信息,首先需要预先收集整理一些主流网站的类型。如新闻网站、影视网站、社交网站、购物网站有哪些等。当用户行为信息经由采集服务器送达分析服务器后,分析服务器首先根据用户行为信息的类型,如浏览、下载、视听等类型初步归类为浏览类用户行为信息、下载类用户行为信息和视听类用户行为信息等。浏览类用户行为信息、下载类用户行为信息和视听类用户行为信息按不同的类型分开处理。
对浏览类用户行为信息,首先判断用户所浏览的网站类型,若分析服务器预先知道该网站类型,则可以按该类型将该行为归为:浏览—类型A,例如若浏览类型为新闻,则通过客户端上报的浏览类用户行为信息中的类型信息,判断用户是喜好娱乐还是经济,此时可以将浏览类用户行为信息进一步的归类。对于不能详细归类的,则做粗略归类即可。
对用户的下载类用户行为信息,由于下载的资源类型比较固定,主要是影视、音乐、书籍、文章等资料信息,因此下载类用户行为信息比较容易进行归类。资源一般均具有格式信息,根据资源格式,可以大致判断出所下载资源是影视还是音乐、书籍等信息。为了更好的分析下载类用户行为信息中的下载资源信息,通常可以建立下载资源的基础数据库。例如影视数据库,它记录了互联网上所有的电影、电视剧的标题、介绍等下载资源信息,这部分下载资源信息可以采用spider抓取。对音乐、书籍等,同样由于互联网上均具有整理好这些信息的网站,因此都可以通过spider收集,再由人工辅助校对。根据用户下载的资源信息对用户下载行为信息进行归类并记入数据库当中。
对用户的视听行为与下载行为类似,只是由下载文件变成了在线视听文件,分类方法类似,如可行的归类为:看电影—>喜剧片|听歌->流行歌曲等。当初步分析完用户行为信息后,就可以将用户行为信息按类别存储于数据库中。
推荐服务器用于根据客户端收集的用户行为信息,进行相关内容推荐,为用户推荐他可能喜欢的对象,如新闻、下载资源等。
推荐服务器根据分析服务器分析的结果进行分类处理。以群组推荐为例,推荐服务器可以同时具有推荐用户购物群组、推荐影片群组、推荐歌曲群组等功能。推荐服务器分别处理不同的用户行为信息。
根据用户在互联网上的不同行为,可以产生不同的推荐模式。如当用户只是打开了某群组型推荐网站而没有做任何操作时,此时可以根据记录的该用户的用户行为信息推荐他可能偏好的各种群组,特别是当用户首次登陆该网站时能够为其进行有效推荐。当用户正在浏览网页或下载资源时,可以根据其访问操作类型推荐与这些网页或资源相关的互联网资源。
根据用户的访问状态,可以产生不同的推荐状况。当用户第一次登陆某个网站时,如果该用户已经在互联网上有过长时间的浏览等行为,此时,推荐服务器通过分析该用户的用户行为信息类型根据用户行为信息类型,可以分别为其推荐其喜好的商品、喜欢听的音乐、喜欢看的电影、喜欢浏览的新闻、可能愿意加入的群组等。此时会提高相关推荐的准确度。当用户在该网站上有过多次行为后,息采集服务器将会获取到更多的用户行为信息,而在该网站上的行为将更有针对性,此时,推荐服务器可以增大用户在该网站的行为记录的权重,以此作为主要的推荐依据。
进行相关推荐的内容可以是各种群组,方便用户在初次或再次登陆网站时,能够顺利找到他想要的信息。如推荐对象可以是:网站群组、影片群组、用户群组、音乐群组、商品群组、系列影片、系列歌曲等不同级别的群组。进行相关推荐的对象还可以是相关资源信息,如商品、影视、音乐、书籍、文章等资料信息。这些对象可用于推广网站、推广各种商品、为影视网站带来潜在的流量等。
目前,在推荐系统领域的主流算法和系统有:协同过滤系统、关联规则系统、基于效用推荐的系统、基于若干推荐算法的混合推荐系统等。其中协同过滤系统和关联规则系统的关键点在于用户或项之间的相似性。下面对协同过滤系统和关联规则对用户进行推荐进行相关说明,当然并不限于这两种推荐算法。协同过滤基于这样的假设:为用户找到他真正感兴趣的内容的方法是,首先找他与他兴趣相似的用户,然后将这些用户感兴趣的内容推荐给此用户。建立一个协同过滤系统的主要步骤是:1、收集可以代表用户兴趣的信息,2、最近邻搜索,3、生成推荐结果。
关联规则描述了根据用户偏好A时,用户偏好B的可能性进行推荐的一种规则。它是基于用户统计行为挖掘可能的推荐对象的。
例如商品推荐的一个实例:
对商品序列I={I1,I2,..Im}是购买商品的集合,数据D是用户购买商品的行为T的集合,其中T是一个或几个商品的集合,而且T是I的子集。通过统计商品序列I在行为T中两两同时出现的频度support(A∪B),以及A的频度support(A)及B的频度support(B)就可以求出购买A,同时购买B的置信度
Confidence(A→B)=support(A U B)/support(A)
提升度
Lift(A,B)=Confidence(A→B)/support(B),
首先将商品序列中频度较小的项过滤掉,然后在生成的关联规则中过滤掉置信度和提升度均较小的关联项后,就可以得到商品Ik对应的关联对象如I1,I3,I6...,I10等,然后将这些关联对按提升度由大到小的顺序作为推荐结果推送给用户。这里In可以替换为具体的商品或影片等。
当然可以采用的推荐算法很多,并不限于以上几种方法。
在对用户进行相关推荐时,若进行群组推荐,则需预先建立可推荐的群组,下面对群组建立进行说明。
群组的建立主要采用根据大量用户行为信息自动生成和人工建立两种方式。由于人工建立方式比较简单,只需要按类别及资源热度进行简单归类,打标签,记录加入的用户等信息就可完成。
下面主要介绍自动建立群组的方法。群组的建立是基于用户行为统计的角度上的,其群组的内容主要为各种内容相近或相关的项目组成。例如网站群组,它可由多个热门网站组成。通过统计用户行为信息中用户浏览的网站链接,很容易提取出比较热门的网站,这样就可以由程序自动建立一个热门网站群组。同样,按网站内容划分,又可以建立影视类网站群组,音乐类网站群组。这些群组均可由程序分析用户行为信息得到。
以影片群组的建立为例:首先通过收集的用户行为信息统计用户经常下载或观看的影片,然后根据用户行为信息中的类型信息属性,将这些影片按类型进行自动归类,如影片的类型属性{动漫、喜剧、爱情、动作等},国别属性{中国,韩国、美国等}这样就可以按热度归类建出许多类别的影片群组。如{飞天红猪侠、风之谷、变形金刚、猫和老鼠}为动画片群组,{李小龙传奇、天龙八部、蝙蝠侠}为热门动作片群组等。相应的可以建立热门流行歌曲群组,歌手群组等。
在推荐过程中,对一个在某网站上没有实际浏览、点击行为的用户,按照推荐模式中的无操作方式(即用户是首次访问某网站)推荐。首先推荐服务器从数据库中提取出该用户过去的用户行为信息,同时,按统计的不同类型用户行为信息的频度,将用户行为信息按类型进行排序,如用户行为类型有浏览新闻、购物、下载电影等,此时按其用户行为信息总量可以排序为浏览新闻、下载电影、购物,此时推荐服务器将按这三种类型分别进行推荐。根据用户浏览的新闻,根据推荐算法推荐其可能偏好的新闻种类,根据其下载的电影类型,根据推荐算法推荐其可能会喜欢的电影系列等。商品类同,然后按不同类别的行为量对用户进行相关推荐,新闻类大于电影类,电影类大于购物类群组,当然并不限于此。
当用户具有操作行为时,首先将用户行为信息发送至推荐服务器,推荐服务器通过分析用户行为信息,提取其当前的操作类型,然后推荐服务器根据该操作类型进行相应的内容推荐。
下面以群组推荐为例进行说明,本发明提供的第一实施例是一种自动推荐互联网上信息的方法,方法流程如图1所示,包括:
步骤101:客户端收集用户行为信息,向采集服务器发送收集的用户行为信息。
步骤102:采集服务器对用户行为信息进行过滤,向分析服务器发送过滤后的用户行为信息。
步骤103:分析服务器对过滤后的用户行为信息进行分类,向推荐服务器和组群服务器发送分类后的用户行为信息。
步骤104:组群服务器根据分类后的用户行为信息组建群组。
步骤105:客户端所属终端对互联网内容提供者(Internet Content Provider,ICP)进行访问操作,客户端记录该用户行为信息后,将记录的该用户行为信息发送到推荐服务器。
步骤106:推荐服务器调用组群服务器中的群组,通过客户端进行群组推荐。
其中上述步骤可以是步骤101中的客户端是ICP甲的客户端甲,客户端甲进行用户行为信息收集时,仅在客户端甲所属终端对ICP甲进行访问操作收集用户行为信息,即仅在用户通过客户端甲所属终端访问ICP甲提供的相关网页,或者只下载ICP甲提供的某一部电影时收集用户行为信息。
还可以是在步骤101中的客户端是ICP甲的客户端甲,客户端甲进行用户行为信息收集时,在客户端甲所属终端对ICP乙、ICP丙进行访问操作收集用户行为信息,在用户通过客户端甲所属终端访问ICP乙提供的相关网页,或者浏览ICP丙提供的某一件商品时收集用户行为信息。
在步骤105中,客户端甲所属终端首次对ICP甲进行访问操作,客户端甲将记录该用户行为信息后,将该用户行为信息发送到推荐服务器,在步骤106中,ICP甲所属的推荐服务器立即调用组群服务器中的群组,通过客户端甲进行群组推荐。此时虽然客户端甲所属终端是首次对ICP甲进行访问操作,但在客户端甲所属终端首次对ICP甲进行访问操作前,客户端甲就收集用户的用户行为信息,因此可以立即调用组群服务器中的群组,通过客户端甲进行群组推荐。或者是ICP甲所属的推荐服务器根据预定的策略在收到该用户行为信息后的预定时间,通过客户端甲进行群组推荐。
在步骤106中,进行相关推荐的推荐内容为群组,当然也可以是其它相关资源信息,如提供某个新闻网站的链接信息,某个电影的下载信息,某个购物网站的商品信息、某个歌曲的点播信息、某个论坛的链接信息等。
在进行群组推荐时可以进行即时通信群组推荐,例如,用户A在即时通信服务提供商的主页每天都是浏览新闻。用户B每天都是玩即时通信服务提供商提供的游戏,那么在步骤101中即时通信服务提供商的聊天工具(此处可作为即时通信服务提供商的客户端)先统计一定的用户行为信息后,在步骤104中预先设定好新闻群和游戏群,在步骤106中推荐用户A进新闻群,用户B进游戏群。或者用户A又看新闻又玩游戏,那么可以向用户A同时推荐新闻群和游戏群组。
如前所述步骤101-104是一个预先建立群组的实例,也可以临时建立。当然也可以是临时建立的群组,这就涉及到统计多个用户的用户行为信息,比如统计到用户A、用户b、用户C、用户D、用户E5个用户喜欢看新闻,那么推荐的时候,就临时建立新闻群,并推荐用户A、用户b、用户C、用户D、用户E进新闻群组。
下面对用户A曾经在互联网上的行为主要是下载,推荐服务器为用户A推荐群组为例进行说明。用户A曾经下载了资源:动画片1、动画片2、动画片3等。首先客户端在用户A下载资源时收集用户行为信息,推荐服务器根据客户端收集用户行为信息的类型为用户下载行为信息,就选择下载类群组给用户进行推荐。现在网站上有一批已经建立好的下载类群组,其对应内容为群组1:动画片3、动画片4、动画片5,群组2:动作片1、动作片2、动作片3,群组3:喜剧片1、喜剧片2、喜剧片3。根据用户下载行为信息中的类型信息分别与群组1、群组2、群组3计算相似度,因用户下载行为信息中的类型信息为动画片,与以动画片为主的群组1的相似度最高,所以推荐服务器通过客户端优先推荐群组1给用户加入或浏览,方便他获取到更多的动画片信息。随着用户在该网站上活动的增加,如他最近多次浏览该网站的一些动漫、旅游等内容,此时在该网站上的行为活动将会逐渐取代他在其它网站的活动,这样就可以慢慢的向用户推荐网站上一些较热门的动漫型群组或旅游类群组方便用户加入。
当用户当前进行了某个操作,如下载动画片变形金刚,此时客户端或网站将此用户行为信息发送至推荐服务器,通过分析用户行为信息提取当前的操作类型:下载---动画---美国动画片,此时推荐服务器将根据用户此次对网站访问操作类型为用户推荐与变形金刚相关的电影。当用户在网站上浏览一件商品,如洗衣机时,此时推荐服务器分析出用户对网站访问操作类型为:浏览---商品---家用电器,此时推荐服务器可以为其推荐潜在的卖家,或者推荐与洗衣机相关的商品如洗衣粉等。
本发明提供的第二实施例是一种自动推荐互联网上信息的系统,其结构如图2所示,包括:
客户端201:用于收集用户行为信息;
推荐服务器202:用于根据客户端收集的用户行为信息,通过客户端进行相关内容推荐。
进一步,推荐服务器202:还用于对相关资源信息进行推荐。
进一步,推荐服务器202:还用于对预定义的相关组群进行推荐,或根据客户端收集的用户行为信息,临时建立的组群进行推荐。
进一步,客户端201:还用于在客户端所属终端首次对一互联网内容提供者进行访问操作前,收集用户行为信息;
推荐服务器202:还用于根据客户端所属终端首次对该互联网内容提供者ICP进行访问操作,通过客户端在预定义的时间进行相关内容推荐。
进一步,该系统,还包括:
分析服务器203:用于对收集的终端行为信息进行分类。
进一步,该系统,还包括:
采集服务器204:用于过滤收集的终端行为信息。
进一步,推荐服务器202:还用于确定用户行为信息类型,并根据用户行为信息类型和用户行为信息中的类型信息,按预定策略进行相关内容推荐。
进一步,推荐服务器202:还用于根据用户行为信息,提取对互联网内容提供者进行访问操作的操作类型,根据操作类型进行相关内容推荐。。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。