基于用戶興趣的信息提供方法
【專利摘要】本發(fā)明提供了一種基于用戶興趣的信息提供方法,該方法包括:對輸入數(shù)據(jù)集進行數(shù)據(jù)轉換和采樣,通過數(shù)據(jù)檢索得到初始檢索結果,基于結果和檢索式的相關性度量對初始檢索結果進行重新排序。本發(fā)明提出了一種基于用戶興趣的信息提供方法,分布式檢索系統(tǒng)對數(shù)據(jù)集進行統(tǒng)一收集管理,并基于用戶的反饋和評價對檢索結果進一步優(yōu)化,更高效率地滿足了用戶個性化的需求。
【專利說明】
基于用戶興趣的信息提供方法
技術領域
[0001] 本發(fā)明涉及數(shù)據(jù)推送,特別涉及一種基于用戶興趣的信息提供方法。
【背景技術】
[0002] 在信息時代的今天,隨著互聯(lián)網(wǎng)技術和社會信息化技術的不斷發(fā)展,信息量以爆 炸式的速度增長,互聯(lián)網(wǎng)正不斷地影響和改變著人們的日常生活方式。然而,隨著網(wǎng)絡信息 變得越來越紛繁復雜,人們如何從如此浩瀚的信息海洋中高效地找到符合需求的信息就成 了一個越來越值得關注的課題。雖然有相關分布式檢索系統(tǒng)可以幫助人們更精確的找到所 需要的信息,但在某些應用領域,如電影、音樂、社交網(wǎng)絡搜索,用戶一般不能很好的提出很 好的檢索需求,通過研究用戶的歷史記錄、用戶的社會化信息以及對應領域數(shù)據(jù)的屬性信 息,將用戶的信息建?;蛘哳I域數(shù)據(jù)資源建模,通過可靠方式將用戶潛在感興趣的數(shù)據(jù)資 源推薦給用戶。然而現(xiàn)有的分布式檢索系統(tǒng)在工作效率和用戶的滿意度各不相同,并且缺 少通用的接口來處理異構數(shù)據(jù)的輸入。
【發(fā)明內容】
[0003] 為解決上述現(xiàn)有技術所存在的問題,本發(fā)明提出了一種基于用戶興趣的信息提供 方法,包括:
[0004] 對輸入數(shù)據(jù)集進行數(shù)據(jù)轉換和采樣,
[0005] 通過數(shù)據(jù)檢索得到初始檢索結果,
[0006] 基于結果和檢索式的相關性度量對初始檢索結果進行重新排序。
[0007] 優(yōu)選地,所述對輸入數(shù)據(jù)集進行數(shù)據(jù)轉換和采樣,進一步包括,
[0008] 通過數(shù)據(jù)匯總將數(shù)據(jù)文件輸入分布式檢索系統(tǒng),保存至數(shù)據(jù)庫之后,先根據(jù)用戶 的需求將某些字段過濾,接下來將處理后的數(shù)據(jù)構造成評分矩陣,構造完畢后將其保存至 數(shù)據(jù)庫,如果該數(shù)據(jù)整理前的數(shù)據(jù)集非其他用戶所私有,通過此整理后的數(shù)據(jù)集保存的向 前引用,找到原始的數(shù)據(jù)集;當進行數(shù)據(jù)采樣時首先讀取數(shù)據(jù)的尺寸,構造一個布爾矩陣, 初始值全為false,接著選擇采樣方式,在計算對應的訓練集時,將布爾矩陣與對應的數(shù)據(jù) 集按位相與,在計算出測試集時,將訓練集按位取反即可,生成的訓練集與測試集表即可執(zhí) 行檢索。
[0009] 優(yōu)選地,所述基于結果和檢索式的相關性度量對檢索結果進行重新排序,進一步 包括:
[0010] 首先將檢索結果進行量化表示,即將每個檢索結果CU表示成一個矢量,矢量的維 度是檢索結果文本中至少出現(xiàn)過一次的詞構成集合的大小,每一維的值是相應的詞在該結 果中逆向詞頻指標表示的權值,采用以下公式評價結果和檢索式之間的相關性評分score:
[0012]
'表示詞t在檢索結果di中的權 值;
[0013]
,表示詞t在檢索式Q中的權值;
[0014] l(di)為結果di的長度,tf (t | di)為詞t在結果di中出現(xiàn)的頻率,tf (t | Q)為詞t在檢 索式Q中出現(xiàn)的頻率,df(t|C)為詞t在整個結果集C中的頻率,lu,k2,b為預設調節(jié)參數(shù);
[0015] 最后根據(jù)結果的最終評分Score,對初始檢索結果按評分由高到低進行排序。
[0016] 本發(fā)明相比現(xiàn)有技術,具有以下優(yōu)點:
[0017] 本發(fā)明提出了一種基于用戶興趣的信息提供方法,分布式檢索系統(tǒng)對數(shù)據(jù)集進行 統(tǒng)一收集管理,并基于用戶的反饋和評價對檢索結果進一步優(yōu)化,更高效率地滿足了用戶 個性化的需求。
【附圖說明】
[0018] 圖1是根據(jù)本發(fā)明實施例的基于用戶興趣的信息提供方法的流程圖。
【具體實施方式】
[0019] 下文與圖示本發(fā)明原理的附圖一起提供對本發(fā)明一個或者多個實施例的詳細描 述。結合這樣的實施例描述本發(fā)明,但是本發(fā)明不限于任何實施例。本發(fā)明的范圍僅由權利 要求書限定,并且本發(fā)明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細節(jié)以 便提供對本發(fā)明的透徹理解。出于示例的目的而提供這些細節(jié),并且無這些具體細節(jié)中的 一些或者所有細節(jié)也可以根據(jù)權利要求書實現(xiàn)本發(fā)明。
[0020] 本發(fā)明的一方面提供了一種基于用戶興趣的信息提供方法。圖1是根據(jù)本發(fā)明實 施例的基于用戶興趣的信息提供方法流程圖。
[0021] 本發(fā)明在分布式檢索系統(tǒng)中對于檢索輸入數(shù)據(jù)集進行統(tǒng)一的管理與存儲,并且對 其進行數(shù)據(jù)轉換,根據(jù)獲得的反饋結果進行結果評價,分布式檢索系統(tǒng)評價單元包括數(shù)據(jù) 管理模塊、檢索執(zhí)行模塊和展現(xiàn)模塊。
[0022] 數(shù)據(jù)管理模塊用于接收數(shù)據(jù)輸入、統(tǒng)一格式以及數(shù)據(jù)集的特征分析和采樣。數(shù)據(jù) 文件輸入系統(tǒng)后,經(jīng)過數(shù)據(jù)管理模塊的數(shù)據(jù)匯總子模塊將其轉換成系統(tǒng)可識別的數(shù)據(jù)資 源,經(jīng)過數(shù)據(jù)整理子模塊處理,成為系統(tǒng)可計算的數(shù)據(jù),數(shù)據(jù)整理包括將來自文本文件,數(shù) 據(jù)庫文件,以及日志文件的輸入數(shù)據(jù)進行格式的統(tǒng)一,轉換為二維矩陣或多維列表,以使后 續(xù)的數(shù)據(jù)操作繼續(xù)執(zhí)行。在檢索執(zhí)行模塊請求數(shù)據(jù)的時候,檢索執(zhí)行模塊在對應的請求參 數(shù)中包含請求數(shù)據(jù)的格式,然后數(shù)據(jù)傳輸子模塊根據(jù)該參數(shù)來處理經(jīng)過數(shù)據(jù)采樣的數(shù)據(jù)。
[0023] 數(shù)據(jù)集根據(jù)各服務器的存儲情況存儲在不同的服務器上,檢索執(zhí)行模塊向數(shù)據(jù)管 理模塊請求數(shù)據(jù)時,數(shù)據(jù)管理模塊先進行緩存查找,采用的是客戶端的散列策略,如果緩存 命中,直接從緩存中將數(shù)據(jù)集取出,若不命中,則在數(shù)據(jù)庫中請求相關數(shù)據(jù)。
[0024]在數(shù)據(jù)管理模塊訪問緩存服務器時,首先,數(shù)據(jù)管理模塊請求數(shù)據(jù)集時的key經(jīng)過 預定算法映射到其中一臺緩存服務器,然后從該服務器上取出相應的數(shù)據(jù)值。為使其命中 率盡量高,采取了以下策略:使用環(huán)形散列隊列,將對應查找的對象映射到32位key,從0-232-1的數(shù)值空間,將其鏈接成首尾相連的環(huán)。緩存和對象經(jīng)過同一個散列算法映射到同一 個數(shù)值空間;在整個環(huán)形隊列,沿順時針方向找到對象的key值出發(fā),直到遇到一個緩存,則 就將此對象存儲在該緩存中。當移除緩存時,逆時針遍歷此緩存至下一個緩存中的對象;當 增加緩存時,將此緩存映射的位置逆時針找到與下一個緩存區(qū)間中的對象,將它們從順時 針的下一個緩存中刪去,映射到該緩存中。
[0025] 由于用戶輸入的數(shù)據(jù)集形式多樣,系統(tǒng)通過創(chuàng)建數(shù)據(jù)集板,每輸入一種數(shù)據(jù)集時 則實例化一個數(shù)據(jù)集,配置以不同的參數(shù),由于不同的算法所需要的數(shù)據(jù)集不同,所以不同 的算法使用到不同格式的數(shù)據(jù)集,對數(shù)據(jù)集格式整理包括:識別冗余的輸入的字段或信息, 將其過濾;根據(jù)用戶的配置文件,來對輸入數(shù)據(jù)集的各個字段信息進行保存;設置數(shù)據(jù)集的 稀疏性閾值,如果輸入數(shù)據(jù)集低于閾值,可以根據(jù)用戶的輸入?yún)?shù)將低于該閾值的用戶過 濾。
[0026] 通過數(shù)據(jù)匯總將數(shù)據(jù)文件輸入分布式檢索系統(tǒng),保存至數(shù)據(jù)庫之后,這些數(shù)據(jù)可 以直接進入數(shù)據(jù)整理子模塊,數(shù)據(jù)整理子模塊先根據(jù)用戶的需求將某些字段過濾。接下來 將處理后的數(shù)據(jù)構造成評分矩陣,構造完畢后將其保存至數(shù)據(jù)庫,如果該數(shù)據(jù)整理前的數(shù) 據(jù)集非其他用戶所私有,通過此整理后的數(shù)據(jù)集保存的向前引用,找到原始的數(shù)據(jù)集。 [0027]數(shù)據(jù)管理模塊中,數(shù)據(jù)采樣子模塊的采樣時間可以選擇在數(shù)據(jù)集處理的時候進行 采樣,或者在算法配置完成的時候對其進行采樣。前一種方式是在數(shù)據(jù)管理模塊內部完成, 其具體的邏輯是當用戶選擇數(shù)據(jù)集采樣,然后選擇數(shù)據(jù)集,接著選擇對應的采樣方式,如果 操作能成功完成則將對應的采樣后的數(shù)據(jù)集存儲起來,原數(shù)據(jù)集不變,新的采樣過后的數(shù) 據(jù)集有標記字段指示原數(shù)據(jù)集,而且有對應的采樣方式以及其他信息。后一種方式是算法 經(jīng)過配置之后請求數(shù)據(jù),而數(shù)據(jù)收到具體的采樣需求,如數(shù)據(jù)集名稱,采樣方式以及其他信 息后,檢查檢索執(zhí)行模塊傳來的消息中是否能夠完成數(shù)據(jù)采樣的操作,如果是,則進行數(shù)據(jù) 采樣,采樣完畢后將采樣后的數(shù)據(jù)集在本地數(shù)據(jù)庫備份,然后將對應的采樣數(shù)據(jù)集發(fā)給請 求的執(zhí)行端,一次算法執(zhí)行過程中可能會有多次數(shù)據(jù)傳輸,鑒于算法運行時間比較久,所以 算法的運行采用分布式處理,為了算法執(zhí)行的高效性,數(shù)據(jù)管理模塊發(fā)送給檢索執(zhí)行模塊 中對應的不同執(zhí)行端,執(zhí)行模塊在請求數(shù)據(jù)采樣每次數(shù)據(jù)傳輸都會檢查它要求的采樣方式 是否已經(jīng)在數(shù)據(jù)庫中存在,如果是,則取出數(shù)據(jù),如果不是,重新發(fā)送該請求。
[0028]當進行數(shù)據(jù)采樣的時候,首先將數(shù)據(jù)的尺寸讀入數(shù)據(jù)采樣子模塊,系統(tǒng)構造一個 布爾矩陣,初始值全為false,接著選擇采樣方式,如果只是單次采樣,生成的對應訓練集和 測試集都將只生成一次,如果是循環(huán)多次采樣,將生成多個,根據(jù)采樣方式不同,將把此矩 陣的一些值填充為true,另外一些仍為false,這個布爾矩陣將它命名為訓練集的模表,通 過這個模表,可以計算出對應的訓練集,只需將它與對應的數(shù)據(jù)集按位相與,同理可以計算 出測試集,只需將訓練集的模表按位取反即可。據(jù)此生成的訓練集與測試集表即可發(fā)送給 檢索執(zhí)行模塊執(zhí)行,檢索執(zhí)行模塊根據(jù)訓練集去預測測試集表中值為True的數(shù)據(jù)項評分即 可。
[0029]在測試集中對檢索結果進行評價,該測試集中的內容是用戶感興趣的項目集合。 由于在數(shù)據(jù)采樣的時候在本地保存了測試集,當算法執(zhí)行執(zhí)行完畢返回結果時,系統(tǒng)先從 通信的報文中取出所對應的序列碼,根據(jù)此序列碼將數(shù)據(jù)庫中所對應的測試集取出,然后 將其與返回的結果進行比較,從而得出評價結果。檢索執(zhí)行模塊保存著以算法類型為主鍵, 算法配置概要信息的表,待算法執(zhí)行完畢后將其非主鍵信息發(fā)送回來。結合算法執(zhí)行完畢 后傳來的各個參數(shù),進行結果的評價輸出。
[0030]檢索執(zhí)行模塊返回數(shù)據(jù)的時候,附帶雙方約定的序列碼,傳回的算法執(zhí)行結果,并 附加上算法的執(zhí)行類型表中所帶的配置算法所需的參數(shù),傳回本地以后對結果進行評價和 展現(xiàn),以供用戶反饋修改參數(shù)。
[0031 ]在用戶提供相關反饋后,對檢索結果進行重新排序處理,具體為,結合檢索結果評 分、用戶反饋中相關和不相關結果的近似度距離差來進行重新排序。
[0032]在度量檢索結果間的相關性之前,首先需要將其進行量化表示,將每個檢索結果 di表示成一個矢量,矢量的維度是文本中至少出現(xiàn)過一次的詞構成集合的大小,每一維的 值是相應的詞在該結果中逆向詞頻指標表示的權值。然后采用以下公式評價結果和檢索式 之間的相關性評分:
[0036] 式中W(t|di)為詞t在di中的權值;
[0037] W(t|Q)為詞t在檢索式Q中的權值;
[0038] l(di)為結果di的長度;
[0039] tf (t I di)為詞t在結果di中出現(xiàn)的頻率;
[0040] tf(t|Q)為詞t在檢索式Q中出現(xiàn)的頻率;
[0041] df(t|C)為詞t在整個結果集C中的頻率;
[0042] lu,k2,b為預設調節(jié)參數(shù)。
[0043] 最后根據(jù)結果的最終評分,對初始的檢索結果進行重新排序,即按結果的Score的 評分由高到低進行排序。
[0044] 本發(fā)明在以下實施例使用可選的結果排序方法,包括檢索結果的領域表示和基于 近似度計算的檢索結果排序。
[0045] 首先是將用戶的檢索詞提交給分布式檢索系統(tǒng),然后獲取分布式檢索系統(tǒng)的檢索 結果,并提取出檢索結果標題、描述和URL,并進行分詞,根據(jù)停用詞表,將無用的詞刪除;根 據(jù)逆向詞頻算法計算結果標題和描述的每個詞的加權值,然后合并;檢查每個詞所屬的細 分領域,如果有兩個詞所屬的細分領域相同,則將其加權值相加,作為該細分領域的加權 值,最后可得到該檢索結果的細分領域矢量;檢查每個細分領域所屬的主領域,如果相同則 繼續(xù)合并,最后可得到該檢索結果的主領域矢量;對分布式檢索系統(tǒng)結果集執(zhí)行以上步驟, 得到分布式檢索系統(tǒng)結果集的領域矢量表。
[0046] 設UF為用戶的主興趣矢量,US為用戶的細分興趣矢量,依次計算用戶興趣和每個 結果的近似度。設DF是檢索集中某個檢索結果的主領域矢量,DS該檢索結果的細分領域矢 量。
[0047] 計算用戶興趣和檢索結果的細分領域集合的邊界差:
[0048] Bl = DS_US 門 DS
[0049] 計算用戶興趣和檢索結果的細分領域集合的近似度:
[0051]
是該檢索結果和用戶興趣中都存在的細分領域的權值乘 積的和,num (BL)和num (DS)分別是Bl和DS的數(shù)量。
[0052]計算用戶興趣和檢索結果的主領域集合的邊界差:
[0053] Bu=DF-(UFnDF)
[0054]計算用戶興趣和檢索結果的主領域集合的近似度:
[0056]
是該檢索結果和用戶興趣中都存在的主領域的權值乘積 的和,num (BU)和num (DF)分別是Bu和DF的數(shù)量;
[0057] 最后計算該檢索結果和用戶興趣的總近似度:
[0058] Sim = GXSimL(US,DS) + (l-〇 XSimu(UF,DF)
[0059] 其中G為細分領域集合近似度的加權值。
[0060] 依據(jù)這個步驟,對分布式檢索系統(tǒng)返回的每個結果依次計算總近似度Sim,得到每 個檢索結果新的權值,然后從大到小排序,得到新的結果順序。
[0061] 在上述用戶興趣的向量表示中,本發(fā)明采用獲取本地瀏覽記錄以進行興趣分析的 方式。首先獲取用戶訪問的檢索結果的標題和描述,并對這些標題和描述進行分詞,分詞后 根據(jù)停用詞表將無用的詞刪除;對照特征詞表,檢查瀏覽記錄中所有檢索結果的所有詞,統(tǒng) 計每個細分領域出現(xiàn)的特征詞數(shù),得到矢量{(hsi,ci),(hs2,C2),…,(hs n,cn)},其中hsi指 第i個細分領域,Cl指第i個細分領域出現(xiàn)了多少個特征詞;計算每個細分領域的權值,計算
,最后得到一個細分興趣矢量HS= {(hsi,hswi),(hs2,hsw2),…,(hsn, hswn)};細分興趣矢量與用戶選擇的興趣領域合并后,一起生成主領域興趣矢量。
[0062] 綜上所述,本發(fā)明提出了一種基于用戶興趣的信息提供方法,分布式檢索系統(tǒng)對 數(shù)據(jù)集進行統(tǒng)一收集管理,并基于用戶的反饋和評價對檢索結果進一步優(yōu)化,更高效率地 滿足了用戶個性化的需求。
[0063] 顯然,本領域的技術人員應該理解,上述的本發(fā)明的各模塊或各步驟可以用通用 的計算系統(tǒng)來實現(xiàn),它們可以集中在單個的計算系統(tǒng)上,或者分布在多個計算系統(tǒng)所組成 的網(wǎng)絡上,可選地,它們可以用計算系統(tǒng)可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲 在存儲系統(tǒng)中由計算系統(tǒng)來執(zhí)行。這樣,本發(fā)明不限制于任何特定的硬件和軟件結合。
[0064] 應當理解的是,本發(fā)明的上述【具體實施方式】僅僅用于示例性說明或解釋本發(fā)明的 原理,而不構成對本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何 修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。此外,本發(fā)明所附權利要求旨 在涵蓋落入所附權利要求范圍和邊界、或者這種范圍和邊界的等同形式內的全部變化和修 改例。
【主權項】
1. 一種基于用戶興趣的信息提供方法,其特征在于,包括: 對輸入數(shù)據(jù)集進行數(shù)據(jù)轉換和采樣, 通過數(shù)據(jù)檢索得到初始檢索結果, 基于結果和檢索式的相關性度量對初始檢索結果進行重新排序。2. 根據(jù)權利要求1所述的方法,其特征在于,所述對輸入數(shù)據(jù)集進行數(shù)據(jù)轉換和采樣, 進一步包括, 通過數(shù)據(jù)匯總將數(shù)據(jù)文件輸入分布式檢索系統(tǒng),保存至數(shù)據(jù)庫之后,先根據(jù)用戶的需 求將某些字段過濾,接下來將處理后的數(shù)據(jù)構造成評分矩陣,構造完畢后將其保存至數(shù)據(jù) 庫,如果該數(shù)據(jù)整理前的數(shù)據(jù)集非其他用戶所私有,通過此整理后的數(shù)據(jù)集保存的向前引 用,找到原始的數(shù)據(jù)集;當進行數(shù)據(jù)采樣時首先讀取數(shù)據(jù)的尺寸,構造一個布爾矩陣,初始 值全為false,接著選擇采樣方式,在計算對應的訓練集時,將布爾矩陣與對應的數(shù)據(jù)集按 位相與,在計算出測試集時,將訓練集按位取反即可,生成的訓練集與測試集表即可執(zhí)行檢 索。3. 根據(jù)權利要求2所述的方法,其特征在于,所述基于結果和檢索式的相關性度量對檢 索結果進行重新排序,進一步包括: 首先將檢索結果進行量化表示,即將每個檢索結果cU表示成一個矢量,矢量的維度是檢 索結果文本中至少出現(xiàn)過一次的詞構成集合的大小,每一維的值是相應的詞在該結果中逆 向詞頻指標表示的權值,采用以下公式評價結果和檢索式之間的相關性評分score:l(di)為結果di的長度,tf (t | di)為詞t在結果di中出現(xiàn)的頻率,tf (t |Q)為詞t在檢索式Q 中出現(xiàn)的頻率,df (11 C)為詞t在整個結果集C中的頻率,h,k2,b為預設調節(jié)參數(shù); 最后根據(jù)結果的最終評分Score,對初始檢索結果按評分由高到低進行排序。
【文檔編號】G06F17/30GK106055594SQ201610346247
【公開日】2016年10月26日
【申請日】2016年5月23日
【發(fā)明人】董政, 吳文杰, 陳露, 李學生
【申請人】成都陌云科技有限公司