国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

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

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

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