專利名稱:一種在互聯網上確定用戶特征的方法和系統的制作方法
技術領域:
本發明涉及互聯網領域,具體來說涉及一種在互聯網上確定用戶特征的方法和系 統。
背景技術:
在互聯網上,搜索引擎和社交網絡是使用較多的獲取網絡信息的工具。但是這兩 種工具都存在一些缺點。
對搜索引擎而言,當用戶輸入關鍵字進行網頁搜索時,搜索引擎返回的網頁鏈接 數量經常達到幾萬甚至幾千萬,這給用戶搜索目標網頁帶來很大困擾。有統計分析表明用 戶平均查看的搜索結果不超過兩頁,這說明搜索引擎得到的絕大多數搜索結果用戶是沒有 看到的。即使是用戶看到的部分,搜索結果也常常包含很多相關度較低或者根本不相關的 網頁。
對社交網絡而言,社交網絡每天發布的信息已達數億條。雖然在社交網絡中用 戶可以通過添加個人關系網絡來過濾和篩選信息,例如通過加“關注(follow) ”來獲得他 人信息或者通過加好友來分享朋友“喜歡(like)”的信息等等,但是目前在微博和臉書 (Facebook)等社交網絡中已經出現了信息過載現象。由于擔心有重要或者有趣信息遺漏, 用戶通常會在社交網絡中加入過多的關系網絡,例如關注更多的人或者加入更多的好友等 等。這就使得社交網絡逐漸成為一種對用戶進行“信息轟炸”的服務。美國圣何塞州立大 學的研究表明,信息過載的結果是加大了用戶掃描和略讀的比重,82%的受訪者表示更多 是在瀏覽和掃瞄,85 %的讀者表示更多地進行“非線性閱讀”。
上述問題的一個共同點是沒有考慮到用戶的個性化特征在信息過濾和篩選中所 起到的作用。例如,在搜索引擎中不同的用戶使用相同的關鍵字進行網頁搜索時得到的搜 索結果是相同的,與提交搜索查詢的用戶的個性化特征無關。而在社交網絡中,每個用戶獲 得的信息只與其關系網絡有關,而與用戶自身的個性化特征無關。用戶得到的信息是其關 系網絡中每個用戶發布的所有信息,而用戶卻不能有選擇地接收這些信息。例如你只要關 注一個人,即使你只對他發布的某類信息感興趣,你也不得不接收來自這個人的全部信息。
解決上述問題的一個思路是在計算機系統中獲取用戶的個性化信息,以及根據用 戶的個性化信息對獲取的網絡信息進行有效地過濾和篩選,減少用戶對無效信息的掃描和 瀏覽。
但是在獲取用戶個性化信息的過程中存在以下幾個問題
第一是個性化信息的準確性問題。用戶通常不愿意在互聯網上提供準確的個性化 信息。雖然部分用戶在臉書(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)]
其中,所述functionl[Kd(i),Ku(j)]和所述function2[Kd⑴,Ku(j)]均為增函數, Kd(i)和K/α)分別表示更新前和更新后所述文檔i的文檔特征向量,Ku(j)和iC(j)分別表示更新前和更新后所述用戶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)的相關度;
使用如下算法對所述用戶j的用戶特征向量進行更新
Ku* (j) = function3[Ku(i), Ku(j)]
其中,所述funCtion3[Ku(i),Ku(j)]為增函數,Ku(j)和K:(j)分別為更新前和更 新后所述用戶j的用戶特征向量,Ku⑴為所述用戶i的用戶特征向量。
與現有技術相比,本發明方法通過用戶在互聯網上訪問文檔的信號以及用戶在社 交網絡上聯絡其他用戶的信號,來自動地獲取用戶和文檔的個性化特征,并根據用戶和文 檔的個性化特征對用戶獲得的網絡信息進行有效地過濾和篩選,以及根據用戶個性化特征 尋找具有特定特征的用戶群。
圖1為用戶特征向量的表示方法
圖2為文檔特征向量的表示方法
圖3為粉絲特征向量的表示方法
圖4為廣告特征向量的表示方法
圖5為一種在互聯網中確定用戶和文檔特征的方法流程圖6為一種在互聯網中確定用戶特征的方法流程圖7為一種在互聯網中確定用戶特征的系統結構圖。
具體實施方式
結合附圖對本發明方法作進一步詳細說明。
對本專利方法的具體實施方案說明包括以下幾個部分,首先說明用戶特征向量、 文檔特征向量、粉絲特征向量和廣告特征向量的表示方法及其初始值設置方法,然后說明 基于用戶訪問文檔信號的用戶特征向量和文檔特征向量的更新方法,之后說明基于用戶聯 絡其他用戶信號的用戶特征向量和粉絲特征向量的更新方法,最后給出一種在互聯網上確 定用戶特征的系統。
圖1是用戶特征向量的表示方法。用戶特征向量的表示方法與GerardSalton提 出的向量空間模型VSM的向量表述方法相似,即以特征項作為用戶特征的基本單位,用特 征項的集合來近似表示一個用戶的特征。所述用戶特征向量是由用戶特征和特征相關度來 決定的。用戶特征包括用戶自然特征和用戶偏好特征,其中用戶自然特征包括年齡、性別、 職業、學歷、身高、體重和地理位置等,用戶的個人偏好特征包括用戶關注的領域等抽象特 征,例如科學、音樂、軍事和體育等。特征相關度是用數值表示用戶與特征之間的關系緊密 程度。如果一個用戶關心音樂多一點,關心體育少一點,我們就說該用戶與音樂特征的相關度高,與體育特征的相關度低。
在介紹用戶特征向量的表示方法之前,首先介紹用戶編號方法和用戶特征表示方 法。在互聯網中可以通過以下標識來表示一個用戶,包括用戶在網站上申請的帳號、手機號 碼、IP地址、Email地址和即時通信號碼等等。為了便于表述,我們把互聯網上的每個用戶 進行統一編號,并以用戶集J= {1,2,...,N}表示用戶的全體,其中N表示用戶個數。所述 用戶集J中每個用戶具有至少一個特征,我們對用戶集J中所有用戶的特征也進行統一編 號,形成用戶的特征集K= {1,2,...,L},其中L表示特征的個數。如果在服務器中存儲了 以用戶標識為索引的N個用戶的信息,我們就說在服務器中存儲了用戶集J= {1,2, , N}。
在所述用戶集J中每個用戶都設有用戶特征向量。用戶j(j e j)的用戶特征向 量的表示方法是Ku (j) = (UWj1, UWj2, . . . , UWjk, . . . , UWjl),其中UWjk表示所述用戶j與特征 集K的第k個特征的相關度。U%k數值越大表示用戶j與特征k之間的相關程度越高,如 果U、為負數,則表示用戶j與特征k負相關。
由于所述特征集K包括了所有用戶的特征,因此它的維度通常是巨大的,而每個 用戶所具有的特征只是特征集K中很小的一部分,所以用戶特征向量中絕大多數向量分 量的數值都為零或是很小的數值,這導致了用戶特征向量的數據稀疏現象的產生。解決 方法是將所述用戶特征向量用一種簡化的形式表示,即將用戶特征向量表示為[...,(k, uwjk),...]。例如特征集K= {新聞,科技,財經,體育,娛樂,生活,旅游,文化,教育,...}, 如果某用戶的用戶特征向量=[(財經,2.4);(教育,6. 7)],說明該用戶與特征集K中“財 經”的相關度為2. 4,與特征集K中“教育”的相關度為6. 7。
在實際應用中通常使用用戶特征向量的簡化形式[...,(k,UWjk),...],這樣可以 節省存儲空間和降低計算開銷。但是為了形式化敘述方便起見,在以下敘述中所述用戶j 的用戶特征向量的表述形式仍然使用(UWj1, UWj2, . . . , UWjk, . . . , UWjl)。需要說明的是使用 用戶特征向量的簡化形式不影響所述方法本質。
圖2為文檔特征向量的表述方法。文檔特征向量的表示方法與用戶特征向量的表 示方法相似,即以特征項作為文檔特征的基本單位,用特征項的集合來近似表示一個文檔 的特征。文檔特征向量是由文檔的特征及特征相關度來決定的。文檔的特征可為科學、音 樂、軍事和體育等等。特征相關度是用數值來代表文檔與相應特征之間的關系緊密程度,例 如如果一個文檔與社會問題的關系多一點與軍事問題的關系少一點,我們就說該文檔與社 會特征的相關度高,與軍事特征的相關度低。
在介紹文檔特征向量的表示方法之前,首先介紹文檔編號方法和文檔特征表示方 法。在互聯網中存在大量文檔,其內容包括網頁、微博的內容和廣告等,其表現形式包括文 本、視頻、音樂和圖片等。這些文檔通常具有唯一的網絡地址URL。為了便于說明我們把在 互聯網上的每個文檔進行統一編號,并用文檔集I = {1,2,...,M}表示。如果在服務器中 存儲了以文檔標識為索引的M個文檔的信息,我們就說在服務器中存儲了文檔集I = {I,2,· · · , M}。
所述文檔集I中每個文檔的特征可以通過傳統的特征提取方法來獲得,例如文檔 詞頻(DF)、信息增益(IG)、互信息(MI)和X 2統計法(CHI)等等,也可以通過人工設置的方 式產生文檔的特征。我們對文檔集I中所有文檔的特征進行篩選,找出有代表性的特征并對特征進行編號,形成文檔的特征集K= {1,2,...,Lj0需要特別說明的是在本文中,文檔的特征集與用戶的特征集是相同的,即特征集K既表示用戶特征集,也表示文檔特征集。因此,在生成特征集K時既要考慮到用戶的特征,也要考慮到文檔的特征。同一個特征,例如特征“計算機”,對于用戶來講表示用戶偏好“計算機”,對于文檔而言說明這個文檔與“計算機”有關。另外,有些特征之間是具有相關性的,例如物理和相對論,因此在特征選擇時,可以通過減少特征之間的相關性來降低特征集K的維度,提高算法效率,也可以通過本專利方法來研究兩個設定特征之間的相關性。有些特征不必直接列入特征集中,因為這些特征的相關度可以通過特征集K中一個或幾個特征的特征相關度的加權平均計算出來。這樣有利于降低特征集K的維度。另外,所述文檔的特征集和所述用戶的特征集也可以不同,但是需要建立兩個特征集之間的映射關系。
在所述文檔集I中每個文檔都設有文檔特征向量。文檔i(i e I)的文檔特征向量的表示方法是Kd (i) = (dwn, dwi2,. . . , dwik,. . . , dwiL),其中dwik表示所述文檔i與特征集K的第k個特征的相關度。所述相關度dWik數值越大,表示文檔i與特征k之間的相關程度越高,如果dWik為負數,則表示文檔i與特征k負相關。與用戶特征向量相似,文檔特征向量也可以采用簡化的表述形式[...,(k,dwik),...]來解決文檔特征向量的數據稀疏問題。
用戶特征向量初始值的設置方法如下。以用戶j的設置方法為例。例I是人工設置用戶特征向量初始值的方法。首先確定用戶j的主要特征,即在特征集K中人工選擇用戶j具有的至少一個特征,然后將用戶j與用戶集J中其它用戶進行比較,人工確定所述用戶j的各個選定特征的相關度。例如某用戶的用戶特征向量為[(財經,2.4),(教育,6. 7)]。人工設定的相關度uwjk(j e J,k e K)的取值范圍為[a,b],其中 a和b為設定參數。
例2是根據用戶提交的一組用戶所具有的特征來設置用戶特征向量初始值的方法。設用戶j選定了一組用戶%=其中用戶r(r e up的用戶特征向量為 Ku(r) = (uwrl, uwr2, . . . , uwrL),則用戶j的用戶特征向量的初始值設為
uwJk = ( σ Ι/s) · Σ (re uj) [uwrk/ ( Σ (ke UKr)uwrk)],對于每個 k e K
其中s為所述Uj的元素個數,O1為設定正常數。所述U&是由所述用戶r的用戶特征向量Ku(r) = (uwrl,uwr2,·.. ,uwrL)中數值最大的Pr (r e J)個分量所對應的特征組成的集合,Pr為設定參數。在公式中規定當UK1■時,取uwA = O。
例3是根據用戶提交的一組文檔所具有的特征來設置用戶特征向量初始值的方法。設用戶j選定了一組文檔W= {...,r,...},其中文檔r(r e Dj)的文檔特征向量為 Kd(r) = (dwrl, dwr2, . . . , dwrL),則用戶j的用戶特征向量的初始值為
uwJk = ( σ 2/s) · Σ (r e DJ) [dwrk/ ( Σ (ke DKr)dwrk)],對于每個 k e K
其中s為所述Dj的元素個數,02為設定正常數。所述D&是由所述文檔i的文檔特征向量Kd(r) = (dwrl,dwr2,. . . , dwrL)中數值最大的Q1Xr e I)個分量所對應的特征組成的集合,Qr為設定參數。在公式中規定當kgDKr時,取dwA = O。
由于用戶特征向量初始值的重要性,可以選擇部分用戶有權利用上述方法設置自己的用戶特征向量初始值。
文檔特征向量初始值的一個設置方法如下。
以文檔i(i e I)的文檔特征向量的設置方法為例。首先確定文檔i的主要特征, 即在特征集K中人工選擇文檔i具有的至少一個特征,然后將文檔i與文檔集I中其它文檔進行比較,人工確定所述文檔i的各個人工選定特征的相關度。例如某文檔的文檔特征向量為[(科技,8.4),(教育,3. 2)]。人工設定的相關度dwik(i e I)的取值范圍為[a,b], 其中a和b為設定常數。
圖3為粉絲特征向量的表示方法。所謂粉絲(Fans)是關注所述用戶或者與所述用戶在同一個興趣組群中的其他用戶。一個用戶的粉絲群體整體上表現出的特征就是粉絲群體的特征。在用戶集J= {1,2,...,N}中每個用戶都設有粉絲特征向量。用戶j(jej) 的粉絲特征向量的表示方法是Kf (j) = (fwJ1; fwJ2,. . . , fwjk,. . . , fWjL),其中fwjk表示所述用戶j的粉絲群體與特征集K的第k個特征的相關度。所述相關度 νΛ數值越大,表示用戶j的粉絲群體與特征k之間的相關程度越高,如果為負數則表示用戶j的粉絲群體與特征k負相關。與用戶特征向量類似,粉絲特征向量也可以應用簡化的表述形式[..., (k,fwjk),...]來解決粉絲特征向量數據稀疏問題。粉絲特征向量的缺省初始值為零向量。
圖4為廣告特征向量的表示方法。廣告特征向量的表示方法與用戶特征向量的表示方法相似,即以特征項作為廣告特征的基本單位,用特征項的集合來近似表示一個廣告的特征。我們對系統中存儲的廣告進行統一編號得到廣告集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。廣告特征向量缺省初始值為零向量。
圖5為一種在互聯網中確定用戶和文檔特征的方法流程圖。這個方法是基于用戶訪問文檔的信號來更新所述用戶的用戶特征向量和所述文檔的文檔特征向量的。所述方法包括如下具體步驟
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) = (UWjpUWj2,..., UWjk, ... , UWjl),其中UWjk表示所述用戶j與特征k(k e K)的相關度;
S14.更新所述文檔i的文檔特征向量和所述用戶j的用戶特征向量,更新算法如下
Kd* (i) = functionl [Kd (i), Ku (j)]
Ku* (j) = function2[Kd(i), Ku(j)]
其中,所述functionl [Kd(i), Ku(j)]和 function2[Kd(i), Ku(j)]均為增函數, Kd(i)和K/(i)分別表示更新前和更新后所述文檔i的文檔特征向量,Ku(j)和iC(j)分別表示更新前和更新后所述用戶j的用戶特征向量。在使用上述算法后需要對Kd(i)和Ku(j) 進行更新,即 Kd(i) = K;(i),Ku (J) = C(j)。
在圖5所述方法中的所述訪問,至少包括如下情形中的一種用戶瀏覽一個網頁、 用戶點擊一個廣告、用戶創建一條微博、用戶轉發一條微博、用戶收藏一條微博、用戶對微博進行評論、用戶將文檔設為喜歡(like)等等。例如用戶點擊了一個網頁我們就說用戶訪問了該網頁,如果用戶j轉發了文檔H例如一篇微博),我們就說用戶j訪問了文檔i。另外,所述信號既可以是實時獲取的所述用戶j訪問所述文檔i的信號,也可以是事后通過分析系統日志得到的所述用戶j訪問所述用戶i的信號。
應用實例I。
所述算法Kd* ⑴=functionl [Kji),Ku(j)]和 Ku* (j) = function2 [Kd ⑴,Ku(j)] 的具體算法如下,即
dwik* = dwik+ λ j (t) · ζ ! (jk) · f1 (uwJk),對于每個 k e UKj, UKjC K
uwJk* = uwJk+ λ 2 (t) · ζ 2 (i) · f2 (dwik),對于每個 k e DKi, DKj C K
所述具體算法中,t為所述訪問的類型,即所述用戶j與所述文檔i建立聯絡的方式,例如t = 11表示在微博中所述用戶j轉發了所述文檔i,t = 12表示在微博中所述用戶j收藏了所述文檔i,t = 21表示所述用戶j點擊了所述文檔i上的“喜歡(like) ”按鈕,t = 31表示所述用戶j瀏覽了所述文檔i (一個網頁)等等。X1U)和X2(t)為t的函數,例如 X1(Il) =1. 2, λ J (12) =1. 8, λ 2 (21) = 1.6。
所述具體算法中,C1(Jk)表示所述用戶j與所述用戶集J中其他用戶相比,其第 k個特征的重要程度。h(jk)可設為用戶j的粉絲特征向量第k個分量的增函數,例如設ζ I (jk) = C1 · fwJk/ ( Σ O5 e κ) fVjk),其中C1為設定常數。ζ ! (jk)也可以是一個人為設置的參數,例如對任意je J和ke K設置(Jjk) =1。ζ2α)是所述文檔i與所述文檔集I中的其它文檔相比的重要程度參數。例如(2(i)可設為一組參數的線性組合,所述參數至少包括所述文檔·i的PageRank值、喜歡(like)次數、轉發此數、評論次數和收藏次數。42(i)也可以是人為設置的一個參數,例如對任意i e I設置ζ2α) = I。
所述具體算法中,所述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 = {科學,生物}。
所述具體算法中,A(Uwa)和f2(dwik)均為增函數,它們的典型應用如下。例I為設 (Uwjk) = σ 3 · uwJk/ ( Σ (ke mj)uwJk),f2 (dwik) =σ4. dwik/ ( Σ (ke DKi)dwik)。例 2 為設 fi (uwJk) = σ 3 · uwJk, f2 (dwik) = σ 4 · dwik。其中 σ 3 和 σ 4 為設定正常數。
所述具體算法中,dwik和dwik*分別表示更新前和更新后所述文檔i的文檔特征向量第k個分量,Wjl^P uw/分別表示更新前和更新后所述用戶j的用戶特征向量第k個分量。在所述具體算法執行完成之后進行以下賦值,即對于每個k e UKj有dWik = dwik%對于每個 k e DKi 有 UWjk = UWjk*。
在多次應用圖5所述算法之后,用戶特征向量分量和文檔特征向量分量的數值會逐漸增加,最后超過存儲器的存儲容量。解決方法是采用如下的用戶特征向量和文檔特征.向量的修正算法
對于用戶特征向量,選擇至少一個k e K以及對選出的每個k進行如下處理對于每個j (j e J)將UWjk映射為gi (UWjk),然后對于每個j (j e J)設置UWjk = g! (UWjk),其中 gi (UWjk)為增函數,gi (UWjk) e [a, b], a和b均為設定常數。
對于文檔特征向量,選擇至少一個k e K以及對選出的每個k進行如下處理對于每個i (i e I)將dwik映射為g2(dwik),然后對每個i(i e I)設置dwik = g2(dwik),其中 g2 (dwik)為增函數,g2 (dwik) e [a, b], a和b均為設定常數。
下面用具體實例說明用戶特征向量的修正算法。
例1.對數據uwlk, uw2k,. . . , uwNk進行排序,得到每個UWjk的排名Rank (uwJk),并規定Rank(maXjUWjk) = I,因此所述修正算法為對于每個j e J :
g1 (uwJk) = a+ (b-a) · [N-Rank (uwJk)+l]/N 以及 uwJk = g1 (uwJk)。
其中,N為用戶個數。如果排名相同則隨機決定排名,例如兩個用戶排名都為87 名,那么隨機抽取的第一個用戶排名為87,另一個排名為88。
例2.設MAX = maXjUWjk為數據uwlk, uw2k,. . . , uwNk中數值最大的若干項(如前10 項)的平均值,因此所述修正算法為gi (UWjk) = a+ (b-a) · uwjk/MAX。若uwjk > MAX,則取 gi (UWjk) = b,最后對于每個 j e J 設置 UWjk = gi (UWjk)。
例3.在數據uwlk, uw2k, . . . , uwNk中隨機抽取R個數據{s1; s2, . . . , sE},其中設置 S1 = HiinjUWjk, sE = maxjUwJk,對于每個 j e J 如果 sm 彡 uwJk 彡 sm+1,則設置 g! (uwJk) = sm 以及 uwJk = gi (UWjk)。
文檔特征向量修正算法的例子與所述用戶特征向量修正算法的例子原理相同,不再贅述。
在所述用戶特征向量和文檔特征向量的修正算法中,選出的k要遍歷所述特征集 K中的每個特征,考慮到系統計算處理能力的限制,可以分時段對特征集K中的不同特征k 使用上述修正算法。
應用實例2。
應用實例2是圖5方法的一個應用,即在互聯網中查詢一組特定文檔的應用。其步驟如下
多次使用所述方法獲取所述文檔集I中多個文檔的文檔特征向量和所述用戶集J 中多個用戶的用戶特征向量,例如通過接收多個用戶對多個不同文檔的訪問請求,來更新相應的用戶特征向量和文檔特征向量;
接收用戶m(m e J)提交的查詢條件,所述查詢條件包括被查詢文檔的至少一個特征;
根據所述查詢條件,生成所述用戶m的查詢特征向量;
計算所述文檔集I中每個文檔的文檔特征向量與所述查詢特征向量之間的數學距離以及根據所述數學距離對所述文檔集I進行排序;
按照所述排序結果將所述文檔集I中部分文檔的標識發送給所述用戶m。
在所述應用實例2中,通常設置所述用戶m的查詢特征向量為Ks(m) = (swml, SWm2, . . . , SWmk, . . . , SWml),其中SWmk表示所述被查詢文檔與特征集K的第k個特征的相關度,SWjk e [a, b], a和b為設定常數。
所述查詢特征向量有以下四種生成方法。第一是由所述用戶m自己設置查詢特征向量各個分量的數值,例如設SWj2 = 2. 3, SWj6 = 6. 1,其它各個分量為O。第二是把所述用戶m的用戶特征向量賦值給所述查詢特征向量。第三是所述用戶m提交一組文檔標識DSm ={. . .,r, . . . },其中文檔r(r e DSm)的文檔特征向量為(dwrt, dwr2, . . . , dwrL),因此所述用戶m的查詢特征向量設為
SWmk = ( σ 5/s) · Σ (re DSm) [dwrk/ ( Σ (ke DKr) dwrk)],對于每個 k e K
其中s為所述集合DSm的元素個數,05為設定正常數。所述D&是由所述文檔i 的文檔特征向量Kd(r) = (dwrl,dwr2,. . . , dwrL)中數值最大的Qr (r e I)個分量所對應的特征組成的集合,Qr為設定參數。在公式中規定當k茫DKr時,取Ckrit = O。第四是所述用戶 m提交一組用戶標識USm = .. , r, ...},其中用戶r(r e USm)的用戶特征向量為(uwrt, uwr2, . . . , uwrL),因此所述用戶m的查詢特征向量設為
Swmk = ( σ 6/s) · Σ (re USm) [uwrk/ ( Σ (ke UKr)uwrk)],對于每個 k e K
其中s為所述集合US m的元素個數,06為設定正常數。所述U&是由所述用戶r 的用戶特征向量Ku(r) = uwrl, uwr2, ... , Uw11)中數值最大的Pr(r e J)個分量所對應的特征組成的集合,Pr為設定參數。在公式中規定當UK1 時,取Uwri5 = O。
在所述應用實例2中,所述數學距離的一種算法如下設所述用戶m的查詢特征向量為Ks (m) = (SWml, SWm2,. . . , swmk,. . . , SWml),所述文檔集I中文檔i的文檔特征向量為 Kd(i) = (dwn, dwi2, , dwik, , dwiL),則所述用戶m的查詢特征向量與所述文檔集I中文檔i的文檔特征向量之間的數學距離定義為
I IKs(m), Kd(i) I I = [ Σ k(swmk ·dwik) ]/{[ Σ k(swmk)2]1/2 · [ Σ k(dwik)2]1/2}, k e K
應用實例3。
應用實例3是圖5所述方法的一個應用,即在互聯網中查詢一組特定用戶的應用。 其步驟如下
多次使用所述方法獲取所述用戶集J中多個用戶的用戶特征向量;
接收用戶m(m e J)提交的查詢條件,所述查詢條件包括被查詢用戶的至少一個特征;
根據所述查詢條件,生成所述用戶m的查詢特征向量;
計算所述用戶集J中每個用戶(不包括所述用戶m)的用戶特征向量與所述查詢特征向量之間的數學距離以及根據所述數學距離對所述用戶集J進行排序;
按照所述排序結果將所述用戶集J中部分用戶的標識發送給所述用戶In。
在所述應用實例3中,所述用戶m的查詢特征向量Ks(m) = (swml, swm2,..., SWfflk, . . .,swfflL)的設置方法與應用實例2中查詢特征向量的設置方法相同。
在所述應用實例3中,所述數學距離的一種算法如下設所述用戶m的查詢特征向量為Ks (m) = (SWml, SWm2,. . . , swmk,. . . , SWml),所述用戶集J中用戶i的用戶特征向量為 Ku(i) = (uwn, 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是圖5方法在廣告發布領域的一個應用,包括如下步驟
多次使用所述方法獲取所述文檔集I中多個文檔的文檔特征向量和所述用戶集J 中多個用戶的用戶特征向量,其中所述用戶集J中用戶m的用戶特征向量為Ku(m) = (uwffll, UWm2, . . . , UWmk, . . . , UWml),所述文檔集I中的文檔η的文檔特征向量為Kd (n) = (dwnl, (Iwn2, . . . , dwnk, . . . , dwnL)。設廣告集 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 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) ]/{[ Σ k(dw^)2]1/2 · [ Σ k(awgk)2]1/2}
distance (g, m, n) = σ 7 · ug (g, m) + σ 8 · dg (g, n)
其中σ7 和 σ8 為設定非負數,且 σ 7+σ 8 = 1,n e I,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后(例如點擊廣告), 應用圖5所述方法更新廣告文檔h的文檔特征向量。當需要使用所述廣告g(ge A)的廣告特征向量時,設置Ka (g) =Kd(h)。所述廣告g和所述廣告文檔h是同一個廣告的兩種不同編號形式,所述廣告g是在所述廣告集A中的編號,所述廣告文檔h是在所述文檔集I中的編號。
圖6為一種在互聯網中確定用戶特征的方法流程圖。這個方法是基于用戶聯絡其他用戶的信號來更新所述用戶特征向量的。所述方法包括如下步驟
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, , UWil),其中UWik表示所述用戶i與特征k(k e K)的相關度;
S24.應用如下算法,更新所述用戶j的用戶特征向量
Ku* (j) = function3[Ku(i), Ku(j)]
其中,所述function3[Ku(i),Ku(j)]為增函數,Ku(j)和KuD分別表示更新前和更新后所述用戶j的用戶特征向量,Ku⑴表示所述用戶i的用戶特征向量。在使用上述算法后,需要對Ku(j)進行更新,即Ku(j) =Ku*(j)。
在圖6所述的方法中,還包括對所述用戶i的粉絲特征向量進行更新的算法。即根據所述用戶i的用戶標識,讀取所述用戶i的粉絲特征向量Kf (i) = (fwn, fwi2, ..., fwik,... ,fw^),其中fwik為所述用戶i的粉絲群體與特征k(k e K)的相關度,然后應用如下算法更新所述用戶i的粉絲特征向量
Kf* (i) = function4[Kf (i), Ku(j)]
其中,所述function4[Kf (i),Ku(j)]為增函數,Kf(i)和K/⑴分別表示更新前和更新后所述用戶i的粉絲特征向量,Ku(j)為所述用戶j的用戶特征向量。在使用上述算法后,需要對1^(」_)進行更新,即Kf (j) =K/(j)。
在圖6所述的方法中,還包括對所述用戶i的用戶特征向量進行更新的算法。即根據獲取的用戶特征向量Ku(i)和Ku(j),對所述用戶i的用戶特征向量進行更新
Ku* (i) = function5[Ku(i), Ku(j)]
其中,所述function5[Ku(i),Ku(j)]為增函數,Ku⑴和Ku*⑴分別表示更新前和更新后所述用戶i的 用戶特征向量,Ku(j)表示所述用戶j的用戶特征向量。
需要說明的是更新Ku*(j)的算法、更新K/⑴的算法以及更新Ku*⑴的算法可以獨立使用,也可以將更新IC (j)的算法和更新k/α)的算法一起使用以及將更新iC (j)的算法和更新IC⑴的算法一起使用。
在圖6所述的方法中,所述聯絡至少包括如下情形中的一種在微博中加關注 (follow),一用戶轉發、評論或者收藏另一用戶的一條微博,社交網絡中加為好友或點對點發信。例如在微博中如果用戶j關注了用戶i,我們就說用戶j聯絡了用戶i。
應用實例5。
應用實例5 給出 Ku*(j) = function3[Ku(i), Ku(j)]的具體算法,即
uwJk* = uwJk+ λ 3(t) · ζ 3(ik) · f3 (uwik),對于每個 k e UKi, UKjC K
在所述具體算法中,t為所述聯絡的類型,即所述用戶j聯絡所述用戶i的方式, 例如t = 41表示用戶j關注了所述用戶1、t = 42表示用戶j轉發了所述用戶i的微博內容、t = 43表示用戶j評論了所述用戶i的微博內容,t = 44表示用戶j收藏了所述用戶i 的微博內容,t = 51表示加為好友等等。X3(t)為t的函數,例如λ3(41) = 1.9,λ 3(42) =1. 3。
所述具體算法中,43(ik)為將所述用戶i與所述用戶集J中其它用戶相比較,其第k個特征的重要程度參數。ζ3αιο可設為所述用戶i的粉絲特征向量的第k個分量fWik 的增函數。例如設C3Qk) = C2 · fwik/( Σ (ka)fwik),其中c2為設定常數。h(ik)也可以人為設置,例如對任意i e J和k e K設置ζ 3(ik) = I。
在所述具體算法中,所述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]為設定常數。
所述具體算法中,f3(Uwik)為增函數。例如設f3(uwik) = σ 9-Uwik/( Σ (keUK0Uwik) 或者設f3 (UWik) = O9 .UWik,其中O 9為設定正常數。
在所述具體算法中,Wik和Wik*分別表示更新前和更新后所述用戶i的用戶特征向量第k個分量,Wjl^P uw/分別表示更新前和更新后所述用戶j的用戶特征向量第k個分量。在所述具體算法執行完成后,進行如下賦值,即對于每個k e UKi,設置u%k = uwJk*0
在多次使用圖6所述算法之后,用戶特征向量的分量的數值會逐漸增加最后超過存儲器的存儲容量。解決方法與圖5中處理用戶特征向量的方法相同。
下面給出所述算法KfiXi) = function4[Kf(i), Ku(j)]的具體實現方法,即
fwik* = fwik+ λ 4(t) · ζ 4(jk) · f4 (UWjk),對于每個 k e UKj, UKjC K
其中,t為所述聯絡的類型,X4(t)為t的函數,C4(jk)為所述用戶j的第k個特征的重要程度參數。ζ 4(jk)可設為所述用戶j的粉絲特征向量第k個分量fV#的增函數,例如設ζ 4(jk) = C3 · fwJk/ ( Σ (keK)fwjk),其中C3為設定常數。ζ 4(jk)也可以人為設置,例如對任意j e J和k e K設置ζ 4(jk) = I。所述UKj是由所述用戶j的用戶特征向量Ku(j) = (UWj1, UWj2, . . . , UWjk, . . . , UWjl)中數值最大的Pj個分量所對應的特征組成的集合,Pj為設定參數,fwik和fVj分別表示更新前和更新后所述用戶i的粉絲特征向量第k 個分量,表示所述用戶j的用戶特征向量第k個分量。在所述具體算法執行完成后,對于每個 k e UKj,設置 fwik = fWik*。
所述具體算法中,f4(UWjk)為增函數。例如設 f4(uwjk) = σ 1(| · UWjk/ ( Σ (k e UKJ) uwJk)或者設f4 (UWjk) = σ 1(| · UWjk,其中σ 1(|為設定正常數。
在更新所述K/(i)算法中還包括對所述用戶集J中每個用戶的粉絲特征向量進行修正的算法,即選擇至少一個k e K以及對選出的每個k進行如下處理對每個j (j e j) 將fwjk映射為g3(fwjk),然后對每個j (j e J)設置fwjk = g3(fwjk),其中g3(fwjk)為增函數, g3(fwjk) e [a, b], a和b均為設定常數。在這個修正算法中,選出的k要遍歷所述特征集 K中的每個特征,考慮到系統計算處理能力的限制,可以選擇分時段對特征集K中的不同特征k使用所述修正算法。
所述算法Ku*⑴=function5[Ku(i), Ku(j)]的具體算法與所述算法Ku*(j)= function3[Ku(i),Ku(j)]的具體算法類似,只要將后者具體算法中i和j互換即可。
另外,圖6所述方法包括一個在互聯網中查詢一組特定用戶的應用。其具體實現步驟與應用實例3相同。
應用實例6。
應用實例6是圖6方法在廣告發布領域的一個應用。包括如下步驟
多次使用所述方法獲取所述用戶集J中多個用戶的用戶特征向量,其中所述用戶集J中用戶m的用戶特征向量為Ku(m) = (uwml, UWm2, . . . , uwmk, . . . , uwmL),用戶η的用戶特征向量為 Ku(n) = (uwnl, Uwn2,. . . , Uwnk,. . . , Uw1il)。設廣告集為 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(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) = σ 11 · ug (g, m) + σ 12 · ug (g, n)
其中σ n 和 σ 12 為設定非負數,且 σ η+σ 12 = I,n e I,m e J,g e A,k e K。
在所述應用實例6中,所述廣告g(g e Α)的廣告特征向量Ka (g) = (awgl,awg2,..., awgk, · · ·,awgL)·的初始值設置方法與應用實例4中的設置方法相同。
圖5和圖6所述的方法可以聯合使用。這兩種方法不僅都能夠對用戶特征向量進行更新,而且兩種方法可以相互補充,使得用戶特征向量更好地反映相應用戶的特征。
圖7為一種在互聯網中確定用戶特征的系統。
所述系統通過兩種方式對用戶特征向量進行更新,一種是當用戶訪問了一個文檔后,更新所述用戶的用戶特征向量和所述文檔的文檔特征向量;另一種是當用戶聯絡了另一個用戶后,更新其中至少一個用戶的用戶特征向量。所述系統包括如下功能模塊
用戶特征向量初始值設置模塊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中;所述用戶j是用戶I (101)、用戶2(102)、……、用戶N(103)中的任意一個用戶; 所述文檔i是在互聯網上的網站I (301)、網站2(302)、……、網站N(303)中存儲的具有唯一標識的文件;
用戶聯絡用戶信號獲取模塊215 :獲取用戶j (j e J)聯絡用戶i (i e J)的信號, 其中至少包括所述用戶j的用戶標識和所述用戶i的用戶標識,并將所述信號存儲于用戶數據庫220中;所述用戶j和所述用戶i是用戶I (101)、用戶2(102)、……、用戶N(103)中的任意兩個用戶;
特征向量更新模塊I (216):根據在所述用戶訪問文檔信號獲取模塊214中得到的所述文檔i的文檔標識和所述用戶j的用戶標識,讀取所述文檔i的文檔特征向量和所述用戶j的用戶特征向量,然后更新所述文檔i的文檔特征向量和所述用戶j的用戶特征向量,更新后所述文檔i的文檔特征向量是更新前所述文檔i的文檔特征向量和所述用戶j 的用戶特征向量的函數,更新后所述用戶j的用戶特征向量是更新前所述文檔i的文檔特征向量和所述用戶j的用戶特征向量的函數,具體實現方法與圖5所述方法相同;
特征向量更新模塊2 (216):根據在所述用戶聯絡用戶信號獲取模塊215中得到的所述用戶j和所述用戶i的用戶標識,讀取所述用戶j和所述用戶i的用戶特征向量以及所述用戶i的粉絲特征向量,然后更新所述用戶j的用戶特征向量和用戶i的粉絲特征向量,更新后所述用戶j的用戶特征向量是更新前所述用戶j的用戶特征向量和所述用戶i 的用戶特征向量的函數,更新后所述用戶i的粉絲特征向量是更新前所述用戶i的粉絲特征向量和所述用戶j的用戶特征向量的函數,具體實現方法與圖6所述方法相同;
廣告選擇和呈現模塊217 :根據在所述用戶訪問文檔信號獲取模塊214中得到的所述文檔i的文檔標識和所述用戶j的用戶標識,讀取所述文檔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,并據此對所述文檔I進行排序,以及按照所述排序結果將所述文檔集I 中部分 文檔的標識發送給所述用戶m,所述查詢特征向量I與所述應用實例2中查詢特征向量的生成方法相同,所述數學距離7與所述應用實例2中的所述數學距離的計算方法相同;
用戶查詢模塊219 :接收用戶m(m e J)提交的查詢條件,根據所述查詢條件生成查詢特征向量2,然后計算所述用戶集J中每個用戶的用戶特征向量與所述查詢特征向量2 之間的數學距離8,并據此對所述用戶集J進行排序,以及按照所述排序結果將所述用戶集 J中一部分用戶的標識發送給所述用戶m,所述查詢特征向量2與所述應用實例2中查詢特征向量的生成方法相同,所述數學距離8與所述應用實例3中的所述數學距離的計算方法相同。
上述各模塊中的所述用戶1、用戶j和用戶m,分別代表所述用戶集J中任意一個用戶。所述文檔i和文檔n,分別代表所述文檔集I中的任意一個文檔。為了表述方便起見,在各個模塊中只列出了所述用戶1、用戶j和用戶m以及文檔i和文檔η的應用實例。 另外,所述特征向量更新模塊216由兩部分組成,包括所述特征向量更新模塊I和所述特征向量更新模塊2。
以上所述應用實例僅為本發明的較佳的應用實例,并非用以限定本發明的保護范圍。
權利要求
1.一種在互聯網上確定用戶特征的方法,其特征在于,在服務器中存儲文檔集I = {I,2,...,M}、用戶集J= {1,2,... ,N}和特征集K= {1,2,...,L},其中M為文檔個數,N為用戶個數,L為特征個數,并且執行如下步驟 接收用戶j(j G J)訪問文檔i(i G I)的信號,所述信號至少包括所述用戶j的用戶標識和所述文檔i的文檔標識; 根據所述文檔標識,讀取所述文檔i的文檔特征向量Kd(i) = (dwn,dwi2,. . . , dwik,...,dwiL),其中dwik表示所述文檔i與特征k(k G K)的相關度; 根據所述用戶標識,讀取所述用戶j的用戶特征向量Ku(j) = (UWjijUWj2,. . . ,UWjk,...,UWjl),其中UWjk表示所述用戶j與特征k(k G K)的相關度; 用如下算法更新所述文檔i的文檔特征向量和所述用戶j的用戶特征向量Kd*(i) = functionl [Kd(i), Ku(j)]Ku*(j) = function2[Kd(i), Ku(j)] 其中,所述 functionl [Kd (i), Ku (j)]和所述 function2 [Kd (i), Ku (j)]均為增函數,Kd(i)和K/(i)分別表示更新前和更新后所述文檔i的文檔特征向量,Ku(j)和Ku*(j)分別表示更新前和更新后所述用戶j的用戶特征向量。
2.根據權利要求1所述的方法,其特征在于,在所述算法的一個應用實例中,使用如下具體算法更新所述文檔i的文檔特征向量和所述用戶j的用戶特征向量dwik* = dwik+ A j (t) 2, ! (jk) f1 (UWjk),對于每個 k G UKj, UKj C KuwJk* = uwJk+ A 2 (t) 2,2(i) f2 (dwik),對于每個 k G DKi, DKj Q K 其中,所述A(UWjk)和f2(dwik)均為增函數,t為所述訪問的類型,和A2(t)為t的函數,;! (jk)為所述用戶j的第k個特征的重要程度參數,;2⑴為所述文檔i的重要程度參數,所述DKi是由所述文檔i的文檔特征向量Kd(i) = (dwn, dwi2, . . . , dwik,...,dwiL)中數值最大的Qi個分量所對應的特征組成的集合,所述U\_是由所述用戶j的用戶特征向量Ku(j) = (UWj1, UWj2, . . . , UWjk, . . . , UWjl)中數值最大的Pj個分量所對應的特征組成的集合,Qi和Pj為設定參數,dwik和dwik*分別表示更新前和更新后所述文檔i的文檔特征向量第k個分量,Wjl^P Uw/分別表示更新前和更新后所述用戶j的用戶特征向量第k個分量。
3.根據權利要求1所述的方法,其特征在于,所述方法還包括對所述用戶集J中每個用戶的用戶特征向量進行修正的算法,即選擇至少一個k e K以及對選出的每個k進行如下處理對每個j (j G J)將UWjk映射為gi (UWjk),然后對每個j (j G J)設置UWjk = gj (UWjk),其中gi (UWjk)為增函數,gj (UWjk) G [a, b], a和b均為設定常數。
4.根據權利要求1所述的方法,其特征在于,所述方法還包括對所述文檔集I中每個文檔的文檔特征向量進行修正的算法,即選擇至少一個k e K以及對選出的每個k進行如下處理對每個i (i G I)將dwik映射為g2 (dwik),然后對每個i (i G I)設置dwik = g2 (dwik),其中g2(dwik)為增函數,g2(dwik) G [a, b], a和b均為設定常數。
5.根據權利要求1所述的方法,其特征在于,所述方法包括在互聯網上查詢一組特定文檔的應用實例,其步驟如下 多次使用所述方法獲取所述文檔集I中多個文檔的文檔特征向量和所述用戶集J中多個用戶的用戶特征向量; 接收用戶m(m G J)提交的查詢條件,其中包括被查詢文檔的至少一個特征; 根據所述查詢條件,生成所述用戶m的查詢特征向量; 計算所述文檔集I中每個文檔的文檔特征向量與所述查詢特征向量之間的數學距離,以及根據所述數學距離對所述文檔集I進行排序; 按照所述排序結果將所述文檔集I中部分文檔的標識發送給所述用戶m。
6.根據權利要求1所述的方法,其特征在于,所述方法包括在互聯網上查詢一組特定用戶的應用實例,其步驟如下 多次使用所述方法獲取所述用戶集J中多個用戶的用戶特征向量; 接收用戶m(m G J)提交的查詢條件,其中包括被查詢用戶的至少一個特征; 根據所述查詢條件,生成所述用戶m的查詢特征向量; 計算所述用戶集J中每個用戶的用戶特征向量與所述查詢特征向量之間的數學距離,以及根據所述數學距離對所述用戶集J進行排序; 按照所述排序結果將所述用戶集J中部分用戶的標識發送給所述用戶m。
7.根據權利要求1所述的方法,其特征在于,在所述方法的一個應用實例中,多次使用所述方法獲取所述文檔集I中多個文檔的文檔特征向量和所述用戶集J中多個用戶的用戶特征向量,存儲廣告集A = {1,2, . . . , G},廣告g(g G A)的廣告特征向量Ka (g) = (awgl,awg2, --^awgk,…,awgI),其中awgk表示所述廣告g與特征k(k G K)的相關度,G為廣告個數,然后執行如下步驟 接收用戶m(m G J)訪問文檔n(n G I)的信號,所述信號至少包括所述用戶m的用戶標識和所述文檔n的文檔標識; 根據所述用戶m的用戶標識,獲取所述用戶m的用戶特征向量; 根據所述文檔n的文檔標識,獲取所述文檔n的文檔特征向量; 計算所述廣告集A中每個廣告的廣告特征向量與所述用戶m的用戶特征向量之間的數學距離1,計算所述廣告集A中每個廣告的廣告特征向量與所述文檔n的文檔特征向量之間的數學距離2 ; 根據所述廣告集A中每個廣告的所述數學距離I和所述數學距離2生成數學距離3,以及根據所述數學距離3對所述廣告集A中每個廣告進行排序; 按照所述排序的結果,將所述廣告集A中至少一個廣告放入所述文檔n并將放入廣告的所述文檔n發送給所述用戶m。
8.—種在互聯網上確定用戶特征的方法,其特征在于,在服務器中存儲用戶集J= {I,.2,..., N}和特征集K = {1,2,. . .,L},其中N為用戶個數,L為特征個數;并且在所述服務器中執行如下步驟 接收用戶j(j G J)聯絡用戶i(i e J)的信號,所述信號至少包括所述用戶j的用戶標識和所述用戶i的用戶標識; 根據所述用戶j的用戶標識,讀取所述用戶j的用戶特征向量Ku(j) = (UWjljUWj2,...,UWjk, . . . , UWjl),其中UWjk表示所述用戶j與特征k(k G K)的相關度; 根據所述用戶i的用戶標識,讀取所述用戶i的用戶特征向量Ku(i) = (uwn,uwi2,...,UWik, . . . , uwiL),其中UWik表示所述用戶i與特征k(k G K)的相關度;使用如下算法對所述用戶j的用戶特征向量進行更新Ku*(j) = function3[Ku(i), Ku(j)] 其中,所述fUnCtion3[Ku(i),Ku(j)]為增函數,Ku(j)和Ku*(j)分別表示更新前和更新后所述用戶j的用戶特征向量,Ku(i)表示所述用戶i的用戶特征向量。
9.根據權利要求8所述的方法,其特征在于,在所述算法的一個應用實例中,所述用戶j的用戶特征向量的具體更新算法如下UWjk* = UWjk+ A 3(t) 2,3(ik) f3 (UWik),對于每個 k G UKi, UKjCK 其中f3 (UWik)為增函數,t為所述聯絡的類型,X3 (t)為t的函數,(3(ik)為所述用戶i的第k個特征的重要程度參數,所述UKi是由所述用戶i的用戶特征向量Ku(i) = (uwn,UWi2,..., UWik,..., UWiL)中數值最大的Pi個分量所對應的特征組成的集合,Pi為設定常數,UWjk和IW/分別表示更新前和更新后所述用戶j的用戶特征向量第k個分量,UWik表示所述用戶i的用戶特征向量第k個分量。
10.根據權利要求8所述的方法,其特征在于,所述方法還包括對所述用戶集J中每個用戶的用戶特征向量進行修正的算法,即選擇至少一個k e K以及對選出的每個k進行如下處理對每個j (j G J)將UWjk映射為gi (UWjk),然后對每個j (j G J)設置UWjk = gj (UWjk),其中gi (UWjk)為增函數,gj (UWjk) G [a, b], a和b均為設定常數。
11.根據權利要求8所述的方法,其特征在于,所述方法還包括以下步驟 根據所述用戶i的用戶標識,讀取所述用戶i的粉絲特征向量KJi) = (fwn,fwi2,...,fwik,. . . ,fw^),其中fwik為所述用戶i的粉絲群體與特征k(k G K)的相關度,然后應用如下算法更新所述用戶i的粉絲特征向量Kf*(i) = function4[Kf (i), Ku(j)] 其中,所述fUnCtion4[Kf(i),Ku(j)]為增函數,Kf(i)和K/(i)分別表示更新前和更新后所述用戶i的粉絲特征向量,Ku(j)表示所述用戶j的用戶特征向量。
12.根據權利要求11所述的方法,其特征在于,在所述算法的一個應用實例中,所述用戶i的粉絲特征向量的具體更新算法如下fwik* = fwik+ A 4(t) 2,4 (jk) f4 (UWjk),對于每個 k G UKj, UKjC K 其中f4(u%k)為增函數,t為所述聯絡的類型,X4 (t)為t的函數,^4(Jk)為所述用戶j的第k個特征的重要程度參數,所述U\_是由所述用戶j的用戶特征向量Ku(j) = (UWjl,UWj,,..., UWjk,..., UWjl)中數值最大的Pj個分量所對應的特征組成的集合,Pj為設定參數,fwik和fwik*分別表示更新前和更新后所述用戶i的粉絲特征向量第k個分量,UWjk表示所述用戶j的用戶特征向量第k個分量。
13.根據權利要求11所述的方法,其特征在于,所述方法還包括對所述用戶集J中每個用戶的粉絲特征向量進行修正的算法,即選擇至少一個k e K以及對選出的每個k進行如下處理對每個j (j G J)將fwjk映射為g3 (fwjk),然后對每個j (j G J)設置fwjk = g3 (fwjk),其中g3 (fwJk)為增函數,g3 (fwJk) G [a, b], a和b均為設定常數。
14.根據權利要求8所述的方法,其特征在于,所述算法還包括對所述用戶i的用戶特征向量進行更新的步驟Ku*(i) = function5[Ku(i), Ku(j)] 其中,所述fUnction5[Ku⑴,Ku(j)]為增函數,Ku⑴和Ku*⑴分別表示更新前和更新后所述用戶i的用戶特征向量,Ku(j)表示所述用戶j的用戶特征向量。
15.根據權利要求8所述的方法,其特征在于,所述方法包括在互聯網上查詢一組特定用戶的應用實例,其步驟如下 多次使用所述方法獲取所述用戶集J中多個用戶的用戶特征向量; 接收用戶m(m G J)提交的查詢條件,其中包括被查詢用戶的至少一個特征; 根據所述查詢條件,生成所述用戶m的查詢特征向量; 計算所述用戶集J中每個用戶的用戶特征向量與所述查詢特征向量之間的數學距離,以及根據所述數學距離對所述用戶集J進行排序; 按照所述排序結果將所述用戶集J中部分用戶的標識發送給所述用戶m。
16.根據權利要求8所述的方法,其特征在于,在所述方法的一個應用實例中,多次使用所述方法獲取所述用戶集J中多個用戶的用戶特征向量,存儲廣告集A = {1,2,. . .,G},廣告g(g G A)的廣告特征向量為Ka (g) = (awgl, awg2,…,awgk,…,awgI),其中awgk表示所述廣告g與特征k(k G K)的相關度,G為廣告個數;然后執行如下步驟 接收用戶m(m G J)聯絡用戶n(n e J)的信號,所述信號至少包括所述用戶m的用戶標識和所述用戶n的用戶標識; 根據所述用戶m的用戶標識,讀取所述用戶m的用戶特征向量; 根據所述用戶n的用戶標識,讀取所述用戶n的用戶特征向量; 計算所述廣告集A中每個廣告的廣告特征向量與所述用戶m的用戶特征向量之間的數學距離4 ;計算所述廣告集A中每個廣告的廣告特征向量與所述用戶n的用戶特征向量之間的數學距離5 ; 根據所述廣告集A中每個廣告的所述數學距離4和所述數學距離5生成數學距離6,以及根據所述數學距離6對所述廣告集A中每個廣告進行排序; 按照所述排序結果將所述廣告集A中至少一個廣告推送給所述用戶m。
17.—種在互聯網上確定用戶特征的系統,其特征在于,包括以下模塊 用戶特征向量初始值設置模塊根據用戶的特征設置用戶集J= {1,2,...,N}中部分用戶的用戶特征向量初始值,并將其存儲于用戶數據庫中; 文檔特征向量初始值設置模塊根據文檔的特征設置文檔集I = {1,2,. . .,M}中部分文檔的文檔特征向量初始值,并將其存儲于文檔數據庫中; 廣告特征向量初始值設置模塊根據廣告的特征存儲廣告集A= {1,2,...,6}中部分廣告的廣告特征向量初始值,并將其存儲于廣告數據庫中; 用戶訪問文檔信號獲取模塊獲取用戶j(j G J)訪問文檔i(i G I)的信號,所述信號至少包括所述文檔i的文檔標識和所述用戶j的用戶標識,所述信號存儲于用戶數據庫中; 用戶聯絡用戶信號獲取模塊獲取用戶j(j G J)聯絡用戶i(i G J)的信號,所述信號至少包括所述用戶j的用戶標識和所述用戶i的用戶標識,并將所述信號存儲于用戶數據庫中; 特征向量更新模塊1:根據在所述用戶訪問文檔信號獲取模塊中得到的所述文檔i的文檔標識和所述用戶j的用戶標識,讀取所述文檔i的文檔特征向量和所述用戶j的用戶特征向量,然后更新所述文檔i的文檔特征向量和所述用戶j的用戶特征向量,更新后所述文檔i的文檔特征向量是更新前所述文檔i的文檔特征向量和所述用戶j的用戶特征向量的函數,更新后所述用戶j的用戶特征向量是更新前所述文檔i的文檔特征向量和所述用戶j的用戶特征向量的函數; 特征向量更新模塊2 :根據在所述用戶聯絡用戶信號獲取模塊中得到的所述用戶j和所述用戶i的用戶標識,讀取所述用戶j和所述用戶i的用戶特征向量以及所述用戶i的粉絲特征向量,然后更新所述用戶j的用戶特征向量和所述用戶i的粉絲特征向量,更新后所述用戶j的用戶特征向量是更新前所述用戶i的用戶特征向量和所述用戶j的用戶特征向量的函數,更新后所述用戶i的粉絲特征向量是更新前所述用戶i的粉絲特征向量和所述用戶j的用戶特征向量的函數; 廣告選擇和呈現模塊根據在所述用戶訪問文檔信號獲取模塊中得到的所述文檔i的文檔標識和所述用戶j的用戶標識,計算所述廣告集A中每個廣告的數學距離3,以及根據所述數學距離3對所述廣告集A進行排序,并根據所述排序結果將至少一個廣告呈現給所述用戶j ;根據在所述用戶聯絡用戶信號獲取模塊中得到的所述用戶j和所述用戶i的用戶標識,計算所述廣告集A中每個廣告的數學距離6,以及根據所述數學距離6對所述廣告集A進行排序,并根據所述排序結果將至少一個廣告呈現給所述用戶j ; 文檔查詢模塊接收用戶m(m G J)提交的查詢條件,所述查詢條件包括被查詢文檔的至少一個特征,根據所述查詢條件生成查詢特征向量1,然后計算所述文檔集I中每個文檔的文檔特征向量與所述用戶m的查詢特征向量I之間的數學距離7,以及根據所述數學距離7對所述文檔集I進行排序,并且按照所述排序結果,將所述文檔集I中一部分文檔的標識發送給所述用戶m ; 用戶查詢模塊接收用戶m(m G J)提交的查詢條件,所述查詢條件包括被查詢用戶的至少一個特征,根據所述查詢條件生成查詢特征向量2,然后計算所述用戶集J中每個用戶的用戶特征向量與所述查詢特征向量2之間的數學距離8,以及根據所述數學距離8對所述用戶集J進行排序,并且按照所述排序結果將所述用戶集J中一部分用戶的標識發送給所述用戶m。
全文摘要
本發明提出了一種在互聯網上確定用戶特征的方法和系統。所述方法通過用戶訪問文檔的信號以及用戶聯絡其他用戶的信號來自動地更新用戶和文檔的個性化特征。如果用戶訪問了文檔,則用戶的個性化特征由文檔的個性化特征來更新,文檔的個性化特征由用戶的個性化特征來更新。如果用戶聯絡了其他用戶,則所述用戶的個性化特征由所述其他用戶的個性化特征來更新。多次使用上述方法獲得多個用戶和文檔的個性化特征。根據用戶和文檔的個性化特征,可對搜索引擎獲得的網頁信息作進一步的過濾和篩選以提高搜索的準確率;根據用戶的個性化特征,可在互聯網中尋找具有特定特征的用戶群。
文檔編號H04L29/08GK102999540SQ20111028090
公開日2013年3月27日 申請日期2011年9月10日 優先權日2011年9月10日
發明者祁勇 申請人:祁勇