一种在互联网上确定用户特征的方法和系统的制作方法

文档序号:6429021阅读:126来源:国知局
专利名称:一种在互联网上确定用户特征的方法和系统的制作方法
技术领域
本发明涉及互联网领域,具体来说涉及一种在互联网中确定用户特征的方法和系统。
背景技术
在互联网上,搜索引擎和社交网络是使用较多的获取网络信息的工具。但是这两种工具都存在各自的问题。对搜索引擎而言,当用户输入关键字进行网页搜索时,搜索引擎返回的网页链接数量经常达到几万甚至几千万,这给用户搜索目标网页带来很大困扰。有统计分析表明用户平均查看的搜索结果不超过两页,因此搜索引擎得到的绝大多数的搜索结果用户是没有 看到的。即使是看到的部分,用户也经常感到搜索结果中包含很多关联度较低或者根本不相关的网页。对社交网络而言,社交网络每天发布的信息已达数亿条。虽然在社交网络中用户可以通过个人关系网络来过滤和筛选信息,例如通过“关注(follow) ”他人而获得信息或者获得朋友点击了“喜欢(like)”按钮的信息等等,但是目前在微博和脸书(Facebook)等社交网络中已经出现了信息过载现象。由于担心有重要或者有趣信息遗漏,用户通常会在社交网络中加入过多的关系网络,例如关注更多的人或者加入更多的好友等等。这就使得社交网络逐渐成为一种对用户进行“信息轰炸”的服务。美国圣何塞州立大学的研究表明,信息过载的结果是加大了用户扫描和略读的比重,82%的受访者表示更多是在浏览和扫瞄,85 %的读者表示更多地进行“非线性阅读”。上述问题的一个共同点是没有考虑到用户的个性化特征在信息过滤和筛选中所起到的作用。例如,在搜索引擎中不同的用户使用相同的关键字进行网页搜索时得到的搜索结果是相同的,与提交搜索查询的用户的个性化特征无关。而在社交网络中,每个用户获得的信息只与其关系网络有关,而与用户的个性化特征无关。用户得到的信息是来自其关系网络中的每个用户发布的所有信息,而用户不能有选择地接收这些信息。例如,你只要关注一个人,你将会获得来自这个人的全部信息,无论你是否对这些信息感兴趣。因此,解决上述问题的一个思路是充分利用用户的个性化特征来对获取的网络信息进行有效地过滤和筛选,减少用户对无效信息的扫描和浏览。但是在获取用户个性化特征的过程中存在以下几个问题第一是个性化信息的准确性问题。用户通常不愿意在互联网上提供准确的个性化信息。虽然部分用户在脸书(Facebook)等社交网络中提供了用户年龄、教育程度、毕业学校、地理位置、专业领域和偏好等个人信息,但是相当多的用户对提供个人信息心存疑虑,很多用户在社交网络上使用假的个人信息,使得系统获得的个人信息不够准确。第二是个性化信息的全面性问题。用户通常是难以全面地表达其个性化特征的,例如在脸书(Facebook)等社交网络中,用户爱好一栏通常的描述是喜欢莫扎特、打棒球或看书等,而这些往往只代表用户的部分特征,而要求每个用户全面地填写其个性化特征是困难的。第三是个性化信息的结构化表达问题。文字表述不同但语义相同的特征,在互联网上难以将他们进行结构化分类,比如有的用户填写喜欢莫扎特、有的填写喜欢古典音乐,可能两个用户的爱好是相同的,但是由于文字表达的不同,因此难以把他们进行有效归类。第四是个性化信息的更新问题。随着时间的推移,用户的个人信息以及兴趣爱好可能会发生改变,但是要求所有用户动态地更新这些信息是困难的。获得用户个性化特征有许多有益的应用。例如,可以实现用户的聚类分析以确定具有特定特征的用户群,包括在互联网上寻找具有相同兴趣爱好的个人和群组、寻找具有某项才能的专家、寻找经销某种产品的商家以及商家寻找具有特定特征的用户群以便定向投放广告等。另外,利用用户的个性化特征可以对搜索到的网页进行过滤和筛选。综上所述,如何获得用户的个性化特征,并根据这些个性化特征在海量的“噪声”中过滤出有用的信息,以及根据用户的个性化特征将合适的信息在合适的时间发送给合适的人,是当前互联网亟待解决的一个问题。

发明内容
鉴于上述现有技术存在的问题,本发明的目的在于提供一种在互联网中确定用户特征的方法和系统来自动确定用户的个性化特征,并根据用户个性化特征对在搜索引擎和社交网络中获得的信息内容进行有效地过滤和筛选。本发明的另一个目的在于提供一种在互联网中确定用户特征的方法和系统来自动确定用户的个性化特征,以及根据用户个性化特征在社交网络中寻找具有给定特征的用户群。根据以上所述的目的,本发明提出了一种在互联网中确定用户特征的方法,其特征在于,在服务器中存储文档集I = {1,2,...,M}、用户集J= {1,2,... ,N}和特征集K ={1,2,. . .,L},其中M为文档个数,N为用户个数,L为特征个数;并且执行如下步骤接收用户j(j e j)访问文档i(i e I)的信号,所述信号至少包括所述用户j的用户标识和所述文档i的文档标识;根据所述文档标识,读取所述文档i的文档特征向量Kd(i) = (dwn, dwi2, ,dwik, . . . , dwiL),其中dwik表示所述文档i与特征k(k e K)的相关度;根据所述用户标识,读取所述用户j的用户特征向量Ku(j) = (UWj1, UWj2, ,UWjk, ... , UWjl),其中UWjk表示所述用户j与特征k(k e K)的相关度;用如下算法更新所述文档i的文档特征向量和所述用户j的用户特征向量Kd* (i) = functionl [Kd (i), Ku (j)]Ku* (j) = function2[Kd(i), Ku(j)]其中Kd(i)和Kd\i)分别表示更新前和更新后的所述文档i的文档特征向量,Ku(J)和ic(j)分别表示更新前和更新后的所述用户j的用户特征向量;所述functionl [Kd(i), Ku(j)]和所述 function2[Kd(i), Ku(j)]均为增函数。根据以上所述的目的,本发明提出 了一种在互联网中确定用户特征的方法,其特征在于,在服务器中存储用户集J= {1,2,...,N}和特征集K= {1,2,...,L},其中N为用户个数,L为特征个数;并且在所述服务器中执行如下步骤接收用户j(j e j)联络用户i(i e J)的信号,所述信号至少包括所述用户j的用户标识和所述用户i的用户标识;根据所述用户j的用户标识,读取所述用户j的用户特征向量Ku(j) = (UWjl,UWj2, ... , UWjk, ... , UWjl),其中UWjk表示所述用户j与特征k(k e K)的相关度;根据所述用户i的用户标识,读取所述用户i的用户特征向量Ku(i) = (uwn,UWi2, , UWik, , UWil),其中UWik表示所述用户i与特征k(k e K)的相关度;至少使用如下算法中的一种对所述的特征向量进行更新Ku* (i) = function3[Ku(i), Ku(j)]Ku* (j) = function4[Ku(i), Ku(j)]
其中Ku⑴和IC⑴分别表示更新前和更新后的所述用户i的用户特征向量,Ku(J)和Ku*(j)分别表示更新前和更新后的所述用户j的用户特征向量;所述function3[Ku(i), Ku(j)]和所述 function4[Ku(i), Ku(j)]均为增函数。与现有技术相比,本发明方法通过用户在互联网上访问文档的信号以及用户在社交网络上联络其他用户的信号,来自动地获取用户的个性化特征,并根据用户个性化特征帮助用户对获取的网络信息进行有效地过滤和筛选,以及根据用户个性化特征寻找具有特定特征的用户群。


