CN102651011B - 一种确定文档特征和用户特征的方法和系统 - Google Patents
一种确定文档特征和用户特征的方法和系统 Download PDFInfo
- Publication number
- CN102651011B CN102651011B CN201110054810.1A CN201110054810A CN102651011B CN 102651011 B CN102651011 B CN 102651011B CN 201110054810 A CN201110054810 A CN 201110054810A CN 102651011 B CN102651011 B CN 102651011B
- Authority
- CN
- China
- Prior art keywords
- user
- document
- characteristics vector
- feature
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 230000006870 function Effects 0.000 description 19
- 238000005516 engineering process Methods 0.000 description 7
- 241000239290 Araneae Species 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000013011 mating Effects 0.000 description 2
- 238000009394 selective breeding Methods 0.000 description 2
- 244000097202 Rathbunia alamosensis Species 0.000 description 1
- 235000009776 Rathbunia alamosensis Nutrition 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000037396 body weight Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000004087 circulation Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Abstract
本发明提出了一种确定文档特征和用户特征的方法和系统。具体方法包括:如果用户访问了文档,则根据所述用户的特征更新所述文档的特征,以及根据所述文档的特征更新所述用户的特征。多次使用上述方法获得多个文档的文档特征和多个用户的用户特征。当一搜索查询用户提交了搜索查询请求后,在所述多个文档中识别与所述搜索查询匹配的一组文档,并根据所述一组文档中每个文档的特征与所述搜索查询用户的特征之间的数学距离,对所述一组文档进行排序。
Description
技术领域
本发明涉及个性化搜索领域,具体来说涉及一种确定文档特征和用户特征的方法和系统。
背景技术
目前搜索引擎能够访问的网页数量已经达到千亿量级的规模,当用户输入关键字进行网页搜索时,搜索引擎返回的网页数量少则几十数百,多则数百万,这给用户选择目标网页带来了很大的困难。有统计表明,用户平均查看的搜索结果不超过两页,因此搜索引擎的一个重要任务就是对获得的搜索网页进行有效排序,将用户最想获得的结果放到搜索结果的最前面。
搜索引擎工作原理包括从互联网上抓取网页、建立索引数据库、获得用户的搜索关键字以及在索引数据库中对搜索内容进行排序等步骤。其中搜索排序方法的好坏直接影响到用户是否能够获得需要的搜索网页。在现有技术中PageRank方法是一个最具代表性的网页搜索排序算法。该算法的思路是一个网页的重要性决定着也同时也依赖着其他网页的重要性,一个网页本身的PageRank值越高则它对其链出网页的推荐能力越大,一个网页的链出网页越少则它对其中一个链出网页的推荐能力就越高。PageRank算法等现有技术的一个缺点是没有考虑用户的个性化差异,不同用户使用相同关键词得到的搜索结果是相同的。因此现有搜索技术需要根据每个用户各自偏好对搜索网页进行排序优化,进而提高排序的准确性。为克服现有技术的不足,有人已开始研究基于用户个性化信息的搜索引擎来主动学习用户偏好,并根据用户偏好对搜索结果进行重新排序。但是,开发个性化搜索引擎还存在以下几个问题:第一是用户需求难以表达,特别是非专业用户缺乏需求表达的训练,不能有效理解和表达自己的信息需求;第二是难以获取用户的个性化信息,虽然用户年龄、教育程度、地理位置、专业领域和个人偏好等信息能给个性化搜索带来便利,但是相当多的用户对提供个人信息心存疑虑;第三是个性化技术往往会带来较大的系统开销,影响系统的性能;第四是不能实时跟踪和适应用户浏览兴趣的变化,动态地更新用户的偏好模型。
发明内容
鉴于上述现有技术的缺点和开发个性化搜索引擎遇到的问题,本发明的目的在于提供一种确定文档特征和用户特征的方法和系统来解决上述问题。
根据以上所述的目的,本发明提出了一种确定文档特征和用户特征的方法,其特征在于,在服务器中实现如下步骤:
接收用户对文档的访问请求;
获取所述用户的用户特征向量;
获取所述文档的文档特征向量;
更新所述用户特征向量和所述文档特征向量;
更新后的所述用户特征向量是更新前的所述文档特征向量和所述用户特征向量的函数;更新后的所述文档特征向量是更新前的所述文档特征向量和所述用户特征向量的函数。
上述方法包括在个性化网页搜索排序领域的一个应用实例,即通过多次应用上述方法,获取多个文档中每个文档的文档特征向量和多个用户中每个用户的用户特征向量,并据此实现一种个性化搜索排序方法,包括如下步骤:
接收用户的搜索查询;
在所述多个文档中识别与所述搜索查询匹配的一组文档;
获取所述用户的用户特征向量;
计算所述一组文档中每个文档的文档特征向量与所述用户的用户特征向量之间的数学距离,以及根据所述数学距离对所述一组文档进行排序;
按照所述排序结果将所述一组文档的至少一部分发送给所述用户。
与现有技术相比,本发明能够解决在开发个性化搜索过程中遇到的用户特征难以表达、个人信息难以获取、个性化搜索过程系统开销大以及不能实时获取用户浏览偏好等问题,通过对现有搜索引擎技术的改进,来提高网页搜索排序的准确率。
附图说明
图1为一种确定文档特征和用户特征的方法流程图;
图2为文档特征向量的表述方法;
图3为用户特征向量的表示方法;
图4为目录特征向量的表示方法;
图5为术语特征向量的表示方法;
图6为广告特征向量的表示方法;
图7为接收用户对文档的访问请求的系统结构图;
图8为一个搜索查询系统的结构图。
具体实施方式
结合附图对本发明方法作进一步详细说明。
图1为一种确定文档特征和用户特征的方法流程图。包括如下步骤:
S10.为文档集I={1,2,...,N}中的至少一个文档设置文档特征向量初始值,为用户集J={1,2,...,M}中的至少一个用户设置用户特征向量初始值。对于在文档集I中没有设置文档特征向量初始值的文档,其文档特征向量初始值设为零向量;对于在用户集J中没有设置用户特征向量初始值的用户,其用户特征向量初始值设为零向量;
S11.接收用户j(j∈J)对文档i(i∈I)的访问请求;
S12.获取所述用户j的用户特征向量;
S13.获取所述文档i的文档特征向量;
S14.更新所述用户j的用户特征向量和所述文档i的文档特征向量。
其中,更新后的所述用户j的用户特征向量是更新前的所述文档i的文档特征向量和所述用户j的用户特征向量的函数;更新后的所述文档i的文档特征向量是更新前的所述文档i的文档特征向量和所述用户j的用户特征向量的函数。
所述文档是一个通过URL唯一标识的网络资源。在形式上它至少是文本、图形、视频和语音中的一种;在组织结构上它可以是一个网页,也可以是一个网站分类目录;在内容上它可以是一个普通网页,也可以是一则广告。
下面对上述方法作进一步说明,包括所述文档特征向量和所述用户特征向量的表述方法、所述文档特征向量和所述用户特征向量的初始值设置方法、接收用户对文档的访问请求的方法以及所述文档特征向量和用户特征向量的具体更新算法等。
图2是文档特征向量的表述方法。文档特征向量的表示方法与GerardSalton提出的向量空间模型VSM的向量表述方法相似,即以特征项作为文档表示的基本单位,用特征项的集合来近似表示一个文档的特征。设所述文档集I={1,2,...,N}中的所有文档的特征项集合为特征集K={1,2,...,L},文档i(i∈I)的文档特征向量表示形式为(dwi1,dwi2,...,dwik,...,dwiL),其中dwik表示所述文档i与特征集K的第k个特征的相关度。dwik数值越大,表示文档i与特征k之间的相关程度越高,如果dwik为负数,则表示文档i与特征k负相关。
由于所述特征集K包括了所有文档的特征,因此它的维度通常是巨大的,而每个文档的特征只是特征集K中的很小的一部分,所以文档特征向量中绝大多数向量分量的数值都为零,这导致了文档特征向量的数据稀疏现象的产生。解决方法是将所述文档特征向量用一种简化的形式表示。即将所述文档特征向量表示为[...,(k,dwik),...],其中k表示特征集K中第k个特征项,dwik表示文档i与特征集K的第k个特征的相关度,把(k,dwik)叫做特征对。这样就降低了每个用户的用户特征向量的维度,节省了存储空间并提高了算法效率。例如特征集K=(新闻,科技,财经,体育,娱乐,生活,旅游,文化,教育,...),第1168个文档的文档特征向量=[(科技,0.02),(教育,0.003)],其中1168是文档的编号,0.02表示文档1168与特征集K中的特征“科技”的相关度,0.003表示文档1168与特征集K的特征“教育”的相关度。为方便起见,在以下叙述中的文档特征向量使用形式(dwi1,dwi2,...,dwik,...,dwiL)。不过,即使使用文档特征向量的简化形式[...,(k,dwik),...],也不会影响所述方法本质。
图3是用户特征向量的表示方法。所述用户特征向量是由用户的自然特征和用户的个人偏好特征来决定的。用户自然特征包括年龄、性别、职业、学历、身高、体重、地理位置等,用户的个人偏好特征包括用户关注的领域等抽象特征,例如科学、音乐、军事和体育等领域,而且每个用户关注每个领域的程度有所不同。下面参考文档特征向量的表示方法来定义用户特征向量。设用户与文档具有相同的特征集K={1,2,...,L},用户j(j∈J)具有用户特征向量(uwj1,uwj2,...,uwjk,...,uwjL),其中uwjk表示所述用户j与特征集K的第k个特征的相关度。uwjk数值越大,表示用户j与特征k之间的相关程度越高,如果uwjk为负数,则表示用户j与特征k负相关。
与文档特征向量相似,为节省存储空间提高算法效率,当所述用户特征向量的维度很高的时候,可将用户特征向量表示为[...,(k,uwjk),...]。例如特征集K=(新闻,科技,财经,体育,娱乐,生活,旅游,文化,教育,...),第3209个用户的用户特征向量=[(财经,0.01);(教育,0.002)],其中0.01表示用户3209与特征集K中的特征“财经”的相关度,0.002表示用户3209与特征集K的特征“教育”的相关度。为方便起见,在以下叙述中所述用户特征向量的表述形式为(uwj1,uwj2,...,uwjk,...,uwjL)。不过即使使用用户特征向量的简化形式[...,(k,uwjk),...],也不会影响所述方法本质。
另外用户特征和文档特征使用了相同的特征集K。其实,用户特征和文档特征也可以使用各自不同的特征集,然后通过一个函数建立两个特征集之间的关联关系。当用户访问网页文档时,根据所述用户的用户特征和所述函数找到对应的文档特征,并根据找到的文档特征来更新所述文档的文档特征向量;反之,根据所述文档的文档特征和所述函数找到对应的用户特征,然后根据找到的用户特征来更新所述用户的用户特征向量。
下面说明文档特征向量初始值的设置方法。以下是两个例子。
例1是人工设置一部分文档的文档特征向量初始值的方法。以文档i的设置方法为例。首先确定文档i的主要特征,即在特征集K中人工选择文档i具有的至少一个特征,然后将文档i与文档集I中的其它文档进行比较,人工确定所述文档i的各个人工选定特征的相关度。例如编号为1168的文档的文档特征向量为[(科技,0.02),(教育,0.003)]。人工设定的相关度dwik的取值范围为[a,b],其中a和b为常数。
例2是借助网站分类目录的特征来设置文档特征向量。雅虎、新浪和搜狐等均为采用分类目录的网站。由于分类目录主要通过人工方式对文档进行分类,因此其分类的准确率较高。借助网站分类目录的特征来定义文档的特征是基于这样一个假设,即当一个文档归属于一个手工分类目录时这个文档与这个目录具有相似的特征,例如在雅虎“汽车”目录下的文档具有“汽车”特征,而“汽车”目录下的“价格”目录中的文档,既具有“汽车”特征又具有“价格”特征。因此可以通过网站分类目录具有的目录特征向量,来确定文档特征向量的初始值。
图4为目录特征向量的表示方法。设置某网站分类目录集为C={1,2,...,Q},文档集I={1,2,...,N},特征集K={1,2,...,L},用(cwq1,cwq2,...,cwqk,...,cwqL)来表示目录q(q∈C)的目录特征向量,其中cwqk表示目录q与特征集K的第k个特征的相关度。因此,在所述网站分类目录q(q∈Q)下的文档i(i∈I),可通过如下方法设置其文档特征向量的初始值:
dwik=λ1q·cwqk;其中λ1q是表示目录q重要程度的参数,k∈K。
例3是根据在所述文档中提取的术语及其术语特征向量更新所述文档特征向量的初始值。一个文档的特征可以用所述文档的字、词和短语来表示,这些字、词和短语统称为术语。在一个文档中提取出一组术语后,就可以把术语作为特征、术语词频作为特征的相关度来设置文档特征向量的初始值。
图5为术语特征向量表示方法。设术语集T={1,2,...,P},文档集I={1,2,...,N},特征集K={1,2,...,L},用(twp1,twp2,...,twpk,...,twpL)表示术语p(p∈T)的术语特征向量,其中twpk表示术语p与所述特征集K的第k个特征的相关度。因此设置文档特征向量初始值的方法包括在文档i(i∈I)中提取字、词和短语等术语以及术语词频,然后根据图5中术语与术语特征向量的关系,找到每个术语对应的特征及其相关度,然后更新文档特征向量的初始值,包括:
dwik=λ2(T)·∑p twpk·术语p的词频
其中p表示在所述文档中提取的术语编号,p=1,2,…,T;T表示在所述文档中提取的术语个数;λ2为T的减函数。
下面说明用户特征向量的初始值设置方法。以下是两个例子。
例1是人工设置一部分用户的用户特征向量初始值的方法。以用户j的设置方法为例。首先确定用户j的主要特征,即在特征集K中人工选择用户j具有的至少一个特征,然后将用户j与用户集J中的其它用户进行比较,人工确定所述用户j的各个选定特征的相关度。例如编号为32098的用户的用户特征向量为[(财经,0.01),(教育,0.002)]。人工设定的相关度uwjk的取值范围为[a,b],其中a和b为常数。
例2是根据用户提交的一组文档的特征来设定用户特征向量初始值的方法。设用户j提交了一组代表其偏好的文档Dj={...,i,...},其中文档i(i∈Dj)的文档特征向量为{dwi1,dwi2,...,dwiL}。因此用户j的用户特征向量的初始值uwjk=λ3(m)·∑(i∈Dj)(dwik),其中m为所述Dj的元素个数,m越大则λ3越小。
下面说明接收用户对文档的访问请求的方法,参见图7。
图7为接收用户对文档访问请求的系统结构图。用户101在浏览器上提交了一个网址或者点击一个网页链接后向目标网站301发送一个网页请求。在搜索引擎系统200中,用户访问请求获取模块212得到所述请求,并且在用户访问请求数据库290中存储一条用户访问请求记录,所述记录至少包括所述用户101的用户标识和网页的网址URL。其中,用户标识可以为网络接入账号、固定电话号码、移动电话号码、IP地址、即时通信号码、Email地址或者在cookie中的用户识别码(UserID)等。搜索引擎系统200在收到所述用户标识和所述网页网址之后,就可以对所述用户101的用户特征向量和所述网页的文档特征向量进行更新处理了。
下面说明更新文档特征向量和用户特征向量的具体算法。
设置文档集I={1,2,...,N},用户集J={1,2,...,M}和特征集K={1,2,...,L}。文档i(i∈I)的文档特征向量为Kd(i)=(dwi1,dwi2,...,dwik,...,dwiL),用户j(j∈J)的用户特征向量为Ku(j)=(uwj1,uwj2,...,uwjk,...,uwjL),其中dwik表示所述文档i与所述特征集K的第k个特征的相关度,uwjk表示所述用户j与所述特征集K的第k个特征的相关度。当用户j访问文档i之后,应用如下算法更新所述Kd(i)和所述Ku(j):
Kd(i)=function1[Kd *(i),Ku *(j)]
Ku(j)=function2[Kd *(i),Ku *(j)]
其中Kd *(i)和Kd(i)分别表示更新前和更新后的文档i的文档特征向量,Ku *(j)和Ku(j)分别表示更新前和更新后的用户j的用户特征向量。需要指出的是上述两个公式不一定同时使用。也就是说当用户访问文档后,可以根据系统设定参数,选择使用用户特征向量更新文档特征向量或者使用文档特征向量更新用户特征向量。有些用户的用户特征向量不能够被更新,有些文档的文档特征向量也不能够被更新,例如领域内的专家用户和领域内的经典文章,其特征向量可以选择不能被更改。
下面给出本专利方法的应用实例1。
应用实例1用于获取文档特征和用户特征。设在一搜索引擎系统中已经抓取了文档集I={1,2,...,N},存储了用户集J={1,2,...,M}中的每个用户标识,并定义了特征集K={1,2,...,L},本专利方法具体包括如下步骤:
为所述文档集I中的至少一个文档的文档特征向量设置初始值,为所述用户集J中的至少一个用户的用户特征向量设置初始值;
接收用户j(j∈J)对文档i(i∈I)的访问请求;获取所述用户j的用户标识和所述文档的文档编号i;
根据所述文档编号i,获取所述文档i的文档特征向量(dwi1,dwi2,...,dwik,...,dwiL);根据所述用户j标识获取用户特征向量(uwj1,uwj2,...,uwjk,...,uwjL),然后用如下算法更新所述文档i的文档特征向量和所述用户j的用户特征向量:
其中f1(x)和f2(x)均为增函数,例如f1(uwjk)=λ1j·uwjk,f2(dwik)=λ2i·dwik,λ1j和λ2i是常数;DKi为文档i的主要特征集合,UKj为用户j的主要特征集合。
所述DKi是由所述文档特征向量(dwi1,dwi2,...,dwik,...,dwiL)中数值最大的Pi个分量所对应的特征组成的集合,所述UKj是由所述用户特征向量(uwj1,uwj2,...,uwjk,...,uwjL)中数值最大的Qj个分量所对应的特征组成的集合,Pi和Qj为系统设定常数。
多次使用上述算法后,用户特征向量和文档特征向量的各个分量的数值会逐渐增加,因此需要使用如下修正算法,对每个用户的用户特征向量(uwj1,uwj2,...,uwjk,...uwjL)(对于任意j∈I)和每个文档的文档特征向量(dwi1,dwi2,...,dwik,...,dwiL)(对于任意j∈J)进行修正,具体算法如下:
将数据集合{dw1k,dw2k,...,dwik,...,dwNk}中dwik≥dCk(对每个i∈I)的每个dwik映射为区间[a,b]上一实数值f3(dwik),然后设dwik=f3(dwik)(对每个i∈I),其中f3(x)是增函数,dCk、a和b均为设定常数。在所述方法的一个应用实例中,f3(dwik)的算法如下:首先获得集合Queue={dwik|dwik≥dCk,i∈I},然后计算每个dwik(i∈I)在Queue集合中的排名Rank(dwik),Maxi dwik的排名为1,Minidwik的排名为Num(Queue),其中Num(Queue)表示Queue集合的元素个数,因此f3(dwik)=a+(b-a)[Num(Queue)-Rank(dwik)]/Num(Queue)。在所述方法的另一个应用实例中f3(dwik)的算法如下:f3(dwik)=a+(b-a)·dwik/maxi dwik;为了减少个别文档特征的影响,假定maxj dwik是数据集合{dw1k,dw2k,...,dwik,...,dwNk}中数值最大的m项的平均值,当f3(dwik)>b时设f3(dwik)=b;其中m为设定常数。
将数据集合{uw1k,uw2k,...,uwjk,...,uwMk}中uwjk≥uCk(对每个j∈J)的每个uwjk映射为区间[a,b]上一实数值f4(uwjk),然后设uwjk=f4(uwjk)(对每个j∈J),其中f4(x)是增函数,uCk、a和b均为设定常数。在所述方法的一个应用实例中,f4(uwjk)的算法如下:首先获得集合Queue={uwjk|uwjk≥uCk,j∈J},然后计算每个uwjk(j∈J)在Queue集合中的排名Rank(uwjk),Maxj uwjk的排名为1,Minjuwjk的排名为Num(Queue),其中Num(Queue)表示Queue集合的元素个数,因此f4(uwjk)=a+(b-a)[Num(Queue)-Rank(uwjk)]/Num(Queue)。在所述方法的另一个应用实例中f4(uwjk)的算法如下:f4(uwjk)=a+(b-a)·uwjk/maxj uwjk;为了减少个别用户特征的影响,假定maxj uwjk是在数据集合{uwj1,uwj2,...,uwjk,...,uwjL}中数值最大的m项的平均值,当f4(uwjk)>b时设f4(uwjk)=b;其中m为设定常数。
在应用实例1中,当一个用户访问了特征不同的多个网页后,用户特征向量的维度会显著增加,进而占用大量存储空间。一个解决方案是设置用户特征向量的最大存储空间,当用户j(j∈J)的用户特征向量占用的存储空间达到最大存储空间时,把所述用户特征向量[...,(k,uwjk),...]按照uwjk的大小将特征对(k,uwjk)进行排序,并将uwjk数值较小的设定数量的特征对(k,uwjk)从用户特征向量[...,(k,uwjk),...]中清除,并且将被清除的特征对占用的存储空间设为可用存储空间,当用户访问新的网页而有新的特征对需要加入到用户特征向量中的时候,就将它们循环加入到所述可用存储空间。所谓循环加入是指将可用存储空间看做一个循环链表按顺序写入新的特征对。
同理,当一个网页被特征不同的多个用户访问后,文档特征向量的维度会显著增加进而占用大量存储空间。一个解决方案是设置文档特征向量的最大存储空间,当文档i(i∈I)的文档特征向量占用的存储空间达到最大存储空间时,把所述文档特征向量[...,(k,dwik),...]按照dwik的大小对特征对(k,dwik)进行排序,并将dwik数值较小的设定数量的特征对(k,dwik)从文档特征向量[...,(k,dwik),...]中清除,并且将被清除的特征对占用的存储空间设为可用存储空间,当有新的特征对需要加入到文档特征向量中的时候,就将它们循环加入所述可用存储空间。所谓循环加入是指将可用存储空间看做一个循环链表按顺序写入新的特征对。
下面给出本专利方法的应用实例2。
由于用户兴趣会随着时间的变化而变化,并且近期用户对文档的访问行为能够更好地体现出近期的用户特征,因此应用实例2给出了分时段更新文档特征分向量和用户特征分向量的方法。设文档集I={1,2,...,N},用户集J={1,2,...,M}和特征集K={1,2,...,L},其中N为文档个数,M为用户个数,L为特征个数,则分时段更新文档特征分向量和用户特征分向量的算法如下:
第t时段内的所述文档i的文档特征分向量为(dwi1t,dwi2t,...,dwikt,...,dwiLt),所述用户j的用户特征分向量为(uwj1t,uwj2t,...,uwjkt,...,uwjLt),其中dwikt表示第t时段的所述文档i与特征k(k∈K)的相关度,uwjkt表示第t时段内的所述用户j与特征k(k∈K)的相关度;
在第t时段内,当所述服务器收到所述用户j对所述文档i的访问请求后,更新所述用户j在第t时段的所述用户特征分向量和所述文档i在第t时段的所述文档特征分向量,具体算法包括:
然后更新所述文档i的文档特征向量(dwi1,dwi2,...,dwik,...,dwiL)和所述用户j的用户特征向量(uwj1,uwj2,...,uwjk,...,uwjL),更新算法如下:
dwik=α0·dwik(t-T)+α1·dwik(t-T+1)+...+α(T-1)·dwik(t-1)+αT·dwikt;(K∈DKi)
uwjk=β0·uwjk(t-T)+β1·uwjk(t-T+1)+...+β(T-1)·uwjk(t-1)+βT·uwjkt;(k∈UKj)
其中α0,α1,...,αT-1,αT是一组预设加权系数,β0,β1,...,βT-1,βT是一组预设加权系数,T为设定常数,k∈K;f1(x)和f2(x)为增函数,例如f1(uwjkt)=λ1j·uwjkt,f2(uwjkt)=λ2i·dwikt,其中λ1j和λ2i是设定常数。在一个应用实例中,为突出用户近期的兴趣和偏好比远期的重要,可设α0<α1<...<αT-1<αT和β0<β1<...<βT-1<βT。UKj为用户j的主要特征集合,DKi为文档i的主要特征集合。
所述DKi是由所述文档特征向量(dwi1,dwi2,...,dwik,...,dwiL)中数值最大的Pi个分量所对应的特征组成的集合,所述UKj是由所述用户特征向量(uwj1,uwj2,...,uwjk,...,uwjL)中数值最大的Qj个分量所对应的特征组成的集合,Pi和Qj为系统设定常数。
另外,需要使用与应用实例1相同的修正算法,对每个用户的用户特征向量(uwj1,uwj2,...,uwjk,...,uwjL)(对于任意i∈I)和每个文档的文档特征向量(dwi1,dwi2,...,dwik,...,dwiL)(对于任意j∈J)进行修正。
下面给出本专利方法的应用实例3。
应用实例3给出了一种基于文档特征和用户分类特征的搜索查询方法。包括存储由蜘蛛程序在各网站上抓取的网页组成的文档集I={1,2,...,N},存储了用户集J={1,2,...,M},以及存储特征集K={1,2,...,L}。
文档i(i∈I)具有文档特征向量(dwi1,dwi2,...,dwik,...,dwiL),用户j(j∈J)具有用户特征向量(uwj1,uwj2,...,uwjk,...,uwjL),其中dwik表示所述文档i与所述特征集的第k个特征的相关度,uwjk表示所述用户j与所述特征集的第k个特征的相关度。因此所述搜索查询方法包括以下步骤:
接收用户j(j∈J)的搜索查询;
计算所述用户特征向量(uwj1,uwj2,...,uwjk,...,uwjL)与所述文档子集S中每一个文档的文档特征向量(dwi1,dwi2,...,dwik,...,dwiL)(i∈S)之间的数学距离,以及根据所述数学距离对所述文档子集S进行排序;
按照所述排序结果将所述文档子集S的至少一部分发送给所述用户j。
在所述方法的一个应用实例中,所述数学距离的算法如下:设所述用户j的用户特征向量为Ku(j)=(uwj1,uwj2,...,uwjk,...,uwjL),文档i的文档特征向量为Kd(i)=(dwi1,dwi2,...,dwik,...,dwiL),则用户j与文档i的数学距离定义为:
||Ku(j),Kd(i)||=[∑k(uwjk·dwik]/{[∑k(uwjk)2]1/2·[∑k(dwik)2]1/2}
在所述方法的一个应用实例中,根据搜索查询关键字(或叫术语),在文档集I中搜索与关键字匹配的文档,组成所述文档子集S。
下面给出本专利方法的应用实例4。
应用实例4是在应用实例3的基础上,计算所述文档子集S的子集特征向量K(S)=(dd1,dd2,...,ddk,...,ddL),其中所述ddk(k∈K)表示所述文档子集S与所述特征集K的第k个特征的相关度;所述ddk的一个实现算法如下:
ddk=λk[∑i∈S f5(dwik)]/[∑i∈I f5(dwik)]
其中f5(x)为增函数,例如f5(dwik)=λ5i·dwik;当dwik≤dCk时,f5(dwik)=0;dCk(k∈K)和λ5i(i∈I)均为常数;
得到所述子集特征向量(dd1,dd2,...,ddk,...,ddL)之后,在其中挑选ddk(k∈K)数值最大的Rj个分量所对应的特征发给所述用户j进行选择,Rj为常数;
接收所述用户j选择的至少一个被选出的所述特征,所选择的特征组成特征集合Ks(j)=(dsj1,dsj2,...,dsjk,...,dsjL),如果dsjk(K∈K)不是用户选出的特征,则dsjk=0;如果dsjk(k∈K)是用户选出的特征,则dsjk等于一设定常数;
计算所述文档子集S中的每个文档的文档特征向量与所述用户j选择的所述特征之间的数学距离1;
将所述文档子集S中的每个文档的所述数学距离(在应用实例3获得的)和所述数学距离1加权平均得到数学距离2,以及根据所述数学距离2对所述文档子集进行再排序;
按照所述再排序结果将所述文档子集S的至少一部分发送给所述用户j。
所述数学距离1的计算方法如下:
||Ks(j),Kd(i)||=[∑k(dsjk·dwik)]/{[∑k(dsjk)2]1/2·[∑k(dwik)2]1/2}
下面给出本专利方法的应用实例5。
应用实例5给出一种基于文档和用户分类特征的个性化广告发布方法。设文档集I={1,2,...,N},用户集J={1,2,...,M},特征集K={1,2,...,L}和广告集A={1,2,...,G}。文档i(i∈I)具有文档特征向量(dwi1,dwi2,...,dwik,...,dwiL),用户j(j∈J)具有用户特征向量(uwj1,uwj2,...,uwjk,...,uwjL),广告g(g∈A)具有广告特征向量(awg1,awg2,...,awgk,...,awgL),其中dwik表示所述文档i与第k个特征的相关度,uwjk表示所述用户j与第k个特征的相关度,awgk表示所述广告g与第k个特征的相关度,k∈K,广告特征向量的表示方法参见图6。所述个性化广告发布的方法包括以下步骤:
为所述广告集A中的每一个广告设置广告特征向量的初始值;
接收所述用户j(j∈J)对网页文档i(i∈I)的访问请求;
获取所述网页文档i的文档特征向量和所述用户j的用户特征向量;
计算所述广告集A中每个广告g(对每个g∈A)的广告特征向量与所述网页文档i的文档特征向量之间的数学距离dg(g,i);
计算所述广告集A中每个广告g(对每个g∈A)的广告特征向量与所述用户j的用户特征向量之间的数学距离ug(g,j);
为所述广告集A中每个广告g的设置排序参数,所述排序参数为:
sort(g)=λ·dg(g,i)+(1-λ)·ug(g,j);其中λ为设定常数,0≤λ≤1;
根据每个广告g的排序参数sort(g)对所述广告集A中的广告进行排序;
按照所述排序结果将至少一个所述广告插入所述网页并发送给所述用户。
其中,所述数学距离dg(g,i)和ug(g,j)的算法如下:
dg(g,i)=[∑k(dwik·awgk)]/{[∑k(dwik)2]1/2·[∑k(awgk)2]1/2}
ug(g,j)=[∑k(uwjk·awgk)]/{[∑k(uwjk)2]1/2·[∑k(awgk)2]1/2}。
下面说明用户特征向量和文档特征向量的另一种更新方法。
设置术语集T={1,2,...,P},用户集J={1,2,...,M}和特征集K={1,2,...,L}。用(twp1,twp2,...,twpk,...,twpL)表示术语p(p∈T)的术语特征向量,其中twpk表示术语p与所述特征集K的第k个特征的相关度。当用户提交了搜索查询后,在所述搜索查询中提取用户提交的至少一个术语(即关键字),然后根据所述术语查找所述术语特征向量数据库290,找到相应的术语特征向量(见图5),并据此来更新用户特征向量,包括:
uwjk=uwjk+λ6·∑p twpk
其中λ6是提取的术语个数的函数,术语越多λ6越小;p表示提取的第p个术语(即关键字),k∈K;在计算中只选取twpk数值最大的m个参数进行上式计算,m为系统设定常数;
识别与搜索匹配的一组文档以及将其中的一部分发给所述用户;
接收所述用户对所述一部分文档中的一个文档的点击访问,然后根据已经获得的术语特征向量,更新所述一个文档的文档特征向量:
dwik=dwik+λ7·∑p twpk
其中,λ7为提取的术语个数的函数,术语越多λ7越小,p表示提取的第p个术语(即关键字),k∈K,在计算中只选取twpk数值最大的n个参数进行上式计算,n为系统设定常数。
下面说明一种基于文档特征向量和用户特征向量的搜索引擎系统。
图8为一个搜索查询系统的结构图。所述系统包括如下功能模块:
文档获取模块211:用于派出蜘蛛程序在接入互联网的网站301~303上抓取网页,并通过分析和跟踪所述网页中的链接来访问更多的网页,以及将获得的网页和网页索引存储于文档数据库260中;
文档特征向量和用户特征向量的初始值设置模块213:该模块至少执行如下步骤中的一种:根据网页特征人工设置网页的文档特征向量初始值;根据所述网页包含的术语获取所述术语的术语特征向量,并据此更新所述文档特征向量的初始值;根据所述网页归属的网站分类目录的目录特征向量更新所述网页的所述文档特征向量;根据用户特征人工设置用户特征向量初始值;根据所述用户提交的一组网页中每个网页的文档特征向量更新所述用户特征向量;所述用户特征向量初始值存储于用户特征向量初始值数据库240中,所述文档特征向量初始值存储于文档特征向量初始值数据库250中;
用户访问请求获取模块212:本模块用于获取用户对网页的访问请求,所述访问请求至少包括用户标识和网页地址,并将所述访问请求存储于用户访问请求数据库270中,以此来作为更新所述用户101~103的用户特征向量和所述网页的文档特征向量的依据;
用户特征向量和文档特征向量更新模块214:该模块解析所述用户访问请求,获取其中的用户标识和网页地址,然后根据所述用户标识获取所述用户的用户特征向量以及根据所述网页地址获取所述网页的文档特征向量,最后更新所述用户特征向量和所述文档特征向量;其中更新后的所述用户特征向量是更新前的所述文档特征向量和所述用户特征向量的函数,更新后的所述文档特征向量是更新前的所述文档特征向量和所述用户特征向量的函数;所述用户特征向量和文档特征向量分别存储于用户特征向量数据库220和文档特征向量数据库230中;
搜索查询模块215:用于在所述文档数据库260中识别与所述搜索查询匹配的一组网页,然后计算所述一组网页中的每个网页的文档特征向量与提交查询的用户的用户特征向量之间的数学距离,并据此对所述一组网页进行排序,以及根据排序结果将所述一组网页的一部分发送给所述提交查询的用户;
文档子集特征计算模块216:对所述搜索查询模块中获得的所述一组文档作进一步处理,包括计算所述一组网页的子集特征向量,并将所述子集特征向量中数值最大的至少一个分量对应的特征发给给所述提交查询的用户;接收所述提交查询的用户选择的特征;计算所述一组网页中的每个网页的文档特征向量与所述提交查询的用户选择的特征之间的数学距离1;将所述一组网页中的每个网页的所述数学距离和所述数学距离1加权平均得到数学距离2,以及根据所述数学距离2对所述一组网页进行再排序,并将再排序后的所述一组网页的一部分文档呈现给所述提交查询的用户。
以上所述应用实例仅为本发明的较佳的应用实施,并非用以限定本发明的保护范围。
Claims (9)
1.一种确定文档特征和用户特征的方法,其特征在于,在服务器中存储文档集I={1,2,...,N},用户集J={1,2,...,M}和特征集K={1,2,...,L},其中N为文档个数,M为用户个数,L为特征个数;并实现如下步骤:
S10.为所述用户集J中的至少一个用户设置用户特征向量初始值,以及为所述文档集I中的至少一个文档设置文档特征向量初始值;
S11.接收任一用户j(j∈J)对任一文档i(i∈I)的访问请求,获取所述用户j的用户标识以及所述文档i的文档标识;
S12.根据所述用户标识,获取所述用户j的用户特征向量(uwj1,uwj2,...,uwjk,...,uwjL),其中uwjk表示所述用户j与特征k(k∈K)的相关度;
S13.根据所述文档标识,获取所述文档i的文档特征向量(dwi1,dwi2,...,dwik,...,dwiL),其中dwik表示所述文档i与特征k(k∈K)的相关度;
S14.更新所述用户j的用户特征向量和所述文档i的文档特征向量,具体更新方法如下:
返回所述步骤S11。
2.根据权利要求1所述的方法,其特征在于,所述DKi是由所述文档i的文档特征向量(dwi1,dwi2,...,dwik,...,dwiL)中数值最大的Pi个分量所对应的特征组成的特征集合,所述UKj是由所述用户j的用户特征向量(uwj1,uwj2,...,uwjk,...,uwjL)中数值最大的Qj个分量所对应的特征组成的特征集合,其中Pi和Qj为设定常数。
3.根据权利要求1所述的方法,其特征在于,所述方法至少还包括执行以下步骤中的一个:
将数据集合{dw1k,dw2k,...,dwik,...,dwNk}中满足dwik≥dCk(对每个i∈I)的dwik映射为区间[a,b]上一实数值f3(dwik),然后用f3(dwik)给dwik赋值;
将数据集合{uw1k,uw2k,...,uwjk,...,uwMk}中满足uwjk≥uCk(对每个j∈J)的uwjk映射为区间[a,b]上一实数值f4(uwjk),然后用f4(uwjk)给uwjk赋值;
其中f3(x)和f4(x)均为增函数,dCk、uCk、a和b均为设定常数,k∈K。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在所述服务器中计算所述文档子集S的子集特征向量(dd1,dd2,...,ddk,...,ddL),其中所述ddk(k∈K)表示所述文档子集S与特征集K={1,2,...,L}的第k(k∈K)个特征的相关度;
在所述子集特征向量(dd1,dd2,...,ddk,...,ddL)中挑选ddk(k∈K)数值最大的Rm个分量所对应的特征发送给所述用户m进行选择;
接收所述用户m选择的至少一个所述特征;
计算所述文档子集S中的每个文档的文档特征向量与所述用户m选择的特征之间的数学距离1;
将所述文档子集S中的每个文档的所述数学距离和数学距离1加权平均获得数学距离2,然后根据所述数学距离2对所述文档子集S进行再排序,并按照所述再排序结果将所述文档子集S的一部分文档发送给所述用户m。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括以下步骤:
根据所述搜索查询中提取的每个术语查找每个所述术语的术语特征向量;
根据每个所述术语的术语特征向量更新所述用户m的用户特征向量;
接收所述用户m对所述一部分文档中的一个文档的点击访问;
根据每个所述术语的术语特征向量更新所述一个文档的文档特征向量。
7.根据权利要求1所述的方法,其特征在于,给一组放置内容中的每个放置内容设置文档特征向量,因此,所述方法还包括如下步骤:
计算每个所述放置内容的文档特征向量与所述文档i的文档特征向量之间的数学距离1;计算每个所述放置内容的文档特征向量与所述用户j的用户特征向量之间的数学距离2;以及将每个所述放置内容的所述数学距离1和数学距离2加权平均获得数学距离3;
根据每个所述放置内容的所述数学距离3,对所述放置内容进行排序,并按照所述排序的结果,将至少一个所述放置内容插入所述文档i,然后将所述文档i发送给所述用户j。
8.一种确定文档特征和用户特征的方法,其特征在于,在服务器中设置文档集I={1,2,...,N},用户集J={1,2,...,M}和特征集K={1,2,...,L},其中N为文档个数,M为用户个数,L为特征个数;并实现如下步骤:
S20.为所述用户集J中的至少一个用户设置第t时段的用户特征向量初始值,为所述文档集I中的至少一个文档设置第t时段的文档特征向量初始值;
S21.接收任一用户j(j∈J)对任一文档i(i∈I)在第t时段的访问请求,获取所述用户j的用户标识以及所述文档i的文档标识;
S22.根据所述用户标识,获取所述用户j在第t时段的用户特征向量(uwj1t,uwj2t,...,uwjkt,...,uwjLt),其中uwjkt表示在第t时段内的所述用户j与特征k(k∈K)的相关度;
S23.根据所述文档标识,获取所述文档i在第t时段的文档特征向量(dwi1t,dwi2t,...,dwikt,...,dwiLt),其中dwikt表示第t时段内的所述文档i与特征k(k∈K)的相关度;
S24.更新在第t时段所述用户j的用户特征向量和所述文档i的文档特征向量,具体更新方法如下:
dwikt=dwikt+f1(uwjkt);其中k∈UKj,f1(x)为增函数;
uwjkt=uwjkt+f2(dwikt);其中k∈DKi,f2(x)为增函数;
然后更新所述文档i的文档特征向量(dwi1,dwi2,...,dwik,...,dwiL)和所述用户j的用户特征向量(uwj1,uwj2,...,uwjk,...,uwjL),更新算法如下:
dwik=α0·dwik(t-T)+α1·dwik(t-T+1)+...+α(T-1)·dwik(t-1)+αT·dwikt;
uwjk=β0·uwjk(t-T)+β1·uwjk(t-T+1)+...+β(T-1)·uwjk(t-1)+βT·uwjkt;
返回所述步骤S21;
其中,α0,α1...,αT-1,αT是一组预设加权系数,β0,β1,...,βT-1,βT是一组预设加权系数,T为设定常数,k∈K。
9.根据权利要求8所述的方法,其特征在于,所述DKi是由所述文档i的文档特征向量(dwi1,dwi2,...,dwik,...,dwiL)中数值最大的Pi个分量所对应的特征组成的特征集合,所述UKj是由所述用户j的用户特征向量(uwj1,uwj2,...,uwjk,...,uwjL)中数值最大的Qj个分量所对应的特征组成的特征集合,其中Pi和Qj为设定常数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110054810.1A CN102651011B (zh) | 2011-02-27 | 2011-02-27 | 一种确定文档特征和用户特征的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110054810.1A CN102651011B (zh) | 2011-02-27 | 2011-02-27 | 一种确定文档特征和用户特征的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102651011A CN102651011A (zh) | 2012-08-29 |
CN102651011B true CN102651011B (zh) | 2014-04-23 |
Family
ID=46693019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110054810.1A Expired - Fee Related CN102651011B (zh) | 2011-02-27 | 2011-02-27 | 一种确定文档特征和用户特征的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102651011B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880622A (zh) * | 2011-07-15 | 2013-01-16 | 祁勇 | 一种在互联网上确定用户特征的方法和系统 |
CN102999540A (zh) * | 2011-09-10 | 2013-03-27 | 祁勇 | 一种在互联网上确定用户特征的方法和系统 |
CN103870517A (zh) * | 2012-12-09 | 2014-06-18 | 祁勇 | 一种获取用户个性化特征的方法和系统 |
CN103870521A (zh) * | 2012-12-17 | 2014-06-18 | 祁勇 | 一种获取用户和文档个性化特征的方法和系统 |
CN107038169B (zh) * | 2016-02-04 | 2021-03-12 | 佳能株式会社 | 对象推荐方法和对象推荐设备 |
CN108846097B (zh) * | 2018-06-15 | 2021-01-29 | 北京搜狐新媒体信息技术有限公司 | 用户的兴趣标签表示方法、文章推荐方法、及装置、设备 |
CN112307312A (zh) * | 2019-07-30 | 2021-02-02 | 北京三好互动教育科技有限公司 | 一种文章推荐方法和装置 |
CN111125528B (zh) * | 2019-12-24 | 2023-04-28 | 腾讯科技(深圳)有限公司 | 信息推荐方法及装置 |
CN115630170B (zh) * | 2022-12-08 | 2023-04-21 | 中孚安全技术有限公司 | 一种文档推荐方法、系统、终端机及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101071445A (zh) * | 2007-06-22 | 2007-11-14 | 腾讯科技(深圳)有限公司 | 分类样本集的优化方法和内容相关广告服务器 |
CN101770520A (zh) * | 2010-03-05 | 2010-07-07 | 南京邮电大学 | 基于用户浏览行为的用户兴趣建模方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6892198B2 (en) * | 2002-06-14 | 2005-05-10 | Entopia, Inc. | System and method for personalized information retrieval based on user expertise |
-
2011
- 2011-02-27 CN CN201110054810.1A patent/CN102651011B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101071445A (zh) * | 2007-06-22 | 2007-11-14 | 腾讯科技(深圳)有限公司 | 分类样本集的优化方法和内容相关广告服务器 |
CN101770520A (zh) * | 2010-03-05 | 2010-07-07 | 南京邮电大学 | 基于用户浏览行为的用户兴趣建模方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102651011A (zh) | 2012-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102651011B (zh) | 一种确定文档特征和用户特征的方法和系统 | |
CN106528693B (zh) | 面向个性化学习的教育资源推荐方法及系统 | |
CN107862022B (zh) | 文化资源推荐系统 | |
CN111708740A (zh) | 基于云平台的海量搜索查询日志计算分析系统 | |
CN100595759C (zh) | 查询扩展方法和装置以及相关检索词库 | |
CN102982042B (zh) | 一种个性化内容推荐方法、平台以及系统 | |
US20090327913A1 (en) | Using web revisitation patterns to support web interaction | |
CN101984420B (zh) | 一种基于拆词处理进行图片搜索的方法与设备 | |
CN106339502A (zh) | 一种基于用户行为数据分片聚类的建模推荐方法 | |
CN103186574A (zh) | 一种搜索结果的生成方法和装置 | |
CN103886090A (zh) | 基于用户喜好的内容推荐方法及装置 | |
CN110110225B (zh) | 基于用户行为数据分析的在线教育推荐模型及构建方法 | |
CN103198098A (zh) | 一种网络信息投放方法和装置 | |
CN102902806A (zh) | 一种利用搜索引擎进行查询扩展的方法及系统 | |
CN101441636A (zh) | 一种基于知识库的医院信息搜索引擎及系统 | |
CN102509233A (zh) | 一种基于用户网上动作信息的推荐方法 | |
CN101853308A (zh) | 一种个性化元搜索的方法及其应用终端 | |
CN102236719A (zh) | 基于网页分类的网页搜索引擎及快速查找方法 | |
Liu et al. | Enlister: baidu's recommender system for the biggest chinese Q&A website | |
CN107992563B (zh) | 一种用户浏览内容的推荐方法及系统 | |
CN103714120A (zh) | 一种从用户url访问记录中提取用户兴趣话题的系统 | |
US20170235835A1 (en) | Information identification and extraction | |
CN102880622A (zh) | 一种在互联网上确定用户特征的方法和系统 | |
CN103383685A (zh) | 一种基于用户点击数据的关键词属性量化方法及装置 | |
CN102609539A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140423 Termination date: 20200227 |
|
CF01 | Termination of patent right due to non-payment of annual fee |