欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于用戶日志分析的分布式倒排索引組織方法

文檔序號:6369472閱讀:514來源:國知局
專利名稱:基于用戶日志分析的分布式倒排索引組織方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機信息檢索技術(shù)領(lǐng)域,具體涉及一種基于用戶日志分析的分布式倒排索引組織方法。
背景技術(shù)
隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,當今社會每天都會產(chǎn)生大量的信息,這些信息往往會以網(wǎng)頁、圖片、視頻、音頻等非結(jié)構(gòu)化數(shù)據(jù)的形式展現(xiàn)。面對如此浩如煙海的數(shù)據(jù)量,人們要想從中獲得符合自己需求的信息,如大海撈針般困難。因此,在這個海量信息的時代,要想快速、效地獲得有用信息,必須借助各式各樣的信息檢索系統(tǒng)(Information RetrievalSystem, IRS)。IRS的主要目的是為人們提供有效的信息服務(wù),是根據(jù)特定信息需求建立起來的,實現(xiàn)了信息搜索、加工、存儲和檢索等功能的程序化系統(tǒng)。從廣義上來講,任何具有了信息存儲和檢索功能的系統(tǒng),都可以稱之為IRS系統(tǒng)。
IRS系統(tǒng)的種類繁多,如數(shù)字圖書館、搜索引擎等,但此類系統(tǒng)都有針對信息數(shù)據(jù)的索引。隨著信息數(shù)據(jù)量的不斷增加,索引也必然會不斷膨脹,最終導(dǎo)致存儲和檢索效率變得十分低下。為了解決這個問題,一般采用分布式索引,將原來存儲在單臺機器上的龐大的索引切割成大小合適的索引碎片,并將這些索引碎片分布到不同的機器上,形成索引集群,從而把原先對巨大單一索引的訪問轉(zhuǎn)換為對索引集群的查詢,索引集群則通過合適的索引分割方式、查詢路由策略以及最終的結(jié)果合并實現(xiàn)快速而有效的查詢。由此可以看出,分布式索引系統(tǒng)已經(jīng)成為IRS系統(tǒng)乃至信息領(lǐng)域里一個至關(guān)重要的組成部分,要實現(xiàn)海量數(shù)據(jù)的有效管理,就必須先實現(xiàn)高性能的分布式索引系統(tǒng)。在倒排索引的分布式處理過程中,最重要的問題之一就是索引的分割切片。目前最主要有三種方式“全局分割”、“局部分割”和“混合分割”?!叭址指睢币步谢凇拔臋n”的分割,每塊索引碎片所包含的信息都具有全局意義?;凇拔臋n”的劃分策略雖然使整個索引結(jié)構(gòu)易于維護,節(jié)點之間的負載更加均衡、但是每次查詢所有節(jié)點都要參與,系統(tǒng)資源浪費嚴重。而在“局部分割”中,又叫基于“詞”的分割,每塊索引碎片所包含信息只具有局部的意義,即只針對某個子數(shù)據(jù)集的索引?;凇霸~”的劃分策略能有效減少每次參與查詢的節(jié)點數(shù),增大整個系統(tǒng)的吞吐,但由于“詞”之間被查詢頻率存在很大差別,容易造成節(jié)點間的負載不均。這兩種分割方式在不同的應(yīng)用壞境和查詢條件下各有優(yōu)劣,出于各取其優(yōu)的考慮,出現(xiàn)了“混合分割”的分片組織方式,“混合分割”的基本思想是部分“全局”部分“局部”,而不同方法的區(qū)別在于如何劃分“全局”與“局部”,以及這兩部分如何交互?,F(xiàn)有“混合分害I]”方法一般設(shè)計簡單,沒有考慮“詞”之間被查詢頻率的差別,總體效果并不理想。在實現(xiàn)分布式索引系統(tǒng)的基礎(chǔ)上,需要利用查詢路由來從分布式索引系統(tǒng)中獲取查詢結(jié)果。的查詢路由是建立在“索引分割”基礎(chǔ)之上的查詢節(jié)點選擇,其一方面利用索引分片信息選擇合適的索引集群節(jié)點進行查詢,另一方面在保證結(jié)果集準確率的前提下,盡可能減少參與查詢的節(jié)點,同時為集群的負載均衡、索引分片副本調(diào)整等方法提供依據(jù)。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種查詢開銷小、查詢效率高、查詢性能好、能實現(xiàn)整個系統(tǒng)吞吐量和每次查詢響應(yīng)速度間的平衡、多詞查詢涉及的節(jié)點數(shù)少的基于用戶日志分析的分布式倒排索引組織方法。為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為一種基于用戶日志分析的分布式倒排索引組織方法,其實施步驟如下I)分析用戶查詢?nèi)罩静⑻崛〕龈哳l詞和非高頻詞,建立高頻詞的相關(guān)性矩陣,并根據(jù)聞頻詞之間的相關(guān)性建立聞頻詞關(guān)系圖;2)計算每個高頻詞的負載,根據(jù)高頻詞關(guān)系圖和高頻詞的負載對高頻詞進行聚類; 3)將各個聚類分配到節(jié)點之上并建立高頻詞索引,將非高頻詞哈希到各個節(jié)點之上,并建立非高頻詞索引;4)根據(jù)所述高頻詞索引和非高頻詞索引建立全局的索引表,并根據(jù)該索引表進行查詢路由。作為本發(fā)明上述技術(shù)方案的進一步改進所述步驟I)的詳細步驟為I. I)解析用戶查詢?nèi)罩荆瑢⒂脩舨樵內(nèi)罩具M行分詞得到查詢詞典,統(tǒng)計每個詞的出現(xiàn)頻率并將查詢詞典按照出現(xiàn)頻率降序或者升序排列,從查詢詞典的高出現(xiàn)頻率端截取指定數(shù)量的詞作為高頻詞,剩余的詞則為非高頻詞;I. 2)將截取的高頻詞建立高頻詞典,將高頻詞典中的高頻詞從I到N統(tǒng)一編號建立NXN的高頻詞的相關(guān)性矩陣;I. 3)將所述高頻詞的相關(guān)性矩陣轉(zhuǎn)換為無向圖得到高頻詞關(guān)系圖。所述步驟2)的詳細步驟包括2. I)計算每個高頻詞的負載,將節(jié)點按照負載降序排列得到節(jié)點集合,計算節(jié)點集合中任意兩個節(jié)點之間的節(jié)點距離;2. 2)定義每個聚類的負載上限、聚類個數(shù)以及聚類中心之間的最短距離和中心節(jié)點集合,從所述節(jié)點集合中取出一個節(jié)點作為當前節(jié)點,然后跳轉(zhuǎn)執(zhí)行步驟2. 3);2. 3)將當前節(jié)點與中心節(jié)點集合中的中心節(jié)點進行比較,如果中心節(jié)點集合中找到某個節(jié)點與當前節(jié)點之間的節(jié)點距離小于所述聚類中心之間的最短距離,則將所述中心節(jié)點集合中找到的節(jié)點和當前節(jié)點合并作為中心節(jié)點集合中的一個新的中心節(jié)點,否則將當前節(jié)點作為中心節(jié)點集合中的一個新的中心節(jié)點;最終執(zhí)行下一步;2. 4)判斷中心節(jié)點集合的大小是否達到聚類個數(shù),如果仍未達到聚類個數(shù)則從所述節(jié)點集合中取出下一個節(jié)點作為當前節(jié)點并返回繼續(xù)執(zhí)行步驟2. 3);如果已經(jīng)達到聚類個數(shù)則執(zhí)行步驟2. 5);2. 5)根據(jù)中心節(jié)點集合中的中心節(jié)點生成聚類得到聚類集合,計算中心節(jié)點集合中每一個中心節(jié)點到其他非中心節(jié)點的最短距離,并降序排列得到最短距離集合;2. 6)針對聚類集合的每一個聚類,查找所述聚類對應(yīng)最短距離集合中的下一個節(jié)點作為目標節(jié)點;計算所述目標節(jié)點的負載并判斷負載是否超過所述負載上限,如果超過負載上限則忽略該目標節(jié)點;判斷包含所述目標節(jié)點的聚類數(shù)是否超過聚類個數(shù),如果超過就忽略所述目標節(jié)點;判斷所述目標節(jié)點是否已經(jīng)加入其他聚類且所述目標節(jié)點在最短距離集合中的上一個節(jié)點也屬于所述其他聚類中,如果符合條件則在所述目標節(jié)點和所述目標節(jié)點在最短距離集合中的上一個節(jié)點中選擇更接近當前聚類和其他聚類中點的節(jié)點作為邊境節(jié)點,所述邊境節(jié)點同時屬于當前聚類和其他聚類兩個聚類;如果不符合條件,則直接將目標節(jié)點直接加入當前聚類;最終將所有節(jié)點歸類后完成聚類并返回聚類結(jié)果。所述步驟3)的詳細步驟包括3. I)計算每個聚類的負載,將聚類按照負載降序排列得到聚類集合;3. 2)建立系統(tǒng)性能的目標函數(shù),從所述聚類集合中選擇一個聚類作為當前聚類;3. 3)往所述當前聚類中嘗試添加節(jié)點并計算所述目標函數(shù)值,然后將當前聚類加入目標函數(shù)值最小的節(jié)點上并建立索引,然后執(zhí)行步驟3. 4);
3. 4)判斷聚類集合中是否還有聚類未處理,如果仍有聚類未處理則取出下一個未處理的聚類作為當前聚類并返回執(zhí)行步驟3. 3);如果所有聚類處理完成則高頻詞索引建立完畢;3. 5)將非高頻詞哈希到各個節(jié)點之上建立非高頻詞索引。所述步驟3. 2)中建立的目標函數(shù)的函數(shù)表達式如式(I)所示
權(quán)利要求
1.一種基于用戶日志分析的分布式倒排索引組織方法,其特征在于其實施步驟如下 . 1)分析用戶查詢?nèi)罩静⑻崛〕龈哳l詞和非高頻詞,建立高頻詞的相關(guān)性矩陣,并根據(jù)聞頻詞之間的相關(guān)性建立聞頻詞關(guān)系圖; .2)計算每個高頻詞的負載,根據(jù)高頻詞關(guān)系圖和高頻詞的負載對高頻詞進行聚類; .3)將各個聚類分配到節(jié)點之上并建立高頻詞索引,將非高頻詞哈希到各個節(jié)點之上,并建立非高頻詞索引; .4)根據(jù)所述高頻詞索引和非高頻詞索引建立全局的索引表,并根據(jù)該索引表進行查詢路由。
2.根據(jù)權(quán)利要求I所述的基于用戶日志分析的分布式倒排索引組織方法,其特征在于,所述步驟I)的詳細步驟為 I. I)解析用戶查詢?nèi)罩?,將用戶查詢?nèi)罩具M行分詞得到查詢詞典,統(tǒng)計每個詞的出現(xiàn)頻率并將查詢詞典按照出現(xiàn)頻率降序或者升序排列,從查詢詞典的高出現(xiàn)頻率端截取指定數(shù)量的詞作為高頻詞,剩余的詞則為非高頻詞; I. 2)將截取的高頻詞建立高頻詞典,將高頻詞典中的高頻詞從I到N統(tǒng)一編號建立NXN的高頻詞的相關(guān)性矩陣; .1.3)將所述高頻詞的相關(guān)性矩陣轉(zhuǎn)換為無向圖得到高頻詞關(guān)系圖。
3.根據(jù)權(quán)利要求I所述的基于用戶日志分析的分布式倒排索引組織方法,其特征在于,所述步驟2)的詳細步驟包括 .2.I)計算每個高頻詞的負載,將節(jié)點按照負載降序排列得到節(jié)點集合,計算節(jié)點集合中任意兩個節(jié)點之間的節(jié)點距離; .2.2)定義每個聚類的負載上限、聚類個數(shù)以及聚類中心之間的最短距離和中心節(jié)點集合,從所述節(jié)點集合中取出一個節(jié)點作為當前節(jié)點,然后跳轉(zhuǎn)執(zhí)行步驟2. 3); .2.3)將當前節(jié)點與中心節(jié)點集合中的中心節(jié)點進行比較,如果中心節(jié)點集合中找到某個節(jié)點與當前節(jié)點之間的節(jié)點距離小于所述聚類中心之間的最短距離,則將所述中心節(jié)點集合中找到的節(jié)點和當前節(jié)點合并作為中心節(jié)點集合中的一個新的中心節(jié)點,否則將當前節(jié)點作為中心節(jié)點集合中的一個新的中心節(jié)點;最終執(zhí)行下一步; .2.4)判斷中心節(jié)點集合的大小是否達到聚類個數(shù),如果仍未達到聚類個數(shù)則從所述節(jié)點集合中取出下一個節(jié)點作為當前節(jié)點并返回繼續(xù)執(zhí)行步驟2. 3);如果已經(jīng)達到聚類個數(shù)則執(zhí)行步驟2. 5); .2.5)根據(jù)中心節(jié)點集合中的中心節(jié)點生成聚類得到聚類集合,計算中心節(jié)點集合中每一個中心節(jié)點到其他非中心節(jié)點的最短距離,并降序排列得到最短距離集合; .2.6)針對聚類集合的每一個聚類,查找所述聚類對應(yīng)最短距離集合中的下一個節(jié)點作為目標節(jié)點;計算所述目標節(jié)點的負載并判斷負載是否超過所述負載上限,如果超過負載上限則忽略該目標節(jié)點;判斷包含所述目標節(jié)點的聚類數(shù)是否超過聚類個數(shù),如果超過就忽略所述目標節(jié)點;判斷所述目標節(jié)點是否已經(jīng)加入其他聚類且所述目標節(jié)點在最短距離集合中的上一個節(jié)點也屬于所述其他聚類中,如果符合條件則在所述目標節(jié)點和所述目標節(jié)點在最短距離集合中的上一個節(jié)點中選擇更接近當前聚類和其他聚類中點的節(jié)點作為邊境節(jié)點,所述邊境節(jié)點同時屬于當前聚類和其他聚類兩個聚類;如果不符合條件,則直接將目標節(jié)點直接加入當前聚類;最終將所有節(jié)點歸類后完成聚類并返回聚類結(jié)果。
4.根據(jù)權(quán)利要求I所述的基于用戶日志分析的分布式倒排索引組織方法,其特征在于,所述步驟3)的詳細步驟包括 · 3.I)計算每個聚類的負載,將聚類按照負載降序排列得到聚類集合; · 3.2)建立系統(tǒng)性能目標函數(shù),從所述聚類集合中選擇一個聚類作為當前聚類; ·3.3)往所述當前聚類中嘗試添加節(jié)點并計算所述目標函數(shù)值,然后將當前聚類加入目標函數(shù)值最小的節(jié)點上并建立索引,然后執(zhí)行步驟3. 4); ·3.4)判斷聚類集合中是否還有聚類未處理,如果仍有聚類未處理則取出下一個未處理的聚類作為當前聚類并返回執(zhí)行步驟3. 3);如果所有聚類處理完成則高頻詞索引建立完畢; 3.5)將非高頻詞哈希到各個節(jié)點之上建立非高頻詞索引。
5.根據(jù)權(quán)利要求4所述的基于用戶日志分析的分布式倒排索引組織方法,其特征在于,所述步驟3. 2)中建立的目標函數(shù)的函數(shù)表達式如式(I)所示
6.根據(jù)權(quán)利要求I 5中任意一項所述的基于用戶日志分析的分布式倒排索引組織方法,其特征在于,所述步驟5)中根據(jù)索引表進行查詢路由的詳細步驟如下 ·5. I)初始化查詢節(jié)點鏈表;判斷用戶查詢中是否存在高頻詞,如果存在高頻詞則跳轉(zhuǎn)執(zhí)行步驟5. 2),否則將用戶查詢發(fā)給所有節(jié)點進行查詢并退出; ·5. 2)將剩下的高頻詞組成子查詢并對高頻詞索引進行查詢,如果有符合要求的聚類結(jié)果,選出得分最高的聚類并根據(jù)查找到對應(yīng)的節(jié)點添加至查詢節(jié)點鏈表; ·5. 3)判斷查找到的節(jié)點是否包含用戶查詢中剩余的全部高頻詞,如果不能包含用戶查詢中剩余的全部高頻詞則繼續(xù)返回執(zhí)行步驟5. 2),否則跳轉(zhuǎn)執(zhí)行步驟5. 4); ·5.4)判斷用戶查詢中是否存在非關(guān)鍵詞,如果不存在非關(guān)鍵詞則將通過所述查詢節(jié)點鏈表中的節(jié)點進行查詢;如果存在非關(guān)鍵詞則將從其他節(jié)點上得到非高頻詞的倒排鏈表,并將所述倒排鏈表通過所述查詢節(jié)點鏈表中的節(jié)點進行查詢。
全文摘要
本發(fā)明公開了一種基于用戶日志分析的分布式倒排索引組織方法,其實施步驟如下1)分析用戶查詢?nèi)罩静⑻崛〕龈哳l詞和非高頻詞,建立高頻詞的相關(guān)性矩陣,并根據(jù)高頻詞之間的相關(guān)性建立高頻詞關(guān)系圖;2)計算每個高頻詞的負載,根據(jù)高頻詞關(guān)系圖和高頻詞的負載對高頻詞進行聚類;3)將各個聚類分配到節(jié)點之上并建立高頻詞索引,將非高頻詞哈希到各個節(jié)點之上,并建立非高頻詞索引;4)根據(jù)所述高頻詞索引和非高頻詞索引建立全局的索引表,并根據(jù)該索引表進行查詢路由。本發(fā)明具有查詢開銷小、查詢效率高、查詢性能好、能實現(xiàn)整個系統(tǒng)吞吐量和每次查詢響應(yīng)速度間的平衡、多詞查詢涉及的節(jié)點數(shù)少的優(yōu)點。
文檔編號G06F17/30GK102722553SQ20121016972
公開日2012年10月10日 申請日期2012年5月24日 優(yōu)先權(quán)日2012年5月24日
發(fā)明者李卓豪, 陳嶺 申請人:浙江大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
寿宁县| 二手房| 鲜城| 建平县| 泰来县| 响水县| 永嘉县| 万山特区| 景德镇市| 鸡泽县| 彭泽县| 方山县| 长春市| 海兴县| 荆门市| 基隆市| 恩施市| 万宁市| 阳原县| 乡城县| 当阳市| 花莲市| 永吉县| 皋兰县| 云南省| 思南县| 辽中县| 衡水市| 东阿县| 五河县| 汉中市| 浙江省| 万宁市| 沧源| 驻马店市| 嘉兴市| 富川| 汽车| 洛阳市| 山西省| 都江堰市|