CN101321190B - 一种异构网络中的推荐方法及推荐系统 - Google Patents
一种异构网络中的推荐方法及推荐系统 Download PDFInfo
- Publication number
- CN101321190B CN101321190B CN 200810116171 CN200810116171A CN101321190B CN 101321190 B CN101321190 B CN 101321190B CN 200810116171 CN200810116171 CN 200810116171 CN 200810116171 A CN200810116171 A CN 200810116171A CN 101321190 B CN101321190 B CN 101321190B
- Authority
- CN
- China
- Prior art keywords
- node
- significance level
- correlation
- degree
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种异构网络中的推荐方法以及基于该方法的推荐系统。异构网络中的推荐方法使用一种统一的模型来模拟多种不同类型的对象以及他们之间可能存在的复杂关系,并借助该模型更好地完成推荐。首先建立社会网络库(其中的对象及其关系均为异构);然后利用重要程度计算装置,对社会网络对象进行全局重要度评估;接着利用相关程度计算装置,对社会网络对象进行相关度评估;也可以再利用浏览历史信息计算装置,得到当前用户的浏览信息;最后利用上述三个基本装置,在社会关系网中,进行给定子图、推荐子图的操作。该推荐方法切实有效,克服了现有技术中只能推荐某一种类型对象的缺陷。
Description
技术领域
本发明涉及社会网络信息处理领域,具体涉及异构网络中的推荐方法以及基于此方法的推荐系统。
背景技术
推荐是一种可以有效减少查找信息代价的方法,推荐技术被广泛用于很多流行的电子商务应用中,比如Amazon.com、CDNow.com、eBay.com、Reel.com等。
近年来,很多推荐方法被相继提出,比如,基于内容过滤、协同过滤、聚类模型、分类模型、图模型,以及关联规则的方法。这些方法被许多互联网应用所采用,已有的大多数应用往往仅根据用户输入的若干关键词或一个对象推荐某种特定类型的对象(Amazon只推荐图书,newsbaidu只推荐新闻,movielens.com只推荐电影)。
然而,在异构数据层出不穷的Web2.0应用中,用户所面临的是多种不同类型的数据(比如图2所示的一个包含用户、类别、资源,以及标签和他们之间复杂关系的一般的社会网络),这样的异构网络为我们提供了一个验证推荐方法的新环境,同时也带来新的挑战。
发明内容
(一)技术问题
本发明的目的是提供一种异构网络中的推荐方法以及基于此方法的推荐系统,该方法能够以社会关系网络的一个子图为输入,最终推荐给用户整个社会关系网络的多个子图,以解决现有技术中只能根据一个对象推荐某种特定类型对象的缺陷。
(二)技术方案
为了达到上述目的,本发明提供一种异构网络中的推荐方法,包括以下步骤:
步骤一,建立社会网络库,所述社会网络库中包含有不同类型的对象,所述对象包括用户、资源、类别、标签中的一种或几种;
步骤二,通过计算所述社会网络库中各种类型对象的被浏览概率以及从一种类型的对象转移到其他类型对象的浏览转移概率,获得所述对象的重要程度;
步骤三,根据当前用户发出搜索请求时所用的对象,提取当前用户搜索的关键词,对所述社会网络库中的对象进行相关度计算,得到社会网络库中的对象与所述当前用户搜索时所用的对象的相关程度;
步骤四,根据步骤二和步骤三中计算出来的所述社会网络库中的对象的重要程度和相关程度,把重要程度和相关程度较大的若干个类型的对象推荐给当前用户。
其中,所述步骤二包括:
A)设置对应于所述社会网络中的各种类型对象的节点为对应的对象节点,所述对象节点包括用户节点、类别节点、资源节点、标签节点中的一种或几种;
B)根据所述社会网络库中各种类型对象的被浏览概率以及从一种类型的数据转移到其他类型数据的浏览转移概率,构建上述各种类型对象节点之间的浏览转移有向图;
C)将所述浏览转移有向图表示为转移矩阵,根据转移概率理论,设置各种类型对象节点之间的转移概率λXY;
D)设置随机跳转参数α,利用下述等式计算各种类型节点的重要程度,
式中X和Y表示任何节点类型,E是单位矩阵,sX和sY是节点类型X和Y的重要程度向量,λXY是从类型X跳转到类型Y的转移概率,MXY是对应于X类型与Y类型间关系的转移矩阵;
E)设定λXY的值,分别得到不同类型对象节点之间转移的重要程度;
F)对上述重要程度进行排序,获取重要程度较大的若干位对象作为向当前用户推荐的依据。
其中,所述设定λXY的值的方法是:
给所有λXY赋予平均值,初始化所有节点间的转移概率;
定义并初始化目标函数值;
利用迭代更新的方法,固定所有的λXY,更新所有的重要程度si;固定所有的重要程度si,更新所有的λXY,直到满足结束条件,迭代过程结束,完成设定λXY的值。
其中,所述步骤三包括:
a)利用当前用户发出搜索请求时所用的对象,提取关键词用于计算相关程度;
b)计算社会网络库中的对象与所述关键词的相关程度,并对该相关程度进行排序,其中计算所述相关程度所用的等式为
且
其中q是关键词;o是各种类型对象的文本描述;|o|是各种类型对象的文本描述的单词长度;tf(ωk,o)是词ωk在o中出现的频率;|O|是各种类型对象所组成的集合O所包含的词数;tf(ωk,O)是词ωk在O中出现的频率;ω是取值在区间[0,1]中的参数;v为O中所有类型对象的文本描述的平均长度;
c)根据上述相关程度的排序结果,获取与所述关键词相关程度较大的若干个对象;
d)将上述若干个相关程度较大的对象分别扩展为子图;
e)叠加子图中所有节点的相关程度得到子图的相关程度,获取相关程度最大的若干个子图作为向当前用户推荐的主要依据。
其中,所述利用当前用户发出搜索请求时所用的对象,提取关键词用于计算相关程度的具体方法包括:
i)根据当前用户搜索时所用的对象定义对应的对象节点,并以该对象节点为中心,构建节点子图;
ii)提取节点子图中每个节点的文本表示,所述文本表示由若干单词组成;
iii)计算上述所有单词的集合以及每个单词在整个集合中的出现的次数、频率;
iv)按照频率大小对所有的单词进行排序,提取出现频率较大的若干位作为用于计算相关程度的关键词。
其中,所述步骤四包括:
根据步骤二和步骤三的结果,向当前用户推荐重要程度较大、相关程度较高的若干位子图。
其中,步骤三之后还包括计算浏览历史信息,得到当前用户对社会网络中各种类型对象的关注度,并将关注度计算结果作为向当前用户推荐的依据。
其中,所述计算关注度的过程为:
获取当前用户在一段时间内所浏览过的对象;
计算当前用户在这段时间内浏览过的每个对象的次数;
计算当前用户对所浏览的每个对象的关注度,将计算结果作为推荐的依据。
本发明还提供一种异构网络中的推荐系统,包括:
社会网络库的建立装置,与重要程度计算装置和相关程度计算装置相连,用于建立社会网络库并将社会网络库中的不同类型的对象提供给重要程度计算装置和相关程度计算装置;
重要程度计算装置,用于计算社会网络中不同类型对象的重要程度,并将计算结果提供给推荐装置;
相关程度计算装置,与所述推荐装置相连,用于计算社会网络库中的对象与当前用户发出搜索请求时所用对象的相关程度,并将计算结果提供给推荐装置;
推荐装置,用于根据所述相关程度计算装置和所述重要程度计算装置的计算结果,完成向当前用户推荐有较大相关程度以及较大重要程度的子图。
其中,还包括浏览历史信息计算装置,与所述推荐装置相连,用于查找当前用户的浏览历史记录,得到当前用户对各种类型对象的关注程度,并将结果提供给所述推荐装置。
(三)有益效果
本发明所述的一种异构网络中的推荐方法和基于所述方法的推荐系统有如下优点:1)该推荐方法可以推荐包含不同类型对象的子图,克服了现有技术中只能推荐某一种类型对象的缺陷;2)该推荐方法充分考虑了社会网络对象的重要程度以及社会网络对象相关程度,使得该推荐方法更加切实有效;3)对于重要程度的计算,使用了自动调整关系重要程度的方法,避免了传统方法在计算重要程度的时候手工指定权值中可能产生的错误;4)该推荐方法可以同时使用在非个性化推荐和个性化推荐中。
附图说明
图1是本发明异构网络中的推荐方法的基本流程框图;
图2是现有技术中的一个一般的社会网络;
图3是本发明中的形式化的异构图;
图4是本发明自动设置异构图中权值的推荐方法与传统手工设置权值方法的比较效果图。
具体实施方式
以下实施例用于说明本发明,但不用来限制本发明的范围。
以下两个实施例中用到的符号总结如下:在一个一般的社会网络库中,存在有不同类型的对象以及这些对象之间的关系。如图2所示,假设有n个类型为{C,U,R,T}的对象,其中C表示类别(category),U表示用户(user),R表示资源(resource),T表示标签(Tag)。再假设有nR个资源rk(k=1,...,nR)被nU个用户uj(j=1,...,nU)所收集或者创建。同时,这些资源分别隶属于nC个类别ci(i=1,...,nC),并且被nT个标签tl(l=l,...,nT)所标记。(这里,资源指的是网页、音乐或者电影。)
“类别-用户-资源-标签”间的连接关系形成一个有向异构图(如图3所示)。我们定义图G=(VC∪VU∪VR∪VT,EUC∪ECU∪EUR∪ERU∪EUT∪ETU∪EUU∪ECT∪ETC∪ECR∪ERC∪ERT∪ETR),其中VC是类别的集合,VU是用户的集合,VR是资源的集合,VT是标签的集合;类别和用户之间的关系用ECU来记录,其余类似。两个对象(包括同类型和不同类型的对象)之间的关系可以表示为图中的无向边或有向边。在此仅分析有向图的情况,因此图中的每一条(无向)边可以表示为两条有向边,也就是说{cj,ui}=(cj,ui)∪(ui,cj)。
此外,我们定义了不同类型的节点间的转移概率λ(参见图3)。转移概率λ可以这样直观解释,例如,可以将其理解为当一个用户正在浏览某一种类型的对象时,其跳转到目标类型对象或者点击目标类型对象的概率,也可以视为两种对象类型间的关系的权值。转移概率理论要求:
λUT+λUC+λUR+λUU=1
λTR+λTU+λTC=1
λCT+λCU+λCR=1(1)
λRT+λRC+λRU=1
λXY>0
实施例1
本实施例用来说明非个性化的子图推荐方法。通过重要程度计算装置、相关程度计算装置以及推荐装置可以进行社会关系网络中基于子图推荐子图的操作。此时,推荐的结果和用户无关,任何用户,对于同一个输入子图,都会得到相同的推荐结果。
非个性化的子图推荐方法包括下述四个步骤:
步骤一:建立社会网络库,所述社会网络库中存在有不同类型的对象以及这些对象之间的关系,所述对象包括用户、资源、标签和类别。
步骤二:使用重要程度计算装置进行社会网络对象的全局重要性评估。重要程度计算装置的作用是基于随机游走算法为整个社会网络中的每个对象评估全局重要性。
首先介绍如何用随机游走算法为该问题建模,然后给出模型中参数的成对学习算法。
1)构建异构图中的随机游走模型。根据随机游走理论,转移图(参见图3)可以形象地描述一个随机游走者的行为。例如,当随机游走者正在浏览一个用户节点VU,之后他/她会以λUT的概率浏览(也可称之为“跳转到”)该用户使用或创建的标签VT,或者以λUC的概率浏览该用户关联的类别VC,或者以λUR的概率浏览该用户相关的资源VR,或者以λUU的概率浏览该用户的朋友VU。
将上述转移图形式化为一个转移矩阵,记为M。每个元素mij表示从节点i游走到节点j的概率。例如,设节点i是一个用户,满足ui∈VU,节点j是一个资源,满足rj∈VR:
其中Out_Degree(ui→VR)表示从ui到VR中所有节点的有向边个数(有向边个数表示了用户所收藏的资源数)。
下面考虑不同对象类型间的转移概率λ。当一个随机游走者正在浏览类型为X的节点i,他/她有λXY的概率跳转到类型为Y的节点集,然后以λXY*mij的概率跳转到类型为Y的节点j。因此从用户ui到资源rj的转移概率被定义为:
类似的,不难定义网络中其他节点间的所有转移概率。
重要程度向量s是矩阵M迭代式的不动解:
s=As,A=MT (4)
此外,定义随机跳转参数α,其描述了随机游走者随机跳转到网络中的所有其他节点的概率,于是:
M′=(1-α)M+αE,E=(1,...,1)(1/n,...,1.n)T (5)
其中n为网络中节点的总个数,也就是说n=|VU|+|VC|+|VR|+|VT|。
在上述定义的前提下,利用迭代法得到每类节点的重要程度得分:
其中,sU表示所有用户重要程度得分向量,sC表示所有类别重要程度得分向量,sR表示所有资源重要程度得分向量,sT表示所有标签重要程度得分向量;MCU、MRU、MTU和MUU分别表示从类别到用户,从资源到用户,从标签到用户,以及从用户到用户的转移矩阵。
为了简化,将以上四个公式写成以下的通式:
其中X和Y表示任何节点类型,sX和sY是类型X和Y的重要程度得分向量,λXY是从类型X跳转到类型Y的转移概率,MXY是对应于X类型与Y类型间关系的转移矩阵。
可以看到,上述模型需要为每个λXY定值。传统方法通常经验地指定该值。该发明提出自动学习参数的成对学习算法。
2)参数的成对学习算法。异构图可以有很多参数λXY。对于图3,其中的参数构成一个集合Λ={λCT,λCU,λCR,λUC,λUT,λUR,λUU,λRC,λRU,λRC,λTC,λTU,λTR}。事实上,在现实的互联网应用中,对象和关系可能会更加复杂,手工设定这些值非常困难。
一个简单的方法是为所有的参数平均设定值,这样一来,整个模型就会衰退为传统的PageRank算法。但是,我们认为不同类型的关系的权值应该不同。例如,当一个随机游走者停留在一个用户节点上,他/她可能以更高的概率跳转到该用户收藏的资源,而不是该用户使用的标签。我们认为,参数的设置可能对最终推荐结果至关重要。
提出的算法的主要思想是:给定一个训练数据集,目标是找到一个排序目标函数,使得其中的参数能够最好地模拟训练数据。
训练数据记为集合A={(i,j)},其中的每个元素包含一对对象i和j,它们是随机选定的一对相同类型的对象,并且i的重要程度大于j(这里的重要程度是真实的,人工标注的结果)。目标是对于训练数据集中每个对象,利用随机游走模型计算得出的重要度,能够无限接近真实值。因此,目标函数定义为:
s.t.λUT+λUC+λUR+λUU=1,
λTR+λTU+λTC=1,(11)
λCT+λCU+λCR=1,
λRT+λRU+λRC=1,
λXY>0
对于每个节点i,其重要程度si由公式(10)计算得到。si-sj是两个节点重要程度得分的差值,可以通过下式计算得到:
将公式(12)和(13)带入公式(11),对λXY求导并令其导数等于零,得到:
ΔλXY可以看作是参数λXY的学习率。用另一个参数μ控制学习步长,因次关于λXY的最终更新公式可以写为:
λXY′=λXY+μ·ΔλXY (15)
参数学习算法是一个递归的过程,其中每一次迭代由两步组成。在第一步,固定所有的λXY,更新所有的重要程度si。在第二步,固定si,更新所有的参数λXY。结束条件满足后,递归过程结束。以下总结了学习过程。
步骤1://初始化.
1.给所有λXY赋予平均值,使得满足公式(1);
2.初始化所有结点间的转移概率mij(参见公式(2));
步骤2://迭代更新.
3.f_old←-∞;//初始化目标函数值;
4.do{
//更新所有的λXY;
6.用公式(15)更新λXY;
归一化λXY,使其满足公式(1)
7.end for
8.用公式(10)更新所有的si;
9.用公式(11)计算新的目标函数值f_new;
10.until(|f_new-f_old |<τ)
其中,τ是控制结束条件的阈值(在实验中经验地设τ=0.01)。
经过步骤二,社会关系图中的所有节点的重要程度都已经计算完毕,这个计算结果将会提供给推荐子图的装置使用。
步骤三:使用相关程度计算装置对社会网络子图进行相关度评估。相关程度计算装置的作用是对于任何一个输入的社会关系网中的子图,输出当前社会网中和这个子图具有一定相关度的子图。具体的方法是:
1)提取输入子图的关键词。关键词的提取方法是a)得到子图中每个节点的文本表示;b)对于子图中的所有节点,取得所有词的集合,计算每个词在整个集合中出现的次数;c)计算每个词在整个集合中出现的频率;d)计算该子图所有节点中出现的不重复的词的个数;e)对每个词进行排序,取若干个排名最靠前的词作为关键词集合,输出。
2)计算社会网络库中每个对象相对于1)中输出的关键词集合的相关度得分,并且排序。给定一个关键词组,社会网络中的某个对象的相关度得分通过语言模型计算得到:
其中,q是关键词组,o是对象的文本描述(例如,资源的文本描述可以被定义为其标题、标签以及内容的文本集合);|o|是对象的文本描述的单词长度;tf(wk,o)是词wk在o中出现的频率;|O|是对象集合O所包含的词数;tf(wk,O)是词wk在O中出现的频率; ω是取值在区间[0,1]中的参数;υ是另一个参数并且通常被设为O中所有对象的文本描述的平均长度。语言模型描述了对象文本描述和当前状态子图中得到的关键词组之间的相关度。
3)根据2)的排序结果,得到和输入子图相关的子图。对社会关系网中所有的对象,按照它们由2)计算出来的相关度P(q|o)进行排序。设社会关系网中共有n个对象,则取前0.01n个对象;对每个对象oi,在社会关系网络中将其扩展为子图Gi;其中Gi中的节点包含oi和与oi距离不大于2的全部节点。这里距离的一个单位即一条边,比如,如果节点a和节点b之间有一条边相连,那么节点b和a的距离为1;如果节点a和节点c之间无边相连,但是节点a到b,节点b到c之间有边相连,那么节点a到c之间的距离为2。而该子图Gi中若包含k个对象oi1,oi2,..,oik∈{oi1,oi2,..,oiM},则其相关度为这些对象相关度的和∑j=1P(q|oij)。
4)将根据o1,o2,...,oM得到的子图G1,G2,...,GM按照3)计算得出的子图相关度进行排序,返回前十个子图。
步骤四:使用推荐装置进行推荐。
根据重要程度计算装置计算出来的所有社会网络对象的重要程度之和,以及相关程度计算装置计算出来的所有相关社会网络对象的相关度之和,综合考虑前两步的计算结果,使用推荐装置进行推荐。
总结起来,非个性化子图的推荐过程如下:
A)对于输入的子图G,根据相关程度计算装置得到相关的子图,
设为G1,G2,...,Gn
B)通过重要程度计算装置,可以计算出每个相关子图的重要程度,任一个子图Gk的重要程度即为Gk中所有节点的重要程度之和,如下所示:
C)根据重要程度,将G1,...,Gn,进行排序并且输出为推荐子图。
实施例2
本实施例用来说明个性化的子图推荐方法。通过相关程度计算装置、重要程度计算装置以及浏览历史信息计算装置,可以进行社会关系网络中基于子图推荐子图的操作。此时,推荐的结果随用户的不同而不同,即不同的用户,对于同一个输入子图,会得到不同的推荐结果。
个性化的推荐方法是在相关程度计算装置和重要程度计算装置之上再加上浏览信息装置,也就是说,在使用相关程度计算装置进行相关度计算和利用重要程度计算装置进行全局重要性评估之后,在用户登陆的情况下,根据用户的浏览历史进行子图的推荐,可以达到个性化的效果。
使用相关程度计算装置进行相关度计算和利用重要程度计算装置进行全局重要性评估的方法与实施例1中的方法相同,在此不再赘叙,下面重点阐述使用浏览历史信息计算装置得到用户信息的方法。
浏览历史信息计算装置使用用户浏览历史库来计算用户对某个资源的浏览频率,其中浏览历史库的结果如表1所示:
表1.用户浏览历史库的结构
浏览id | 对象id | 浏览时间 | 用户id |
1 | 100 | 2008-3-20 10:00:00 | 1 |
2 | 101 | 2008-3-20 11:00:00 | 2 |
... | ... | ... | ... |
表1中的每一条记录着一个浏览过程,其中浏览id是这个数据库的主键,对象id为这个浏览过程所浏览的对象,浏览时间为浏览过程发生的时间,用户id表明哪个用户在浏览这个资源。
计算某个用户u浏览历史计算装置所采用的计算方法如下:
a)得到u距离当前时间最近的一段时间内的浏览记录,在本实施例中,得到最近72小时之内的浏览记录;
b)得到这段时间内的u浏览过的每个对象oi的次数,记为browsecount(u,oi);
c)计算u对oi的关注度,定义为f(u,oi)=browseCount(u,oi)/∑ k browseCount(u,ok)。
那么,总结起来,整个个性化的子图推荐过程如下:
A)对于输入的子图G,根据社会网络对象相关程度计算装置得到相关的子图,设为G1,G2,..,Gn;
B)得到每个子图的重要程度,这时候要进行归一化,将这些子图中重要程度最高的子图的重要程度设为importantmax,计算方法如下:
随后,得到归一化的重要程度为:
C)得到用户u对子图G1,G2,..,Gn的关注度,对于Gk,设用户u对Gk的关注度为focus(u,Gk),则focus(u,Gk)为用户对于Gk中所有资源的关注度之和,这时候也要进行归一化,首先得到u对G1,G2,..,Gn中关注度最大的子图的关注度,设为focusmax,计算方法如下:
然后得到归一化后的用户u对Gk的关注度,如下所示:
D)得到G1,G2,..,Gn的综合推荐系数,如下所示:
recommend(Gk)=α×important′(Gk)+(1-α)×focus′(u,Gk) (22)
E)将G1,G2,..,Gn根据综合推荐系数进行排序,并且输出为推荐子图。
以下利用两个实验,来评价本发明的有益效果。
第一个实验:在数据集POWAZI上
1)数据集。POWAZI系统是一个允许用户创建/收藏资源的平台。用户也可以创建若干工程(每个工程可以被看作一个类别)并且和其他用户分享工程。此外,标签可以被指派给工程和资源。对于一个使用该系统的用户,他/她可以搜索或者浏览系统中的资源、工程、用户和标签。目标是(当用户进行搜索或浏览时)把人们感兴趣的不同类别的对象(包括用户(U)、资源(R)、工程(P)或标签(T))推荐给他/她。在实际实验中,没有选择资源-标签和用户-用户关系,因此随机游走模型仅包含10个参数,也就是Λ={λPT,λPU,λPR,λUP,λUT,λUR,λRP,λRU,λTP,λTU}.
2)推荐实验。总共实现了5个不同情形中的推荐策略。在实验中,对于输出的子图,对其中的每种类型的对象分别进行评估。其情形和对应的推荐策略如下:
浏览工程时,输入为该工程以及和该工程距离为1的其他节点形成的子图,输出的推荐包含工程和用户的子图。下面定义两个基线方法。第一个基线方法是通过计算P(q|p)仅推荐相关的工程,以及通过计算P(q|u)推荐相关的用户。把这个基线方法称作语言模型(简写为LM)。第二个基线方法是通过计算sp仅推荐重要的工程,通过计算su推荐重要的用户,我们将这个基线方法称为随机游走(简写为RW)。我们的方法是通过将P(q|p)和sp结合起来,既推荐相关的工程,又推荐重要的工程,对用户的推荐也类似(简写为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、P3和MAP来衡量评估结果。评估准则的细节请参见[Craswell,2005]。表2中显示了评估结果。在表2中,“-”表示由于推荐结果少于3个无法计算P3。从结果中,不难看出LM+RW策略在大多情形中胜过LM以及RW。
表2在POWAZI中评估推荐结果(%)
表3中列出了两个具体情形下的推荐样例(分别推荐前3个工程,这里输出的推荐包括该工程以及和该工程距离为2的节点组成的子图,为了评估方便,本发明用该工程代表了该工程所代表的子图)。收集了一些用户对该结果的回馈,回馈结果表明大部分推荐结果非常理想。
表3POWAZI中的推荐结果
将本发明的方法与传统的LM+PageRank方法作对比实验,该方法将LM和PageRank结合起来(将异构图中的参数设置为均值的随机游走模型可以被认为是传统的PageRank)。用LM+RW推荐方法作比较。在这个实验中,试图验证所提出的参数的成对学习算法的优越性。图4给出了表2中10个推荐的P3的比较结果。图中的空白图标表示LM+PageRank,阴影部分表示本发明的策略。可以看出本发明的策略在很多推荐中比LM+PageRank表现更好。在有些任务中,比如SUP和BRP,提高非常显著(10%到20%的增长)。
最后,为了评估参数的成对学习算法,进行附加的实验。具体地说,对于POWAZI系统中的所有对象(包括工程、用户、资源和标签),随机的选择400对,要求7个标注者根据他们的偏好标注每一对中的哪一个更重要。将所有标注者的结果进行汇总,使用投票中的大多数得到真实数据。用准确度作为评估准则。使用部分真实数据作为训练数据集学习参数,再在剩余数据集上测试得到的参数。最终的准确度为81.8%。
将本发明的方法再和手动调整方法得到的结果比较。对于手动调整,让λ从0.1变到0.9,间距为0.1,然后取使得准确度最高的参数设置作为最终结果。因此,我们手动调整的结果可以被视为我们学习方法的上界,在同样的剩余数据集上进行测试,准确度是82%。得到的参数结果和上界接近,其确认了本发明方法的有效性。表4显示了用方法学习的参数取值(简写为学习)和手动调整方法的参数取值(简写为手工)。
表4在POWAZI上用本发明的逐对学习算法和手动调整方法的参数
第二个实验:在数据集ArnetMiner上
1)数据集。ArnetMiner是一个学术社会网络系统,其包含448365研究者,880522个刊物,以及4203个从互联网抽取的期刊/会议。
在这个实验中,任务是当搜索某一类对象时同时推荐包含专家、论文和会议的子图。为了评估的目的,从ArnetMiner的日志中选择七个最高频的查询请求。对于每一个查询请求,收集了ArnetMiner中排序前30的人,以及两个有相似专家查找功能的系统:Libra作者搜索和Rexa作者搜索。我们汇总了全部这些收集到的人以及他们的论文和相关的会议。然后五个高年级研究生和两个教师被邀请做出评判。为了简化评估,在ArnetMiner的数据集子集上进行实验。数据集包含853个人,10778片论文和222个会议。利用引用关系,作者关系和论文发表会议关系创建一张图。总计创建了151699个引用关系,2122个双向作者关系,717个双向论文发表会议关系。
推荐实验。为了简化,只考虑在ArnetMiner中考虑搜索情形的推荐,也就是说,当搜索专家时,输入为返回的专家形成的子图,输出的推荐包含专家,论文和会议的子图,搜索论文和会议亦然。特别的,给定一个搜索查询请求q,结合相关度得分和重要程度(LM+RW)推荐包含3类对象的子图。最后与只考虑相关度得分的语言模型LM比较推荐结果。
这里使用的评价准则和POWAZI实验中的一样。同样为了评测方便,对输出子图中的对象类型分别进行评估。结果如表5所示。
表5ArnetMiner中的推荐评价结果(%)
可以从表5中看出在大多数推荐中LM+RW胜过LM。
表6中给出一些使用查询词“support vector machine”搜索时的推荐样例。
表6使用查询条件“SUPPORT VECTOR MACHINE”搜索时的推荐样例
从实验结果可以看出,本发明的方法在两个数据集上的测试结果都优于基线方法。实验表明,本发明的异构网络中的推荐方法是切实有效的。
以上为本发明的最佳实施方式,依据本发明公开的内容,本领域的普通技术人员能够显而易见地想到一些雷同、替代方案,均应落入本发明保护的范围。
Claims (9)
1.一种异构网络中的推荐方法,其特征在于,所述推荐方法包括以下步骤:
步骤一,建立社会网络库,所述社会网络库中包含有不同类型的对象,所述对象包括用户、资源、类别、标签中的一种或几种;
步骤二,通过计算所述社会网络库中各种类型对象的被浏览概率以及从一种类型的对象转移到其他类型对象的浏览转移概率,获得所述各种类型对象的重要程度;
步骤三,根据当前用户发出搜索请求时所用的对象,提取当前用户搜索的关键词,对所述社会网络库中的对象进行相关度计算,得到社会网络库中的对象与所述当前用户搜索的对象的相关程度;
步骤四,根据步骤二和步骤三中计算出来的所述社会网络库中的对象的重要程度和相关程度,把重要程度和相关程度较大的若干个类型的对象推荐给当前用户;
其中,所述步骤二包括:
A)设置对应于所述社会网络库中的各种类型对象的节点为对应类型的对象节点,所述对象节点包括用户节点、资源节点、类别节点和标签节点中的一种或几种;
B)根据所述社会网络库中的各种类型对象的被浏览概率以及从一种类型的对象转移到其他类型对象的浏览转移概率,构建上述各种类型对象节点之间的浏览转移有向图;
C)将所述浏览转移有向图表示为转移矩阵,根据转移概率理论,设置各种类型对象节点之间的转移概率λXY;
D)设置随机跳转参数α,利用下述等式计算各种类型节点的重要程度,
式中X和Y表示任何节点类型,E是单位矩阵,sX和sY是节点类型X和Y的重要程度向量,λXY是从类型X跳转到类型Y的转移概率,MXY是对应于X类型与Y类型间关系的转移矩阵;
E)设定λXY的值,分别得到不同类型对象的重要程度;
F)对上述重要程度进行排序,获取重要程度较大的若干位对象作为向当前用户推荐的依据。
2.如权利要求1所述异构网络中的推荐方法,其特征在于,所述设定λXY的值的方法是:
给所有λXY赋予平均值,初始化所有节点间的转移概率;
定义并初始化目标函数值;
利用迭代更新的方法,固定所有的λXY,更新所有的重要程度si;固定所有的重要程度si,更新所有的λXY,直到满足结束条件,迭代过程结束,完成设定λXY的值。
3.如权利要求1所述异构网络中的推荐方法,其特征在于,所述步骤三包括:
a)利用当前用户发出搜索请求时所用的对象,提取关键词用于计算相关程度;
b)计算社会网络库中的对象与所述关键词的相关程度,并对该相关程度进行排序,其中计算所述相关程度所用的公式为
其中q是关键词;o是各种类型对象的文本描述;|o|是各种类型对象的文本描述的单词长度;tf(ωk,o)是词ωk在o中出现的频率;|O|是各种类型对象所组成的集合O所包含的词数;tf(ωk,O)是词ωk在O中出现的频率;ω是取值在区间[0,1]中的参数;v为O中所有类型对象文本描述的平均长度;
c)根据上述相关程度的排序结果,获取与所述关键词相关程度较大的若干个对象;
d)将上述若干个相关程度较大的对象分别扩展为子图;
e)叠加子图中所有节点的相关程度得到子图的相关程度,获取相关程度最大的若干个子图作为向当前用户推荐的主要依据。
4.如权利要求3所述异构网络中的推荐方法,其特征在于,所述利用当前用户发出搜索请求时所用的对象,提取关键词用于计算相关程度的具体方法包括:
i)根据当前用户搜索时所用的对象定义对象节点并构建对象节点子图,所述对象节点包括用户节点、资源节点、类别节点、标签节点中的一种或几种;
ii)确定节点子图中每个节点的文本表示,所述文本表示由若干单词组成;
iii)计算上述所有单词的集合以及每个单词在整个集合中出现的次数、频率;
iv)按照频率大小对所有的单词进行排序,提取出现频率较大的若干位作为用于计算相关程度的关键词。
5.如权利要求1所述异构网络中的推荐方法,其特征在于,所述步骤四包括:
根据步骤二和步骤三的结果,向当前用户推荐重要程度较大、相关程度较高的若干位子图。
6.如权利要求1~5任一项所述异构网络中的推荐方法,其特征在于,步骤三之后还包括计算浏览历史信息,得到当前用户对社会网络库中不同类型对象的关注度,并将关注度计算结果作为向当前用户推荐的依据。
7.如权利要求6所述异构网络中的推荐方法,其特征在于,所述计算关注度的过程为:
获取当前用户在一段时间内所浏览过的对象;
计算用户在这段时间内浏览过的每个对象的次数;
计算用户对所浏览的每个对象的关注度,将计算结果作为推荐的依据。
8.一种异构网络中的推荐系统,其特征在于,包括:
社会网络库的建立装置,与重要程度计算装置和相关程度计算装置相连,用于建立社会网络库并将社会网络库中的不同类型的对象提供给重要程度计算装置和相关程度计算装置;
重要程度计算装置,用于计算社会网络库中不同类型对象的重要程度,并将计算结果提供给推荐装置;
相关程度计算装置,与所述推荐装置相连,用于计算社会网络库中的对象与当前用户所需要的对象的相关程度,并将计算结果提供给推荐装置;
推荐装置,用于根据所述相关程度计算装置和所述重要程度计算装置的计算结果,完成向当前用户推荐有较大相关程度以及较大重要程度的子图;
其中重要程度计算装置计算社会网络库中不同类型对象重要程度的方式为:
A)设置对应于社会网络库中的各种类型对象的节点为对应类型的对象节点,所述对象节点包括用户节点、资源节点、类别节点和标签节点中的一种或几种;
B)根据所述社会网络库中的各种类型对象的被浏览概率以及从一种类型的对象转移到其他类型对象的浏览转移概率,构建上述各种类型对象节点之间的浏览转移有向图;
C)将所述浏览转移有向图表示为转移矩阵,根据转移概率理论,设置各种类型对象节点之间的转移概率λXY;
D)设置随机跳转参数α,利用下述等式计算各种类型节点的重要程度,
式中X和Y表示任何节点类型,E是单位矩阵,sX和sY是节点类型X和Y的重要程度向量,λXY是从类型X跳转到类型Y的转移概率,MXY是对应于X类型与Y类型间关系的转移矩阵;
E)设定λXY的值,分别得到不同类型对象的重要程度;
F)对上述重要程度进行排序,获取重要程度较大的若干位对象作为向当前用户推荐的依据。
9.如权利要求8所述的推荐系统,其特征在于,还包括浏览历史信息计算装置,与所述推荐装置相连,用于查找当前用户的浏览历史记录,得到当前用户对各种类型对象的关注程度,并将结果提供给所述推荐装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810116171 CN101321190B (zh) | 2008-07-04 | 2008-07-04 | 一种异构网络中的推荐方法及推荐系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810116171 CN101321190B (zh) | 2008-07-04 | 2008-07-04 | 一种异构网络中的推荐方法及推荐系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101321190A CN101321190A (zh) | 2008-12-10 |
CN101321190B true CN101321190B (zh) | 2013-01-30 |
Family
ID=40181003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810116171 Active CN101321190B (zh) | 2008-07-04 | 2008-07-04 | 一种异构网络中的推荐方法及推荐系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101321190B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104573103A (zh) * | 2015-01-30 | 2015-04-29 | 福州大学 | 一种科技文献异构网络下合作作者推荐方法 |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101819570B (zh) * | 2009-02-27 | 2012-08-15 | 国际商业机器公司 | 网络环境中的用户信息处理和资源推荐的方法和系统 |
CN102004774B (zh) * | 2010-11-16 | 2012-11-14 | 清华大学 | 基于统一概率模型的个性化用户标签建模与推荐方法 |
CN102541921A (zh) * | 2010-12-24 | 2012-07-04 | 华东师范大学 | 一种通过扩展标签推荐资源的控制方法及装置 |
CN102184201B (zh) * | 2011-04-26 | 2014-12-03 | 北京百度网讯科技有限公司 | 一种用于选取查询序列的推荐序列的设备和方法 |
CN102202012B (zh) * | 2011-05-30 | 2015-01-14 | 中国人民解放军总参谋部第五十四研究所 | 通信网络的社团划分方法与系统 |
CN103116589A (zh) * | 2011-11-17 | 2013-05-22 | 腾讯科技(深圳)有限公司 | 一种发送推荐信息的方法及装置 |
CN102495860B (zh) * | 2011-11-22 | 2013-10-02 | 北京大学 | 基于语言模型的专家推荐方法 |
CN103218726B (zh) * | 2012-01-20 | 2016-12-28 | 联想(北京)有限公司 | 一种信息项推荐方法及系统 |
CN103365876B (zh) * | 2012-03-29 | 2020-04-24 | 北京百度网讯科技有限公司 | 基于关系图谱生成网络操作辅助信息的方法与设备 |
CN103810192A (zh) * | 2012-11-09 | 2014-05-21 | 腾讯科技(深圳)有限公司 | 一种用户的兴趣推荐方法和装置 |
WO2014101007A1 (en) * | 2012-12-26 | 2014-07-03 | Thomson Licensing | Method and apparatus for transmitting information within a preset environment |
CN103020276A (zh) * | 2012-12-27 | 2013-04-03 | 新浪网技术(中国)有限公司 | 一种社交对象搜索方法及装置 |
CN104657374A (zh) * | 2013-11-20 | 2015-05-27 | 富士通株式会社 | 信息处理装置、信息处理方法以及电子设备 |
CN103559318B (zh) * | 2013-11-21 | 2016-08-17 | 北京邮电大学 | 对异质信息网络包含的对象进行排序的方法 |
CN103747017B (zh) * | 2014-01-28 | 2016-12-21 | 北京智谷睿拓技术服务有限公司 | 服务信息交互方法及设备 |
CN105022760B (zh) * | 2014-04-30 | 2019-06-25 | 深圳市腾讯计算机系统有限公司 | 一种新闻推荐方法及装置 |
CN105095279B (zh) * | 2014-05-13 | 2019-05-03 | 深圳市腾讯计算机系统有限公司 | 文件推荐方法和装置 |
CN103955535A (zh) * | 2014-05-14 | 2014-07-30 | 南京大学镇江高新技术研究院 | 一种基于元路径的个性化推荐方法及系统 |
CN104103011B (zh) * | 2014-07-10 | 2015-04-29 | 西安交通大学 | 一种基于纳税人利益关联网络的可疑纳税人识别方法 |
CN104156905A (zh) * | 2014-08-15 | 2014-11-19 | 西安交通大学 | 一种基于纳税人利益关联网络的重点监控企业评估方法 |
CN105630800B (zh) * | 2014-10-29 | 2021-01-15 | 杭州师范大学 | 一种节点重要性排序的方法和系统 |
CN104376083B (zh) * | 2014-11-18 | 2017-06-27 | 电子科技大学 | 一种基于关注关系和多用户行为的图推荐方法 |
CN104731861B (zh) * | 2015-02-05 | 2019-10-01 | 腾讯科技(深圳)有限公司 | 多媒体数据推送方法及装置 |
WO2016130626A1 (en) * | 2015-02-11 | 2016-08-18 | Ab Initio Technology Llc | Filtering data lineage diagrams |
CN104809148B (zh) * | 2015-02-27 | 2018-05-25 | 百度在线网络技术(北京)有限公司 | 一种用于确定标杆对象的方法和装置 |
CN105069003B (zh) * | 2015-06-15 | 2018-06-29 | 北京工业大学 | 一种基于转发链相似度的用户关注对象推荐计算方法 |
CN106446100A (zh) * | 2016-09-13 | 2017-02-22 | 乐视控股(北京)有限公司 | 一种内容推荐方法和装置 |
CN107315780B (zh) * | 2017-06-06 | 2020-09-04 | 阿里巴巴(中国)有限公司 | 应用软件推送方法及装置 |
CN107833142A (zh) * | 2017-11-08 | 2018-03-23 | 广西师范大学 | 学术社交网络科研合作者推荐方法 |
CN108268652B (zh) * | 2018-01-29 | 2021-05-11 | 四川乐路科技有限公司 | 一种科普知识推荐系统及方法 |
CN110489669B (zh) * | 2018-05-11 | 2021-11-30 | 中移(苏州)软件技术有限公司 | 一种信息推送方法及装置 |
CN108989397B (zh) * | 2018-06-26 | 2021-04-20 | 腾讯音乐娱乐科技(深圳)有限公司 | 数据推荐方法、装置及存储介质 |
CN108920641B (zh) * | 2018-07-02 | 2021-05-11 | 北京理工大学 | 一种信息融合个性化推荐方法 |
CN109951725B (zh) * | 2019-03-07 | 2021-06-15 | 武汉斗鱼鱼乐网络科技有限公司 | 一种直播间的推荐方法以及相关设备 |
CN113127669B (zh) * | 2020-01-15 | 2023-10-10 | 百度在线网络技术(北京)有限公司 | 广告配图方法、装置、设备和存储介质 |
CN111475738B (zh) * | 2020-05-22 | 2022-05-17 | 哈尔滨工程大学 | 一种基于元路径的异质社交网络位置锚链接识别方法 |
CN112221159B (zh) * | 2020-10-21 | 2022-04-08 | 腾讯科技(深圳)有限公司 | 一种虚拟道具推荐方法、装置及计算机可读存储介质 |
CN112468865B (zh) * | 2020-11-25 | 2024-02-23 | 咪咕视讯科技有限公司 | 一种视频处理方法、vr终端及计算机可读存储介质 |
CN112910929B (zh) * | 2021-03-24 | 2022-01-04 | 中国科学院信息工程研究所 | 基于异质图表示学习的恶意域名检测方法及装置 |
CN113079166B (zh) * | 2021-04-12 | 2022-11-11 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 面向拟态Web服务器的执行体管理与调度方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196904A (zh) * | 2007-11-09 | 2008-06-11 | 清华大学 | 一种基于词频和多元文法的新闻关键词抽取方法 |
-
2008
- 2008-07-04 CN CN 200810116171 patent/CN101321190B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196904A (zh) * | 2007-11-09 | 2008-06-11 | 清华大学 | 一种基于词频和多元文法的新闻关键词抽取方法 |
Non-Patent Citations (2)
Title |
---|
张琰.基于多Agent的电子商务个性化推荐系统研究.《中国优秀硕士学位论文全文数据库》.2007, * |
魏芳.基于贝叶斯网络的用户兴趣发现.《中国优秀硕士学位论文全文数据库》.2007, * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104573103A (zh) * | 2015-01-30 | 2015-04-29 | 福州大学 | 一种科技文献异构网络下合作作者推荐方法 |
CN104573103B (zh) * | 2015-01-30 | 2017-11-17 | 福州大学 | 一种科技文献异构网络下合作作者推荐方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101321190A (zh) | 2008-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101321190B (zh) | 一种异构网络中的推荐方法及推荐系统 | |
Ozsoy | From word embeddings to item recommendation | |
CN100465954C (zh) | 用于搜索术语建议的多种类型数据的加强群集 | |
Sadikov et al. | Clustering query refinements by user intent | |
CN100504856C (zh) | 基于相关词的聚类描述文档的方法和装置 | |
Zhou et al. | Userrec: A user recommendation framework in social tagging systems | |
US8060456B2 (en) | Training a search result ranker with automatically-generated samples | |
CN1702654B (zh) | 计算显示页面中块的重要度的方法和系统 | |
CN102053971B (zh) | 用于面向排序的协同过滤的推荐方法和设备 | |
US20080313115A1 (en) | Behavioral Profiling Using a Behavioral WEB Graph and Use of the Behavioral WEB Graph in Prediction | |
US20110213761A1 (en) | Searchable web site discovery and recommendation | |
CN110321291A (zh) | 测试案例智能提取系统及方法 | |
CN102982042A (zh) | 一种个性化内容推荐方法、平台以及系统 | |
WO2008036351A2 (en) | Systems and methods for aggregating search results | |
CN105095433A (zh) | 实体推荐方法及装置 | |
CN103399932B (zh) | 一种基于语义社会网络本体分析技术的情境识别方法 | |
CN103455487A (zh) | 一种搜索词的提取方法及装置 | |
CN103853831A (zh) | 一种基于用户兴趣的个性化搜索实现方法 | |
CN101706812B (zh) | 一种文档的检索方法和装置 | |
CN107193883B (zh) | 一种数据处理方法和系统 | |
Li et al. | Deep learning powered in-session contextual ranking using clickthrough data | |
CN102637179B (zh) | 词项加权函数确定及基于该函数进行搜索的方法及装置 | |
CN112612951B (zh) | 一种面向收益提升的无偏学习排序方法 | |
Ng et al. | CrsRecs: A personalized course recommendation system for college students | |
CN102156747A (zh) | 一种引入社会化标签的协作过滤评分预测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |