王偉桃



【摘? 要】 隨著時代的發展,傳統搜索引擎已無法滿足用戶的需求,為適應新時代的潮流,相關技術人員需要不斷進行創新,從用戶體驗出發,對技術以及應用方面進行優化,從而實現企業級搜索引擎中結果聚類和查詢補全技術,該技術可以在很大程度上提升系統應用的有效性,且具有更高可靠性,同時,也可以滿足智能時代的需求。
【關鍵詞】 企業級搜索引擎;搜索結果聚類;查詢補全技術
一、企業級搜索引擎系統總體結構
企業級搜索引擎與傳統搜索引擎之間存在一定的差異性,在實際應用的過程中,傳統搜索引擎更重視搜索的廣度,而企業級搜索引擎更重視搜索的精確性(如圖1所示),兩者分別為不同領域提供了強有力的支持。
企業級搜索引擎的六大模塊如下:
1. 管理模塊:其主要是對整體系統進行管理,接收不同管理節點發出的不同命令,避免人工干預,并對搜索信息等進行記錄。
2. 采集模塊:其主要工作是收集互聯網網頁的網絡蜘蛛程序,具有自動化的特點,對網頁內容進行分析,并提取關鍵信息,計算關聯度。
3. 索引模塊:其主要是針對采集的內容進行集中處理,并對其進行分類,以此為基礎建立索引數據庫。
4. 搜索頁面構建模塊:用戶在輸入搜索內容的關鍵詞之后,其會對搜索請求進行相應的分析,形成檢索命令查詢包,獲取與搜索內容相關信息,最終構成搜索頁面。
5. 檢索合并模塊:其主要是將用戶的搜索請求發送給不同的索引機器之后,合并成為單獨的結果數據包,最后發送至查詢端。
6. 數據分發控制模塊:其主要的工作內容是將采集模塊采集的信息發送至索引模塊之中,同時其也可以根據實際情況增加多組機器,增加搜索結果。
二、企業級搜索引擎中結果聚類技術研究
(一)基本思想
通過研究人員的不斷分析,發現當前由于信息數據內容數量較多,為后續的一系列工作帶來了一定的難度,因此技術人員提出了結果聚類技術,進行結果聚類分析,對數據信息進行分類,同時對數據信息進行篩選,以此提升企業級搜索的精準性。
(二)系統模型的基本設計
1. 預處理:在實際進行結果聚類之前,需要對數據信息進行清理,篩選關鍵信息,此過程尤為重要,在信息數據篩選的過程中,主要包括去除非字符、選取HTML標簽、標記標題以及頁面語言識別等內容。
2. 明確聚類算法:企業級搜索引擎中結果聚類技術主要以Lingo算法為主,Lingo算法在很大程度上解決了其他聚類算法存在的弊端,其在實際應用的過程中,可以生成更為精準、描述能力更強的聚類,并且將用戶體驗作為核心,從根本上提升結果聚類質量,以更好地為用戶提供所需內容(如圖2)。
3. Lingo算法:Lingo算法整體較為復雜,較為重要的有兩個內容(如圖3所示)。(1)在生成標簽的過程中,首先要做的就是提取候選標簽,應用后綴詞組,主要是對共現的短語和詞組進行獲取;(2)潛在語義索引(LSI方法),此方法的應用以VSM方法為基礎,其在實際進行工作的過程中,首先對TF-IDF權重進行計算,權重一般表達公式為W(d,t)=TF(d,t),其中TF(d,t)表示詞t在文本d中出現的次數,隨后進行矩陣分解。
(三)確定系統結構
聚類搜索引擎在工作的過程中,具有較強的自動性,在用戶發起搜索之后,聚類搜索引擎會自主對結構進行搜索,并進行相應的組織分類,將最終結果呈現給用戶。聚類技術與分類和標引之間存在較強的差異性,其在實際運行的過程中,具有實時性,且不受人為干預,此種方式在很大程度上能降低出現失誤的情況。此外,聚類搜索引擎在實際進行工作的過程中,可以自主對搜索結果進行分類,其中較為重要的一項內容就是選取類名,以幫助用戶更加清楚此類結果的核心內容。對類名的選取而言,需要保證其簡潔性、準確性、唯一性以及易于理解性(如圖4)。
(四)系統流程設計
在設計的過程中,技術人員將整體系統分為輸入模塊、過濾模塊以及輸出模塊3項內容,同時需要保證各模塊之間的獨立性,這樣可以更好地利用算法對其中模塊進行替換,進而提升搜索結果聚類的有效性以及質量,且處理速度更快。為保證企業級搜索引擎中結果聚類技術應用的有效性,相關技術人員根據實際情況設計了系統主要運行流程,如圖5所示。在完成聚類分析之后,可以將結果展現給用戶,在展現的過程中,為方便用戶觀看和獲取結果,會應用分類目錄的方式,從根本上提升用戶體驗,提升應用的整體效果,滿足企業級搜索引擎的應用需求,這也是其在不同領域被大量應用的主要原因之一。
企業級搜索引擎中結果聚類技術運行會先獲取Web網頁的信息數據,隨后進入文件預處理階段,對獲取的信息進行簡單處理,接著對預處理后的數據信息進行分詞以及降維,并將其發送至過濾模塊,過濾模塊在實際運行的過程中,主要是應用Lingo算法,對獲取的數據信息進行聚類分析。
(五)系統閾值說明
在實際進行設計的過程中,為保證搜索結果聚類的效果和有效性,需要閾值進行定義,進而對整體結果進行控制。對系統閾值而言,主要分為4種,分別是短語頻率閾值(2.00~5.00)、聚類標簽數目閾值(0.70~0.90)、聚類標簽合并閾值(0.20~0.50)以及聚類內容生成閾值(0.15~0.30),閾值定義的方式可以分為兩種,一種是提前由系統進行設置,另外一種是方法與Lingo算法之間存在一定的相似性,讓用戶按照說明,將其作為參數,自行進行設置,此種方法具有個性化特點,滿足不同用戶的需求,具有一定的優勢。
三、企業級搜索引擎中查詢補全技術研究
(一)核心技術
Ajax技術的應用直接改變了傳統Web應用的交互模式,在實際進行設計建設的過程中,其主要是構建效果更好的Web應用,完善和優化Web應用的動態性能,同時也可以提升Web應用的響應速度,使其更加靈敏,為用戶帶來更為良好的體驗。
Ajax技術設計內容更多,完整性更強,其相當于一個綜合體,融合了多種不同的技術,其中主要包括JAVA、HTML、CSS、DOM、XML以及XSTL技術等。而現階段隨著科學技術的不斷進步,其也成為Web2.0的核心技術之一。
Ajax技術在實際應用的過程中,其主要寄宿在瀏覽器的類中,即XML-HTTPRewquest。在XML-HTTPRewquest類的支持下,Ajax技術在與服務器進行鏈接的過程中,不需要提交任何表單,簡化了整體流程,且不需要對整體頁面進行刷新,只需要刷新用戶需要的部分內容,一般是通過動態更新的方式進行。對XML-HTTPRewquest而言,在對數據進行交換時,一般將XML作為載體,除此之外也可以應用其他類型的載體,如純文本載體。在企業級搜索引擎運行的過程中,在XML-HTTPRewquest的支持下,可以將用戶輸入的信息內容發送至不同的服務器,同時也可以異步接收服務器處理并返回信息,最后利用JAVA技術與對網頁內部分內容進行動態更新。
(二)具體實現方法
為實現查詢自動補全功能,Ajax技術成了核心技術,在其實際運行的過程中,需要在Web頁面上產生一個div區域,當用戶利用企業級搜索引擎進行搜索時,自動進行補全。但當索引框內未輸入任何文本時,自動隱藏div區域,而當用戶輸入搜索信息時,JAVA運行,其可以從服務端獲取搜索關鍵信息,并觸發div區域,自動進行查詢補全。最后,利用JAVA技術,向服務端發送相應的請求,而此時對Web頁面而言,會產生XML數據信息,并將其作為返回的關鍵數據信息,最終實現自動補全的目的。
(三)數據來源
查詢補全技術在實際運行的過程中,會將用戶輸入的關鍵詞進行記錄,并將其作為下一次查詢補全的數據,同時不斷對查詢補全數據庫進行充實和完善。對數據而言,其主要是將用戶的日常使用習慣作為核心,對傳統自動補全技術進行完善和優化,并對其進行改進。在完善優化的過程中,需要對現有企業級搜索引擎搜索日志文件進行整理和分析,提取搜索日志文件的關鍵內容,并將其作為查詢自動補全數據庫的基礎數據信息內容。為使企業級搜索引擎實現查詢自動補全的目的,需要大量數據的支持,才能實現企業級搜索引擎的應用效果。通常情況下,為保證查詢補全的完整性以及整體性,需要的數據信息一般在8萬~10萬的范圍之內。為保證數據來源的精準性,需要對數值性屬性的相似度進行計算,計算公式為Sim(vi,vj)=1-d(vi,vj)=1-dij,其中vi和vj是某個屬性V的兩個屬性值,dij典型的定義與絕對距離以及歐氏距離,在完成計算之后可以保證內容補全的精準性。