一种获取用户和文档个性化特征的方法和系统的制作方法

文档序号:6487118阅读:103来源:国知局
一种获取用户和文档个性化特征的方法和系统的制作方法
【专利摘要】本发明提出了一种获取用户和文档个性化特征的方法和系统。所述方法通过用户访问文档的信号,来自动地更新用户和文档的个性化特征。用户的个性化特征依据所述用户访问过的文档的个性化特征进行更新;文档的个性化特征依据访问过该文档的用户的个性化特征进行更新。根据获取的用户和文档的个性化特征,可在搜索引擎中实现个性化的文档排序以及在社交网络中实现个性化的信息过滤和筛选。本发明还提出了一种获取用户和文档个性化特征的系统。本发明方法能够提高搜索引擎的查准率和社交网络的信息检索效率。另外,本发明方法还能够提高网页排名算法的反作弊能力。
【专利说明】一种获取用户和文档个性化特征的方法和系统
【技术领域】
[0001]本发明涉及互联网领域,具体来说涉及一种获取用户和文档个性化特征的方法和系统。
【背景技术】
[0002]搜索引擎和社交网络是互联网上获取信息的主要工具。这两种工具的缺点是不能根据用户的特征差异来进行信息的过滤和筛选。例如,不同的用户在同一个搜索引擎中输入相同的关键字,其得到的搜索结果是相同的,与哪个用户提交的搜索查询无关;不同的用户在同一个社交网络中建立相同的关系网络,其获得的信息也是相同的,与哪个用户建立的关系网络无关。
[0003]在现有搜索技术中,核心技术是排序算法,最为有效的排序算法是超链分析算法,例如谷歌的PageRank算法。超链分析算法的输入是由网页设计者根据其主观意愿构建的网页链接关系。尽管它充分反映了网页设计者的个人偏好和对网页链接关系的理解,但是它却无法反映出搜索引擎的使用者——用户的个人偏好。由于从事不同行业或具有不同爱好的用户对同一个网页的重要性评价通常是不同的,而PageRank等现有排序技术对每个网页只能给出唯一的网页排名,这是现有搜索技术的缺点。一个可行的技术解决方案是结合用户和网页的个性化特征来改进搜索结果,使得每个网页的排名不仅依赖于网页之间的链接关系,而且依赖于提交搜索查询的用户的个性化特征和被查询网页的个性化特征。有分析表明,借助用户和网页的个性化特征,能够提高搜索引擎的查准率,减少用户对无效信息的扫描和浏览。
[0004]在现有社交网络技术中,用户通过自己建立的关系网络来获取信息,例如通过关注(follow)他人和加好友等操作来获取他人发布的信息。被关注的人和加为好友的人越多,用户获得的信息也越多。由于担心有重要的或者有趣的信息被遗漏,用户通常会在社交网络中关注更多的人或者加入更多的好友。但是,当关系网络中的用户数量超过邓巴数(Dunbar) 150之后,微博和脸谱(Facebook)等社交网络会逐渐成为对用户进行“信息轰炸”的服务。其原因是现有社交网络技术要求用户必须接收其关系网络中的所有用户发布的所有信息,而不能按信息类别有选择地接收这些信息,这是现有社交网络技术的缺点。一个可行的技术解决方案是让用户获得的信息不仅依赖用户建立的关系网络,而且依赖用户的个性化特征和获取的信息的个性化特征。这将有助于对社交网络上的海量信息进行有效地过滤和筛选,提高社交网络的信息检索效率。为了叙述方便,我们通常把用户在社交网络上获得的每条信息(如一条微博),也看作一个文档。
[0005]要实现上述两个技术解决方案,其必要条件是能够获取用户和网页文档的个性化特征。但是在互联网上获取用户和网页文档的个性化特征通常是困难的,主要有以下几个难点。第一是个性化信息的自动获取问题。据估算目前互联网上有5000亿个网页和20亿用户,手工维护网页文档和用户的个性化特征是不现实的。如何自动获取用户和网页文档的个性化特征是一个难题。第二是个性化信息的更新问题。随着时间的推移,用户的兴趣爱好、工作地点、从事的行业和教育程度等个人信息会发生改变,但是要求大多数用户实时地更新其个性化信息是困难的。第三是个性化信息的语义差异问题。在用户设置的个性化特征中,术语不同但语义相同的个性化特征,难以对其进行有效归类。第四是个性化信息的完备性问题。用户在网站上提供的个人信息通常比较简略。例如对用户兴趣爱好的描述通常是喜欢音乐、打棒球或看书等几项内容,而要求用户全面地描述出其感兴趣的领域是困难的。
[0006]综上所述,如何有效地获取用户和文档的个性化特征,并根据所述个性化特征来提高搜索引擎的查准率以及提高社交网络的信息检索效率,是一个亟待解决的问题。

【发明内容】