图I为用户特征向量的表示方法;图2为文档特征向量的表示方法;图3为广告特征向量的表不方法;图4为一种在互联网中确定用户特征的方法流程图;图5为一种在互联网中确定用户特征的方法流程图;图6为一种在互联网中确定用户特征的系统结构图。
具体实施例方式结合附图对本发明方法作进一步详细说明。对本专利方法具体实施方案的说明包括以下几个部分,首先说明用户特征向量和文档特征向量的表示及其初始值设置的方法,然后说明基于用户访问文档信号的用户特征向量和文档特征向量的更新方法,之后说明基于用户联络其他用户信号的用户特征向量更新方法,最后给出一种在互联网中确定用户特征的系统。图I是用户特征向量的表示方法。用户特征向量的表示方法与Gerard Salton提出的向量空间模型VSM的向量表述方法相似,即以特征项作为用户特征的基本单位,用特征项的集合来近似表示一个用户的特征。所述用户特征向量是由用户特征和特征相关度来决定的。用户特征包括用户自然特征和用户偏好特征,其中用户自然特征包括年龄、性别、职业、学历、身高、体重和地理位置等,用户的个人偏好特征包括用户关注的领域等抽象特征,例如科学、音乐、军事和体育等。特征相关度表示每个用户与特征的关系紧密程度。如果一个用户关心音乐多一点,关心体育少一点,我们就说该用户与音乐特征的相关度高,与体育特征的相关度低。在介绍用户特征向量的表示方法之前,先介绍用户编号和用户特征的表示方法。在互联网中可以通过以下标识来表示一个用户,包括用户在网站上申请的帐号、用户手机号码、IP地址、Email地址和即时通信号码等等。为了便于表述,我们把互联网上的每个用户进行统一编号,并以用户集J= {1,2,...,N}表示用户的全体。所述用户集J中的每个用户具有至少一个特征,我们对用户集J中的所有用户的特征也进行统一编号,形成用户的特征集 K = {1,2,···,L}。在所述用户集J中的每个用户都设有用户特征向量。用户j(j e J)的用户特征向量的表示方法是Ku(j) = (UWj1, UWj2,. . . , UWjk,. . . , UWjl),其中UWjk表示所述用户j与特征集K的第k个特征的相关度。U%k数值越大则表示用户j与特征k之间的相关程度越高,如果UWjk为负数则表示用户j与特征k负相关。由于所述特征集K包括了所有用户的特征,因此它的维度通常是巨大的,而每个用户所具有的特征只是特征集K中很小的一部分,所以用户特征向量中绝大多数向量分量的数值都为零或是很小的数值,这导致了用户特征向量的数据稀疏现象的产生。解决方法是将所述用户特征向量用一种简化的形式表示,即将用户特征向量表示为[...,(k,uwjk),...]。例如特征集K= {新闻,科技,财经,体育,娱乐,生活,旅游,文化,教育,...}, 则设置一个编号为3209的用户的用户特征向量=[(财经,2.4);(教育,6. 7)],其中2.4表示用户3209与特征集K中的特征“财经”的相关度,6. 7表示用户3209与特征集K中的特征“教育”的相关度。在实际应用中通常使用用户特征向量的简化形式[...,(k,uwJk),...],这样可以节省存储空间和降低计算开销。但是为了形式化叙述方便起见,在以下叙述中所述用户j的用户特征向量的表述形式仍然使用Ku(j)或者(UWj1, UWj2, . . . , UWjk, . . . , UWjl)。需要说明的是使用用户特征向量的简化形式不影响所述方法本质。以下是用户特征向量的初始值设置方法的两个例子。例I是人工设置用户特征向量初始值的方法。以用户j的设置方法为例。首先确定用户j的主要特征,即在特征集K中人工选择用户j具有的至少一个特征,然后将用户j与用户集J中的其它用户进行比较,人工确定所述用户j的各个选定特征的相关度。例如用户3209的用户特征向量为[(财经,2. 4),(教育,6. 7)]。人工设定的相关度uwjk(j e J,k e K)的取值范围为[a,b],其中a和b为设定参数。例2是根据用户提交的一组用户所具有的特征来设置用户特征向量初始值的方法。设用户j选定了一组用户%= {...,!!!,...!,其中用户!!!^^^)的用户特征向量为Ku(m) = (uwml, uwm2, . . . , UWml),则用户j的用户特征向量的初始值为uwJk = λ 2 (η) · Σ (m e uj) [ λ j (m) · uwmk],对于每个 k e K其中η为所述Uj的元素个数;λ 2 (η)是η的减函数,η越大则λ 2 (η)越小;λ工(m)是表示用户m在集合%中的重要程度的参数。图2为文档特征向量的表述方法。文档特征向量的表示方法与用户特征向量的表示方法相似,即以特征项作为文档特征的基本单位,用特征项的集合来近似表示一个文档的特征。文档特征向量是由文档的特征及特征相关度来决定的。文档的特征可为科学、音乐、军事和体育等等。特征相关度代表每个文档与相应特征的关系紧密程度,例如如果一个文档与社会问题的关系多一点与军事问题的关系少一点,我们就说该文档与社会特征的相关度高,与军事特征的相关度低。在介绍用户特征向量的表示方法之前,先介绍文档编号和文档特征的表示方法。在互联网中存在大量文档,其内容包括网页、微博的内容、脸书(Facebook)中的墙和广告等,其表现形式包括文本、视频、音乐和图片等。这些文档通常具有唯一的网络地址URL。为了便于说明我们把在互联网上的每个文档进行统一编号,并用文档集I = {1,2,...,M}表示互联网上的M个文档。所述文档集I中的每个文档的特征可以通过传统的特征提取方法来获得,例如文档词频(DF)、信息增益(IG)、互信息(MI)和X2统计法(CHI)等等,也可以通过人工设置的方式产生文档的特征。我们对文档集I中所有文档的特征也进行统一编号,形成文档的特征集K = {1,2, . . . , L}。需要特别说明的是所述文档的特征集与所述用户的特征集是相同的。本文中提及的特征集K既表示用户特征集,也表示文档特征集。因此,在生成特征集K时,既要考虑到用户的特征,也要考虑到文档的特征。同一个特征,例如特征“计算机”,对于用户来讲表示用户偏好“计算机”,对于文档而言说明这个文档与“计算机”有关。另外,有些特征之间是具有相关性的,例如物理和相对论,因此在特征选择时,可以通过减少特征之间的相关性来提高算法效率,也可以通过本专利方法来研究两个设定特征之间的相关性。有些特征不必直接列入特征集中,因为这些特征的相关度可以通过特征集K中的两个或两个以上其他特 征的相关度的加权平均算出。这样有利于缩小特征集K的维度。在所述文档集I中的每个文档都设有文档特征向量。文档i(i e I)的文档特征向量的表示方法是Kd (i) = (dwn, dwi2,. . . , dwik,. . . , dwiL),其中dwik表示所述文档i与特征集K的第k个特征的相关度。所述相关度(!^,数值越大,表示文档i与特征k之间的相关程度越高,如果dWik的数值为负数,则表示文档i与特征k负相关。与用户特征向量情况相似,文档特征向量也可以应用简化的表述形式[...,(k,dwik),...]来解决文档特征向量数据稀疏问题。文档特征向量初始值的一个设置方法如下以文档i(i e I)的文档特征向量的设置方法为例。首先确定文档i的主要特征,即在特征集K中人工选择文档i具有的至少一个特征,然后将文档i与文档集I中的其它文档进行比较,人工确定所述文档i的各个人工选定特征的相关度。例如编号为1168的文档的文档特征向量为[(科技,8. 4),(教育,3.2)]。人工设定的相关度dwik(i e I)的取值范围为[a,b],其中a和b为设定常数。图3为广告特征向量的表示方法。广告特征向量的表示方法与用户特征向量的表示方法相似,即以特征项作为广告特征的基本单位,用特征项的集合来近似表示一个广告的特征。我们对系统中存储的广告进行统一编号得到广告集A = {1,2,...,G},广告g(g ^ A)的广告特征向量 Ka (g) = (awgl, awg2, ···, awgk, ···, awgI),其中 awgk 表示所述广告g与特征k(keK)的相关度,G为广告个数。广告特征向量的简化表示形式为[...,(k,awgk),...]。广告特征向量的初始值可以人工设定,例如某广告的广告特征向量为[(食品,4.6),(学生,3. 2)],说明这个广告与食品有关,目标客户群是学生,与食品的相关度为4. 6,与学生的相关度为3. 2。广告特征向量初始值,缺省为零向量。图4为一种在互联网中确定用户特征的方法流程图。这个方法是基于用户访问文档的信号来更新所述用户特征向量和所述文档特征向量的。所述方法包括如下具体步骤S10.为文档集I= {1,2,.. . ,M}中的一部分文档设置文档特征向量初始值,文档特征向量缺省初始值为零向量;为用户集J= {1,2,...,N}中的一部分用户设置用户特征向量初始值,用户特征向量缺省初始值为零向量;
Sll.接收用户j(j e J)访问文档i(i e I)的信号,所述信号至少包括所述用户j的用户标识和所述文档i的文档标识;S12.根据所述文档标识,读取所述文档i的文档特征向量Kd(i) = (dwn,dwi2,,dwik, . . . , dwiL),其中dwik表示所述文档i与特征k(k e K)的相关度;S13.根据所述用户标识,读取所述用户j的用户特征向量Ku(j) = (UWjijUWj2,...,UWjk, ... , UWjl),其中UWjk表示所述用户j与特征k(k e K)的相关度;S14.更新所述文档i的文档特征向量和所述用户j的用户特征向量;更新后的所述文档i的文档特征向量是更新前的所述文档i的文档特征向量和所述用户j的用户特征向量的函数;更新后的所述用户j的用户特征向量是更新前的所述文档i的文档特征向量和所述用户j的用户特征向量的函数;形式化表述如下Kd* (i) = functionl [Kd (i), Ku (j)]
Ku* (j) = function2[Kd(i), Ku(j)]其中Kd(i)和K/(i)分别表示更新前和更新后所述文档i的文档特征向量,Ku(J)和lC(j)分别表示更新前和更新后所述用户j的用户特征向量,所述funCtionl[Kd(i),Ku(J)]和function2[Kd(i),Ku(J)]均为增函数。在使用上述算法后需要对Kd (i)和Ku(j)进行更新,即 Kd(i) = K;(i),Ku(j) = Ku*(j)。在图4所述方法中的所述访问,至少包括如下情形中的一种用户浏览一个网页、用户点击一个广告、用户创建一条微博、用户转发一条微博、用户收藏一条微博、用户对微博进行评论、用户在脸书(Facebook)中将一个文档设为喜欢(like)、用户浏览脸书(Facebook)中其他用户的墙(wall)上的一条信息等等。例如用户点击了一个网页我们就说用户访问了该网页;如果用户j转发了文档H例如一篇微博),我们就说用户j访问了文档i。应用实例I。应用实例I为图4所述方法的一个应用实例,即当所述用户j (j e J)访问所述文档i(i e I)后,通过如下具体算法来更新所述文档i的文档特征向量和所述用户j的用户特征向量dwik* = dwik+ λ j (t) · f j (uwJk);对于每个 k e UKj, UKjC K;uwJk* = uwJk+ λ 2 (t) · f2 (dwik);对于每个 k e DKi, DKj C K;所述具体算法中,A(UWjk)和f2(dwik)均为增函数。所述具体算法中,所述t为所述访问的类型,即所述用户j与文档i建立联系的方式,例如t = 11表示在微博中所述用户j转发了所述文档i,t = 12表示在微博中所述用户j评论了所述文档i,t = 21表示在脸书(Facebook)中的所述用户j点击了所述文档i上的“喜欢(like)”按钮,t = 31表示所述用户j浏览了所述文档i (一个网页)等等。λ Jt)和 λ2( )分别为 t 的函数,例如 λ 1(11) = 6, λ 1(12) = 8, λ 2(21) = 5。所述具体算法中,所述DKi是由所述文档i的文档特征向量Kd⑴=(dwn,dwi2, . . . , dwik, . . . , dwiL)中数值最大的Qi (i e I)个分量所对应的特征组成的集合,所述UKj是由所述用户j的用户特征向量Ku(j) = (UWj1, UWj2, . . . , uwJk, . . . , uwJL)中数值最大的Pj (j e J)个分量所对应的特征组成的集合,Qi和Pj为设定参数。例如,i = 30, Q30 =3,DK30 = {科学,计算机,DNA} ; j = 265,P265 = 2,UK265 = {科学,生物}。
所述具体算法中,dwik和dwik*分别表示更新前和更新后的所述文档i的文档特征向量的第k个分量,u%k和Uw/分别表示更新前和更新后的所述用户j的用户特征向量的第k个分量。在所述具体算法执行完成之后,进行以下赋值,即对于每个k e 1)1^有(1^1;=dwik*,对于每个 k e UKj 有 UWjk = uwjk*。在图4所述方法和所述应用实例1中存在以下几个问题。第一,用户特征向量的分量和文档特征向量的分量在多次应用所述算法之后,其数值会逐渐增加最后超过存储器的存储容量。第二,在用户特征向量或者文档特征向量中,其旧的特征往往具有较大的相关度,而新的特征的相关度尽管其数值增加较快而且能够反映近期用户或者文档的特征,但是其数值仍然比旧的特征的相关度小,因此可能无法被选到集合DKi和UKj中。第三,某些病毒可能控制用户进行大量恶意的网页访问,因而使得用户特征向量和文档特征向量被错误地更新。为解决上述问题本文设计如下用户特征向量和文档特征向量的修正算法。针对所述第一个问题,本专利采用如下的用户特征向量的修正算法选择一个k e K,将数据集合Uk = Iuwjk I UWjk彡UCk, j e J}中的每个uwjk映射为区间[a,b]上一实数值gi (UWjk);当集合Uk中的每个UWjk都被映射为对应的gi (UWjk)后,再用所述映射得到的每个实数值gi (UWjk)分别给其对应的UWjk赋值;其中gi (UWjk)为增函数,uCk, a和b均为设定常数。该方法的举例如下例I :对数据集合Uk = Iuwjk I UWjk彡uCk, j e J}进行排序,得到每个uwjk的排名Rank (UWjk),并且规定 Rank (Max」uwJk) = I, Rank (Minj uwJk) = Num(Uk),其中 Num(Uk)表不集合Uk的元素个数,因此所述修正算法为对于每个iwjk e Uk gi (UWjk) = a+(b_a) · [Num (Uk)-Rank (uwjk)+1]/Num (Uk),uwJk = gi (UWjk)。例2 :设maXj uwjk表示数据集合Uk = {uwjk| Uwjk彡uCk, j e J}中数值最大的若干项(如前10项)的平均值,因此所述算法为gi (UWjk) = a+(b_a) · UwjkZmaxjUwjk ;若uwJk >maXjUWjk,则取 gi (UWjk) = b ;最后对于每个 uwjk e Uk 设 uwjk = gi (Uwjk)。例3 :在数据集合Uk = Iuwjk I UWjk彡uCk, j e J}中随机抽取R个数据(SpS2,...,Sr}。对于每个 UWjk e Uk,如果 Sm 彡 UWjk ( sm+1,则设 gi (UWjk) = a+(m-l) · d 或者 gi (Uwjk)=Sm (在系统中二者只能选用其一),最后对于每个UWjk e Uk,设UWjk = gi (UWjk),其中d =(b_a) /R, I ^ m ^ R0针对所述第一个问题,本专利采用了如下的文档特征向量的修正算法选择一个k e K,首先将数据集合Vk = {dwik | dwik彡dCk, i e 1}中的每个dwik映射为区间[a, b]上一实数值g2(dwik),当集合Vk中的每个UWjk都被映射为相应的g2(dwik)后,再用所述映射得到的每个实数值g2(dwik)分别给其对应的dwik赋值;其中g2(dwik)为增函数,dCk、a和b均为设定常数。文档特征向量修正算法的例子与所述用户特征向量修正算法的三个例子原理相同。在第一个问题的解决方案中,选择了一个k进行说明。在实际应用中,可以对特征集K中的部分或者全部特征中的每一个使用所述方法。针对所述第二个问题,解决办法是在用户特征向量的修正算法中选择a < UCk< b,在文档特征向量的修正算法中选择a < dCk < b。针对所述第三个问题,有两个解决方法。一个是设定每个用户的用户特征向量在一个时间段内的最大更新次数,如果超过了最大更新次数,则当这个用户再次访问其他文档时,停止更新其用户特征向量和其访问的文档的文档特征向量。另一个是每次更新所述用户特征向量后,以用户j为例,将所述用户j的用户特征向量的各个分量都乘以一个参数e(0 < e < I),所述e与参数[λ 3(j) · Σ (keK)uwJk]成反比,其中λ 3(j)为一个与所述用户j相关的设定常数。应用实例2。应用实例2是图4所述方法的一个应用实例,包括在互联网中查询一组特定文档的应用,其步骤如下多次使用所述方法获取所述文档集I中的多个文档的文档特征向量和所述用户集J中的多个用户的用户特征向量;例如通过接收多个用户分别对不同文档的访问请求,来更新相应的用户特征向量和文档特征向量;接收用户m(m e J)提交的查询条件,所述查询条件包括被查询文档的至少一个特征;根据所述查询条件,生成所述用户m的查询特征向量;计算所述文档集I中每个文档(不包括所述文档m)的文档特征向量与所述查询特征向量之间的数学距离以及根据所述数学距离对所述文档集I进行排序;
按照所述排序结果将所述文档集I中部分文档的标识发送给所述用户m。在所述应用实例2中,通常设置所述用户m的查询特征向量为Ks(m) = (swml,SWm2, . . . , SWmk, . . . , SWml),其中SWmk表示所述被查询文档与特征集K的第k个特征的相关度。所述用户m提交的查询特征向量Ks (m) = (SWml, SWm2, . . . , swmk, . . . , swmL)至少有以下三种生成方法。第一是由所述用户m自己设置查询特征向量各个分量的数值,例如设swJ2=2. 3, SWj6 = 6. I,所述查询特征向量的其他各个分量为O,其中SWjk e [a,b], a和b为设定常数。第二是把所述用户m的用户特征向量赋值给所述查询特征向量。第三是所述用户m提交一组文档标识集合Dm = {...,r,...},其中文档r(r e Dm)的文档特征向量为(dwrt,dwr2, . . . , dwrL),因此所述用户 m 的查询特征向量 swmk = λ 2 (η) · Σ (r e Dm) [ λ i (r) · dwrk](k e K),其中n为所述集合Dm的元素个数,n越大则λ2(η)越小,X1Cr)是反映用户r在集合Dm中的重要程度的设定常数。在所述应用实例2中,所述数学距离的算法如下;设所述用户m的查询特征向量为Ks (m) = (SWml, SWm2. . . , swmk, . . . , SWml),所述文档集I中的文档i的文档特征向量为Kd⑴=(dwn, dwi2,. . . , dwik,. . . , (Iwil),贝U所述用户m提交的查询特征向量与所述文档集I中的文档i的文档特征向量之间的数学距离定义为I |Ks(m), Kd(i) I I = [ Σ k (swmk · dwik) ] / {[ Σ k (swmk)2]1/2 · [ Σ k (dwik)2]1/2}其中k e K。当所述文档集I中的元素数量较多时,计算所述文档集I中每个文档的文档特征向量与所述用户m的所述查询特征向量之间的数学距离需要花费较多的系统资源,一个简化算法是在所述文档集I中随机抽取一个子集,然后计算所述子集中每个文档的文档特征向量与所述用户m的所述查询特征向量之间的数学距离,并根据所述数学距离对所述子集中每个文档进行排序,然后根据排序结果将所述子集的一部分文档的标识呈现给所述用户m0
应用实例3。应用实例3是图4所述方法的应用实例,包括在互联网中查询一组特定用户的应用,其步骤如下多次使用所述方法获取所述用户集J中的多个用户的用户特征向量;接收用户m(m e J)提交的查询条件,所述查询条件包括被查询用户的至少一个特征;根据所述查询条件,生成所述用户m的查询特征向量;计算所述用户集J中每个用户(不包括所述用户m)的用户特征向量与所述查询特征向量之间的数学距离以及根据所述数学距离对所述用户集J进行排序;按照所述排序结果将所述用户集J中部分用户的标识发送给所述用户m。 在所述应用实例3中,通常设置所述用户m的查询特征向量为Ks(m) = (swml,SWm2,. . . ,SWmk,. . .,SWml),其中SWmk表示所述被查询用户与特征集K的第k个特征的相关度。所述查询特征向量至少有以下三种生成方法。第一是人工设置查询特征向量各个分量的数值,例如设SWj2 = 2.3, SWj8 = 2. 3,其他分量的数值为0,其中SWjk e [a, b],a和b为设定常数;第二是把所述用户m的用户特征向量赋值给查询特征向量;第三是所述用户m提交一组用户标识集合Um = {. . . ,r,. . . },其中用户r(r e Uj的用户特征向量为Ku (r) = (uwrl,uwr2, . . . , uwrL),因此所述用户 m 的查询特征向量 Swmk = λ 2 (η) · Σ (r e Um) [ λ i (r) · uwrk](k e K),其中n为所述集合Um的元素个数,n越大则λ2(η)越小,X1Cr)是表示用户r在集合Um中的重要程度的设定常数。在所述应用实例3中,所述数学距离的算法如下设所述用户m的查询特征向量为Ks(m) = (SWml, SWm2,. . . , swmk,. . . , SWml),所述用户集J中的用户i的用户特征向量为Ku⑴=UWil, UWi2, . . . , UWik, . . . , UWil),则所述用户m提交的查询特征向量与所述用户集I中的用户i的用户特征向量之间的数学距离定义为I IKs(m), Ku(i) I I = [ Σ k(swmk · uwik) ]/{[ Σ k(swmk)2]1/2 · [ Σ k(uwik)2]1/2}其中k e K。应用实例4。应用实例4是图4所述方法在广告发布领域的一个应用实例,包括如下步骤多次使用所述方法获取所述文档集I中多个文档的文档特征向量和所述用户集J中的多个用户的用户特征向量,其中所述用户集J中的用户m的用户特征向量为Ku(m)=(uwml,UWm2,. . . ,UWmk,. . . ,UWml),所述文档集I中的文档η的文档特征向量为Kd(n) = (dwnl,(Iwn2,. . . , dwnk,. . . , dwnL);设广告集 A = {1,2,. . . ,G},广告 g(g e A)的广告特征向量1^&)=(awgl, awg2, ···, awgk, ···, awgL),其中awgk表示所述广告g与特征k(k e K)的相关度,G为广告个数;然后执行如下步骤接收用户m(m e J)访问文档η (n e I)的信号,所述信号至少包括所述用户m的用户标识和所述文档η的文档标识;根据所述用户m的用户标识,获取所述用户m的用户特征向量Ku(m);根据所述文档η的文档标识,获取所述文档η的文档特征向量Kd(η);计算所述广告集A中每个广告的广告特征向量Ka(g)与所述用户m的用户特征向量Ku(Hi)之间的数学距离I ;计算所述广告集A中每个广告的广告特征向量Ka(g)与所述文档η的文档特征向量Kd (η)之间的数学距离2 ;根据所述广告集A中每个广告的所述数学距离I和所述数学距离2生成数学距离3,以及根据所述数学距离3对所述广告集A中每个广告的进行排序;按照所述排序的结果,将所述广告集A中的至少一个广告放入所述文档η并将放入广告的所述文档η发送给所述用户m。在应用实例4中数学距离的定义如下设所述数学距离I为ug(g,m),所述数学距离2为dg (g, η),所述数学距离3为distance (g, m, η),则有ug (g, m) = [ Σ k (uwmk · awgk) ] / {[ Σ k (uwmk)2]1/2 · [ Σ k (awgk)2]1/2}dg(g, n) = [ Σ ^dwnk · awgk) ] / {[ Σ Jdwnk)2]1/2 · [ Σ k (awgk)2]1/2}
distance (g, m, n) = λ 5 · ug (g, m) + λ 6 · dg (g, n)其中入5和λ 6 为设定正常数,且 λ5+λ6 = l,n e l,m e j,g e A,k e K。在所述应用实例4中,所述广告g(g e A)的广告特征向量Ka (g) = (awgl,awg2,...,awgk, · · ·,awgL)的初始值有两种设置方法第一种是静态赋值法,即根据广告的所属领域和广告的受众群,人工设置广告特征向量的各个分量的初始值,例如设置awg2 = 3. 5,awg4 =3.7,其他分量数值为0,& 8,£ [a,b],其中a和b为设定常数。第二种是动态赋值法,即将广告g(g e A)看做一个文档h(h e I),当一个用户访问了广告文档h后(例如点击广告),应用图4所述方法更新广告文档h的文档特征向量,当需要使用所述广告g(g e A)的广告特征向量时,设置Ka(g) =Kd(h)。其中所述广告g和所述广告文档h是同一个广告的两种表现形式,所述广告g是在所述广告集A中的编号,所述广告文档h是在所述文档集I中的编号。在图4所述方法中存在用户隐私保护问题。当前互联网平台的一个发展趋势是向第三方服务提供商和应用开发商开放应用开发接口(API),这种做法对于扩大网络的影响和增加网络的服务能力有好处,但是同时也带来了用户信息泄露的风险。因为互联网平台往往需要与第三方公司分享用户标识等信息,如用户手机号码、QQ号码等。而由于第三方公司往往数量庞大,其中个别公司可能会不当利用从互联网平台获得的用户信息,甚至泄露用户的个人隐私。一个可行的解决方案就是给每个用户设置至少一个虚拟标识。所述虚拟标识在一段时间内有效,而且互联网平台发给每个第三方服务提供商或应用开发商的虚拟标识可以不同。只有在互联网平台中,能够找到用户的虚拟标识与用户标识的对应关系。这样就解决了上述用户信息泄露问题。以用户j为例说明保护用户隐私的具体步骤在所述服务器中建立所述用户j的用户标识与至少一个虚拟标识之间的对应关系,其中一个用户标识对应至少一个虚拟标识,而一个虚拟标识对应唯一一个用户标识。当所述服务器收到所述用户j访问所述文档i的信号后,首先判断所述用户j的标识是否是虚拟标识,是则在数据库中查找所述用户j的虚拟标识对应的用户标识,然后根据图4所述的方法使用用户标识来读取所述用户j的用户特征向量,然后再更新所述用户j的用户特征向量和文档i的文档特征向量。图5为一种在互联网中确定用户特征的方法流程图。这个方法是基于用户联络其他用户的信号来更新所述用户特征向量的。所述方法包括如下步骤S20.为用户集J= {1,2,... ,N}中的一部分用户设置用户特征向量初始值,用户特征向量缺省初始值为零向量;S21.接收用户j(j e J)联络用户i(i e J)的信号,所述信号至少包括所述用户j的用户标识和所述用户i的用户标识;S22.根据所述用户j的用户标识,读取所述用户j的用户特征向量Ku(j) = (UWjl,UWj2, ... , UWjk, ... , UWjl),其中UWjk表示所述用户j与特征k(k e K)的相关度;S23.根据所述用户i的用户标识,读取所述用户i的用户特征向量Ku(i) = (uwn,UWi2, , UWik, . O.. , UWil),其中UWik表示所述用户i与特征k(k e K)的相关度;S24.至少更新所述用户j的用户特征向量和所述用户i的用户特征向量中的一个;更新后的所述用户i的用户特征向量是更新前的所述用户i的用户特征向量和所述用户j的用户特征向量的函数;更新后的所述用户j的用户特征向量是更新前的所述用户i的用户特征向量和所述用户j的用户特征向量的函数;形式化表述如下 Ku* (i) = function3[Ku(i), Ku(j)]Ku* (j) = function4[Ku(i), Ku(j)]其中Ku⑴和IC⑴分别表示更新前和更新后所述用户i的用户特征向量,Ku(j)和lC(j)分别表示更新前和更新后所述用户j的用户特征向量;所述fUnCtion3[Ku(i),Ku(J)]和function4[Ku(i),Ku(J)]均为增函数。在使用上述算法后需要对Ku(i)和Ku(j)进行更新,即Ku(i) = IC⑴和Ku(j) = K;(j)。在图5所述方法中提及的所述联络,至少包括如下情形中的一种在微博中的加关注(follow)、转发、发私信和评论,脸书(Facebook)中的加为好友、捅(poke)、送礼物和浏览墙(wall),即时通信中的加为好友和点对点发信。例如在微博中如果用户j关注了用户i,我们就说用户j联络了用户i。应用实例5。应用实例5为图5所述方法的一个应用实例。即当所述用户j (j e J)联络所述用户i(i e j)后,通过如下具体算法来更新所述用户i的用户特征向量和所述用户j的用户特征向量uwik* = Uwik+λ 3 ⑴· f3 (UWjk);对于每个 k e UKj, UKjC K;uwJk* = uwJk+ λ 4 (t) · f4 (uwik);对于每个 k e UKi, UKj C K;在所述具体算法中,f3 (uwJk)和f4 (UWik)为增函数;在所述具体算法中,所述t为所述联络的类型,即所述用户j与用户i建立联络的方式,例如t = 41表示微博的关注、t = 42表示微博的转发、t = 43表示微博的评论,t = 44表示微博的发私信,t = 51表示脸书(Facebook)中的加为好友、t = 52表示脸书(Facebook)的捅(poke)等等;λ 3(t)和 λ 4(t)分别为 t 的函数,例如 λ 3(41) = 9, λ 3(42)=6, λ4(51) = 5。在所述具体算法中,所述UKi是由所述用户i的用户特征向量Ku(i) = (uwn,uwi2, , uwik, , uwiL)中数值最大的PiQ e J)个分量所对应的特征组成的集合,所述UKj是由所述用户j的用户特征向量Ku(j) = (UWj1, UWj2, . . . , uwJk, . . . , uwJL)中数值最大的P^j e J)个分量所对应的特征组成的集合,Pi和P」为设定常数。在所述具体算法中,Wik和Wik*分别表示更新前和更新后的所述用户i的用户特征向量的第k个分量,Wjl^P uw/分别表示更新前和更新后的所述用户j的用户特征向量的第k个分量。在所述具体算法执行完成后,进行如下赋值,即对于每个k e UKi有Uwik =uwik*,对于每个 k e UKj 有 UWjk = uwjk*。与所述应用实例4相似,所述应用实例5也存在以下问题。第一,用户特征向量的分量在多次应用所述算法之后,其数值会逐渐增加最后超过存储器的存储容量。第二,在用户特征向量中,旧的特征往往具有较大的相关度,而新的特征的相关度尽管其数值增加较快而且能够反映当前用户的特征 ,但是其数值仍然比旧的特征的相关度小,因此无法被选到集合UKi和U\_中。第三,某些病毒可能控制用户进行大量用户联络操作,因而使得用户特征向量被错误地更新。上述三个问题的解决方法与所述应用实例I中的对用户特征向量的处理方法相同。图5所述方法包括一个在互联网中查询一组特定用户的应用实例,其具体实现步骤与应用实例3相同。应用实例6。应用实例6是图5所述方法在广告发布领域的一个应用实例,包括如下步骤多次使用所述方法获取所述用户集J中的多个用户的用户特征向量,其中所述用户集J中用户m的用户特征向量为Ku(m) = (uwml, UWm2,. . . , uwmk,. . . , uwmI),用户η的用户特征向量为 Ku(n) = uwnl, Uwn2, . . . , uwnk, . . . , Uw1il);设广告集为 A= {1,2, , G},广告g(g e Α)的广告特征向量1^&) = (awgl, awg2, ···, awgk, ···, awgL),其中 awgk 表示所述广告g与特征k(k e K)的相关度,G为广告个数;然后执行如下步骤接收用户m(m e J)联络用户n(n e J)的信号,所述信号至少包括所述用户m的用户标识和所述用户η的用户标识;根据所述用户m的用户标识,读取所述用户m的用户特征向量Ku(m);根据所述用户η的用户标识,读取所述用户η的用户特征向量Ku(η);计算所述广告集A中每个广告的广告特征向量Ka(g)与所述用户m的用户特征向量Ku(Hi)之间的数学距离4 ;计算所述广告集A中每个广告的广告特征向量Ka(g)与所述用户η的用户特征向量Ku(η)之间的数学距离5 ;根据所述广告集A中每个广告的所述数学距离4和所述数学距离5生成数学距离6,以及根据所述数学距离6对所述广告集A中每个广告的进行排序;按照所述排序结果将所述广告集A中的至少一个广告推送给所述用户m。在应用实例6中数学距离的定义如下设所述数学距离4为ug(g,m),所述数学距离5为ug (g, η),所述数学距离6为distance (g, m, η),则有ug(g, m) = [ Σ k(uwmk · awgk) ]/{[ Σ k(uwmk)2]1/2 · [ Σ k(awgk)2]1/2}ug(g, n) = [ Σ ,,(Uwnk · awgk) ]/{[ Σ k(Uwnk)2]1/2 · [ Σ k(awgk)2]1/2}distance (g, m, n) = λ 7 · ug (g, m) + λ 8 · ug (g, n)其中入7和λ 8 为设定正常数,且 λ7+λ8 = l,n e l,m e j,g e A,k e K。在所述应用实例6中,所述广告g(g e A)的广告特征向量Ka (g) = (awgl,awg2,...,awgk, · · ·,awgL)的初始值的设置方法与应用实例4中的设置方法相同。图5所述方法与图4所述方法一样,也存在一个用户隐私保护问题。其解决方案与在图4所述方法中的设置用户虚拟标识的方法相同。图4和图5所述的方法通常放到一起使用。这两种方法不仅都能够对用户特征向量进行更新,而且两种方法可以相互补充,使得用户特征向量更好地反映相应的用户的特征。图6为一种在互联网中确定用户特征的系统。所述系统通过两种方式对用户特征向量进行更新,一种是当用户访问了一个文档后,更新所述用户的用户特征向量和所述文档的文档特征向量;另一种是当用户联络了另一个用户后,则更新其中至少一个用户的用户特征向量。所述系统包括如下功能模块用户特征向量初始值设置模块211 :根据用户的自然特征和用户偏好,设置用户集J= {1,2,...,N}中的一部分用户的用户特征向量初始值,并将其存储于用户数据库220中;文档特征向量初始值设置模块212:根据文档的特征,设置文档集I = {1,2,...,M}中的一部分文档的文档特征向量初始值,并且将其存储于文档数据库230中;
广告特征向量初始值设置模块213 :根据广告的特征,设置广告集A = {1,2,...,G}中一部分广告的广告特征向量初始值,并将其存储于广告数据库240中;用户访问文档信号获取模块214 :获取用户j (j e J)访问文档i (i e I)的信号,所述信号至少包括所述文档i的文档标识和所述用户j的用户标识,所述信号存储于用户数据库220中;用户联络用户信号获取模块215 :获取用户j (j e J)联络用户i (i e J)的信号,所述信号至少包括所述用户j的用户标识和所述用户i的用户标识,并将所述信号存储于用户数据库220中;特征向量更新模块I (216):根据在所述用户访问文档信号获取模块214中得到的所述文档i的文档标识和所述用户j的用户标识,分别读取所述文档i的文档特征向量和所述用户j的用户特征向量,然后更新所述文档i的文档特征向量和所述用户j的用户特征向量;更新后的所述文档i的文档特征向量是更新前的所述文档i的文档特征向量和所述用户j的用户特征向量的函数;更新后的所述用户j的用户特征向量是更新前的所述文档i的文档特征向量和所述用户j的用户特征向量的函数;具体实现方法与图4所述方法相同;特征向量更新模块2(216):根据在所述用户联络用户信号获取模块215中得到的所述用户j和所述用户i的用户标识,分别读取所述用户j和所述用户i的用户特征向量,然后更新所述用户j和所述用户i的用户特征向量;更新后的所述用户i的用户特征向量是更新前的所述用户i的用户特征向量和所述用户j的用户特征向量的函数;更新后的所述用户j的用户特征向量是更新前的所述用户i的用户特征向量和所述用户j的用户特征向量的函数;具体实现方法与图5所述方法相同;广告选择和呈现模块217 :根据在所述用户访问文档信号获取模块214中得到的所述文档i的文档标识和所述用户j的用户标识,计算所述广告集A中的每个广告的数学距离3,以及根据所述数学距离3对所述广告集A进行排序,并根据所述排序结果将至少一个广告呈现给所述用户j ;根据在所述用户联络用户信号获取模块215中得到的所述用户j和所述用户i的用户标识,计算所述广告集A中的每个广告的数学距离6,以及根据所述数学距离6对所述广告集A进行排序,并根据所述排序结果将至少一个广告呈现给所述用户j ;所述数学距离3与应用实例4中的数学距离3的计算方法相同,所述数学距离6与应用实例6中的数学距离6的计算方法相同;文档查询模块218 :接收用户m(m e J)提交的查询条件,所述查询条件至少包括被查询文档的至少一个特征,根据所述查询条件生成查询特征向量1,然后计算所述文档I中每个文档的文档特征向量与所述查询特征向量I之间的数学距离7,以及根据所述数学距离7对所述文档I进行排序,并且按照所述排序结果,将所述文档集I中的一部分文档的标识发送给所述用户m ;所述查询特征向量I与所述应用实例2中的查询特征向量的生成方法相同,所述数学距离7与所述应用实例2中的所述数学距离的计算方法相同;用户查询模块219 :接收用户m(m e J)提交的查询条件,所述查询条件至少包括被查询用户的至少一个特征,根据所述查询条件生成查询特征向量2,然后计算所述用户集J中每个用户的用户特征向量与所述查询特征向量2之间的数学距离8,以及根据所述数学距离8对所述用户集J进行排序,并且按照所述排序结果将所述用户集J中的一部分用户的标识发送给所述用户m ;所述查询特征向量2与所述应用实例3中的查询特征向量的生成方法相同,所述数学距离8与所述应用实例3中的所述数学距离的计算方法相同。 上述各模块中的所述用户i、用户j和用户m,分别代表所述用户集J中的任意一个用户。所述文档i和文档n,分别代表所述文档集I中的任意一个文档。为了表述方便起见,在各个模块中只列出了所述用户i、用户j和用户m以及文档i和文档η的应用实例。另外,所述特征向量更新模块(216)由两部分组成,包括所述特征向量更新模块I和所述特征向量更新模块2。以上所述应用实例仅为本发明的较佳的应用实例,并非用以限定本发明的保护范围。
权利要求
1.一种在互联网上确定用户特征的方法,其特征在于,在服务器中存储文档集I= {I,2,···,M}、用户集J= {1,2,... ,N}和特征集K= {1,2,···,L},其中M为文档个数,N为用户个数,L为特征个数;并且执行如下步骤 接收用户j(j e J)访问文档i(i e I)的信号,所述信号至少包括所述用户j的用户标识和所述文档i的文档标识; 根据所述文档标识,读取所述文档i的文档特征向量Kd(i) = (dwn,dwi2,. . . , dwik,...,dwiL),其中dwik表示所述文档i与特征k(k e K)的相关度; 根据所述用户标识,读取所述用户j的用户特征向量Ku(j) = (UWjijUWj2,. . . ,UWjk,...,UWjl),其中UWjk表示所述用户j与特征k(k e K)的相关度; 用如下算法更新所述文档i的文档特征向量和所述用户j的用户特征向量Kd*(i) = functionl [Kd(i), Ku(j)]Ku*(j) = function2[Kd(i), Ku(j)] 其中Kd(i)和K/(i)分别表示更新前和更新后的所述文档i的文档特征向量,Ku(J)和lC(j)分别表示更新前和更新后的所述用户的用户特征向量;所述fUnCtionl[Kd(i),Ku(j)]和所述 function2[Kd(i), Ku(j)]均为增函数。
2.根据权利要求I所述的方法,其特征在于,在所述算法的一个应用实例中,用如下具体算法来更新所述文档i的文档特征向量和所述用户j的用户特征向量dwik* = dwik+ λ j (t) · f1 (UWjk);对于每个 k e UKj, UKj C K;uwJk* = uwJk+ λ 2 (t) · f2 (dwik);对于每个 k e DKi, DKj £ K; 其中Kuwjk)和f2(dwik)为增函数为所述访问的类型,λ j(t)和X2(t)分别为t的函数;所述DKi是由所述文档i的文档特征向量Kd(i) = (dwn, dwi2,. . . , dwik,. . . , dwiL)中数值最大的Qi个分量所对应的特征组成的集合,所述UKj是由所述用户j的用户特征向量Ku (j) = (UWjijUWj2, . . . ,UWjk,. . . , UWjl)中数值最大的P」个分量所对应的特征组成的集合,Qi和Pj为设定参数;dwik和dwik*分别表示更新前和更新后的所述文档i的文档特征向量的第k个分量,UWjl^P uw/分别表示更新前和更新后的所述用户j的用户特征向量的第k个分量。
3.根据权利要求I所述的方法,其特征在于, 所述方法还包括对所述用户集J中的每个用户的用户特征向量进行修正的算法,即选择一个k e K,将数据集合Uk = {uwjk|uwjk≥uCk,j e J}中的每个uwjk映射为区间[a,b]上一实数值gi (UWjk);当集合Uk中的每个UWjk都被映射为对应的gi (UWjk)后,再用所述映射得到的每个实数值gi (UWjk)分别给其对应的UWjk赋值;其中gi (UWjk)为增函数,uCk> a和b均为设定常数。
4.根据权利要求I所述的方法,其特征在于, 所述方法还包括对所述文档集I中的每个文档的文档特征向量进行修正的算法,即选择一个k e K,将数据集合Vk = {dwik|dwik≥dck, i e 1}中的每个dwik映射为区间[a, b]上一实数值g2(dwik),当集合Vk中的每个UWjk都被映射为相应的g2(dwik)后,再用所述映射得到的每个实数值g2(dwik)分别给其对应的dwik赋值;其中g2(dwik)为增函数,dCk、a和b均为设定常数。
5.根据权利要求1所述的方法,其特征在于,所述方法包括在互联网上查询一组特定文档的应用实例,其步骤如下 多次使用所述方法获取所述文档集I中的多个文档的文档特征向量和所述用户集J中的多个用户的用户特征向量; 接收用户m(m e J)提交的查询条件,所述查询条件包括被查询文档的至少一个特征; 根据所述查询条件,生成所述用户m的查询特征向量; 计算所述文档集I中每个文档的文档特征向量与所述查询特征向量之间的数学距离,以及根据所述数学距离对所述文档集I进行排序; 按照所述排序结果将所述文档集I中部分文档的标识发送给所述用户m。
6.根据权利要求1所述的方法,其特征在于,所述方法包括在互联网上查询一组特定用户的应用实例,其步骤如下 多次使用所述方法获取所述用户集J中的多个用户的用户特征向量; 接收用户m(m e J)提交的查询条件,所述查询条件包括被查询用户的至少一个特征 根据所述查询条件,生成所述用户m的查询特征向量; 计算所述用户集J中每个用户的用户特征向量与所述查询特征向量之间的数学距离,以及根据所述数学距离对所述用户集J进行排序; 按照所述排序结果将所述用户集J中部分用户的标识发送给所述用户m。
7.根据权利要求1所述的方法,其特征在于,在所述方法的一个应用实例中,多次使用所述方法获取所述文档集I中多个文档的文档特征向量和所述用户集J中的多个用户的用户特征向量;设置广告集A= {1,2,···,G},广告g(g e A)的广告特征向量Ka (g) = (awgl,aw82, ...awgk, ···, awgI),其中awgk表示所述广告g与特征k(k e K)的相关度,G为广告个数;然后执行如下步骤 接收用户m(m e J)访问文档n(n e I)的信号,所述信号至少包括所述用户m的用户标识和所述文档η的文档标识; 根据所述用户m的用户标识,获取所述用户m的用户特征向量; 根据所述文档η的文档标识,获取所述文档η的文档特征向量; 计算所述广告集A中每个广告的广告特征向量与所述用户m的用户特征向量之间的数学距离1 ;计算所述广告集A中每个广告的广告特征向量与所述文档η的文档特征向量之间的数学距离2 ; 根据所述广告集A中每个广告的所述数学距离I和所述数学距离2生成数学距离3,以及根据所述数学距离3对所述广告集A中每个广告的进行排序; 按照所述排序的结果,将所述广告集A中的至少一个广告放入所述文档η并将放入广告的所述文档η发送给所述用户m。
8.—种在互联网上确定用户特征的方法,其特征在于,在服务器中存储用户集J= {I,.2,. . .,N}和特征集K = {1,2,. . .,L},其中N为用户个数,L为特征个数;并且在所述服务器中执行如下步骤 接收用户j(j e J)联络用户i(i e J)的信号,所述信号至少包括所述用户j的用户标识和所述用户i的用户标识; 根据所述用户j的用户标识,读取所述用户j的用户特征向量Ku(j) = (UWjl,jUWj2,...,UWjk, ... , UWjl),其中UWjk表示所述用户j与特征k(k e K)的相关度; 根据所述用户i的用户标识,读取所述用户i的用户特征向量Ku(i) = (uwn,uwi2,...,UWik, ... , uwiL),其中UWik表示所述用户i与特征k(k e K)的相关度; 至少使用如下算法中的一种对所述的特征向量进行更新
9.根据权利要求8所述的方法,其特征在于,在所述算法的一个应用实例中,所述用户i的用户特征向量和所述用户j的用户特征向量的更新算法如下uwik* = uwik+ λ 3 (t) · f3 (uwJk);对于每个 k e UKj, UKjC K;uwJk* = uwJk+ λ 4 (t) · f4 (uwik);对于每个 k e UKi, UKj C K; 其中f3 (U%k) f4 (UWik)为增函数,t为所述联络的类型,λ 3(t)和λ4α)分别为t的函数,所述UKi是由所述用户i的用户特征向量Ku(i) = (uwn, uwi2,. . . , UWik,. . . , uwiL)中数值最大的Pi个分量所对应的特征组成的集合,所述U\_是由所述用户j的用户特征向量Ku (j) = (UWjijUWj2, . . . ,UWjk,. . . , UWjl)中数值最大的P」个分量所对应的特征组成的集合,PJPPj为设定常数;UWik和UWik*分别表示更新前和更新后的所述用户i的用户特征向量的第k个分量,Wjl^P UW/分别表示更新前和更新后的所述用户j的用户特征向量的第k个分量。
10.根据权利要求8所述的方法,其特征在于, 所述方法还包括对所述用户集J中的每个用户的用户特征向量进行修正的算法,即选择一个k e K,将数据集合Uk = {uwjk|uwjk彡uCk,j e J}中的每个uwjk映射为区间[a,b]上一实数值gi (UWjk);当集合Uk中的每个UWjk都被映射为对应的gi (UWjk)后,再用所述映射得到的每个实数值gi (UWjk)分别给其对应的UWjk赋值;其中gi (UWjk)为增函数,uCk> a和b均为设定常数。
11.根据权利要求8所述的方法,其特征在于,所述方法包括在互联网上查询一组特定用户的应用实例,其步骤如下 多次使用所述方法获取所述用户集J中的多个用户的用户特征向量; 接收用户m(m e J)提交的查询条件,所述查询条件包括被查询用户的至少一个特征; 根据所述查询条件,生成所述用户m的查询特征向量; 计算所述用户集J中每个用户的用户特征向量与所述查询特征向量之间的数学距离,以及根据所述数学距离对所述用户集J进行排序; 按照所述排序结果将所述用户集J中部分用户的标识发送给所述用户m。
12.根据权利要求8所述的方法,其特征在于,在所述方法的一个应用实例中,多次使用所述方法获取所述用户集J中的多个用户的用户特征向量;设置广告集A = {1,2,...,G},广告 g(g e A)的广告特征向量为 Ka(g) = (awgl, awg2, ···, awgk, ···, awgL),其中 awgk 表示所述广告g与特征k(k e K)的相关度,G为广告个数;然后执行如下步骤 接收用户m(m e J)联络用户n(n e J)的信号,所述信号至少包括所述用户m的用户标识和所述用户η的用户标识; 根据所述用户m的用户标识,读取所述用户m的用户特征向量; 根据所述用户η的用户标识,读取所述用户η的用户特征向量; 计算所述广告集A中每个广告的广告特征向量与所述用户m的用户特征向量之间的数学距离4 ;计算所述广告集A中每个广告的广告特征向量与所述用户η的用户特征向量之间的数学距离5 ; 根据所述广告集A中每个广告的所述数学距离4和所述数学距离5生成数学距离6,以及根据所述数学距离6对所述广告集A中每个广告的进行排序; 按照所述排序结果将所述广告集A中的至少一个广告推送给所述用户m。
13.—种在互联网中确定用户特征的系统,其特征在于,包括以下模块 用户特征向量初始值设置模块根据用户的自然特征和用户偏好,设置用户集J= U,.2,...,N}中的一部分用户的用户特征向量初始值,并将其存储于用户数据库中; 文档特征向量初始值设置模块根据文档的特征,设置文档集I = {1,2,. . .,M}中的一部分文档的文档特征向量初始值,并将其存储于文档数据库中; 广告特征向量初始值设置模块根据广告的特征,设置广告集A= {1,2, ...,G}中部分广告的广告特征向量初始值,并将其存储于广告数据库中; 用户访问文档信号获取模块获取用户j(j e J)访问文档i(i e I)的信号,所述信号至少包括所述文档i的文档标识和所述用户j的用户标识,所述信号存储于用户数据库中; 用户联络用户信号获取模块获取用户j(j e J)联络用户i(i e J)的信号,所述信号至少包括所述用户j的用户标识和所述用户i的用户标识,并将所述信号存储于用户数据库中; 特征向量更新模块I :根据在所述用户访问文档信号获取模块中得到的所述文档i的文档标识和所述用户j的用户标识,分别读取所述文档i的文档特征向量和所述用户j的用户特征向量,然后更新所述文档i的文档特征向量和所述用户j的用户特征向量;更新后的所述文档i的文档特征向量是更新前的所述文档i的文档特征向量和所述用户j的用户特征向量的函数;更新后的所述用户j的用户特征向量是更新前的所述文档i的文档特征向量和所述用户j的用户特征向量的函数; 特征向量更新模块2 :根据在所述用户联络用户信号获取模块中得到的所述用户j和所述用户i的用户标识,分别读取所述用户j和所述用户i的用户特征向量,然后更新所述用户j和所述用户i的用户特征向量;更新后的所述用户i的用户特征向量是更新前的所述用户i的用户特征向量和所述用户j的用户特征向量的函数;更新后的所述用户j的用户特征向量是更新前的所述用户i的用户特征向量和所述用户j的用户特征向量的函数;广告选择和呈现模块根据在所述用户访问文档信号获取模块中得到的所述文档i的文档标识和所述用户j的用户标识,计算所述广告集A中的每个广告的数学距离3,以及根据所述数学距离3对所述广告集A进行排序,并根据所述排序结果将至少一个广告呈现给所述用户j ;根据在所述用户联络用户信号获取模块中得到的所述用户j和所述用户i的用户标识,计算所述广告集A中的每个广告的数学距离6,以及根据所述数学距离6对所述广告集A进行排序,并根据所述排序结果将至少一个广告呈现给所述用户j ;文档查询模块接收用户m(m e J)提交的查询条件,所述查询条件至少包括被查询文档的至少一个特征,根据所述查询条件生成查询特征向量1,然后计算所述文档集I中每个文档的文档特征向量与所述用户m的查询特征向量I之间的数学距离7,以及根据所述数学距离7对所述文档集I进行排序,并且按照所述排序结果,将所述文档集I中的一部分文档的标识发送给所述用户m ; 用户查询模块接收用户m(m e J)提交的查询条件,所述查询条件至少包括被查询用户的至少一个特征,根据所述查询条件 生成查询特征向量2,然后计算所述用户集J中每个用户的用户特征向量与所述查询特征向量2之间的数学距离8,以及根据所述数学距离8对所述用户集J进行排序,并且按照所述排序结果将所述用户集J中的一部分用户的标识发送给所述用户m。
全文摘要
本发明提出了一种在互联网上确定用户特征的方法和系统。所述方法通过用户访问文档的信号以及用户联络其他用户的信号来自动地更新用户和文档的个性化特征。如果用户访问了文档,则用户的个性化特征由文档的个性化特征来更新,文档的个性化特征由用户的个性化特征来更新。如果用户联络了其他用户,则每个用户的个性化特征由另一个用户的个性化特征来更新。多次使用上述方法获得多个用户和多个文档的个性化特征。根据用户和文档的个性化特征,可对搜索引擎获得的网页信息作进一步的过滤和筛选以提高搜索的准确性。根据用户的个性化特征,可在互联网中寻找具有特定特征的用户群。
文档编号G06F17/30GK102880622SQ20111020516
公开日2013年1月16日 申请日期2011年7月15日 优先权日2011年7月15日
发明者祁勇 申请人:祁勇
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1