CN103870521A - 一种获取用户和文档个性化特征的方法和系统 - Google Patents
一种获取用户和文档个性化特征的方法和系统 Download PDFInfo
- Publication number
- CN103870521A CN103870521A CN201210581899.1A CN201210581899A CN103870521A CN 103870521 A CN103870521 A CN 103870521A CN 201210581899 A CN201210581899 A CN 201210581899A CN 103870521 A CN103870521 A CN 103870521A
- Authority
- CN
- China
- Prior art keywords
- document
- user
- vector
- feature
- parameter vector
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种获取用户和文档个性化特征的方法和系统。所述方法通过用户访问文档的信号,来自动地更新用户和文档的个性化特征。用户的个性化特征依据用户访问过的文档的个性化特征进行更新,文档的个性化特征依据访问过该文档的用户的个性化特征进行更新。该方法解决了用户和文档个性化特征的大范围自动获取和实时更新等问题。根据获取的用户和文档的个性化特征,可在搜索引擎中实现个性化的文档排序以及在社交网络中实现个性化的信息过滤和筛选,进而提高搜索引擎的查准率和社交网络的信息检索效率。本发明还提出了一种获取用户和文档个性化特征的系统。另外本发明方法还能够提高网页排序算法的反作弊能力。
Description
技术领域
本发明涉及互联网领域,具体来说涉及一种获取用户和文档个性化特征的方法和系统。
背景技术
搜索引擎和社交网络是互联网上获取信息的主要工具。这两种工具的缺点是不能根据用户的个性化差异来进行信息的过滤和筛选。例如,不同的用户在同一个搜索引擎中输入相同的关键字,他们得到的搜索结果是相同的,与哪个用户提交的搜索查询无关;不同的用户在同一个社交网络中建立相同的关系网络,他们获得的信息也是相同的,与哪个用户建立的关系网络无关。
在现有搜索技术中,核心技术是排序算法,最为有效的排序算法是超链分析算法,例如谷歌的PageRank算法。超链分析算法的输入是由网页设计者根据其主观意愿构建的网页链接关系。尽管它充分反映了网页设计者的个人偏好和对网页链接关系的理解,但是它却无法反映出搜索引擎的使用者——用户的个人偏好。由于从事不同行业或具有不同爱好的用户对同一个网页的重要性评价通常是不同的,而PageRank等现有排序技术对于每个网页只能给出唯一的网页排名,这是现有搜索技术的缺点。一个可行的技术解决方案是结合用户和网页的个性化特征来改进搜索结果,使得每个网页的排名不仅依赖于网页之间的链接关系,而且依赖于提交搜索查询的用户的个性化特征和被查询网页的个性化特征。有分析表明,借助用户和网页的个性化特征,能够提高搜索引擎的查准率,减少用户对无效信息的扫描和浏览。
在现有社交网络技术中,用户通过自己建立的关系网络来获取信息,例如通过关注(follow)他人和加好友(friending)等操作来获取他人发布的信息。被关注的和加为好友的人数越多,用户获得的信息也越多。由于担心有重要的或者有趣的信息被遗漏,用户通常会在社交网络中关注更多的人或者加入更多的好友。但是,当关系网络中的用户数量超过邓巴数(Dunbar)150之后,微博和脸谱(Facebook)等社交网络会逐渐成为对用户进行“信息轰炸”的服务。其原因是现有社交网络技术要求用户必须接收其关系网络中的所有用户发布的所有信息,而不能按信息类别和用户的个性化特征有选择地接收这些信息,这是现有社交网络技术的缺点。一个可行的技术解决方案是让用户获得的信息不仅依赖于用户建立的关系网络,而且依赖于接收到的信息的类别和接收用户的个性化特征。这将有助于对社交网络上的海量信息进行有效地过滤和筛选,提高社交网络的信息检索效率。
为叙述简便起见,通常把网页以及用户在社交网络上获得的每条信息(如一条微博)都看作是文档。因此,要实现上述两个技术解决方案,其必要条件是能够获取用户和文档的个性化特征。但是在互联网上获取用户和文档的个性化特征通常是困难的,主要有以下几个难点。第一是个性化信息的自动获取问题。据估算目前互联网上有20亿用户和5000亿个网页,手工维护用户和网页文档的个性化特征是不现实的。如何自动获取用户和网页文档的个性化特征是一个难题。第二是个性化信息的更新问题。随着时间的推移,用户的兴趣爱好、工作地点、从事的行业和教育程度等个人信息会发生改变,但是要求大多数用户实时地更新其个性化信息是困难的。第三是特征的语义差异问题。不同用户设置的个性化特征经常出现术语不同但语义相同的问题,因此难以根据用户设置的个性化特征对用户和文档进行有效分类。第四是个性化信息的完备性问题。用户在网站上提供的兴趣爱好信息通常比较简略,例如喜欢音乐、打棒球或看书等几项内容,而要求多数用户全面地描述出其感兴趣的领域是困难的。
综上所述,如何有效地获取用户和文档的个性化特征,并根据所述个性化特征来提高搜索引擎的查准率以及提高社交网络的信息检索效率,是一个亟待解决的问题。
发明内容
鉴于上述现有技术存在的问题,本发明的目的在于提供一种获取用户和文档个性化特征的方法和系统,来自动获取用户和文档的个性化特征,并根据所述个性化特征来帮助用户过滤和筛选其在互联网上获得的信息。
根据以上所述的目的,本发明提出了一种获取用户和文档个性化特征的方法,其特征在于,所述方法包括在接入互联网的服务器中执行如下步骤:
S11.获取并存储由多个用户标识组成的用户集U,由多个文档标识组成的文档集D,以及由多个特征标识组成的特征集K;
S12.为所述用户集U中的至少一个用户设置参数向量初始值,或者为所述文档集D中的至少一个文档设置参数向量初始值,未设置参数向量初始值的用户和文档,其参数向量初始值缺省设为零向量;
S13.接收任意一个用户m(m∈U)访问任意一个文档n(n∈D)的信号;
S14.根据所述信号,读取所述用户m的参数向量(uwm1,uwm2,...,uwmk,...,uwmL),其中所述uwmk表示所述用户m与特征k(k∈K)的相关度;
S15.根据所述信号,读取所述文档n的参数向量(dwn1,dwn2,...,dwnk,...,dwnL),其中所述dwnk表示所述文档n与特征k(k∈K)的相关度;
S16.应用参数向量更新算法,更新所述用户m和所述文档n的参数向量,设更新后所述用户m的参数向量为(uwm1 *,uwm2 *,...,uwmk *,...,uwmL *),更新后所述文档n的参数向量为(dwn1 *,dwn2 *,...,dwnk *,...,dwnL *),则所述算法包括:
返回所述步骤S13;
其中,所述λ1(n,m,k,T)为在所述信号的类型T和所述特征k下所述文档n对所述用户m的影响系数,λ1(n,m,k,T)≥0,所述λ2(m,n,k,T)为在所述信号的类型T和所述特征k下所述用户m对所述文档n的影响系数,λ2(m,n,k,T)≥0,f1(x)、f2(x)、g1(x)和g2(x)都是非负增函数,且g1(x)≥x,g2(x)≥x,所述UKm是由所述用户m的参数向量(uwm1,uwm2,...,uwmk,...,uwmL)中数值最大的Pm个分量所对应的特征组成的集合,所述DKn是由所述文档n的参数向量(dwn1,dwn2,...,dwnk,...,dwnL)中数值最大的Qn个分量所对应的特征组成的集合,所述Pm和所述Qn为预设常数,若则默认uwmk *=uwmk,若则默认dwnk *=dwnk。
与现有技术相比,本发明方法解决了用户和文档个性化特征的自动获取和实时更新等问题,并且实现了个性化的文档排序,进而提高了搜索引擎的查准率以及社交网络的信息检索效率。另外,利用网页文档的个性化排序值还能够提高网页排序算法的反作弊能力。
附图说明
图1为在用户集U中每个用户的参数向量表示方法;
图2为在文档集D中每个文档的参数向量表示方法;
图3为用户和文档的参数向量更新算法流程图;
图4为在文档集D中每个文档的排序向量表示方法;
图5为文档排序向量更新算法流程图;
图6为基于查询向量和排序向量的个性化文档检索方法流程图;
图7为基于查询向量和参数向量的个性化文档检索方法流程图;
图8为一种基于用户查询向量和广告参数向量的广告推送方法;
图9为一种获取用户和文档个性化特征的系统结构图;
图10为一种获取用户和文档个性化特征的系统的信号序列图。
具体实施方式
结合附图对本发明方法作进一步详细说明。
首先说明用户集U、文档集D和特征集K的含义。在接入互联网的服务器中,获取并存储由多个用户标识组成的用户集U和由多个文档标识组成的文档集D。所述用户标识是用户的唯一识别码,例如用户帐号、手机号码、Cookie识别码、IP地址、Email地址或者即时通信号码。所述文档标识是文档的唯一识别码,例如web网页的URL地址、一条微博的地址、购物网站上的一个产品编号或者一则互联网广告的编号。在互联网上获取多个用户标识的一个例子是接收多个用户的注册信息并在其中提取用户标识,在互联网上获取多个文档标识的一个例子是通过派遣蜘蛛程序在网络上进行搜索而获取多个网页的网址。设所述用户集U含有M个元素,所述文档集D含有N个元素。
在所述接入互联网的服务器中,存储由多个特征标识组成的特征集K。所述多个特征既是所述用户集U中用户的特征,又是所述文档集D中文档的特征。用户和文档使用相同的特征集K。若用户具有“音乐”特征,说明用户爱好音乐,而文档具有“音乐”特征,说明文档与音乐主题相关。设所述特征集K含有L个元素。
下面介绍用户和文档的参数向量的表示方法。所述参数向量表示方法与向量空间模型VSM的向量表述方法相似,即以特征项作为用户特征或文档特征的基本单位。本专利中,以用户与各个特征的相关度的集合作为用户的参数向量,以文档与各个特征的相关度的集合作为文档的参数向量。
图1为在用户集U中每个用户的参数向量表示方法。在用户集U中任意一个用户m(m∈U)的参数向量设为(uwm1,uwm2,...,uwmk,...,uwmL),其中所述uwmk表示所述用户m与特征k(k∈K)的相关度。另外,将所述用户集U中的每个用户与特征k的相关度汇集在一起,组成一个向量,叫做用户集U的第k个用户列向量(uw1k,uw2k,...,uwMk)。
图2为在文档集D中每个文档的参数向量表示方法。在文档集D中任意一个文档n(n∈D)的参数向量设为(dwn1,dwn2,...,dwnk,...,dwnL),其中所述dwnk表示所述文档n与特征k(k∈K)的相关度。另外,将所述文档集D中的每个文档与特征k的相关度汇集在一起,组成一个向量,叫做文档集D的第k个文档列向量(dw1k,dw2k,...,dwNk)。
所述相关度是一个非负实数值,它表示用户或者文档与特征集K中的某个特征的关系紧密程度。如果一个用户或者文档与音乐特征关联多一点与体育特征关联少一点,我们就说该用户或者文档与音乐特征的相关度高,与体育特征的相关度低。另外在特征选取时,有些特征之间是具有相关性的,因此可以通过减少特征之间的相关性来降低特征集K的维度,减少服务器存储和计算的负荷,提高算法效率。有些特征不必直接列入特征集K中,因为这些特征的相关度可以通过特征集K中的一个或几个其它特征的相关度计算出来。
下面说明用户或文档的参数向量初始值的设置方法。本专利方法需要对所述用户集U中的一部分用户设置参数向量初始值,或者对所述文档集D中的一部分文档设置参数向量初始值。用户或文档的参数向量初始值的取值范围通常设为对于每个i∈U、j∈D和k∈K,有uwik∈[0,1]和dwjk∈[0,1]。如果用户或文档的参数向量没有被设置初始值,其参数向量初始值缺省设为零向量。下面以用户i和文档j为例说明参数向量初始值设置方法。
例1是直接设置法。例如设置特征总数L=5,特征集K=(科学,教育,财经,音乐,体育),设置所述用户i的参数向量(uwi1,uwi2,uwi3,uwi4,uwi5)=(0,0.9,0,1,0),即用户i与“教育”特征的相关度为0.9,与“音乐”特征的相关度为1,与其它特征的相关度均为零,同理可以设置所述文档j的参数向量(dwj1,dwj2,dwj3,dwj4,dwj5)的初始值。
例2是设置所述用户i(i∈U)的参数向量初始值的方法。首先由所述用户i提交一组文档集合所述文档r(r∈H)的参数向量为(dwr1,dwr2,...,dwrL),然后对于每个特征k∈K,设置uwik=(σ/s)·∑(r∈H)dwrk,其中s为所述集合H的元素个数,σ为预设常数。使用类似方法,所述用户i也可以在所述用户集U中选择一组用户来计算所述用户i的参数向量初始值。
例3是一种设置文档的参数向量初始值的方法。分类目录是一种特殊文档,比如门户网站通常包括新闻、音乐、体育、财经和科技等分类目录。我们假设相同分类目录下的文档具有某些相同的特征,例如体育目录下的文档都与体育相关。如果所述文档j(j∈D)是分类目录h(h∈D)下的一个文档,则所述文档j的参数向量初始值由所述分类目录h的参数向量来决定。例如对于每个k∈K,设置dwjk=σ·dwhk,其中σ为预设常数。
每个用户和文档都设有其参数向量是否可被更新的标志,所述标志为1表示用户或文档的参数向量可以被更新,所述标志为0表示用户或文档的参数向量不可以被更新。
图3为用户和文档的参数向量更新算法流程图。所述算法具体包括在接入互联网的服务器中,执行如下步骤:
S11.获取并存储由多个用户标识组成的用户集U,由多个文档标识组成的文档集D,以及由多个特征标识组成的特征集K;
S12.为所述用户集U中的至少一个用户设置参数向量初始值,或者为所述文档集D中的至少一个文档设置参数向量初始值,未设置参数向量初始值的用户和文档,其参数向量初始值缺省设为零向量;
S13.接收任意一个用户m(m∈U)访问任意一个文档n(n∈D)的信号;
S14.根据所述信号,读取所述用户m的参数向量(uwm1,uwm2,...,uwmk,...,uwmL),其中所述uwmk表示所述用户m与特征k(k∈K)的相关度;
S15.根据所述信号,读取所述文档n的参数向量(dwn1,dwn2,...,dwnk,...,dwnL),其中所述dwnk表示所述文档n与特征k(k∈K)的相关度;
S16.应用参数向量更新算法,更新所述用户m和所述文档n的参数向量,设更新后所述用户m的参数向量为(uwm1 *,uwm2 *,...,uwmk *,...,uwmL *),更新后所述文档n的参数向量为(dwn1 *,dwn2 *,...,dwnk *,...,dwnL *),则所述算法包括:
uwmk *=g1(uwmk)+λ1(n,m,k,T)·f1(dwnk)(对于每个)
dwnk *=g2(dwnk)+λ2(m,n,k,T)·f2(uwmk)(对于每个)
返回所述步骤S13;
其中,所述λ1(n,m,k,T)为在所述信号的类型T和所述特征k下所述文档n对所述用户m的影响系数,λ1(n,m,k,T)≥0,所述λ2(m,n,k,T)为在所述信号的类型T和所述特征k下所述用户m对所述文档n的影响系数,λ2(m,n,k,T)≥0,f1(x)、f2(x)、g1(x)和g2(x)都是非负增函数,且g1(x)≥x,g2(x)≥x,所述UKm是由所述用户m的参数向量(uwm1,uwm2,...,uwmk,...,uwmL)中数值最大的Pm个分量所对应的特征组成的集合,所述DKn是由所述文档n的参数向量(dwn1,dwn2,...,dwnk,...,dwnk)中数值最大的Qn个分量所对应的特征组成的集合,所述Pm和所述Qn为预设常数,且Pm≤L,Qn≤L,若则默认uwmk *=uwmk,若则默认dwnk *=dwnk。
在图3所述的方法中,所述用户m代表用户集U中的任何一个用户,而不特指某个用户,所述文档n代表文档集D中的任何一个文档,而不特指某个文档。例如某次执行所述步骤S13时在所述信号中m=1023,n=3428,而下一次执行所述步骤S13时在所述信号中m=33456,n=28477。
在图3所述的方法中,在返回所述步骤S13之前,所述方法还包括对于每个特征k∈DKn设置uwmk=uwmk *,以及对于每个特征k∈UKm设置dwnk=dwnk *的步骤。
在图3所述的方法中,所述方法还包括在执行所述参数向量更新算法达到预设次数t1后,在每个特征k∈K下,对第k个用户列向量(uw1k,uw2k,...,uwMk)进行规范化处理的步骤,以及在执行所述参数向量更新算法达到预设次数t2后,在每个特征k∈K下,对第k个文档列向量(dw1k,dw2k,...,dwNk)进行规范化处理的步骤。执行一次所述参数向量更新算法,即执行一次所述步骤S13至所述步骤S16。所述规范化处理包括如下具体应用实例的一个。
例1:对用户集U中第k个用户列向量(uw1k,uw2k,...,uwMk)进行规范化处理的方法如下:对于参数向量可被更新的每个用户i∈U,如果uwik≥Umax(k)则设uwik=1,否则设置uwik=uwik/Umax(k),其中所述Umax(k)为第k个用户列向量(uw1k,uw2k,...,uwMk)中数值最大的M1个分量的平均值,所述M1为预设常数,或者所述Umax(k)为预设常数,如Umax(k)=1.02。
对文档集D中第k个文档列向量(dw1k,dw2k,...,dwNk)进行规范化处理的方法如下:对于参数向量可被更新的每个文档j∈D,如果dwjk≥Dmax(k)则设dwjk=1,否则设置dwjk=dwjk/Dmax(k),其中所述Dmax(k)为第k个文档列向量(dw1k,dw2k,...,dwNk)中数值最大的N1个分量的平均值,所述N1为预设常数,或者所述Dmax(k)为预设常数,如Dmax(k)=1.02。
例2:对用户集U中第k个用户列向量(uw1k,uw2k,...,uwMk)进行规范化处理的方法如下:对于参数向量可被更新的每个用户i∈U,如果uwik≥Umax(k)则设uwik=1,否则设置uwik=h1[uwik/Umax(k)],其中所述Umax(k)为第k个用户列向量(uw1k,uw2k,...,uwMk)中数值最大的M1个分量的平均值,所述M1为预设常数,或者所述Umax(k)为预设常数,所述h1(x)为增函数,比如设h1(x)=xu(k),所述u(k)为与特征k相关的预设常数,且u(k)∈[1/5,5]。
对文档集D中第k个文档列向量(dw1k,dw2k,...,dwNk)进行规范化处理的方法如下:对于参数向量可被更新的每个文档j∈D,如果dwjk≥Dmax(k)则设dwjk=1,否则设置dwjk=h2[dwjk/Dmax(k)],其中所述Dmax(k)为第k个文档列向量(dw1k,dw2k,...,dwNk)中数值最大的N1个分量的平均值,所述N1为预设常数,或者所述Dmax(k)为预设常数,所述h2(x)为增函数,比如设h2(x)=xd(k),所述d(k)为与特征k相关的预设常数,且d(k)∈[1/5,5]。
在图3所述的方法中,所述方法还包括在执行所述参数向量更新算法达到预设次数t3后,在每个特征k∈K下,对参数向量可被更新的每个用户i∈U设置uwik=ζ1(k)·uwik的步骤,以及在执行所述参数向量更新算法达到预设次数t4后,在每个特征k∈K下,对参数向量可被更新的每个文档j∈D设置dwjk=ζ2(k)·dwjk的步骤,其中所述ζ1(k)和所述ζ2(k)为与所述特征k相关的预设衰减系数,且ζ1(k)∈(0,1)和ζ2(k)∈(0,1),例如设置ζ1(k)=ζ2(k)=0.99。
在图3所述方法的一个应用实例中,所述方法还包括同时为所述用户集U中的多个用户设置参数向量初始值以及为所述文档集D中的多个文档设置参数向量初始值的步骤。
在图3所述方法的一个应用实例中,所述信号是在一预设时段内从用户访问文档的众多信号中随机抽取的。例如在所述一预设时段内,对所述用户集U中的每个活跃用户抽取相同数量的访问信号作为图3所述方法的输入信号。所述活跃用户是指在所述一预设时段内,访问所述文档集D达到预设次数的用户。
在图3所述方法的一个应用实例中,所述g1(uwmk)=uwmk,所述g2(dwnk)=dwnk。
在图3所述方法的一个应用实例中,所述f1(dwnk)=σ1·[dwnk/∑(k∈K)dwnk]d(k),所述f2(uwmk)=σ2·[uwmk/∑(k∈K)uwmk]u(k),其中所述d(k)和所述u(k)是与特征k相关的预设常数,且d(k)∈[1/5,5],u(k)∈[1/5,5],所述σ1和σ2为预设常数。
在图3所述方法的一个应用实例中,所述f1(dwnk)=σ1·[dwnk]d(k),所述f2(uwmk)=σ2·[uwmk]u(k),其中所述d(k)和所述u(k)是与特征k相关的预设常数,且d(k)∈[1/5,5],u(k)∈[1/5,5],所述σ1和σ2为预设常数。
在图3所述方法的一个应用实例中,设所述f1(dwnk)和所述f2(uwmk)的上界分别为D1和D2,如果f1(dwnk)≥D1则设置f1(dwnk)=D1,如果f2(uwmk)≥D2则设置f2(uwmk)=D2,其中所述D1和D2是预设常数。
在图3所述方法的一个应用实例中,对每个特征k∈K,如果dwnk小于预设常数则取f1(dwnk)=0,如果uwmk小于预设常数则取f2(uwmk)=0。
在图3所述方法的一个应用实例中,所述影响系数λ1(n,m,k,T)和所述影响系数λ2(m,n,k,T)的具体设置方法包括如下实例:
例1:所述λ1(n,m,k,T)和所述λ2(m,n,k,T)分别是所述用户m和所述文档n的参数向量之间的相似度sim(m,n)的增函数。例如设λ1(n,m,k,T)=1+c1·sim(m,n),λ2(m,n,k,T)=1+c2·sim(m,n),其中c1和c2为预设常数,且
sim(m,n)=[∑(k∈K)(uwmk·dwnk)]/{[∑(k∈K)(uwmk)2]1/2·[∑(k∈K)(dwnk)2]1/2}
这个例子的含义是所述用户m和所述文档n的参数向量之间的相似度越高,它们彼此“投票”的比例系数越大。另外,在计算sim(m,n)时,如果dwnk≤min_dCk,则取dwnk=0,如果uwmk≤min_uCk,则取uwmk=0,其中min_dCk和min_uCk分别是与特征k相关的预设常数。
例2:所述λ1(n,m,k,T)是b1(k)的增函数,所述λ2(m,n,k,T)是b2(k)的增函数,比如设置λ1(n,m,k,T)=b1(k)以及设置λ2(m,n,k,T)=b2(k),其中所述b1(k)和所述b2(k)分别是与特征k相关的预设正常数。
例3:所述λ1(n,m,k,T)和所述λ2(m,n,k,T)分别是所述用户m访问所述文档集D的频次的减函数,如设λ1(n,m,k,T)=1/h3[freq(m)],λ2(m,n,k,T)=1/h3[freq(m)]。所述h3(x)为增函数,比如所述h3(x)为分段函数,若x<a1则h3(x)=1,若x≥a1则h3(x)=1+a2(x-a1),若x≥a3>a1则取λ1(n,m,k,T)=0和λ2(m,n,k,T)=0,其中a1,a2和a3为预设常数。所述freq(m)为所述用户m访问所述文档集D中的文档的频次,所述频次是指在预设时段内所述用户m访问所述文档集D中的文档的次数。
例4:所述λ2(m,n,k,T)是所述文档n被访问频次的减函数,如设λ2(m,n,k,T)=1/h4[freq1(n)],其中所述h4(x)为增函数,比如所述h4(x)为分段函数,若x<a4则h4(x)=1,若x≥a4则h4(x)=1+a5(x-a4),若x≥a6>a4则取λ2(m,n,k,T)=0,其中a4,a5和a6为预设常数。所述freq1(n)为所述文档n被访问的频次,所述频次是指在预设时段内所述文档n被访问的次数。
例6:所述λ1(n,m,k,T)是dLnk的减函数,所述λ2(m,n,k,T)是uLmk的减函数,比如设λ1(n,m,k,T)=h5(dLnk)和λ2(m,n,k,T)=h5(uLmk),其中所述dLnk为所述dwnk在所述文档n的参数向量(dwn1,dwn2,...,dwnk,...,dwnL)的各分量中从大到小排序的名次,所述uLmk为所述uwmk在所述用户m的参数向量(uwm1,uwm2,...,uwmk,...,uwmL)的各分量中从大到小排序的名次,所述h5(x)为减函数,且h5(x)≥0。
例7:所述λ1(n,m,k,T)=d1(n)·u2(m),所述λ2(m,n,k,T)=u1(m)·d2(n),其中d1(n)表示文档n的参数向量是否可以用于更新用户集U中用户的参数向量,u2(m)表示用户m的参数向量是否可以被文档集D中文档的参数向量更新,u1(m)表示用户m的参数向量是否可以用于更新文档集D中文档的参数向量,d2(n)表示文档n的参数向量是否可以被用户集U中用户的参数向量更新。u1(m),u2(m),d1(n)和d2(n)是预设参数,它们的取值为0或者1。1代表是,0代表否。
例8:所述λ1(n,m,k,T)=s1(T),所述λ2(m,n,k,T)=s2(T),其中所述T为用户访问用户信号的类型,所述s1(T)和所述s2(T)分别是与所述T的相关的常数。
例9:所述λ1(n,m,k,T)=a(xn),所述λ2(m,n,k,T)=b(ym),其中所述xn为所述文档n的重要程度分值,比如所述文档n的被访问次数或者PageRank值,所述ym为所述用户m的重要程度分值,比如所述用户m的粉丝数量,所述a(x)和b(y)均为增函数,所述a(x)把x映射到一个预设区间[1,c],所述b(y)把y映射到一个预设区间[1,d],其中c和d为预设常数。
例10:所述λ1(n,m,k,T)是uwmk的增函数,所述λ2(m,n,k,T)是dwnk的增函数,比如设置λ1(n,m,k,T)=uwmk以及设置λ2(m,n,k,T)=dwnk,其中所述uwmk为所述用户m与特征k的相关度,所述dwnk为所述文档n与特征k的相关度。
例11:使用上述例1至例10所述各方法中的至少两种方法的组合,来生成所述λ1(n,m,k,T)和λ2(m,n,k,T),所述组合是指上述各例的结果的乘积,比如
λ1(n,m,k,T)=[1+c1·sim(m,n)]·[u1(n)·u2(m)]·b1(k)·h5(dLnk)·s1(T)·a(xn)
λ2(m,n,k,T)=[1+c2·sim(m,n)]·[u1(m)·u2(n)]·b2(k)·h5(uLmk)·s2(T)·b(ym)
在图3所述方法的一个应用实例中,设所述λ1(n,m,k,T)和所述λ2(m,n,k,T)的上界分别为D3和D4,如果λ1(n,m,k,T)≥D3则设置λ1(n,m,k,T)=D3,如果λ2(m,n,k,T)≥D4则设置λ2(m,n,k,T)=D4,其中所述D3和D4是预设常数。
在图3所述方法的一个应用实例中,所述信号的类型至少是以下类型中的一种:T=1表示所述用户m点击所述文档n的链接,T=2表示所述用户m键入所述文档n的URL地址,T=3表示所述用户m将所述文档n设置为喜欢(如使用脸谱的Like按钮和谷歌的+1按钮),T=4表示所述用户m转发所述文档n,T=5表示所述用户m评论所述文档n,T=6表示所述用户m收藏所述文档n,T=7表示所述用户m给所述文档n设置类别标签。
应用实例1
这是图2所述方法的一个具体实现方法。假设在互联网上有两个用户和三个文档,即用户集U={1,2},文档集D={1,2,3}。设特征集K={1,2},P1=P2=Q1=Q2=Q3=2,且UK1=UK2=DK1=DK2=DK3=K={1,2}。用户1和用户2的参数向量分别设为(uw11,uw12)和(uw21,uw22),文档1、文档2和文档3的参数向量分别设为(dw11,dw12)、(dw21,dw22)和(dw31,dw32),其中uwik表示所述用户i∈U与特征k的相关度,dwjk表示所述文档j∈D与特征k的相关度。对于任意用户i∈U设置g1(uwik)=uwik以及,对于任意文档j∈D设置g2(dwjk)=dwjk以及f1(dwjk)=σ1·[dwjk/∑(k∈DKj)dwjk]d(k),所述d(k)和所述u(k)是与所述特征k相关的预设常数。
如果在服务器中收到了所述用户2访问所述文档3的信号,且信号类型T=1,则根据所述参数向量更新算法以及g1(uwik)、g2(dwjk)、f1(dwjk)和f2(uwik)的上述定义,对所述用户2和所述文档3的参数向量进行更新,算法如下:
uw21 *=uw21+λ1(3,2,1,1)·σ1·[dw31/(dw31+dw32)]d(1)
uw22 *=uw22+λ1(3,2,2,1)·σ1·[dw32/(dw31+dw32)]d(2)
dw31 *=dw31+λ2(2,3,1,1)·σ2·[uw21/(uw21+uw22)]u(1)
dw32 *=dw32+λ2(2,3,2,1)·σ2·[uw22/(uw21+uw22)]u(2)
其中,σ1=σ2=0.01,d(1)=d(2)=u(1)=u(2)=1,λ1(3,2,k,1)表示在信号类型T=1和所述特征k下所述文档3对所述用户2的影响系数,λ2(2,3,k,1)表示在信号类型T=1和所述特征k下所述用户2对所述文档3的影响系数,k∈K,且有
λ1(3,2,k,1)=[1+c1·sim(2,3)]·{1/h3[freq(2)]}·b1(k)·[d1(3)·u2(2)]·h5(dL3k)·s1(1)
λ2(2,3,k,1)=[1+c2·sim(2,3)]·{1/h3[freq(2)]}·b2(k)·[u1(2)·d2(3)]·h5(uL2k)·s2(1)
其中,c1=c2=5,sim(2,3)=(uw21·dw31+uw22·dw32)/{[(uw21)2+(uw22)2]1/2·[(dw31)2+(dw32)2]1/2},h3(x)=1+a2(x-a1),a1=300,a2=0.01,freq(2)=500,b1(1)=b2(1)=1,b1(2)=b2(2)=1.5,u1(2)=u2(2)=d1(3)=d2(3)=1,dL31=1,dL32=2,h5(dL31)=1.2,h5(dL32)=1,uL21=2,uL22=1,h5(uL21)=1,h5(uL22)=1.2,s1(1)=2,s2(1)=1,k∈K。
在执行完上述参数向量更新算法后,进行如下赋值:uw21=uw21 *,uw22=uw22 *,dw31=dw31 *和dw32=dw32 *。
在执行完上述参数向量更新算法后,对用户列向量(uw11,uw21)和(uw12,uw22)分别进行规范化处理,以及对文档列向量(dw11,dw21,dw31)和(dw12,dw22,dw32)分别进行规范化处理。
图4为在文档集D中每个文档的排序向量表示方法。
搜索引擎的核心技术是排序算法,其中最著名的是PageRank算法。标准的PageRank算法可以用如下公式表示。
其中,集合T为网页p的链入网页集合,c(i)为网页i的链出网页数量,d表示用户通过其它网页的链接来访问所述网页p的概率,1-d表示用户不通过其他网页的链接(如通过键入URL地址等方式)来访问所述网页p的概率,且d∈(0,1),PR(p)表示所述网页p的排序值(即网页的PR值),N表示网页数量。另外每个网页的初始排序值设为1/N。所述公式(1)可以表述成如下的向量形式:
标准的PageRank算法的缺点是在互联网上的每个网页仅有唯一的一个网页排序值,即PageRank算法假设每个用户对同一个网页的重要性的评价是相同的。这是不合理的,排序算法应该考虑到提交搜索查询的用户的个性化差异,因此,需要对现有排序算法进行改进。
改进的方法是将任意一个网页p的一维排序值PR(p),扩展为基于领域特征的多维排序向量。为表述方便起见,在以下叙述中把网页称作文档。设文档集D中的任意一个文档p的排序向量为[PR(p,1),PR(p,2),...,PR(p,k),...,PR(p,L)],其中所述PR(p,k)表示在特征k(k∈K)下所述文档p在所述文档集D中的排序值。所述文档集D中的每个文档的排序向量都设有初始值。另外在每个特征k∈K下,将所述文档集D中的每个文档的排序值汇集在一起,组成一个向量,叫做文档集D的第k个排序列向量,即
图5为文档排序向量更新算法流程图。在使用图3所述方法获取多个文档的参数向量后,图3所述方法还包括通过排序向量更新算法,计算在每个特征k下所述文档集D的第k个排序列向量的步骤,即计算所述文档集D中每个文档的排序向量。
设所述文档集D中的每个文档的类型是如下三种类型中的一种,第一种是链入文档、第二种是链出文档、第三种既是链入文档又是链出文档。若文档a包含指向文档b的链接,则把文档a称作文档b的链入文档,把文档b称作文档a的链出文档。
因此,排序向量更新算法如下:所述文档集D中的任意一个文档p在特征k(k∈K)下的排序值,是所述文档p的每个链入文档在所述特征k下的排序值和所述每个链入文档与所述特征k的相关度的函数。
所述排序向量更新算法,包括以下具体应用实例。
其中,k∈K,n为迭代步数, 是全1的列向量,N表示所述文档集D中的文档个数,PRn(i,k)表示在特征k下文档i在第n次迭代后的排序值,d为预设常数,且d∈(0,1),所述的初始值为矩阵A是一个与所述特征k相关的非负矩阵,且矩阵A=(aij)N×N定义为:
在所述公式(5)中,所述dwik表示文档i与特征k(k∈K)的相关度,并且设置常数dwmin,dwmin∈(0,1),若dwik<dwmin,则取dwik=dwmin,所述c(i)为所述文档i的链出文档的数量,如果文档i∈D为悬垂页(Dangling Page),也就是说,所述文档i没有链出文档,则对于每个文档j∈D,设置所述aij为一常数,例如设置aij∈[dwmin/N,1/N]。
例2:在上述例1中,所述矩阵A=(aij)N×N的另一种定义方法为:
其中,所述dwik表示文档i与特征k(k∈K)的相关度,并且设置常数dwmin,dwmin∈(0,1),若dwik<dwmin,则取dwik=dwmin,如果文档i∈D为悬垂页,则对于每个文档j∈D,设置aij为一常数,例如设置aij∈[dwmin/N,1/N]。
R10.选取任意一个特征k∈K;
R11.根据所述公式(5)或者公式(6),在所述特征k下生成非负矩阵A;
R14.对所述进行规范化处理,即
图6为基于查询向量和排序向量的个性化文档检索方法流程图。该方法包括在执行图5所述方法并且获得所述文档集D中的每个文档的排序向量后,在服务器中进一步执行以下步骤:
S21.接收任意一个用户q(q∈U)设置的查询向量和所述用户q提交的搜索条件,并且在所述搜索条件中提取搜索关键字,其中所述搜索条件可设为用户在搜索对话框中提交的所有信息;
S22.在所述文档集D中检索与所述搜索关键字匹配的一组文档Q;
S23.根据所述查询向量和所述一组文档Q中的每个文档的排序向量,计算所述一组文档Q中的每个文档的个性化排序值;
S24.根据所述个性化排序值,对所述一组文档Q进行排序,并且根据排序结果将所述一组文档Q中的至少一个文档的链接发送给所述用户q。
在图6所述方法的一个应用实例中,设用户q的查询向量为(swq1,swq2,...,swqk,...,swqL),其中swqk表示在特征k(k∈K)下被查询文档在所述文档集D中的排序值,swqk∈[0,1],所述查询向量的设置方法如下:
例1:由所述用户q提交一组文档标识Sq={...,r,...}。所述文档r(r∈Sq)的排序向量设为[PR(r,1),PR(r,2),...,PR(r,k),...,PR(r,L)],因此,对于每个特征k∈K,所述用户q的查询向量设置为swqk=(σ/s)·∑(r∈sq)PR(r,k),其中s为所述集合Sq的元素个数,σ为预设正常数。
在图6所述方法的一个应用实例中,所述步骤S23中的所述个性化排序值的计算方法如下:设UR(i,q)表示基于所述用户q的查询向量的任意一个文档i(i∈Q)的个性化排序值,则定义
UR(i,q)=∑(k∈K)[PR(i,k)·swqk]或者
UR(i,q)={∑(k∈K)[PR(i,k)·swqk]}/{[∑(k∈K)(PR(i,k))2]1/2·[∑(k∈K)(swqk)2]1/2}。
其中,所述PR(i,k)表示在特征k下所述文档i的排序值,所述swqk表示在特征k下被查询文档在所述文档集D中的排序值,在计算所述UR(i,q)时,如果PR(i,k)<min_PRk,则取PR(i,k)=0,如果swqk<min_SW,则取swqk=0,所述min_PRk是与所述特征k相关的预设常数,所述min_SW为预设常数。
图7为基于查询向量和参数向量的个性化文档检索方法流程图。该方法包括在执行图3所述方法并且获得多个用户和文档的参数向量后,在所述服务器中进一步执行以下步骤:
S31.接收任意一个用户q(q∈U)设置的查询向量和所述用户q提交的搜索条件,并且在所述搜索条件中提取搜索关键字,其中所述搜索条件可设为用户在搜索对话框中提交的所有信息;
S32.在所述文档集D中检索与所述搜索关键字匹配的一组文档Q,根据所述搜索条件还可对所述一组文档Q进行进一步过滤,例如选择PageRank值大于设定常数的文档或者PageRank值最大的设定数量的文档;
S33.根据所述查询向量和所述一组文档Q中的每个文档的参数向量,计算所述一组文档Q中的每个文档的个性化排序值;
S34.根据所述个性化排序值,对所述一组文档Q进行排序,并且根据排序结果将所述一组文档Q中的至少一个文档的链接发送给所述用户q。
在图7所述方法的一个应用实例中,设用户q的查询向量为(swq1,swq2,...,swqk,...,swqL),其中swqk表示被查询文档与特征k(k∈K)的相关度,swqk[0,1],所述查询向量的设置方法如下:
例1:直接设置法。即由所述用户q设置每个特征的相关度,如设置swq2=1,swq6=0.8,其它向量分量为0。
例2:把所述用户q的参数向量赋值给所述查询向量。
例3:所述用户q提交一组用户标识Sq={...,r,...},所述用户r(r∈Sq)的参数向量为(uwr1,uwr2,...,uwrL),因此对每个特征k∈K,设置swqk=(σ/s)·∑(r∈sq)uwrk,其中s为所述集合Sq的元素个数,σ为预设正常数。
例4:所述用户q提交一组文档标识Sq={...,r,...}。所述文档r(r∈Sq)的参数向量为(dwr1,dwr2,...,dwrL),因此对每个特征k∈K,设置swqk=(σ/s)·∑(r∈sq)dwrk,其中s为所述集合Sq的元素个数,σ为预设正常数。
在图7所述方法的一个应用实例中,所述步骤S33中的所述个性化排序值的计算方法如下:设UR(i,q)表示基于所述用户q的查询向量的任意一个文档i(i∈Q)的个性化排序值,则定义
UR(i,q)=∑(k∈K)(dwik·swqk)或者
UR(i,q)=[∑(k∈K)(dwik·swqk)]/{[∑(k∈K)(dwik)2]1/2·[∑(k∈K)(swqk)2]1/2}。
其中,所述dwik表示所述文档i与特征k(k∈K)的相关度,所述swqk表示被查询文档与特征k(k∈K)的相关度。在计算UR(i,q)时,如果dwnk≤min_dCk,则取dwnk=0,如果swqk≤min_SW,则取swqk=0,其中min_dCk为与所述特征k相关的预设常数,所述min_SW是预设常数。
图7所述方法的一个应用实例是微博。用户发布一条微博文档(tweet)后,就可以设置这条微博文档的参数向量初始值了,例如把发布这条微博文档的用户的参数向量乘以一个预设常数,赋值给这条微博文档的参数向量。每当微博服务器收到了用户访问所述微博文档的信号后(如由用户转发、评论或收藏等动作产生的信号),就根据所述信号中包含的用户标识和微博文档标识,分别读取所述用户的参数向量和所述微博文档的参数向量,然后根据参数向量更新算法,更新所述用户和所述微博文档的参数向量。
当用户打开微博时,就开始计算用户预先设置的查询向量和用户收到的每条微博文档的参数向量之间的个性化排序值,并且根据所述个性化排序值的大小对用户收到的微博文档进行排序,以及按照排序结果将用户收到的微博文档呈现给用户。
图7所述方法的一个应用实例是网上购物。在购物网站上,产品信息以分类目录的形式进行组织。每个产品有唯一识别码,这里的产品相当于所述方法中的文档。所述分类目录也是一种文档,设有参数向量初始值。每个分类目录下的产品的参数向量初始值由其所属分类目录的参数向量的初始值决定,参见参数向量初始值设置方法的例3。产品的参数向量也可以直接人工设定,或者将发布该产品的用户的参数向量乘以一个预设常数,赋值给所述产品的参数向量。另外,可以设置多个用户的参数向量初始值。
当购物网站收到了用户访问产品的信号后(例如由浏览、评论、收藏、购买等动作产生的信号),就可以根据所述信号中包含的用户标识和产品标识,分别读取所述用户的参数向量和所述产品的参数向量,然后根据参数向量更新算法,更新所述用户和所述产品的参数向量。
当任意一个用户选择了个性化产品浏览功能后,他就可以对购物网站上的产品信息进行个性化过滤和筛选了。其方法是首先由该用户预设查询向量,然后该用户在购物网站中浏览产品分类目录并点击了其中一个分类目录,之后服务器开始计算所述查询向量与被选中目录下的每个产品的参数向量之间的个性化排序值,最后根据所述个性化排序值的数值大小对选中目录下的产品进行排序,以及按照排序结果将其中至少一个产品呈现给该用户。
图8为一种基于用户查询向量和广告参数向量的广告推送方法。首先在服务器中存储由多个广告标识组成的广告集A,并且为所述广告集A中的每个广告设置参数向量初始值,其中任意一个广告g(g∈A)的参数向量设为(awg1,awg2,...,awgk,...,awgL),所述awgk表示所述广告g与特征k(k∈K)的相关度,且awgk∈[0,1]。因此,图3所述方法还包括如下的基于用户查询向量和广告参数向量的广告推送步骤:
S41.接收任意一个用户q(q∈U)设置的查询向量,所述查询向量的设置方法与图7设置查询向量的方法相同;
S42.接收所述用户q访问所述文档集D的指令;
S43.当接收到所述指令后,根据所述查询向量和所述广告集A中每个广告的参数向量,计算所述每个广告的个性化排序值;
S44.根据所述个性化排序值的大小,对所述广告集A进行排序,并且根据所述排序结果将所述广告集A中至少一个广告推送给所述用户q。
在图8所述方法的一个应用实例中,用AR(g,q)表示基于所述用户q的查询向量的任意一个广告g(g∈A)的个性化排序值,则所述AR(g,q)定义如下:
AR(g,q)=∑(k∈K)(awgk·swqk)或者
AR(g,q)=[∑(k∈K)(awgk·swqk)]/{[∑(k∈K)(awgk)2]1/2·[∑(k∈K)(swqk)2]1/2}
其中,所述awgk表示所述广告g与特征k(k∈K)的相关度,所述swqk表示被查询文档与特征k(k∈K)的相关度。
在图8所述方法的一个应用实例中,每个广告的参数向量初始值有两种设置方法,一种是直接设置法,例如对于广告g(g∈A)而言,设awg2=1,awg6=0.9,其它的向量分量为0。第二种方法是把任意广告n∈A看作是一个文档,当任意一个用户m∈U访问任意一个广告n∈A时,使用与图3相同的算法,分别更新所述用户m和所述广告n的参数向量。
图9为一种获取用户和文档个性化特征的系统结构图。所述系统200包括如下功能模块:
用户集、文档集和特征集设置模块211:在用户数据库220中存储由多个用户标识组成的用户集U,在文档数据库230中存储由多个文档标识组成的文档集D,以及在特征数据库240中存储由多个特征标识组成的特征集K;
用户和文档初始值设置模块212:为所述用户集U中的至少一个用户设置参数向量初始值并将其存储于用户数据库220,为所述文档集D中的至少一个文档设置参数向量初始值并将其存储于文档数据库230,以及为所述文档集D中的每个文档设置排序向量初始值,未设置参数向量初始值的用户和文档,其参数向量初始值缺省设为零向量;
用户访问文档信号采集模块213:用于采集任意一个用户m(m∈U)(102)访问任意一个文档n(n∈D)的信号,所述信号存储于Web日志数据库250中,所述用户m(102)访问所述文档n的信号,将被发送到至少一个应用服务器中,所述应用服务器包括门户网站服务器301、社交网络服务器302、搜索引擎服务器303和即时通信服务器304;
用户和文档参数向量更新模块214:首先在所述Web日志数据库240中查询并读取所述信号,然后根据所述信号包含的所述用户m和所述文档n的标识,在所述用户数据库220中读取所述用户m(102)的参数向量以及在所述文档数据库230中读取所述文档n的参数向量,之后应用参数向量更新算法,更新所述用户m(102)和所述文档n的参数向量,最后用更新后的所述用户m(102)的参数向量和所述文档n的参数向量分别更新所述用户数据库220和所述文档数据库230;
文档排序向量更新模块215:在所述文档集D中,以文档之间的链接关系、多个文档的参数向量以及每个文档的排序向量初始值作为输入数据,应用排序向量更新算法,迭代更新在每个特征k∈K下所述文档集D的第k个排序列向量,以及应用更新后的所述排序列向量更新所述文档数据库230;所述文档之间的链接关系,是由所述文档集D中的每个文档所包含的文档链接来决定的;
用户查询模块216:首先接收任意一个查询用户q设置的查询向量和所述用户q提交的搜索条件,并且在所述搜索条件中提取搜索关键字,然后在所述文档集D中检索与所述搜索关键字匹配的一组文档Q,之后根据所述查询向量和所述一组文档Q中每个文档的排序向量,计算所述一组文档Q中每个文档的个性化排序值,或者根据所述查询向量和所述一组文档Q中每个文档的参数向量,计算所述一组文档Q中每个文档的个性化排序值,最后根据所述个性化排序值对所述一组文档Q进行排序,以及按照排序结果将所述一组文档Q中的至少一个文档的链接发送给所述用户q。
图10为一种获取用户和文档个性化特征的系统的信号序列图。首先在用户访问文档信号采集模块213中采集用户m(102)访问文档n的信号,然后由所述采集模块213将所述信号发送到Web日志数据库240,之后用户和文档参数向量更新模块214在Web日志数据库240中查询并读取所述信号,再后由所述参数向量更新模块214向用户数据库220发送读取所述用户m(102)的参数向量的请求,后者返回所述用户m(102)的参数向量,以及由所述参数向量更新模块214向文档数据库230发送读取所述文档n的参数向量的请求,后者返回所述文档n的参数向量,接着在所述参数向量更新模块214中,使用参数向量更新算法,更新所述用户m(102)和所述文档n的参数向量,最后所述更新模块214用更新后的所述用户m(102)的参数向量和所述文档n的参数向量分别更新所述用户数据库220和所述文档数据库230。
以上所述应用实例仅为本发明的较佳的应用实例,并非用以限定本发明的保护范围。
Claims (18)
1.一种获取用户和文档个性化特征的方法,其特征在于,所述方法包括在接入互联网的服务器中执行如下步骤:
S11.获取并存储由多个用户标识组成的用户集U,由多个文档标识组成的文档集D,以及由多个特征标识组成的特征集K;
S12.为所述用户集U中的至少一个用户设置参数向量初始值,或者为所述文档集D中的至少一个文档设置参数向量初始值,未设置参数向量初始值的用户和文档,其参数向量初始值缺省设为零向量;
S13.接收任意一个用户m(m∈U)访问任意一个文档n(n∈D)的信号;
S14.根据所述信号,读取所述用户m的参数向量(uwm1,uwm2,...,uwmk,...,uwmL),其中所述uwmk表示所述用户m与特征k(k∈K)的相关度;
S15.根据所述信号,读取所述文档n的参数向量(dwn1,dwn2,...,dwnk,...,dwnL),其中所述dwnk表示所述文档n与特征k(k∈K)的相关度;
S16.应用参数向量更新算法,更新所述用户m和所述文档n的参数向量,设更新后所述用户m的参数向量为(uwm1 *,uwm2 *,...,uwmk *,...,uwmL *),更新后所述文档n的参数向量为(dwn1 *,dwn2 *,...,dwnk *,...,dwnL *),则所述算法包括:
返回所述步骤S13;
其中,所述λ1(n,m,k,T)为在所述信号的类型T和所述特征k下所述文档n对所述用户m的影响系数,λ1(n,m,k,T)≥0,所述λ2(m,n,k,T)为在所述信号的类型T和所述特征k下所述用户m对所述文档n的影响系数,λ2(m,n,k,T)≥0,f1(x)、f2(x)、g1(x)和g2(x)都是非负增函数,且g1(x)≥x,g2(x)≥x,所述UKm是由所述用户m的参数向量(uwm1,uwm2,...,uwmk,...,uwmL)中数值最大的Pm个分量所对应的特征组成的集合,所述DKn是由所述文档n的参数向量(dwn1,dwn2,...,dwnk,...,dwnL)中数值最大的Qn个分量所对应的特征组成的集合,所述Pm和所述Qn为预设常数,若则默认uwmk *=uwmk,若则默认dwnk *=dwnk。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括在执行所述参数向量更新算法达到预设次数t1后,在每个特征k∈K下,对第k个用户列向量(uw1k,uw2k,...,uwMk)进行规范化处理的步骤,以及在执行所述参数向量更新算法达到预设次数t2后,在每个特征k∈K下,对第k个文档列向量(dw1k,dw2k,...,dwNk)进行规范化处理的步骤。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括在执行所述参数向量更新算法达到预设次数t3后,在每个特征k∈K下,对参数向量可被更新的每个用户i∈U设置uwik=ζ1(k)·uwik的步骤,以及在执行所述参数向量更新算法达到预设次数t4后,在每个特征k∈K下,对参数向量可被更新的每个文档j ∈D设置dwjk=ζ2(k)·dwjk的步骤,其中所述ζ1(k)和所述ζ2(k)为与所述特征k相关的预设衰减系数,且ζ1(k)∈(0,1)和ζ2(k)∈(0,1)。
4.根据权利要求1所述的方法,其特征在于,在所述方法的一个应用实例中,所述g1(uwmk)=uwmk,所述g2(dwnk)=dwnk。
5.根据权利要求1所述的方法,其特征在于,在所述方法的一个应用实例中,所述,,其中σ1和σ2为预设常数,所述d(k)和所述u(k)是与特征k相关的预设常数。
6.根据权利要求1所述的方法,其特征在于,在所述方法的一个应用实例中,所述f1(dwnk)=σ1·[dwnk]d(k),所述f2(uwmk)=σ2·[uwmk]u(k),其中σ1和σ2为预设常数,所述d(k)和所述u(k)是与特征k相关的预设常数。
7.根据权利要求1所述的方法,其特征在于,所述影响系数λ1(n,m,k,T)和所述影响系数λ2(m,n,k,T)分别是所述用户m的参数向量和所述文档n的参数向量之间的相似度的增函数。
8.根据权利要求1所述的方法,其特征在于,所述影响系数λ1(n,m,k,T)正比于b1(k),所述影响系数λ2(m,n,k,T)正比于b2(k),其中所述b1(k)和所述b2(k)是与特征k相关的预设正常数。
9.根据权利要求1所述的方法,其特征在于,所述影响系数λ1(n,m,k,T)和所述影响系数λ2(m,n,k,T)分别是所述用户m访问所述文档集D的频次的减函数,所述影响系数λ2(m,n,k,T)是所述文档n被访问的频次的减函数。
11.根据权利要求1所述的方法,其特征在于,所述影响系数λ1(n,m,k,T)是dLnk的减函数,所述影响系数λ2(m,n,k,T)是uLmk的减函数,其中所述dLnk为所述dwnk在所述文档n的参数向量(dwn1,dwn2,...,dwnk,...,dwnL)的各分量中从大到小排序的名次,所述uLmk为所述uwmk在所述用户m的参数向量(uwm1,uwm2,...,uwmk,...,uwmL)的各分量中从大到小排序的名次。
12.根据权利要求1所述的方法,其特征在于,所述方法还包括在获取多个文档的参数向量后,通过排序向量更新算法计算在每个特征k下所述文档集D的第k个排序列向量的步骤,即计算所述文档集D中每个文档的排序向量;
所述排序向量更新算法如下:所述文档集D中的任意一个文档p在特征k(k∈K)下的排序值,是所述文档p的每个链入文档在所述特征k下的排序值和所述每个链入文档与所述特征k的相关度的函数。
13.根据权利要求12所述的方法,其特征在于,在所述方法的一个应用实例中,在每个特征k∈K下,所述文档集D的第k个排序列向量的更新算法为:
其中,k∈K,n为迭代步数, 是全1的列向量,所述N表示所述文档集D中的文档个数,所述PRn(N,k)]T,PRn(i,k)表示在特征k下文档i在第n次迭代后的排序值,所述d为预设常数,且d∈(0,1),所述A是一个与所述特征k相关的非负矩阵,且所述矩阵A=(aij)N×N定义为:
上式中所述dwik表示所述文档i与特征k(k∈K)的相关度,且设置常数dwmin,若dwik<dwmin,则取dwik=dwmin,所述c(i)表示所述文档i的链出文档数量,另外,如果文档i∈D为悬垂页,则对于每个文档j∈D,设置所述aij为一常数。
15.根据权利要求12所述的方法,其特征在于,所述方法还包括在所述服务器中执行如下的个性化文档查询步骤:
S21.接收任意一个用户q(q∈U)设置的查询向量和所述用户q提交的搜索条件,并且在所述搜索条件中提取搜索关键字;
S22.在所述文档集D中检索与所述搜索关键字匹配的一组文档Q;
S23.根据所述查询向量和所述一组文档Q中的每个文档的排序向量,计算所述一组文档Q中的每个文档的个性化排序值;
S24.根据所述个性化排序值,对所述一组文档Q进行排序,并且根据排序结果将所述一组文档Q中的至少一个文档的链接发送给所述用户q。
16.根据权利要求1所述的方法,其特征在于,所述方法还包括在所述服务器中执行如下的个性化文档查询步骤:
S31.接收任意一个用户q(q∈U)设置的查询向量和所述用户q提交的搜索条件,并且在所述搜索条件中提取搜索关键字;
S32.在所述文档集D中检索与所述搜索关键字匹配的一组文档Q;
S33.根据所述查询向量和所述一组文档Q中的每个文档的参数向量,计算所述一组文档Q中的每个文档的个性化排序值;
S34.根据所述个性化排序值,对所述一组文档Q进行排序,并且根据排序结果将所述一组文档Q中的至少一个文档的链接发送给所述用户q。
17.根据权利要求1所述的方法,其特征在于,所述方法还包括基于用户查询向量和广告参数向量的广告推送步骤,首先在所述服务器中存储由多个广告标识组成的广告集A,并且为所述广告集A中的每个广告设置参数向量初始值,其中任意一个广告g(g∈A)的参数向量设为(awg1,awg2,...,awgk,...,awgL),所述awgk表示所述广告g与特征k(k∈K)的相关度,因此,所述广告推送步骤包括:
S41.接收任意一个用户q(q∈U)设置的查询向量;
S42.接收所述用户q访问所述文档集D的指令;
S43.如果接收到所述指令,则根据所述查询向量和所述广告集A中每个广告的参数向量,计算所述每个广告的个性化排序值;
S44.根据所述个性化排序值的大小,对所述广告集A进行排序,并且根据所述排序结果将所述广告集A中至少一个广告推送给所述用户q。
18.一种获取用户和文档个性化特征的系统,其特征在于,所述系统包括:
用户集、文档集和特征集设置模块:在用户数据库中存储由多个用户标识组成的用户集U,在文档数据库中存储由多个文档标识组成的文档集D,以及在特征数据库中存储由多个特征标识组成的特征集K;
用户和文档初始值设置模块:为所述用户集U中的至少一个用户设置参数向量初始值并将其存储于用户数据库,为所述文档集D中的至少一个文档设置参数向量初始值并将其存储于文档数据库,以及为所述文档集D中的每个文档设置排序向量初始值,未设置参数向量初始值的用户和文档,其参数向量初始值缺省设为零向量;
用户访问文档信号采集模块:用于采集任意一个用户m(m∈U)访问任意一个文档n(n∈D)的信号,所述信号存储于Web日志数据库中;
用户和文档参数向量更新模块:首先在所述Web日志数据库中查询并读取所述信号,并且根据所述信号包含的所述用户m和所述文档n的标识,在所述用户数据库中读取所述用户m的参数向量,以及在所述文档数据库中读取所述文档n的参数向量,然后应用参数向量更新算法,更新所述用户m和所述文档n的参数向量,最后用更新后的所述用户m的参数向量和所述文档n的参数向量分别更新所述用户数据库和所述文档数据库;
文档排序向量更新模块:在所述文档集D中,以文档之间的链接关系、每个文档的参数向量以及每个文档的排序向量初始值作为输入数据,应用排序向量更新算法,迭代更新在每个特征k∈K下所述文档集D的第k个排序列向量,以及应用更新后的所述排序列向量更新所述文档数据库,所述文档之间的链接关系,是由所述文档集D中的每个文档所包含的文档链接来决定的;
用户查询模块:首先接收任意一个查询用户q(q ∈U)设置的查询向量和所述用户q提交的搜索条件,并且在所述搜索条件中提取搜索关键字,然后在所述文档集D中检索与所述搜索关键字匹配的一组文档Q,之后根据所述查询向量和所述一组文档Q中每个文档的排序向量,计算所述一组文档Q中每个文档的个性化排序值,或者根据所述查询向量和所述一组文档Q中每个文档的参数向量,计算所述一组文档Q中每个文档的个性化排序值,最后根据所述个性化排序值对所述一组文档Q进行排序,以及按照排序结果将所述一组文档Q中的至少一个文档的链接发送给所述用户q。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210581899.1A CN103870521A (zh) | 2012-12-17 | 2012-12-17 | 一种获取用户和文档个性化特征的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210581899.1A CN103870521A (zh) | 2012-12-17 | 2012-12-17 | 一种获取用户和文档个性化特征的方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103870521A true CN103870521A (zh) | 2014-06-18 |
Family
ID=50909061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210581899.1A Pending CN103870521A (zh) | 2012-12-17 | 2012-12-17 | 一种获取用户和文档个性化特征的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103870521A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102651011A (zh) * | 2011-02-27 | 2012-08-29 | 祁勇 | 一种确定文档特征和用户特征的方法和系统 |
CN102737090A (zh) * | 2012-03-21 | 2012-10-17 | 袁行远 | 网页搜索结果排序方法及装置 |
CN102737045A (zh) * | 2011-04-08 | 2012-10-17 | 北京百度网讯科技有限公司 | 一种相关度计算方法和装置 |
CN102737055A (zh) * | 2011-04-06 | 2012-10-17 | 祁勇 | 一种在社交网络中确定用户特征的方法和系统 |
-
2012
- 2012-12-17 CN CN201210581899.1A patent/CN103870521A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102651011A (zh) * | 2011-02-27 | 2012-08-29 | 祁勇 | 一种确定文档特征和用户特征的方法和系统 |
CN102737055A (zh) * | 2011-04-06 | 2012-10-17 | 祁勇 | 一种在社交网络中确定用户特征的方法和系统 |
CN102737045A (zh) * | 2011-04-08 | 2012-10-17 | 北京百度网讯科技有限公司 | 一种相关度计算方法和装置 |
CN102737090A (zh) * | 2012-03-21 | 2012-10-17 | 袁行远 | 网页搜索结果排序方法及装置 |
Non-Patent Citations (3)
Title |
---|
JIAN CHEN 等: "A Web Recommender System Based on Dynamic Sampling of User Information Access Behaviors", 《 COMPUTER AND INFORMATION TECHNOLOGY, 2009. CIT "09. NINTH IEEE INTERNATIONAL CONFERENCE ON》 * |
XINDONG WU 等: "《The Top Ten Algorithms in Data Mining》", 9 April 2009, CRC PRESS TAYLOR & FRANCIS GROUP LLC * |
黄德才 等: "基于主题相似度模型的TS-PageRank算法", 《小型微型计算机系统》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhao et al. | Connecting social media to e-commerce: Cold-start product recommendation using microblogging information | |
CN103886487B (zh) | 基于分布式的b2b平台的个性化推荐方法与系统 | |
CN102340514B (zh) | 网络信息推送方法及系统 | |
CN102982042B (zh) | 一种个性化内容推荐方法、平台以及系统 | |
CN103106285B (zh) | 一种基于信息安全专业社交网络平台的推荐算法 | |
CN105488233A (zh) | 阅读信息推荐方法和系统 | |
KR101419504B1 (ko) | 사용자 성향 분석을 통한 맞춤형 쇼핑 정보 제공 시스템 및 방법 | |
CN100440224C (zh) | 一种搜索引擎性能评价的自动化处理方法 | |
CN102591995B (zh) | 一种基于云数据中心的用户信息处理方法及装置 | |
CN102789462A (zh) | 一种项目推荐方法及系统 | |
CN102446225A (zh) | 一种实时搜索的方法、装置和系统 | |
CN106062743A (zh) | 用于关键字建议的系统和方法 | |
JP2013503391A (ja) | 電子商取引ウェブサイトでの情報マッチングの方法及びシステム | |
KR20100094021A (ko) | 이동통신 단말기와 아이피 기반 정보 단말기를 이용한 맞춤, 지능형 심볼, 아이콘 인터넷 정보 검색시스템 | |
CN102622417A (zh) | 对信息记录进行排序的方法和装置 | |
CN103577432A (zh) | 一种商品信息搜索方法和系统 | |
CN102063453A (zh) | 一种用于基于用户的需求进行搜索的方法和设备 | |
CN103559619A (zh) | 一种服装尺码信息的应答方法及系统 | |
Dias et al. | Automating the extraction of static content and dynamic behaviour from e-commerce websites | |
Zhao et al. | Personalized recommendation by exploring social users’ behaviors | |
CN106202312A (zh) | 一种用于移动互联网的兴趣点搜索方法和系统 | |
CN103425767A (zh) | 一种提示数据的确定方法和系统 | |
CN103227791B (zh) | 一种无线数据采集的方法及装置 | |
CN105590234A (zh) | 一种向目标用户推荐商品的方法和系统 | |
CN103309900A (zh) | 一种个性化多维度的文档排序方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
DD01 | Delivery of document by public notice |
Addressee: Qi Yong Document name: Notification of Approving Refund |
|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140618 |