[0007]鉴于上述现有技术存在的问题,本发明的目的在于提供一种获取用户和文档个性化特征的方法和系统,来自动获取用户和文档的个性化特征,并根据所述个性化特征来帮助用户过滤和筛选其在互联网上获得的信息。
[0008]根据以上所述的目的,本发明提出了一种获取用户和文档个性化特征的方法,其特征在于,
[0009]在接入互联网的服务器中,存储由多个用户标识组成的用户集U和由多个文档标识组成的文档集D ;存储由多个特征标识组成的特征集K ; [0010]在所述服务器中,为所述用户集U中的至少一个用户或者所述文档集D中的至少一个文档设置参数向量初始值;
[0011]在所述服务器中,多次执行如下步骤:
[0012]接收任意一个用户m(m e U)访问任意一个文档n(n e D)的信号;
[0013]根据所述信号,读取所述用户m的参数向量U(m) = (uwml, uwm2,..., uwmk,...,uwmL),其中所述uwmk表示所述用户m与特征k(k e K)的相关度;
[0014]根据所述信号,读取所述文档η的参数向量D(n) = (dwnl, dwn2,..., (Iwnk,...,dw?L),其中所述dwnk表示所述文档η与特征k(k e K)的相关度;
[0015]应用参数向量更新算法,更新所述用户m和所述文档η的参数向量;设更新后所述用户m的参数向量为U* (m) = (uwml*, UWm2*,..., uwmk*,..., uwmL*),更新后所述文档η的参数向量为DiXn) = (dwnl*, dwn2*..., dwnk*,..., dwnL*),则所述参数向量更新算法包括:
[0016]U* (m) = F1 [U (m), D (η)];
[0017]D* (n) = F2 [U (m), D (η)];
[0018]其中所述匕(.)和所述F2(.)分别是以所述U(m)和所述D(n)为自变量的函数。
[0019]与现有技术相比,本发明可实现个性化的文档排序,进而提高了搜索引擎的查准率以及提高社交网络的信息检索效率。另外,利用网页文档的个性化特征还能够提高网页排序算法的反作弊能力。
【专利附图】

