一种异构网络中的推荐方法及推荐系统的制作方法

文档序号:7695604阅读:112来源:国知局

专利名称::一种异构网络中的推荐方法及推荐系统的制作方法
技术领域
:本发明涉及社会网络信息处理领域,具体涉及异构网络中的推荐方法以及基于此方法的推荐系统。
背景技术
:推荐是一种可以有效减少查找信息代价的方法,推荐技术被广泛用于很多流行的电子商务应用中,比如Amazon.com、CDNow.com、6Bay,com、R6el.com等。近年来,很多推荐方法被相继提出,比如,基于内容过滤、协同过滤、聚类模型、分类模型、图模型,以及关联规则的方法。这些方法被许多互联网应用所釆用,已有的大多数应用往往仅根据用户输入的若干关键词或一个对象推荐某种特定类型的对象(Amazon只推荐图书,newsbaidu只推荐新闻,movielens.com只推荐电影)。然而,在异构数据层出不穷的Web2.0应用中,用户所面临的是多种不同类型的数据(比如图2所示的一个包含用户、类别、资源,以及标签和他们之间复杂关系的一般的社会网络),这样的异构网络为我们提供了一个验证推荐方法的新环境,同时也带来新的挑战。
发明内容(一)技术问题本发明的目的是提供一种异构网络中的推荐方法以及基于此方法的推荐系统,该方法能够以社会关系网络的一个子图为输入,最终推荐给用户整个社会关系网络的多个子图,以解决现有技术中只能根据一个对象推荐某种特定类型对象的缺陷。(二)技术方案为了达到上述目的,本发明提供一种异构网络中的推荐方法,包括以下步骤步骤一,建立社会网络库,所述社会网络库中包含有不同类型的对象,所述对象包括用户、资源、类别、标签中的一种或几种;步骤二,通过计算所述社会网络库中各种类型对象的被浏览概率以及从一种类型的对象转移到其他类型对象的浏览转移概率,获得所述对象的重要程度;步骤三,根据当前用户发出搜索请求时所用的对象,提取当前用户搜索的关键词,对所述社会网络库中的对象进行相关度计算,得到社会网络库中的对象与所述当前用户搜索时所用的对象的相关程度;步骤四,根据步骤二和步骤三中计算出来的所述社会网络库中的对象的重要程度和相关程度,把重要程度和相关程度较大的若干个类型的对象推荐给当前用户。其中,所述步骤二包括A)设置对应于所述社会网络中的各种类型对象的节点为对应的对象节点,所述对象节点包括用户节点、类别节点、资源节点、标签节点中的一种或几种;B)根据所述社会网络库中各种类型对象的被浏览概率以及从一种类型的数据转移到其他类型数据的浏览转移概率,构建上述各种类型对象节点之间的浏览转移有向C)将所述浏览转移有向图表示为转移矩阵,根据转移概率理论,设置各种类型对象节点之间的转移概率/bwD)设置随机跳转参数",利用下述等式计算各种类型节点的重要程度,&=ax£+(1—a)x2义jirM^ySj式中i和r表示任何节点类型,五是单位矩阵,化和^是节点类型i和r的重要程度向量,A^是从类型i跳转到类型y的转移概率,Mw是对应于Z类型与r类型间关系的转移矩阵;e)设定a^的值,分别得到不同类型对象节点之间转移的重要程度;F)对上述重要程度进行排序,获取重要程度较大的若干位对象作为向当前用户推荐的依据。其中,所述设定a^的值的方法是给所有a^赋予平均值,初始化所有节点间的转移概率;定义并初始化目标函数值;利用迭代更新的方法,固定所有的am,更新所有的重要程度w固定所有的重要程度a,更新所有的a;^,直到满足结東条件,迭代过程结束,完成设定a;^的值。其中,所述步骤三包括a)利用当前用户发出搜索请求时所用的对象,提取关键词用于计算相关程度;b)计算社会网络库中的对象与所述关键词的相关程度,并对该相关程度进行排序,其中计算所述相关程度所用的等式为<formula>formulaseeoriginaldocumentpage8</formula>其中《是关键词;o是各种类型对象的文本描述;lol是各种类型对象的文本描述的单词长度;?/OfoO)是词w在o中出现的频率;|C>|是各种类型对象所组成的集合O所包含的词数;(/(a^,O)是词a^在O中出现的频率;w是取值在区间[O,l]中的参数;v为O中所有类型对象的文本描述的平均长度;c)根据上述相关程度的排序结果,获取与所述关键词相关程度较大的若干个对象;d)将上述若干个相关程度较大的对象分别扩展为子图;e)叠加子图中所有节点的相关程度得到子图的相关程度,获取相关程度最大的若干个子图作为向当前用户推荐的主要依据。其中,所述利用当前用户发出搜索请求时所用的对象,提取关键词用于计算相关程度的具体方法包括i)根据当前用户搜索时所用的对象定义对应的对象节点,并以该对象节点为中心,构建节点子ii)提取节点子图中每个节点的文本表示,所述文本表示由若干单词组成;iii)计算上述所有单词的集合以及每个单词在整个集合中的出现的次数、频率;iv)按照频率大小对所有的单词进行排序,提取出现频率较大的若干位作为用于计算相关程度的关键词。其中,所述步骤四包括根据步骤二和步骤三的结果,向当前用户推荐重要程度较大、相关程度较高的若干位子图。其中,步骤三之后还包括计算浏览历史信息,得到当前用户对社会网络中各种类型对象的关注度,并将关注度计算结果作为向当前用户推荐的依据。其中,所述计算关注度的过程为获取当前用户在一段时间内所浏览过的对象;计算当前用户在这段时间内浏览过的每个对象的次数;计算当前用户对所浏览的每个对象的关注度,将计算结果作为推荐的依据。本发明还提供一种异构网络中的推荐系统,包括社会网络库的建立装置,与重要程度计算装置和相关程度计算装置相连,用于建立社会网络库并将社会网络库中的不同类型的对象提供给重要程度计算装置和相关程度计算装置;重要程度计算装置,用于计算社会网络中不同类型对象的重要程度,并将计算结果提供给推荐装置;相关程度计算装置,与所述推荐装置相连,用于计算社会网络库中的对象与当前用户发出搜索请求时所用对象的相关程度,并将计算结果提供给推荐装置;推荐装置,用于根据所述相关程度计算装置和所述重要程度计算装置的计算结果,完成向当前用户推荐有较大相关程度以及较大重要程度的子图。其中,还包括浏览历史信息计算装置,与所述推荐装置相连,用于査找当前用户的浏览历史记录,得到当前用户对各种类型对象的关注程度,并将结果提供给所述推荐装置。(三)有益效果本发明所述的一种异构网络中的推荐方法和基于所述方法的推荐系统有如下优点1)该推荐方法可以推荐包含不同类型对象的子图,克服了现有技术中只能推荐某一种类型对象的缺陷;2)该推荐方法充分考虑了社会网络对象的重要程度以及社会网络对象相关程度,使得该推荐方法更加切实有效;3)对于重要程度的计算,使用了自动调整关系重要程度的方法,避免了传统方法在计算重要程度的时候手工指定权值中可能产生的错误;4)该推荐方法可以同时使用在非个性化推荐和个性化推荐中。图i是本发明异构网络中的推荐方法的基本流程框图2是现有技术中的一个一般的社会网络;图3是本发明中的形式化的异构图4是本发明自动设置异构图中权值的推荐方法与传统手工设置权值方法的比较效果图。具体实施方式以下实施例用于说明本发明,但不用来限制本发明的范围。以下两个实施例中用到的符号总结如下在一个一般的社会网络库中,存在有不同类型的对象以及这些对象之间的关系。如图2所示,假设有"个类型为(C,t/,凡r)的对象,其中C表示类别(category),t/表示用户(user),i表示资源(resource),r表示标签(Tag)。再假设有"w个资源Q(^1,…,被"t/^用户"y(,1,…,勿)所收集或者创建。同时,这些资源分别隶属于"c个类别QOl,...,"c),并且被w个标签0(/=/,...,"r)^f标记。(这里,资源指的是网页、音乐或者电影。)"类别-用户-资源-标签"间的连接关系形成一个有向异构图(如图3所示)。我们定义图G=(VCUVuUVRUVT,EucUEcuUEURUERUUEUTUExuUEuuUECTUETCUECRUERCUERTUETR),其中Vc是类另寸的集合,Vu是用户的集合,VK是资源的集合,VT是标签的集合;类别和用户之间的关系用Ecu来记录,其余类似。两个对象(包括同类型和不同类型的对象)之间的关系可以表示为图中的无向边或有向边。在此仅分析有向图的情况,因此图中的每一条(无向)边可以表示为两条有向边,也就是说(Cj,Ui}=(Cj,Ui)U(Ui,Cj)。此外,我们定义了不同类型的节点间的转移概率人(参见图3)。转移概率X可以这样直观解释,例如,可以将其理解为当一个用户正在浏览某一种类型的对象时,其跳转到目标类型对象或者点击目标类型对象的概率,也可以视为两种对象类型间的关系的权值。转移概率理论要求<formula>formulaseeoriginaldocumentpage11</formula>实施例l本实施例用来说明非个性化的子图推荐方法。通过重要程度计算装置、相关程度计算装置以及推荐装置可以进行社会关系网络中基于子图推荐子图的操作。此时,推荐的结果和用户无关,任何用户,对于同一个输入子图,都会得到相同的推荐结果。非个性化的子图推荐方法包括下述四个步骤步骤一建立社会网络库,所述社会网络库中存在有不同类型的对象以及这些对象之间的关系,所述对象包括用户、资源、标签和类别。步骤二使用重要程度计算装置进行社会网络对象的全局重要性评估。重要程度计算装置的作用是基于随机游走算法为整个社会网络中的每个对象评估全局重要性。首先介绍如何用随机游走算法为该问题建模,然后给出模型中参数的成对学习算法。1)构建异构图中的随机游走模型。根据随机游走理论,转移图(参见图3)可以形象地描述一个随机游走者的行为。例如,当随机游走者正在浏览一个用户节点^;,之后他/她会以A^的概率浏览(也可称之为"跳转到")该用户使用或创建的标签^,或者以;i的概率浏览该用户关联的类别Fc,或者以A^的概率浏览该用户相关的资源^,或者以义w的概率浏览该用户的朋友^/。将上述转移图形式化为一个转移矩阵,记为7V/。每个元素my表示从节点凍走到节点J'的概率。例如,设节点虔一个用户,满足",e^,节点j是一个资源,满足r^^:1其中Out—Degree"—^)表示从m,.到^中所有节点的有向边个数(有向边个数表示了用户所收藏的资源数)。下面考虑不同对象类型间的转移概率A。当一个随机游走者正在浏览类型为Z的节点z',他/她有^xr的概率跳转到类型为r的节点集,然后以2;n^一的概率跳转到类型为y的节点,因此从用户",到资源G的转移概率被定义为尸(。I",)-VV(3)类似的,不难定义网络中其他节点间的所有转移概率。重要程度向量s是矩阵M迭代式的不动解s=As,A=MT(4)此外,定义随机跳转参数a,其描述了随机游走者随机跳转到网络中的所有其他节点的概率,于是M'=(l-a)M+aE,E=(l,.."l)(l/""."l.")T(5)其中"为网络中节点的总个数,也就是说"叫rd+ircM^I+IM。在上述定义的前提下,利用迭代法得到每类节点的重要程度得分s"="E+(卜or)x(AcyM^Sc+义肌M"+々,^+;UM^Sj/)(6)sc=axE+(1—a)xdcM^Su+AffCM:csfi+;^cMj:cs7,)(7)sr=xE+(1-a)xdM;Sc+/^M^Sy+义虹M^Sw)(8)sR="xE+(i-a)x(;icLsc+;um"+;i^m")(9)其中,^表示所有用户重要程度得分向量,sc表示所有类别重要程度得分向量,sw表示所有资源重要程度得分向量,Sr表示所有标签重要程度得分向量;MC[/、M肌、M^和M^分别表示从类别到用户,从资源到用户,从标签到用户,以及从用户到用户的转移矩阵。为了简化,将以上四个公式写成以下的通式sr=axE+(l_a)xJ]AwMk其中义和y表示任何节点类型,sx和sy是类型I和r的重要程度得分向量,^y是从类型X跳转到类型r的转移概率,iW「xy是对应于义类型与r类型间关系的转移矩阵。可以看到,上述模型需要为每个A;^定值。传统方法通常经验地指定该值。该发明提出自动学习参数的成对学习算法。2)参数的成对学习算法。异构图可以有很多参数^y。对于图3,其中的参数构成一个集合」=(义cr,义C",义CZ6义C/C,义t/",义/c,A肌,^c,4c,义n/,Ara}。事实上,在现实的互联网应用中,对象和关系可能会更加复杂,手工设定这些值非常困难。一个简单的方法是为所有的参数平均设定值,这样一来,整个模型就会衰退为传统的PageRank算法。但是,我们认为不同类型的关系的权值应该不同。例如,当一个随机游走者停留在一个用户节点上,他/她可能以更高的概率跳转到该用户收藏的资源,而不是该用户使用的标签。我们认为,参数的设置可能对最终推荐结果至关重要。提出的算法的主要思想是给定一个训练数据集,目标是找到一个排序目标函数,使得其中的参数能够最好地模拟训练数据。训练数据记为集合A-{(/,力},其中的每个元素包含一对对象/和乂,它们是随机选定的一对相同类型的对象,并且/的重要程度大于乂(这里的重要程度是真实的,人工标注的结果)。目标是对于训练数据集中每个对象,利用随机游走模型计算得出的重要度,能够无限接近真实值。因此,目标函数定义为丽ZM4+;+4=1,(11)义C7"+义Ct/+义CW=1义wr+义肌+=1,义灯>0其中w是一个指示函数(&是训练数据的真值,力是由随机游走模型计算得到的估计值)fl,c一。20少H,:n(12)i,c—g<0\^对于每个节点/,其重要程度A由公式(10)计算得到。s,-力是两个节点重要程度得分的差值,可以通过下式计算得到A一^二G一a)S义灯(2]附fa^一S〖13、将公式(12)和(13)带入公式(11),对义;^求导并令其导数等于零,得到<formula>formulaseeoriginaldocumentpage15</formula>Ai^可以看作是参数^yy的学习率。用另一个参数控制学习步长,因次关于义X7的最终更新公式可以写为A灯A义w(15)参数学习算法是一个递归的过程,其中每一次迭代由两步组成。在第一步,固定所有的Aw,更新所有的重要程度A。在第二步,固定A,更新所有的参数义xy。结束条件满足后,递归过程结東。以下总结了学习过程。步骤l:〃初始化.1.给所有义^赋予平均值,使得满足公式(i);2.初始化所有结点间的转移概率m々.(参见公式(2));步骤2:〃迭代更新.3.-oo;〃初始化目标函数值;4.do{〃更新所有的义^;5.for(当前排序结果中每一对(^)EA满足A^)(6.用公式(15)更新义^;归一化Aw,使其满足公式(l)7.endfor8.用公式(10)更新所有的9.用公式(U)计算新的目标函数值/—",;10.until(1/一",—/—1<T)其中,T是控制结束条件的阈值(在实验中经验地设产O.Ol)。经过步骤二,社会关系图中的所有节点的重要程度都已经计算完毕,这个计算结果将会提供给推荐子图的装置使用。步骤三使用相关程度计算装置对社会网络子图进行相关度评估。相关程度计算装置的作用是对于任何一个输入的社会关系网中的子图,输出当前社会网中和这个子图具有一定相关度的子图。具体的方法是1)提取输入子图的关键词。关键词的提取方法是a)得到子图中每个节点的文本表示;b)对于子图中的所有节点,取得所有词的集合,计算每个词在整个集合中出现的次数;c)计算每个词在整个集合中出现的频率;d)计算该子图所有节点中出现的不重复的词的个数;e)对每个词进行排序,取若干个排名最靠前的词作为关键词集合,输出。2)计算社会网络库中每个对象相对于l)中输出的关键词集合的相关度得分,并且排序。给定一个关键词组,社会网络中的某个对象的相关度得分通过语言模型计算得到P(咖)-n".,+(l-").^^,且"=^(16)"U1。1网JM+"其中,《是关键词组,o是对象的文本描述(例如,资源的文本描述可以被定义为其标题、标签以及内容的文本集合);|o|是对象的文本描述的单词长度;?/(w;t,o)是词w在o中出现的频率;iq是对象集合O所包含的词数;Ww,O)是词w在O中出现的频率;w是取值在区间[O,l]中的参数;"是另一个参数并且通常被设为O中所有对象的文本描述的平均长度。语言模型描述了对象文本描述和当前状态子图中得到的关键词组之间的相关度。3)根据2)的排序结果,得到和输入子图相关的子图。对社会关系网中所有的对象,按照它们由2)计算出来的相关度P(咖)进行排序。设社会关系网中共有"个对象,则取前0.01"个对象;对每个对象o,,在社会关系网络中将其扩展为子图G,;其中G,冲的节点包含^和与距离不大于2的全部节点。这里距离的一个单位即一条边,比如,如果节点"和节点6之间有一条边相连,那么节点6和"的距离为1;如果节点"和节点C之间无边相连,但是节点a到6,节点6到C之间有边相连,那么节点a到c之间的距离为2。而该子图中若包含A:个对象ou,0,2,..,0议E{&,0,2,..,0一,则其相关度为这些对象相关度的和Zyw尸(咖(/)。4)将根据a々2,…,0降到的子图g1,g2,…,gm按照3)计算得出的子图相关度进行排序,返回前十个子图。步骤四使用推荐装置进行推荐。根据重要程度计算装置计算出来的所有社会网络对象的重要程度之和,以及相关程度计算装置计算出来的所有相关社会网络对象的相关度之和,综合考虑前两步的计算结果,使用推荐装置进行推荐。总结起来,非个性化子图的推荐过程如下A)对于输入的子图G,根据相关程度计算装置得到相关的子图,i殳力G^,C2,"'G^B)通过重要程度计算装置,可以计算出每个相关子图的重要程度,任一个子图G的重要程度即为&中所有节点的重要程度之和,如下所示/附/wtan)=Z/附portan《v)。7、C)根据重要程度,将G,...,Gn,进行排序并且输出为推荐子图。实施例2本实施例用来说明个性化的子图推荐方法。通过相关程度计算装置、重要程度计算装置以及浏览历史信息计算装置,可以进行社会关系网络中基于子图推荐子图的操作。此时,推荐的结果随用户的不同而不同,即不同的用户,对于同一个输入子图,会得到不同的推荐结果。个性化的推荐方法是在相关程度计算装置和重要程度计算装置之上再加上浏览信息装置,也就是说,在使用相关程度计算装置进行相关度计算和利用重要程度计算装置进行全局重要性评估之后,在用户登陆的情况下,根据用户的浏览历史进行子图的推荐,可以达到个性化的效果。使用相关程度计算装置进行相关度计算和利用重要程度计算装置进行全局重要性评估的方法与实施例l中的方法相同,在此不再赘叙,下面重点阐述使用浏览历史信息计算装置得到用户信息的方法。浏览历史信息计算装置使用用户浏览历史库来计算用户对某个资源的浏览频率,其中浏览历史库的结果如表l所示表l.用户浏览历史库的结构<table>tableseeoriginaldocumentpage18</column></row><table>表1中的每一条记录着一个浏览过程,其中浏览id是这个数据库的主键,对象id为这个浏览过程所浏览的对象,浏览时间为浏览过程发生的时间,用户id表明哪个用户在浏览这个资源。计算某个用户"浏览历史计算装置所釆用的计算方法如下a)得到"距离当前时间最近的一段时间内的浏览记录,在本实施例中,得到最近72小时之内的浏览记录;b)得到这段时间内的"浏览过的每个对象o,.的次数,记为c)计算"对的关注度,定义为oo!)/Z一譜化Coim《m,o;t)。那么,总结起来,整个个性化的子图推荐过程如下A)对于输入的子图G,根据社会网络对象相关程度计算装置得到相关的子图,设为G7庇."G";B)得到每个子图的重要程度,这时候要进行归一化,将这些子图中重要程度最高的子图的重要程度设为,m/oW^^,计算方法如下÷<formula>formulaseeoriginaldocumentpage19</formula>(18)随后,得到归一化的重要程度为C)得到用户"对子图(^,(^,.."的关注度,对于设用户w对仏的关注度为/0C附,G仏则/0CMSfM,(^)为用户对于&中所有资源的关注度之和,这时候也要进行归一化,首先得到"对(^,^2,..,&中关注度最大的子图的关注度,设为/ocz^^,计算方法如下然后得到归一化后的用户"对G的关注度,如下所示<formula>formulaseeoriginaldocumentpage19</formula>D)得到(^,^..,^的综合推荐系数,如下所示<formula>formulaseeoriginaldocumentpage19</formula>(22)E)将(^,^".,(^根据综合推荐系数进行排序,并且输出为推荐子以下利用两个实验,来评价本发明的有益效果。第一个实验在数据集POWAZI上1)数据集。POWAZI系统是一个允许用户创建/收藏资源的平台。用户也可以创建若干工程(每个工程可以被看作一个类别)并且和其他用户分享工程。此外,标签可以被指派给工程和资源。对于一个使用该系统的用户,他/她可以搜索或者浏览系统中的资源、工程、用户和标签。目标是(当用户进行搜索或浏览时)把人们感兴趣的不同类别的对象(包括用户(C/)、资源(iO、工程(户)或标签(r))推荐给他/她。在实际实验中,没有选择资源-标签和用户-用户关系,因此随机游走模型仅包含10个参数,也就是力=义w,义w,<formula>formulaseeoriginaldocumentpage19</formula>2)推荐实验。总共实现了5个不同情形中的推荐策略。在实验中,对于输出的子图,对其中的每种类型的对象分别进行评估。其情形和对应的推荐策略如下浏览工程时,输入为该工程以及和该工程距离为1的其他节点形成的子图,输出的推荐包含工程和用户的子图。下面定义两个基线方法。第一个基线方法是通过计算尸&b)仅推荐相关的工程,以及通过计算尸07l")推荐相关的用户。把这个基线方法称作语言模型(简写为LM)。第二个基线方法是通过计算^仅推荐重要的工程,通过计算&推荐重要的用户,我们将这个基线方法称为随机游走(简写为RW)。我们的方法是通过将户(咖)和&结合起来,既推荐相关的工程,又推荐重要的工程,对用户的推荐也类似(简写为LM+RW)。浏览用户时,输入为该用户以及和该用户距离为1的其他节点形成的子图,输出的推荐包含工程和用户的子图。我们实现LM、RW和LM+RW。浏览资源时,输入为该资源以及和该资源距离为1的其他节点形成的子图,输出的推荐包含工程和用户的子图。我们实现LM、RW和LM+RW。搜索用户时,输入为搜索返回的用户形成的子图,输出的推荐包含工程和用户的子图。对于推荐工程,本发明实现方法LM,以及LM+RW方法。对于推荐用户,首先得到推荐的工程,然后推荐那些重要程度高的工程所对应的用户。称这个方法为LM+RW。搜索工程时,输入为搜索返回的工程形成的子图,输出的推荐包含工程和用户的子图。对于推荐用户,本发明实现方法LM,以及LM+RW方法。对于推荐工程,首先得到推荐的用户,然后推荐那些重要程度高的用户所对应的工程。本发明称这个策略为LM+RW。为了评估本发明推荐策略的性能,人工标注了真实数据。对于每一个搜索情形,首先从POWAZI的日志中选择12个最高频的査询请求。接下来,对于每个查询请求,把所有实现的方法LM、RW以及LM+RW,所推荐的结果进行汇总得到候选者。然后,请7个标注者(包括研究生、教师和技术人员)标注他们是否满意每一个候选者。最后,根据对7个结果投票的大多数得到了真实数据。对于每一个浏览情形,同样从POWAZI的曰志中选择12个最高频浏览的对象,用同样方法标注真实数据。本发明用MRR、P@3和MAP来衡量评估结果。评估准则的细节请参见[Craswell,2005]。表2中显示了评估结果。在表2中,"-"表示由于推荐结果少于3个无法计算P@3。从结果中,不难看出LM+RW策略在大多情形中胜过LM以及RW。表2在POWAZI中评估推荐结果(%)<table>tableseeoriginaldocumentpage21</column></row><table><table>tableseeoriginaldocumentpage22</column></row><table>表3中列出了两个具体情形下的推荐样例(分别推荐前3个工程,这里输出的推荐包括该工程以及和该工程距离为2的节点组成的子图,为了评估方便,本发明用该工程代表了该工程所代表的子图)。收集了一些用户对该结果的回馈,回馈结果表明大部分推荐结果非常理想。表3POWAZI中的推荐结果<table>tableseeoriginaldocumentpage22</column></row><table>将本发明的方法与传统的LM+PageRank方法作对比实验,该方法将LM和PageRank结合起来(将异构图中的参数设置为均值的随机游走模型可以被认为是传统的PageRank)。用LM+RW推荐方法作比较。在这个实验中,试图验证所提出的参数的成对学习算法的优越性。图4给出了表2中10个推荐的P⑨3的比较结果。图中的空白图标表示LM+PageRank,阴影部分表示本发明的策略。可以看出本发明的策略在很多推荐中比LM+PageRank表现更好。在有些任务中,比如SUP和BRP,提高非常显著(10°/。到20%的增长)。最后,为了评估参数的成对学习算法,进行附加的实验。具体地说,对于POWAZI系统中的所有对象(包括工程、用户、资源和标签),随机的选择400对,要求7个标注者根据他们的偏好标注每一对中的哪一个更重要。将所有标注者的结果进行汇总,使用投票中的大多数得到真实数据。用准确度作为评估准则。使用部分真实数据作为训练数据集学习参数,再在剩余数据集上测试得到的参数。最终的准确度为81.8%。将本发明的方法再和手动调整方法得到的结果比较。对于手动调整,让A从0.1变到0.9,间距为O.l,然后取使得准确度最高的参数设置作为最终结果。因此,我们手动调整的结果可以被视为我们学习方法的上界,在同样的剩余数据集上进行测试,准确度是82%。得到的参数结果和上界接近,其确认了本发明方法的有效性。表4显示了用方法学习的参数取值(简写为学习)和手动调整方法的参数取值(简写为手工)。表4在POWAZI上用本发明的逐对学习算法和手动调整方法的参数<table>tableseeoriginaldocumentpage23</column></row><table>第二个实验在数据集AmetMiner上l)数据集。AmetMiner是一个学术社会网络系统,其包含448365研究者,880522个刊物,以及4203个从互联网抽取的期刊/会议。在这个实验中,任务是当搜索某一类对象时同时推荐包含专家、论文和会议的子图。为了评估的目的,从AmetMiner的日志中选择七个最高频的查询请求。对于每一个查询请求,收集了AmetMiner中排序前30的人,以及两个有相似专家查找功能的系统Libra作者搜索和Rexa作者搜索。我们汇总了全部这些收集到的人以及他们的论文和相关的会议。然后五个高年级研究生和两个教师被邀请做出评判。为了简化评估,在AmetMiner的数据集子集上进行实验。数据集包含853个人,10778片论文和222个会议。利用引用关系,作者关系和论文发表会议关系创建一张图。总计创建了151699个引用关系,2122个双向作者关系,717个双向论文发表会议关系。推荐实验。为了简化,只考虑在AmetMiner中考虑搜索情形的推荐,也就是说,当搜索专家时,输入为返回的专家形成的子图,输出的推荐包含专家,论文和会议的子图,搜索论文和会议亦然。特别的,给定一个搜索查询请求《,结合相关度得分和重要程度(LM+RW)推荐包含3类对象的子图。最后与只考虑相关度得分的语言模型LM比较推荐结果。这里使用的评价准则和POWAZI实验中的一样。同样为了评测方便,对输出子图中的对象类型分别进行评估。结果如表5所示。表5ArnetMiner中的推荐评价结果(%)<table>tableseeoriginaldocumentpage24</column></row><table>可以从表5中看出在大多数推荐中LM+RW胜过LM。表6中给出一些使用查询词"supportvectormachine"搜索时的推荐样例。表6使用查询条件"SUPPORTVECTORMACHINE"搜索时的推荐样例人会议VladimirVapnikNIPSOlviL.MangasarianMachineLearningGlennFungICML论文SupportVectorRegressionMachinesActiveSupportVectorMachineClassificationSupervisedclusteringwithsupportvectormachines从实验结果可以看出,本发明的方法在两个数据集上的测试结果都优于基线方法。实验表明,本发明的异构网络中的推荐方法是切实有效的。以上为本发明的最佳实施方式,依据本发明公开的内容,本领域的普通技术人员能够显而易见地想到一些雷同、替代方案,均应落入本发明保护的范围。权利要求1、一种异构网络中的推荐方法,其特征在于,所述推荐方法包括以下步骤步骤一,建立社会网络库,所述社会网络库中包含有不同类型的对象,所述对象包括用户、资源、类别、标签中的一种或几种;步骤二,通过计算所述社会网络库中各种类型对象的被浏览概率以及从一种类型的对象转移到其他类型对象的浏览转移概率,获得所述各种类型对象的重要程度;步骤三,根据当前用户发出搜索请求时所用的对象,提取当前用户搜索的关键词,对所述社会网络库中的对象进行相关度计算,得到社会网络库中的对象与所述当前用户搜索的对象的相关程度;步骤四,根据步骤二和步骤三中计算出来的所述社会网络库中的对象的重要程度和相关程度,把重要程度和相关程度较大的若干个类型的对象推荐给当前用户。2、如权利要求1所述异构网络中的推荐方法,其特征在于,所述步骤二包括A)设置对应于所述社会网络中的各种类型对象的节点为对应类型的对象节点,所述对象节点包括用户节点、资源节点、类别节点和标签节点中的一种或几种;B)根据所述社会网络库中的各种类型对象的被浏览概率以及从一种类型的对象转移到其他类型对象的浏览转移概率,构建上述各种类型对象节点之间的浏览转移有向图;C)将所述浏览转移有向图表示为转移矩阵,根据转移概率理论,设置各种类型对象节点之间的转移概率D)设置随机跳转参数",利用下述等式计算各种类型节点的重要程度,<formula>formulaseeoriginaldocumentpage2</formula>式中X和r表示任何节点类型,E是单位矩阵,"和&是节点类型义和r的重要程度向量,A灯是从类型义跳转到类型7的转移概率,M^是对应于X类型与r类型间关系的转移矩阵;E)设定A^的值,分别得到不同类型对象的重要程度;F)对上述重要程度进行排序,获取重要程度较大的若干位对象作为向当前用户推荐的依据。3、如权利要求2所述异构网络中的推荐方法,其特征在于,所述设定^w的值的方法是给所有^w赋予平均值,初始化所有节点间的转移概率;定义并初始化目标函数值;利用迭代更新的方法,固定所有的Z^,更新所有的重要程度w固定所有的重要程度A,更新所有的A^,直到满足结東条件,迭代过程结東,完成设定A^的值。4、如权利要求1所述异构网络中的推荐方法,其特征在于,所述步骤三包括a)利用当前用户发出搜索请求时所用的对象,提取关键词用于计算相关程度;b)计算社会网络库中的对象与所述关键词的相关程度,并对该相关程度进行排序,其中计算所述相关程度所用的公式为其中9是关键词;o是各种类型对象的文本描述;W是各种类型对象的文本描述的单词长度;?/(w^o)是词^在o中出现的频率;|0|是各种类型对象所组成的集合O所包含的词数;W^t,G)是词^在O中出现的频率;^是取值在区间中的参数;v为(9中所有类型对象文本描述的平均长度;c)根据上述相关程度的排序结果,获取与所述关键词相关程度较大的若干个对象;d)将上述若干个相关程度较大的对象分别扩展为子图;e)叠加子图中所有节点的相关程度得到子图的相关程度,获取相关程度最大的若干个子图作为向当前用户推荐的主要依据。5、如权利要求4所述异构网络中的推荐方法,其特征在于,所述利用当前用户发出搜索请求时所用的对象,提取关键词用于计算相关程度的具体方法包括i)根据当前用户搜索时所用的对象定义对象节点并构建对象节点子图,所述对象节点包括用户节点、资源节点、类别节点、标签节点中的一种或几种;ii)确定节点子图中每个节点的文本表示,所述文本表示由若干单词组成;iii)计算上述所有单词的集合以及每个单词在整个集合中出现的次数、频率;iv)按照频率大小对所有的单词进行排序,提取出现频率较大的若干位作为用于计算相关程度的关键词。6、如权利要求1所述异构网络中的推荐方法,其特征在于,所述步骤四包括根据步骤二和步骤三的结果,向当前用户推荐重要程度较大、相关程度较高的若干位子图。7、如权利要求16任一项所述异构网络中的推荐方法,其特征在于,步骤三之后还包括计算浏览历史信息,得到当前用户对社会网络中不同类型对象的关注度,并将关注度计算结果作为向当前用户推荐的依据。8、如权利要求7所述异构网络中的推荐方法,其特征在于,所述计算关注度的过程为获取当前用户在一段时间内所浏览过的对象;计算用户在这段时间内浏览过的每个对象的次数;计算用户对所浏览的每个对象的关注度,将计算结果作为推荐的依据。9、一种异构网络中的推荐系统,其特征在于,包括社会网络库的建立装置,与重要程度计算装置和相关程度计算装置相连,用于建立社会网络库并将社会网络库中的不同类型的对象提供给重要程度计算装置和相关程度计算装置;重要程度计算装置,用于计算社会网络中不同类型对象的重要程度,并将计算结果提供给推荐装置;相关程度计算装置,与所述推荐装置相连,用于计算社会网络库中的对象与当前用户所需要的对象的相关程度,并将计算结果提供给推荐装置;推荐装置,用于根据所述相关程度计算装置和所述重要程度计算装置的计算结果,完成向当前用户推荐有较大相关程度以及较大重要程度的子图。10、如权利要求9所述的推荐系统,其特征在于,还包括浏览历史信息计算装置,与所述推荐装置相连,用于查找当前用户的浏览历史记录,得到当前用户对各种类型对象的关注程度,并将结果提供给所述推荐装置。全文摘要本发明涉及一种异构网络中的推荐方法以及基于该方法的推荐系统。异构网络中的推荐方法使用一种统一的模型来模拟多种不同类型的对象以及他们之间可能存在的复杂关系,并借助该模型更好地完成推荐。首先建立社会网络库(其中的对象及其关系均为异构);然后利用重要程度计算装置,对社会网络对象进行全局重要度评估;接着利用相关程度计算装置,对社会网络对象进行相关度评估;也可以再利用浏览历史信息计算装置,得到当前用户的浏览信息;最后利用上述三个基本装置,在社会关系网中,进行给定子图、推荐子图的操作。该推荐方法切实有效,克服了现有技术中只能推荐某一种类型对象的缺陷。文档编号H04L29/06GK101321190SQ20081011617公开日2008年12月10日申请日期2008年7月4日优先权日2008年7月4日发明者杰唐,静张,李涓子,子杨申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1