【附图说明】
[0020]图1为在用户集U中每个用户的参数向量表示方法;
[0021]图2为在文档集D中每个文档的参数向量表示方法;
[0022]图3为用户和文档的参数向量更新算法流程图;[0023]图4为在文档集D中每个文档的排序向量表示方法;
[0024]图5为文档排序向量更新算法流程图;
[0025]图6为基于查询向量和排序向量的个性化文档检索方法流程图;
[0026]图7为基于查询向量和参数向量的个性化文档检索方法流程图;
[0027]图8为一种获取用户和文档个性化特征的系统结构图;
[0028]图9为一种获取用户和文档个性化特征的系统的信号序列图。
【具体实施方式】
[0029]结合附图对本发明方法作进一步详细说明。
[0030]本专利方法的具体实施方案说明,包括以下几个部分。首先,说明用户集、文档集和特征集的含义以及用户和文档的参数向量表示方法;然后,说明用户和文档的参数向量更新算法;之后,说明文档的排序向量表示方法以及基于文档参数向量的文档排序算法;再后,说明基于查询向量的个性化文档检索方法;最后,说明一种获取用户和文档个性化特征的系统。
[0031]首先说明用户集U、文档集D和特征集K的含义。
[0032]在接入互联网的服务器中,存储由多个用户标识组成的用户集U和由多个文档标识组成的文档集D。所述用户标识是用户的唯一识别码,例如用户帐号、手机号码、Cookie识别码、IP地址、Email地址或者即时通信号码。所述文档标识是文档的唯一识别码,例如Web网页文档的URL地址、购物网站上的一个产品编号或者一则互联网广告的编号。假设所述用户集U含有M个元素,所述文档集D含有N个元素。
[0033]在接入互联网的服务器中,存储由多个特征标识组成的特征集K。所述多个特征既是所述用户集U中用户的特征,又是所述文档集D中文档的特征。用户和文档使用相同的特征集K。所述特征集K含有L个元素。若用户具有“音乐”特征,说明用户爱好音乐,而文档具有“音乐”特征,说明文档与音乐主题相关。
[0034]下面介绍用户和文档的参数向量的表示方法。所述参数向量表示方法与向量空间模型VSM的向量表述方法相似,即以特征项作为用户特征或文档特征的基本单位。本专利中,以用户与各个特征的相关度的集合作为用户的参数向量,以文档与各个特征的相关度的集合作为文档的参数向量。
[0035]图1为在用户集U中每个用户的参数向量表示方法。在用户集U中任意一个用户m(m e U)的参数向量设置为U (m) = (uwml, uwm2,..., uwmk,..., uwmL),其中所述uwmk表示所述用户m与特征k(keK)的相关度。另外,将所述用户集U中的每个用户与特征k的相关度汇集在一起,组成一个向量,叫做用户集U的第k个用户列向量(uwlk, uw2k,..., Uwtlk)。
[0036]图2为在文档集D中每个文档的参数向量表示方法。在文档集D中任意一个文档n (n e D)的参数向量设置为 D (n) = (dwnl, dwn2,..., dwnk,..., (Iwhl),其中所述(Iwnk 表示所述文档η与特征k(keK)的相关度。另外,将所述文档集D中的每个文档与特征k的相关度汇集在一起,组成一个向量,叫做文档集D的第k个文档列向量(dwlk, dw2k,..., dwNk)。
[0037]所述相关度是一个实数值,它表示用户或者文档与特征集K中的某个特征的关系紧密程度。如果一个用户或者文档与音乐特征关联多一点与体育特征关联少一点,我们就说该用户或者文档与音乐特征的相关度高,与体育特征的相关度低。另外在特征选取时,有些特征之间是具有相关性的,因此可以通过减少特征之间的相关性来降低特征集K的维度,减少对服务器存储空间的需求,提高算法效率。有些特征不必直接列入特征集K中,因为这些特征的相关度可以通过特征集K中的一个或几个其它特征的相关度计算出来。
[0038]下面说明用户或文档的参数向量初始值的设置方法。举如下三个例子进行说明。用户或文档的参数向量初始值范围通常设置为Uwmk e [0,1]和dwnke [0,I],其中me U、n e D和k e K。如果用户或文档的参数向量没有被设置初始值,其参数向量初始值缺省设为零向量。
[0039]例I是人工设置用户m(m e U)或者文档n (n e D)的参数向量初始值的方法。例如设置特征总数L = 5,特征集K=(科学,教育,财经,音乐,体育),设置U(m) = (uwffll,Uwffl2,UWm3, Uwiii4, Uwiii5) = (O, 0.9,0,1,0)。即用户m与“教育”特征的相关度为0.9,与“首乐”特征的相关度为1,与其它特征的相关度均为零。同理,可以设置所述文档η的参数向量D(n)=(dwnl, (Iwn2,..., dwnk,..., dwnL)的初始值。
[0040]例2是设置用户m(m e U)的参数向量初始值的方法。首先由所述用户m提交一组文档集合H={...,r,...} (He D),所述文档 r(r e H)的参数向量为(dwrl,dwr2,..., dwrL),然后,对于每个 k e K,设置 Uwmk = ( σ j/s).Σ (reH) dwrk 或者 uwmk = ( σ j/s).Σ (r e H) [dwrk/(Σ (keK)dwA)],其中s为所述集合H的元素个数,01为设定正常数。使用类似方法,所述用户m也可以在所述用户集U中选择一组用户来计算所述用户m的参数向量初始值。
[0041]例3是一种设置文档的参数向量初始值的方法。分类目录是一种特殊文档,比如门户网站通常包括新闻、音乐、体育、财经和科技等分类目录。我们假设相同分类目录下的文档具有某些相同的特征,例如体育目录下的文档都与体育相关。如果文档n (n e D)是分类目录h (h e D)下的一个文档,则所述文档η的参数向量的初始值由所述分类目录h的参数向量来决定。例如对于每个k e K,设置dwnk = σ 2.(Iwhk,其中σ 2为设定正常数。
[0042]图3为用户和文档的参数向量更新算法流程图。具体包括在接入互联网的服务器中,执行如下步骤:
[0043]Sll.存储由多个用户标识组成的用户集U和由多个文档标识组成的文档集D ;存储由多个特征标识组成的特征集K ;
[0044]S12.为所述用户集U中的至少一个用户或者所述文档集D中的至少一个文档设置参数向量初始值;
[0045]S13.接收任意一个用户m(m e U)访问任意一个文档n(n e D)的信号;
[0046]S14.根据所述信号,读取所述用户m的参数向量U(m) = (uwml,uwm2,..., uwmk,...,uwmL),其中所述uwmk表示所述用户m与特征k(k e K)的相关度;
[0047]S15.根据所述信号,读取所述文档η的参数向量D (n) = (dw^^w^,..., dwnk,...,dw?L),其中所述dwnk表示所述文档η与特征k(k e K)的相关度;
[0048]S16.应用参数向量更新算法更新所述用户m和所述文档η的参数向量;设更新后所述用户m的参数向量if (m) = (uwml*, UWm2*,..., uwmk*...,uwmL*),更新后所述文档η的参数向量 DiXn) = (dwnl*, dwn2*,..., dwnk*,..., (Iwnl*),则所述算法包括:
[0049]U* (m) = F1 [U (m),D (η)];
[0050]D* (n) = F2 [U (m), D (η)];
[0051]在执行完所述步骤S 16后,返回所述步骤S13。[0052]其中所述匕(.)和所述F2(.)分别是以所述U(m)和所述D(n)为自变量的函数。所述用户m代表用户集U中的任何一个用户,而不特指某个用户,所述文档η代表文档集D中的任何一个文档,而不特指某个文档。例如第η次执行步骤S13时在所述信号中m =1023,η = 3428,而第η+1次执行步骤S13时在所述信号中m = 33456,η = 28477 ;另外,所述步骤S12也包括同时为所述用户集U中的至少一个用户以及为所述文档集D中的至少一个文档设置参数向量初始值的情形。
[0053]在图3所述方法的一个应用实例中,对每个特征k e K,所述Uwmk*是所述dwnk的增函数,所述dw:是所述Uwmk的增函数。
[0054]在图3所述方法的一个应用实例中,对每个特征k e K,所述Uwmk"'是2(keK)dwnl^3减函数,所述dw:是Σ (k e K)uwmk的减函数。
[0055]在图3所述方法的一个应用实例中,对于每个特征k e K,所述Uwmk*和所述dw:都是所述用户m访问所述文档集D的频次的减函数。所述频次是在一设定时间段内所述用户m访问所述文档集D中的文档的次数,除以所述设定时间段的长度。
[0056] 在图3所述方法的一个应用实例中,所述信号是在一设定时间段内从用户访问文档的众多信号中随机抽取的。在所述一设定时间段内,对所述用户集U中的每个活跃用户抽取相同数量的访问信号作为图3所述方法的输入信号。所述活跃用户是指在所述一设定时间内,访问所述文档集D达到设定次数的用户。非活跃用户不能使用图3所述方法更新用户和文档的参数向量。
[0057]在图3所述方法中,在执行所述参数向量更新算法达到设定次数I1后,在每个特征k e K下,对第k个用户列向量(uwlk,uw2k,...,uwMk)进行归一化处理;在执行所述参数向量更新算法达到设定次数t2后,在每个特征k e K下,对第k个文档列向量(dwlk, dw2k,...,dwNk)进行归一化处理;其中和t2为正整数。执行一次参数向量更新算法,即执行一次所述步骤S16。所述归一化方法包括以下的具体应用实例。
[0058]例1:对用户集U中第k个用户列向量(uwlk, uw2k,..., uwMk)进行归一化处理的方法如下:对于每个m e U,如果UWmPiiWAi^uwnik = 1,否则设置uwmk=uwmk/HW。其中有两种方法设置所述.1iW,第一是对集合{uwlk,uw2k,...,uwMk}按由大到小的顺序进行排序,将排名第M1的元素赋值绐uw;第二是设所述nw.为一常数,如UW =1.005。对文档集D中第k个文档列向量(dwlk,dw2k,...,dwNk)进行归一化处理的方法如下:对于每个n e D,如果dwnk>dw,则设dwnk = I,否则设置dwnk=dwnk/dw。其中有两种方法设置所述.dw,第一是对集合{dwlk,dw2k,...,dwNk}按由大到小的顺序进行排序,将排名第N1的元素赋值绐-(1^^,第二是设所述,^为一常数,如.不^=1.005。所述Μι和所述N1为设定正常数。
[0059]例2:对文档集D中第k个文档列向量(dwlk,dw2k,...,dwNk)进行归一化处理的方法如下:首先对集合{dwlk, dw2k,..., dwNk}进行排序,以及按照排序结果将集合{dwlk,dw2k,...,dwNk}分成元素个数近似相等的r组,其中任意两组a组和b组的关系是a组中的任何一个元素大于等于b组中的任何一个元素,或者a组中的任何一个元素小于等于b组中的任何一个元素;在每组中取出数值最小的一个数据组成集合{s1;s2,...,Sr^,且S1< S2<...< Sr ;然后,对每个 n e D,如果 dwnk < S1,则设置 dwnk = O ;如果 sm ≤ dwnk < sm+1,则设置 Clwnk = gi (sm);如果 dwnk≥ Sr,则设置dwnk = I。其中 gjsj 为增函数,gi (sm) e (O,1) 例如设g1(Sm) = Sm/Sr ;1≤m < r,r为设定正数。同样方法,可对用户集U中第k个用户列向量进行归一化处理。
[0060]在图3所述方法的一个应用实例中,执行完所述步骤S16之后,还包括对每个特征k G K,设直 Uwmk = Uwmk 和 dwnk = dwnk。
[0061]在图3所述方法的一个应用实例中,所述方法满足对于每个特征k e K,有uwmk* ^ Uwmk 和 dw: ^ dwnk。
[0062]在图3所述方法的一个应用实例中,所述U*(m)和所述D*(n)分别由所述U(m)和所述D (η)唯一确定,与其它变量无关。
[0063]在图3所述方法中,所述信号的类型至少是以下类型中的一种:Τ= I表示所述用户m点击所述文档η的链接,T = 2表示所述用户m键入所述文档η的URL地址,T = 3表示所述用户m将所述文档η设置为喜欢(如脸谱的Like和谷歌的+1),T = 4表示所述用户m转发所述文档n, T = 5表示所述用户m评论所述文档n, T = 6表示所述用户m收藏所述文档η。
[0064]应用实例I
[0065]这是图3所述方法的一个应用实例,其中所述参数向量更新算法具体包括:
[0066]uwmk* =^1* Uwmk+ λ j (n, m, T).fl (dwnk)(对于每个 k e K)
[0067]dw^* = β 2.dwnk+ λ 2 (m, η, T).f2 (uwmk)(对于每个 k e K)
[0068]其中,所述X1O1, m, T)为在所述信号的类型T下所述文档η对所述用户m的影响系数,所述λ2(πι,η, Τ)为在所述信号的类型T下所述用户m对所述文档η的影响系数;^和@2为设定正常数;所述Kdwnk)是所述dWnk的增函数,所述f2(uwmk)是所述UWmk 的增函数。例如 (Idwnk) = O 3.dwnk, f2 (UWmk) = O 4.uwmk ;或者 ((Iwnk) = σ 5.{I/[I+exp Mwnk) ]}, f 2 (uwmk) = σ6.{I/[1+exp (_uwmk) ]},其中 σ 3、σ 4、。5和 σ 6 为设定正常数。
[0069]在所述应用实例I中,对每个特征k e K,为第k个文档列向量设置阀值dCk,如果(Iwnk ( dCk,则取((Iwnk) = O ;对每个特征k e K,为第k个用户列向量设置阀值uCk,如果uwmk ( uCk,则取f2 (uwmk) =0。其中dCk和uCk为设定常数,或者设置dCk等于第k个文档列向量(dwlk, dw2k,..., dwNk)的各个分量中排名在第S1名的分量,以及设置uCk等于第k个用户列向量(uwlk, uw2k, Uwltlk)的各个分量中排名在第a2名的分量叫和a2为设定正整数。
[0070]在所述应用实例I中,所述λ I (n, m, T)和所述λ 2(m,n, T)的具体设置方法包括如下实例:
[0071]例1:设所述λ丨(n, m, Τ)和所述λ 2 (m, η, Τ)为预设常数。例如λ丨(n, m, T) = C1和λ 2 (m, η, Τ) = C2,其中C1和C2为预设正常数,如C1 = C2 = 0.01。
[0072]例2:所述λ J (n, m, T)和所述λ 2 (m, η, Τ)分别是所述用户m访问所述文档集D的频次的减函数。如设 λ !(η,ηι, T) = l/g2[freq(m)], A2(m, η,Τ) = l/g2 [freq (m)],所述g2(x)为增函数。例如g2(x)为分段函数,当X < a3时,g2(x) = I ;当X≥a3时,g2(x)=l+a4(x-a3),其中a3和a4为预设正常数,所述freq(m)为所述用户m访问所述文档集D中的文档的频次。
[0073]例3:设 λ j (n, m, Τ) = l/g3[ Σ (ke Kjdwnk],λ 2 (m, η, Τ) = l/g3[2 (k e K)uwmk],g3(x)为增函数。例如g3(x)为分段函数,当X < a5时,g3(x) = I ;当X > a5时,g3(x)=l+a6(x-a5),其中ajPa6S预设正常数。在计算Σ (k e K)dwnk时,如果dwnk≤min_dCk,贝U取dw^ = O ;在计算 Σ (k e K)uwmk 时,如果 uwmk ( min_uCk,则取 uwmk = O ;其中 min_dCk 和 min_uCk是设定正常数。
[0074]例4:所述 λ I (n, m, Τ) = (I1 (η).U2 (m),所述 λ 2 (m, η, Τ) = U1 (m).d2 (η),其中Cl1(Ii)表示文档η的参数向量是否可以用于更新用户集U中用户的参数向量,U2(Hi)表示用户m的参数向量是否可以被文档集D中文档的参数向量更新,U1(Hi)表示用户m的参数向量是否可以用于更新文档集D中文档的参数向量,d2 (η)表示文档η的参数向量是否可以被用户集U中用户的参数向量更新。U1 (m),U2(m),Cl1 (η)和d2 (η)是预设参数,它们的取值为O或者I。I代表是,O代表否。这个例子的含义是为防止恶意攻击,有些文档(或用户)由于没有经过可靠性认证,其参数向量不能对其它用户(或文档)的参数向量进行更新;有些重要文档(或用户),其参数向量不能被其他用户(或文档)的参数向量所更新。
[0075]例5:所述λ I (n, m, Τ) = S1⑴,所述λ 2 (m, η, Τ) = S2⑴。其中所述T为用户访问文档信号的类型,所述S1(T)和所述S2(T)分别是所述T的函数。
[0076]例6:所述λ I (n, m, T)是所述文档η的被访问次数或者PageRank值的增函数,所述X2(m,n,T)是所述用户m的关系网络中用户数量的增函数。
[0077]例7:所述λ I (n, m, T)和所述λ 2 (m, η, Τ)分别是所述用户m和所述文档η的参数向量之间的相似度sim(m, η)的增函数。例如λ j (n, m, Τ) = l+c3.sim(m, η), λ 2 (m, η,Τ) = l+c4.sim(m, η),其中C3和C4为大于等于I的设定常数,且sim(m, η) = [ Σ (keK)(uwfflk.dwJ]/{[ Σ (keK) (UWfflk)2]172.[ Σ (keK) (dwj2]172}。这个例子的含义是用户和文档的参数向量之间的相似度越高,它们彼此“投票”的比例系数越大。在计算sim(m,n)时,如果 dwnk ( min_dCk,则取 dwnk = O ;如果 uwmk ( min_uCk,则取 uwmk = O,其中 min_dCk 和 min_uCk是设定正常数。
[0078]例8:使用上述例I~7各方法中的至少两种方法的组合,来生成所述λ Αη,πι,Τ)和所述λ 2 (m, η, Τ)。比如在freq (m) >a3时,有
[0079]λ l (n, m, Τ) = C1.{l+c3 *sim(m,n)}.{I/[l+a4 (freq (m)-a3) ]}.((I1 (n).U2 (m)}.S1(T)
[0080]λ 2 (m, n, T) = C2.{l+c4.sim(m,n)}.{I/[l+a4 (freq (m)-a3) ]}.1u1(Iii).d2 (n)}.S2⑴。
[0081]在所述应用实例I中,当执行所述具体的参数向量更新算法达到设定次数后,需要针对每个特征k e K,分别对第k个文档列向量(dwlk, dw2k,..., dwNk)和第k个用户列向量(uwlk, uw2k,..., uwMk)进行归一化处理。
[0082]应用实例2
[0083]这是应用实例I的一个具体实现方法。为了便于说明,假设在互联网上有两个用户和三个文档,每个用户和每个文档均有两个特征,即用户集U= {1,2},文档集D= {I,
2,3},特征集K= {1,2}。用户I和用户2的参数向量分别为(uwn, uw12)和(uw21, uw22),文档1、文档2和文档3的参数向量分别为(dwn, dw12)、(dw21, dw22)和(dw31, dw32)。其中uwmk(m e U, k e K)表示所述用户m与特征k的相关度;dwnk(n e D, k e K)表示所述文档η与特征k的相关度。
[0084]假设在服务器中收到了所述用户2访问所述文档3的信号,且信号类型T = 1,则根据如下参数向量更新算法更新所述用户2和所述文档3的参数向量:
[0085]Uw21* =^1* Uw21+ λ j (3, 2,1).dw31 ;
[0086]Uw22* =^1* Uw22+ λ j (3, 2,1).dw32
[0087]dw31* = β 2.dw31+ λ 2 (2,3,I).Uw21 ;
[0088]dw32* = β 2.dw32+ λ 2 (2,3,I).Uw22
[0089]其中,= β2 = i ^^3,2,1)表示在信号类型T = I时所述文档3对所述用户2的影响系数;λ 2(2,3,I)表示在信号类型T = I时所述用户2对所述文档3的影响系数。例如:
[0090]λ j (3, 2,1) = C1.{l+c3 *sim(2,3)}.{I/[l+a4 (freq (2)-a3) ]}.((I1 (3).U2 (2)}.S1 (I) [0091]λ 2(2,3,1) = C2.{l+c4.sim(2, 3)}.{I/[l+a4(freq(2)-a3) ]}.(U1 (2) ^d2(3)}.S2(I)
[0092]其中,C1= C2 = 0.01, C3 = C4 = 3, sim(2, 3) = (uw21.dw31+uw22.dw32) / {[ (Uw21)2+ (Uw22)2]1/2.[ (dw31)2+ (dw32)2]1/2},a3 = 200, a4 = 0.01, Cl1 (3) = U2 (2) = U1 (2) = d2 (3)=
I,S1(I) = 2, S2(I) = I,且假设 freq(2) > a3。
[0093]在执行完上述参数向量更新算法后,进行如下设置:uw21 = Uw21*, Uw22 = Uw22*, dw31=dw31* 和 dw32 = dw32*。
[0094]在执行完上述参数向量更新算法后,对用户列向量(uwn,UW21)和(uw12,UW22)进行归一化处理,以及对文档列向量(dwn, dw21, dw31)和(dw12, dw22, dw32)进行归一化处理。
[0095]对用户列向量的归一化处理的算法如下:设HW =max(uwj i,uw21),则对特征 k = I 设置 UW11 = UW11Znw, UW2I =Uw2I/Uw;设.nW=max(uw12,uw22),则对特征k = 2设置UW12 = UW12/UWjUW22 = UW22/nW。对文档列向量的归一化处理的算法如下= I 设置 dwu^dwu/dw,dw21 = dw21/dw,dw31 = dw3j/dw:?:dw =max(dw12,dw22,dw32),则对特征 k = 2 设置(Iw12 = Clw12Zdw ,dw22 = dw22/dw,
[0096]dW32 = dW32/dWo
[0097]图4为在文档集D中每个文档的排序向量表示方法。
[0098]搜索引擎的核心技术是排序算法,其中最著名的是PageRank算法。标准的PageRank算法可以用如下公式表示。
,、I — d , ▽ PR(i)
[0099]P尺(P) = —N + d / | ~^7K~⑴

ieT 、J
[0100]其中,集合T(TcD)为网页P(P e D)的链入网页集合,C(i)为网页i(i e τ)的链出网页数量;d表示用户通过其它网页的链接来访问所述网页P的概率;1-d表示用户不通过其它网页的链接(如通过键入URL地址等方式)来访问所述网页P的概率,d e (O,I) ;PR(p)表示所述网页P在所述文档集D中的排序值,N表示文档集D中的网页数量。另外每个网页的初始排序值设为1/N。这里,文档集D中的每个元素都是一个网页。
[0101]标准的PageRank算法的缺点是在互联网上的每个网页仅有唯一的一个网页排序值,即该算法假设每个用户对同一个网页的重要性的评价是相同的。也就是说,PageRank算法没有考虑到提交搜索查询的用户的个性化差异。因此,需要对现有排序算法进行改进。
[0102]我们把传统的PageRank值进行扩展,即将所述文档集D中的任意一个文档P的一维排序值PR(P),扩展为基于领域特征的多维的排序向量。设任一文档p(peD)的排序向量为[PR (p, I), PR (P,2),…,PR (p,k),…,PR(p,L)],其中所述 PR(p,k)表示在特征k(k e K)下所述文档P在所述文档集D中的排序值。在特征k e K下,将每个文档的排序值汇集在一起,组成一个向量,叫做文档集D的第k个排序列向量,即
【权利要求】
1.一种获取用户和文档个性化特征的方法,其特征在于, 在接入互联网的服务器中,存储由多个用户标识组成的用户集U和由多个文档标识组成的文档集D ;存储由多个特征标识组成的特征集K ; 在所述服务器中,为所述用户集U中的至少一个用户或者所述文档集D中的至少一个文档设置参数向量初始值; 在所述服务器中,多次执行如下步骤: 接收任意一个用户m(m e U)访问任意一个文档n(n e D)的信号; 根据所述信号,读取所述用户m的参数向量U (m) = (uwml, UWm2,..., uwmk,..., uwmL),其中所述uwmk表示所述用户m与特征k(k e K)的相关度; 根据所述信号,读取所述文档η的参数向量D (n) = (dwnl, (Iwn2,..., (Iwnk,..., dwnL),其中所述dwnk表示所述文档η与特征k(k e K)的相关度; 应用参数向量更新算法,更新所述用户m和所述文档η的参数向量;设更新后所述用户m的参数向量为U*(m) = (uwml*, uwm2*..., uwmk*..., uwmL*),更新后所述文档η的参数向量为D* (n) = (dwnl*, dwn2*, , dw^*, , dwnL*),则所述参数向量更新算法包括:
U* (m) = F1 [U (m), D (η)];
D* (n) = F2 [U (m), D (η)]; 其中所述匕(.)和所述F2(.)分别是以所述U(m)和所述D(n)为自变量的函数。
2.根据权利要求1所述的方法,其特征在于,对每个特征ke K,所述Uwmk*是所述dwnk的增函数,所述dw:是所述Uwmk的增函数。
3.根据权利要求1所述的方法,其特征在于,对每个特征ke K,所述Uwmk*和所述dw:分别是所述用户m访问所述文档集D的频次的减函数。
4.根据权利要求1所述的方法,其特征在于,对每个特征keK,所述UWmk*是Σ (keK)(Iwnk的减函数,所述dw:是Σ (k e κ)uwmk的减函数。
5.根据权利要求1所述的方法,其特征在于,执行所述参数向量更新算法达到设定次数tl后,针对每个特征k e K,对第k个用户列向量(uwlk,uw2k,...,uwMk)进行归一化处理;执行所述参数向量更新算法达到设定次数&后,针对每个特征k e K,对第k个文档列向量(dwlk, dw2k, , dwNk)进行归一化处理。
6.根据权利要求1所述的方法,其特征在于,在所述参数向量更新算法的一个应用实例中,所述Uwmk*和所述dw:的具体更新方法如下:
uwmk* = β I.uwmk+ λ j (n, m, T).f1 (dwnk)(对于每个 k e K)
dwnk* = β 2.(Iwnk+ λ 2(m, η, Τ).f2 (uwmk)(对于每个 k e K) 其中,所述X1(I^nuT)为在所述信号的类型T下所述文档η对所述用户m的影响系数,所述X2(m,n,T)为在所述信号的类型T下所述用户m对所述文档η的影响系数;^和β2为设定正常数;所述Kdwnk)是所述dwnk的增函数,所述f2(uwmk)是所述UWmk的增函数。
7.根据权利要求6所述的方法,其特征在于,所述X1O1,m, T)和所述λ2(πι,η, Τ)分别是所述用户m访问所述文档集D的频次的减函数。
8.根据权利要求6所述的方法,其特征在于,所述X1O1,m, T)和所述λ2(πι,η, Τ)分别是所述用户m的参数向量和所述文档η的参数向量之间的相似度的增函数。
9.根据权利要求1所述的方法,其特征在于,所述文档集D中至少含有两个文档子集,其中文档子集S(SeD)中的每个文档都含有至少一个链接指向所述文档集D中的其它文档,文档子集E(EgD)中的每个文档都被所述文档子集S中的至少一个文档含有的链接所指向;并且s UE = D,she关Φ; 所述文档集D中的每个文档还设有排序向量,设任一文档p(p e D)的排序向量为[PR (p, I), PR (p, 2),...,PR(p,k),...,PR(p,L)],其中所述 PR(p,k)表示在特征 k(k e K)下所述文档P在所述文档集D中的排序值; 因此,排序向量更新算法如下:所述文档集D中的任意一个文档P在特征k(k e K)下的排序值,是所述文档P的每个链入文档在所述特征k下的排序值和所述链入文档与所述特征k的相关度的函数。
10.根据权利要求9所述的方法,其特征在于,在所述方法的一个应用实例中,在每个特征k e K下,任一文档P e D在所述文档集D中的排序值定义为: P/?(p, k) = —~d) + d ^ PR(i, k).dwik

ieT 其中,集合T(TcS)为所述文档P的链入文档集合,d表示用户通过其它文档的链接来访问所述文档P的概率,所述PR(i,k)表示文档i在特征k(k e K)下的排序值,所述dwik表示所述文档i与特征k(k e K)的相关度,N是所述文档集D中的文档个数。
11.根据权利要求9所述的方法,其特征在于,在所述方法的一个应用实例中,在每个特征k e K下,任一文档P e D在所述文档集D中的排序值定义为:
,、 (1__d) , J srPR(i,k)'dwik mP, fc) = +d I ~^ 其中,集合T(TcS)为所述文档p的链入文档集合,d表示用户通过其它文档的链接来访问所述文档P的概率,所述PR(i,k)表示文档i在特征k(k e K)下的排序值,所述dwik表示所述文档i与特征k(keK)的相关度,C(i)是所述文档i的链出文档数量,N是所述文档集D中的文档个数。
12.根据权利要求9所述的方法,其特征在于,所述方法包括一个文档排序应用实例,所述应用实例包括在所述服务器中执行如下步骤: S10.根据所述参数向量更新算法,更新所述文档集D中多个文档的参数向量以及所述用户集U中多个用户的参数向量; S20.对每个特征k e K设置所述文档集D中的第k个排序列向量的初始值; S30.对每个特征k e K,应用所述排序向量更新算法,迭代更新所述文档集D中第k个排序列向量,即更新所述文档集D中每个用户的排序向量; S40.接收用户q(q E U)设置的查询向量和所述用户q提交的搜索条件,并且在所述搜索条件中提取搜索关键字; S50.在所述文档集D中检索与所述搜索关键字匹配的一组文档Q ; S60.根据所述查询向量和所述一组文档Q中的每个文档的排序向量,计算所述一组文档Q中的每个文档的个性化排序值; S70.根据所述个性化排序值,对所述一组文档Q进行排序,并且根据排序结果将所述一组文档Q中的多个文档的链接发送给所述用户q。
13.根据权利要求1所述的方法,其特征在于,所述方法包括一个文档排序应用实例,所述应用实例包括在所述服务器中执行如下步骤: Al0.根据所述参数向量更新算法,更新所述文档集D中多个文档的参数向量以及所述用户集U中多个用户的参数向量; A20.接收用户q(q e U)设置的查询向量和所述用户q提交的搜索条件,并且在所述搜索条件中提取搜索关键字; A30.在所述文档集D中检索与所述搜索关键字匹配的一组文档Q ; A40.根据所述查询向量和所述一组文档Q中的每个文档的参数向量,计算所述一组文档Q中的每个文档的个性化排序值; A50.根据所述个性化排序值,对所述一组文档Q进行排序,并且根据排序结果将所述一组文档Q中的多个文档的链接发送给所述用户q。
14.一种获取用户和文档个性化特征的系统,其特征在于,所述系统包括如下功能模块: 用户集、文档集和特征集设置模块:在用户数据库中存储由多个用户标识组成的用户集U,在文档数据库中存储由多个文档标识组成的文档集D ;在特征数据库中存储由多个特征标识组成的特征集K ; 用户和文档初始值设置模块:为所述用户集U中的至少一个用户设置参数向量初始值并将其存·储于用户数据库;为所述文档集D中的至少一个文档设置参数向量初始值并将其存储于文档数据库;为所述文档集D中的每个文档设置排序向量初始值;未被设置参数向量初始值的用户和文档,其参数向量初始值缺省为零向量; 用户访问文档信号采集模块:用于采集任意一个用户m(m e U)访问任意一个文档n(n e D)的信号,所述信号存储于Web日志数据库中; 用户和文档参数向量更新模块:根据所述信号包含的所述用户m和所述文档η的标识,在所述用户数据库中读取所述用户m的参数向量以及在所述文档数据库中读取所述文档η的参数向量;然后应用参数向量更新算法,更新所述用户m和所述文档η的参数向量;最后用更新后的所述用户m的参数向量和所述文档η的参数向量分别更新所述用户数据库和所述文档数据库; 文档排序向量更新模块:在所述文档集D中,以文档之间的链接关系、每个文档的排序向量初始值以及每个文档的参数向量作为输入数据,应用排序向量更新算法,迭代更新在每个特征k(k e K)下所述文档集D中每个文档的排序值,以及应用更新后的所述排序值更新所述文档数据库;所述文档之间的链接关系,是由所述文档集D中的每个文档所包含的文档链接来决定的; 用户查询模块:首先,接收查询用户q(q e D)设置的查询向量和所述用户q提交的搜索条件,并且在所述搜索条件中提取搜索关键字;然后,在所述文档集D中检索与所述搜索关键字匹配的一组文档Q ;之后,根据所述查询向量和所述一组文档Q中每个文档的排序向量,计算所述一组文档Q中每个文档的个性化排序值,或者根据所述查询向量和所述一组文档Q中每个文档的参数向量,计算所述一组文档Q中每个文档的个性化排序值;最后,根据所述个性化排序值对所述一组文档Q进行排序,以及按照排序结果将所述一组文档Q中的多个文档的链接发送给所述用户q。
【文档编号】G06F17/30GK103544190SQ201210253997
【公开日】2014年1月29日 申请日期:2012年7月17日 优先权日:2012年7月17日
【发明者】祁勇 申请人:祁勇
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1